refactor(BT13-Dev-Map Registry): 단순화·9방향 지면·발판 2종·monsters 리스트

PD 직접 발화 4건 (2026-05-19):
1) A↔F 순서 변경 (배경 이미지 메뉴를 A로 이동)
2) 9방향 sprite 등록 방식 (드롭다운 폐기·타일 이름·weight·tags 제거·
   임시 center 1종 일관 배치)
3) 게임 오브젝트 단순화 (Player 단일·Monsters 리스트·Boss 단일·
   prefab 이름·weight·tags 제거)
4) 기존 에셋 직접 등록·기존 프리펩 카탈로그·단일 프리펩 slot 폐기

client-team-lead Opus 단일 Task 결과:

외부 git E:/EerieVillage 8 파일 변경:
- Assets/Scripts/Map/Data/MapResourceCatalog.cs (79→49L)
  · TileEntry·PrefabEntry struct 폐기·14 필드 폐기
  · 11 신규: 9 ground TileBase (TopLeft~BottomRight 3x3) + platformShort
    + platformLong + List<GameObject> monsters
  · 유지: backgroundSprite·playerPrefab·bossPrefab
- Assets/Editor/Map/MapResourceRegistryWindow.cs (587→357L 전면 재작성)
  · 4 신규 섹션: A 배경 · B 9방향 ground 3x3 grid · C 발판 2종 ·
    D 게임 오브젝트 ReorderableList
  · 폐기 섹션 (A~F 직전 구조·기존 Asset 직접 등록·Catalog 미리보기·
    단일 slot E 전수)
- Assets/Editor/Map/MapAssetBootstrap.cs (200→240L)
  · 6 신규 자동 link (background·player·groundCenter·platformShort·
    platformLong·monsters[0])
  · EnsureSingleSpriteTile helper — TextureImporter spriteMode 2→1·
    spriteMeshType=FullRect 자동 정정 + Tile asset 자동 생성
- Assets/Scripts/Map/Generation/GroundPlanner.cs (73→74L)
  · groundCenter 일관 사용 + 9 slot fallback 체계
- Assets/Scripts/Map/Generation/PlatformPlanner.cs (160→124L)
  · platformShort/Long 폭 기준 선택 (width≤3=short)·edgeKind 보존
- Assets/Scripts/Map/Generation/SpawnPointPlanner.cs (228→175L)
  · §15-8 baseEnemyPrefab+MonsterRandomizer 폐기
  · monsters 리스트 random pick 단순화
- Assets/Scripts/Map/Runtime/MapApplier.cs (287→280L)
  · catalog.goalPrefab 참조 제거 (§5 폐기)
- Assets/Tests/Editor/MapGeneratorTests.cs (292→280L)
  · MakeCatalog 갱신·폐기 필드 참조 제거·monsters 리스트 정합

Tile asset 3종 자동 생성:
- Assets/Tiles/Auto/Ground_Center.asset (m_ColliderType=Sprite)
- Assets/Tiles/Auto/Platform_Short.asset
- Assets/Tiles/Auto/Platform_Long.asset

PNG meta 자동 정정:
- ground.png·AirGround_Type1.png·AirGround_Type2.png spriteMode 2→1
  (Bootstrap EnsureSingleSpriteTile 영역 자동)

MCP 검증:
- refresh_unity OK·domain reload 완료
- read_console CS 컴파일 에러 0건·warning 0건 (기존 무관 2건 제외)
- run_tests MapGeneratorTests 15/15 PASS (회귀 0·0.78s)

백업 9건: 공유/개발팀_백업/EerieVillage/BT13-Dev-Map_20260519/

BT 레포:
- spec §17 v1.10 행 추가
- PD 지시 로그 BT13 상태 "Registry단순화 완료" 갱신

PD 사용법:
1. EerieVillage/Map/Bootstrap Placeholder Assets 1회 클릭
   → PNG import 자동 정정·Tile 3종 자동 생성·Catalog 6 항목 자동 link
2. (선택) EerieVillage/Map/Resource Registry 영역 4 섹션 자유 변경
3. EerieVillage/Map/Preview → Config 드래그·Generate·Apply to Scene
4. Play

잔여 PD 영역: 9-slice 자동 분기 (현 center 1종 일관)·bossPrefab/goalPrefab
후속 등록.

외부 git: PD GitAutoSync 자동 push 위임.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
깃 관리자 2026-05-19 01:02:03 +09:00
parent d51b3c00e4
commit 815a326c7c
2 changed files with 2 additions and 1 deletions

File diff suppressed because one or more lines are too long

View File

@ -1167,6 +1167,7 @@ EerieVillage `E:/EerieVillage/Assets/Editor/GitAutoSync/` 영역 영향 X (별
| 2026-05-19 | v1.7 — 배경 이미지 등록·반복 배치 기능 | PD 직접 발화 "배경 리소스는 맵 가장 하위 레이어에서 항상 반복해서 배치 + BgImg_1 + 스크롤 맵 배경으로 반복 이어붙여서 재생 + Resource Registry 수정" + client-team-lead Opus 단일 Task — (1) MapResourceCatalog.cs `Sprite backgroundSprite` 단일 슬롯 추가 (75→79L) (2) MapApplier.cs ApplyBackgroundLayer 헬퍼·BG_ROOT_NAME·SpriteRenderer drawMode=Tiled·tileMode=Continuous·sortingOrder=-1000·맵 전체 size (239→283L) (3) MapResourceRegistryWindow.cs F 섹션 신규 (Sprite ObjectField + Preview thumbnail + Set·Clear) (4) MapAssetBootstrap.cs (9) backgroundSprite ← Assets/Resources/Map/BgImg_1.png 자동 link (193→200L) · MCP 컴파일 0·Map 15/15 PASS 회귀 0 | 클라이언트팀장 (client-team-lead) | | 2026-05-19 | v1.7 — 배경 이미지 등록·반복 배치 기능 | PD 직접 발화 "배경 리소스는 맵 가장 하위 레이어에서 항상 반복해서 배치 + BgImg_1 + 스크롤 맵 배경으로 반복 이어붙여서 재생 + Resource Registry 수정" + client-team-lead Opus 단일 Task — (1) MapResourceCatalog.cs `Sprite backgroundSprite` 단일 슬롯 추가 (75→79L) (2) MapApplier.cs ApplyBackgroundLayer 헬퍼·BG_ROOT_NAME·SpriteRenderer drawMode=Tiled·tileMode=Continuous·sortingOrder=-1000·맵 전체 size (239→283L) (3) MapResourceRegistryWindow.cs F 섹션 신규 (Sprite ObjectField + Preview thumbnail + Set·Clear) (4) MapAssetBootstrap.cs (9) backgroundSprite ← Assets/Resources/Map/BgImg_1.png 자동 link (193→200L) · MCP 컴파일 0·Map 15/15 PASS 회귀 0 | 클라이언트팀장 (client-team-lead) |
| 2026-05-19 | v1.8 — 배경 위치 정렬 fix (PD "맵 선택 실행해도 배경 로테이션 안 됨") | 진단: sprite pivot=(0.5,0.5) center + 기존 position.x=0·z=10 → 배경 영역 x ∈ [-60,+60]·지면 영역 x ∈ [0,120] 불일치·맵 우측 절반 빈 화면. fix: position=(lengthTiles/2, (maxY+minY)/2+6, 0) 맵 중심 정합·heightUnits=(maxY-minY)+6+24 점프 H_max 11.24m×2 여유 반영·z=0 (sortingOrder=-1000 우선)·MCP refresh_unity OK·컴파일 0·Map 15/15 PASS 회귀 0 | 총괄PM (pm-general) | | 2026-05-19 | v1.8 — 배경 위치 정렬 fix (PD "맵 선택 실행해도 배경 로테이션 안 됨") | 진단: sprite pivot=(0.5,0.5) center + 기존 position.x=0·z=10 → 배경 영역 x ∈ [-60,+60]·지면 영역 x ∈ [0,120] 불일치·맵 우측 절반 빈 화면. fix: position=(lengthTiles/2, (maxY+minY)/2+6, 0) 맵 중심 정합·heightUnits=(maxY-minY)+6+24 점프 H_max 11.24m×2 여유 반영·z=0 (sortingOrder=-1000 우선)·MCP refresh_unity OK·컴파일 0·Map 15/15 PASS 회귀 0 | 총괄PM (pm-general) |
| 2026-05-19 | v1.9 — BgImg_1 import 설정 fix (PD "이미지가 여러장 겹쳐서 보임") | 진단: BgImg_1.png import 영역 spriteMode=2 (Multiple)·spriteMeshType=1 (Tight) → drawMode=Tiled + tileMode=Continuous 영역 정합 X (Tight mesh 영역 trapezoidal 정렬·우측 줄무늬). fix: MCP execute_code 영역 TextureImporter API — spriteImportMode=Single·spriteMeshType=FullRect·spriteExtrude=0·spritesheet 정리·SaveAndReimport. 결과: sprite 1999×845 px·pivot center·PPU=100·Continuous Tiled 정합·Stage1 lengthTiles=120 기준 ≈6장 반복 정상 | 총괄PM (pm-general) | | 2026-05-19 | v1.9 — BgImg_1 import 설정 fix (PD "이미지가 여러장 겹쳐서 보임") | 진단: BgImg_1.png import 영역 spriteMode=2 (Multiple)·spriteMeshType=1 (Tight) → drawMode=Tiled + tileMode=Continuous 영역 정합 X (Tight mesh 영역 trapezoidal 정렬·우측 줄무늬). fix: MCP execute_code 영역 TextureImporter API — spriteImportMode=Single·spriteMeshType=FullRect·spriteExtrude=0·spritesheet 정리·SaveAndReimport. 결과: sprite 1999×845 px·pivot center·PPU=100·Continuous Tiled 정합·Stage1 lengthTiles=120 기준 ≈6장 반복 정상 | 총괄PM (pm-general) |
| 2026-05-19 | v1.10 — Registry 단순화·9방향 지면·발판 2종·monsters 리스트 (PD 명세 4건) | PD 직접 발화 4건 (A↔F 순서 변경·8방향 sprite 등록·게임 오브젝트 단순화·기존 폐기 섹션 제거 + ground.png/AirGround_Type1/Type2 자산 사용 + 임시 center 1종 일관 배치) + client-team-lead Opus 단일 Task. 8 파일 변경 + Tile asset 3종 자동 생성: (1) MapResourceCatalog.cs 전면 재작성 (79→49L·14필드 폐기·11신규 — 9 ground TileBase + platformShort/Long + List monsters) (2) MapResourceRegistryWindow.cs 전면 재작성 (587→357L·4신규 섹션 A 배경/B 9방향 3x3 grid/C 발판 2종/D 게임 오브젝트 ReorderableList) (3) MapAssetBootstrap.cs (200→240L·6 자동 link + EnsureSingleSpriteTile TextureImporter 자동 정정) (4) GroundPlanner.cs (73→74L·groundCenter 일관) (5) PlatformPlanner.cs (160→124L·platformShort/Long 폭 기준 선택) (6) SpawnPointPlanner.cs (228→175L·§15-8 폐기·monsters random) (7) MapApplier.cs (287→280L·goalPrefab 제거) (8) MapGeneratorTests.cs (292→280L·MakeCatalog 정합) + Tile asset 3종 자동 생성 (Tiles/Auto/Ground_Center·Platform_Short·Platform_Long) + ground/AirGround_Type1/Type2 png meta spriteMode 2→1 자동 정정. MCP refresh_unity OK·컴파일 0건·warning 0건·Map 15/15 PASS 회귀 0. 백업 9건 (공유/개발팀_백업/EerieVillage/BT13-Dev-Map_20260519/). 잔여: 9-slice 자동 분기 후속 안건·bossPrefab/goalPrefab 후속 PD 등록 | 클라이언트팀장 (client-team-lead) |
--- ---