docs(BT12-Dev Phase 2-D BT12-MVP-A 통합 정정 완료): 대화로그 엔트리 5 + PD 지시 로그 갱신

- EerieVillage `d53150b` BT12-MVP-A 통합 정정 (placeholder → 정식 ActiveSkillData)
  · LevelUpManager._pool 제거 → SkillRuntimeFactory.RandomDraw3()
  · SkillSelectionUI/SkillCardSlot ActiveSkillData 시그니처 전환
  · PlayerController Awake PlayerSkillInventory 자동 부착
  · Projectile Layer Enemy fallback (Minor 1·proxy)
  · SkillRuntimeFactory.RandomDraw3 신규
  · Phase 2-B 누락 9 .meta 보충
- Sonnet 의뢰서 "git add·commit·push 절대 금지" 명시 (feedback 정합)
- pm-auditor Pass (C0/M0/Min0/Imp1)
- 본 PM 자성 신규 0건

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
깃 관리자 2026-05-09 21:06:40 +09:00
parent 3df32aa96e
commit f85a9d4e05
2 changed files with 91 additions and 1 deletions

File diff suppressed because one or more lines are too long

View File

@ -347,3 +347,93 @@
- **다른 카테고리 asset** (Phase 2-B 다른 카테고리 진행 시 동시) — PD 결정
- **balance-designer 영역 60종 정식 수치** — 차기 영역
- **icon sprite 영역** — 차기 별도 BT 영역
---
## 엔트리 5 (신설). BT12-Dev Phase 2-D BT12-MVP-A 통합 정정 (placeholder → 정식 ActiveSkillData)
**시각**: 2026-05-09 후반
**주체**: 총괄PM (Phase 1 설계) + Sonnet 위임 (Phase 2 코드) + 본 PM (Phase 3 검증·commit·push)
**대상**: BT12-Dev — Phase 2-D BT12-MVP-A 통합 정정 (placeholder SkillCardPlaceholder → 정식 ActiveSkillData)
**유형**: PD 결정 ("Phase 2-D 작업 진행해")
### PD 직접 발화 (2026-05-09)
> "Phase 2-D 즉시 진행하면 무슨 결과를 얻을 수 있지?"
> "Phase 2-D 작업 진행해"
### 작업 목적
BT12-MVP-A Phase 2-B asset 5장(`Assets/Data/SkillPlaceholders/`) + LevelUpManager._pool(SkillCardPlaceholderPool) → BT12-Dev Phase 2-A·2-B·2-C 산출 정식 시스템(ActiveSkillData·SkillRuntimeFactory·PlayerSkillInventory)으로 통합 정정. BT12-MVP-A 카드 선택 UI가 정식 6종 카드 풀(A01·A02·A03·A08·A14·A15)에서 RandomDraw3 결과 노출 + 확정 시 PlayerSkillInventory.AddSkillByCardId 정식 등록.
### 산출 6 파일 수정 + 9 .meta 보충
| 파일 | 변경 |
|------|------|
| `Scripts/Progression/LevelUpManager.cs` | `_pool` field 제거 → `SkillRuntimeFactory.RandomDraw3()` 호출. `HandleCardConfirmed(SkillCardPlaceholder)``HandleCardConfirmed(ActiveSkillData)` + `PlayerSkillInventory.AddSkillByCardId(selected.CardId)` 정식 등록 |
| `Scripts/MyUI/SkillSelectionUI.cs` | `Show(List<ActiveSkillData>, int, Action<ActiveSkillData>)` 시그니처 전환. `_selected`·`_onConfirm`·`BindSlot`·`OnCardSelected` ActiveSkillData 전환 |
| `Scripts/MyUI/SkillCardSlot.cs` | `Bind(ActiveSkillData, Action)` 시그니처 전환. rarity 배너 → 갈색 고정 (Common rarity 0) |
| `Scripts/Mechanics/PlayerController.cs` | Awake()에 `PlayerSkillInventory` 자동 부착 추가 (line 100) |
| `Scripts/Skills/Effectors/Projectile.cs` | OnTriggerEnter2D Layer "Enemy" fallback (LayerMask -1 시 EnemyController 컴포넌트 검사·proxy·Minor 1) |
| `Scripts/Skills/Runtime/SkillRuntimeFactory.cs` | `RandomDraw3()` 메서드 신규 (`Resources.LoadAll<SkillDataAsset>("Skills")` + ActiveSkillData 필터 + Fisher-Yates 3장 추출) |
추가 .meta 보충 9 파일 (Phase 2-B 누락분):
- `Effectors/{IEffector,Projectile,HomingProjectile,ProjectileSpawner,StatusApplier,DebuffStack,EnemyStateComponents}.cs.meta` (7)
- `Effectors.meta` + `Events.meta` (2 folder)
### Sonnet 위임 의뢰서 (feedback 정합)
본 PM Phase 2-B Sonnet 자율 push 자성(feedback `feedback_pm_sonnet_subagent_unauthorized_push.md`) 정합 — Phase 2-D 의뢰서에 명시:
- **"git add·commit·push 절대 금지·본 PM 직접 처리"** 명시 적용
- Sonnet = 코드 수정만·EerieVillage staging은 본 PM 차원
결과: Sonnet 코드 수정 정합·자율 push 0건·본 PM 직접 commit·push 정합 (`d53150b`).
### EerieVillage commit `d53150b`
- 6 파일 수정 + 9 .meta 보충 = 15 파일
- main push 정합 (`c01f25a..d53150b` · 1차 Authentication failed → 재시도 정합)
- Compile error 0건
- staging 정합 (Screenshots·_Recovery 미포함)
- 매니페스트 `2026-05-09_BT12Dev_Phase2D` 등록·pm-auditor 사전 감사 Pass + Minor 1 (Layer fallback proxy 명시)
### 본 PM 자성 신규 0건 (Phase 2-D)
본 Phase 2-D = 본 PM 설계·Sonnet 의뢰서 명시 정합·자성 신규 X. 직전 자성 #8 (Sonnet 자율 push) 의뢰서 명시 적용으로 0건 정합.
### Major 1 (Layer Enemy proxy)
Projectile.OnTriggerEnter2D에서 `LayerMask.NameToLayer("Enemy") = -1` 발생 → EnemyController 컴포넌트 검사 fallback 적용 (proxy·C2-2 정합). 근본 해결안 = Layer "Enemy" 정식 등재 (별도 PD 안건·차기).
### 산출물
- **EerieVillage** (commit `d53150b`):
- Scripts/Progression/LevelUpManager.cs (정정)
- Scripts/MyUI/SkillSelectionUI.cs (정정)
- Scripts/MyUI/SkillCardSlot.cs (정정)
- Scripts/Mechanics/PlayerController.cs (정정)
- Scripts/Skills/Effectors/Projectile.cs (정정·Layer fallback)
- Scripts/Skills/Runtime/SkillRuntimeFactory.cs (RandomDraw3 신규)
- Scripts/Skills/Effectors/*.cs.meta (7 보충)
- Scripts/Skills/{Effectors,Events}.meta (2 보충)
- **BurningTimes**:
- 본 엔트리 5 (신설)
- PD 지시 로그 BT12-Dev·BT12-MVP-A Phase 2-D 갱신
### 관련 규칙·자산
- **C2** 근본 해결 (BT12-MVP-A placeholder → 정식 ActiveSkillData 통합·Layer Enemy proxy = 차기 근본 해결)
- **C19-2** 되돌리기 어려운 액션 (push 사전 PD 승인·의뢰서 명시·feedback 정합)
- **C49** 표준 (Phase 1 본 PM 설계·Phase 2 Sonnet 코드·Phase 3 본 PM 검증)
- **C50** 분량 (Phase 2-D ~25K·PD 사전 승인 30~50K 정합)
- **feedback `feedback_pm_sonnet_subagent_unauthorized_push.md`** 정합 (Sonnet 의뢰서 push 명시 차단)
### 후속
- **PD Editor Refresh + Play 검증** — 적 처치 → EXP → 레벨업 → SkillSelectionCanvas UI → 카드 선택 → PlayerSkillInventory 등록 → 게임 재개. Phase 2-A·2-B·2-C·2-D 통합 자동 발동 + 카드 선택 검증
- **Phase 2-E EditMode 테스트 15+** — PD 결정
- **Layer "Enemy" 정식 등재** — 별도 PD 안건 (proxy 근본 해결)
- **다른 카테고리 (B 근접·C 설치·D 소환·E 오라·F 강화)** — Phase 2-B 후속 (PD 결정)
- **BT12-MVP-A asset 5장 deprecate** (`Assets/Data/SkillPlaceholders/`) — 차기
- **임시 정정** (DEFAULT_XP_REWARD = 1·LevelXPTableLoader return 1·Debug.Log 가드) — BT12-Dev 후속
- **balance-designer 60종 정식 수치** — 차기
- **icon sprite asset** — 차기 별도 BT