docs(BT5-Dev 누락 정정 B안): 헌법급 feedback 신설 + 시행착오_아카이브 v2 + 조직운영 로그
직전 세션 (BT5-Dev BT63~BT109) 누락 정정 — PD 결정 B안 일괄 집행: 1. memory/org/feedback_pm_root_diagnosis_priority.md 신설 (헌법급) - PM 가설 3회+ 누적 부정확 자인 시 PD 근본 진단 우선 채택 의무 - BT5-Dev BT80~BT109 23회+ + BT47~BT75 28회+ 누적 영역 근거 - Unity 측정 자료 카탈로그 능동 보유 의무 2. 공유/조직자산/시행착오_아카이브/개발_클라이언트팀장_v1.md (v2 갱신) - §6 EerieVillage BT5-Dev 신규 노하우 7종 (Tilemap cell·body+transform·body.simulated·AutoForeground·이벤트 시점·Drop-Through·PM 가설 패턴) - §7 v2 PM 보고 안건 3. 공유/대화로그/조직운영/2026-05-08.md 신설 - 엔트리 1: 직전 세션 누락 정정 + 본 PM 51회+ 가설 누적 자인 메타 노하우 4. memory/org/MEMORY.md 인덱스 — 신규 feedback 1줄 등록 매니페스트: .claude/manifest/active/2026-05-08_BTBnan.md pm-auditor 사후 감사 통과 (Critical 0·Major 0·Minor 1) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
2a0cc9c188
commit
14a7a3eda3
|
|
@ -53,3 +53,4 @@
|
||||||
- [🏛️ PM = MCP 활용 직접 구현 의무 (PD = 기획자·바이브 코딩)](feedback_pm_mcp_direct_implementation.md) — 2026-05-07 PD 직접 명령. PD = 기획자 포지션·개발 지식 낮음·바이브 코딩. PM 명령 = MCP·도구 활용 직접 구현. PD에게 Refresh·Console 회신·Editor 검증 떠넘김 절대 금지. 6항 응답 발신 직전 자기검증. C5·C29·C36·C44·C45 정합
|
- [🏛️ PM = MCP 활용 직접 구현 의무 (PD = 기획자·바이브 코딩)](feedback_pm_mcp_direct_implementation.md) — 2026-05-07 PD 직접 명령. PD = 기획자 포지션·개발 지식 낮음·바이브 코딩. PM 명령 = MCP·도구 활용 직접 구현. PD에게 Refresh·Console 회신·Editor 검증 떠넘김 절대 금지. 6항 응답 발신 직전 자기검증. C5·C29·C36·C44·C45 정합
|
||||||
- [🏛️ PM filler 어휘 "영역" 무한 반복 차단](feedback_pm_filler_word_overuse.md) — 2026-05-07 PD 직접 지적 "영역 영역 거리지 말고". 본 PM이 명사 뒤·문장 끝에 "영역" 무차별 부착해 한 응답 30회 이상 사용 패턴 누적. 5층 근본 원인 + 금지 filler 카탈로그 + 정확 명사 치환 카탈로그 + 응답 발신 직전 자기검증 5항. C44·C45·C46 정합. PostToolUse hook(`filler_word_check.sh`) 별건 신설
|
- [🏛️ PM filler 어휘 "영역" 무한 반복 차단](feedback_pm_filler_word_overuse.md) — 2026-05-07 PD 직접 지적 "영역 영역 거리지 말고". 본 PM이 명사 뒤·문장 끝에 "영역" 무차별 부착해 한 응답 30회 이상 사용 패턴 누적. 5층 근본 원인 + 금지 filler 카탈로그 + 정확 명사 치환 카탈로그 + 응답 발신 직전 자기검증 5항. C44·C45·C46 정합. PostToolUse hook(`filler_word_check.sh`) 별건 신설
|
||||||
- [🏛️ PM = 솔루션 능동 제안 의무 (PD = 기획자, 표준 패턴 모름)](feedback_pm_solution_proactive_proposal.md) — 2026-05-07 PD 직접 지적 "다 챙겨야하는거야". PD가 Layer+Raycast Drop-Through 패턴 직접 제안 → BT5-Dev #20~#26 본 PM 즉흥 시도 7회 누적 후 채택. 본 PM = 개발팀 책임자 = 표준 패턴 카탈로그 능동 보유·제안 의무. PD 보고 수령 직후 표준 패턴 검색 + 솔루션 2~3개 권고 의무. 자기검증 4항. C29·C44·C45 정합
|
- [🏛️ PM = 솔루션 능동 제안 의무 (PD = 기획자, 표준 패턴 모름)](feedback_pm_solution_proactive_proposal.md) — 2026-05-07 PD 직접 지적 "다 챙겨야하는거야". PD가 Layer+Raycast Drop-Through 패턴 직접 제안 → BT5-Dev #20~#26 본 PM 즉흥 시도 7회 누적 후 채택. 본 PM = 개발팀 책임자 = 표준 패턴 카탈로그 능동 보유·제안 의무. PD 보고 수령 직후 표준 패턴 검색 + 솔루션 2~3개 권고 의무. 자기검증 4항. C29·C44·C45 정합
|
||||||
|
- [🏛️ PM 가설 누적 부정확 시 PD 근본 진단 우선 채택 의무](feedback_pm_root_diagnosis_priority.md) — 2026-05-08 BT5-Dev BT80~BT109 본 PM 23회+ 가설 누적 부정확 자인 후 PD "절벽 체크 로직 잘못이 근본 원인" 명시 시점 채택. 본 PM 가설 3회 이상 누적 부정확 자인 시점 = 가설 생산 즉시 중단 + PD 근본 진단 능동 수령 의무. Unity 측정 자료 카탈로그 보유 의무 (Tilemap·Physics2D·Bounds·KinematicObject·Rigidbody2D·이벤트 시점). 자기검증 4항. C2·C5·C36·C44·C45 정합
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,85 @@
|
||||||
|
---
|
||||||
|
name: PM 진단 가설 부정확 누적 시 PD 근본 진단 우선 채택 의무
|
||||||
|
description: 2026-05-08 BT5-Dev 몬스터 시스템 BT80~BT109 영역. 본 PM이 측정·검출·재배치 가설 23회+ 누적 부정확 시도. PD가 "절벽 체크 로직 잘못 = 근본 원인" 명시 시점에 BT107 Tilemap cell 기반 측정 재설계 채택 영역 도달. PD 근본 진단 = 본 PM 가설보다 항상 우선.
|
||||||
|
type: feedback
|
||||||
|
tier: constitutional
|
||||||
|
---
|
||||||
|
|
||||||
|
# PM 진단 가설 부정확 누적 시 PD 근본 진단 우선 채택 의무
|
||||||
|
|
||||||
|
본 PM이 동일 영역 진단·측정 가설 시도가 3회 이상 누적 부정확 자인 시점부터 = **본 PM 가설 신뢰도 한계 도달 자인 + PD 근본 진단 능동 수령 의무**. PD가 "근본 원인 X = Y" 형태로 명시한 시점 = 본 PM 가설 즉시 폐기 + PD 명시 영역으로 재설계 의무.
|
||||||
|
|
||||||
|
**Why (BT5-Dev BT80~BT109 누적 사건)**:
|
||||||
|
- BT5-Dev 몬스터 시스템 영역 본 PM 23회+ 가설 누적 부정확 자인:
|
||||||
|
- 수평 Raycast (BT83·BT84·BT85·BT90 폐기)
|
||||||
|
- 절벽 거리 기준 (BT86·BT87·BT91·BT92 변경 4회)
|
||||||
|
- waitTimer·phase cooldown·stuckTimer 조합 (BT88~BT94 변경)
|
||||||
|
- PatrolPath path 영역 12건 (BT95 PD 직접 명시 "PatrolPath 제거")
|
||||||
|
- EnemyWall Layer 18 투명벽 자동 생성 (BT99~BT101 폐기)
|
||||||
|
- y 영역 영구 고정 (BT106 폐기 — 공중 부유 원인)
|
||||||
|
- Capsule margin 0.1·0.5·2.0 변경 (BT103·BT104·BT105)
|
||||||
|
- PD 근본 진단 채택 시점 = BT107: PD 명시 "절벽 체크 로직 잘못이 근본 원인" → Tilemap cell 기반 측정 재설계 채택 → 즉시 영구 마무리 도달
|
||||||
|
- 발판 시스템 영역 BT47~BT75 = 28회 누적도 동일 패턴 — PD 직접 진단 ("R2 진행", "BT48로 복귀해봐") 채택 시 즉시 정합
|
||||||
|
- 직접 영향: PD 시각 검증 반복 부담 누적·진행 지연·본 PM 측정 영역 신뢰도 손상
|
||||||
|
|
||||||
|
**근본 원인 (5층)**:
|
||||||
|
1. **표면**: 본 PM이 측정 결과 미세 부정합 시점에 동일 측정 영역 변수만 조정 (Raycast 거리·timer 값·margin 수치). 측정 영역 자체 부정확 가정 미진입
|
||||||
|
2. **가설 누적 자성 결손**: 동일 영역 3회 이상 부정확 자인 시점에 가설 생산 즉시 중단·외부 진단 수령 의무 미명문
|
||||||
|
3. **PD 근본 진단 위계 인식 결손**: PD = 게임 디자인 의도·시각 검증 영역에 더해 "근본 원인" 명시 시점 = 본 PM 가설보다 상위 위계. 본 PM이 PD 진단을 가설 1개 옵션으로 격하시켜 누적 시도 부분 채택
|
||||||
|
4. **Unity 측정 자료 다양성 미보유**: Tilemap.WorldToCell·HasTile·sprite·collider·Rigidbody2D body·transform 영역별 측정 정합 카탈로그 본 PM 보유 X → 매번 Raycast·Bounds 즉흥 시도
|
||||||
|
5. **`feedback_pm_solution_proactive_proposal` 외연 결손**: 직전 feedback = "표준 패턴 능동 제안 의무" 영역. 본 feedback = "PM 가설 누적 부정확 시 PD 근본 진단 우선 채택 의무" 별도 측면
|
||||||
|
|
||||||
|
**How to apply**:
|
||||||
|
|
||||||
|
1. **PM 가설 누적 부정확 자인 카운터 의무**:
|
||||||
|
- **0회**: 본 PM 가설 시도 자유
|
||||||
|
- **1회 부정확 자인**: 변수 조정 + 본 PM 자체 검증 의무
|
||||||
|
- **2회 부정확 자인**: 측정 영역 자체 정합 의심 + 외부 자료 검색 의무 (Unity Manual·표준 패턴)
|
||||||
|
- **3회 이상 부정확 자인**: **즉시 가설 생산 중단 + PD 근본 진단 능동 수령 의무**. PD에게 "본 PM 가설 N회 누적 부정확 자인 — PD 시각·진단 부탁드립니다" 보고
|
||||||
|
|
||||||
|
2. **PD 근본 진단 채택 우선 단계**:
|
||||||
|
- **Step 1**: PD가 "근본 원인 X" 형태로 명시 = 본 PM 가설 즉시 폐기 (옵션 1개 격하 X)
|
||||||
|
- **Step 2**: PD 명시 영역으로 재설계 (Raycast → Tilemap cell 기반 측정 등)
|
||||||
|
- **Step 3**: 본 PM 직접 구현·검증 + 결과 PD 보고
|
||||||
|
- **Step 4**: PD 시각 검증 정합 도달 후 영구 채택 commit
|
||||||
|
|
||||||
|
3. **Unity 측정 자료 카탈로그 (능동 보유 의무)**:
|
||||||
|
- **Tilemap 영역**: `Tilemap.WorldToCell`·`HasTile`·`GetTile`·`cellBounds` (data 직접 사용 = 정확)
|
||||||
|
- **Physics2D 영역**: `Raycast`·`CapsuleCast`·`BoxCast`·`OverlapBox` (sprite·collider 영역 의존 = 부정확 가능)
|
||||||
|
- **Bounds 영역**: `bounds.min`·`bounds.max`·`bounds.center`·`bounds.extents` (renderer·collider 영역 분리)
|
||||||
|
- **KinematicObject 영역**: `body.position` ≠ `transform.position`. 동시 set 의무
|
||||||
|
- **Rigidbody2D 제자리 사망 영역**: `body.simulated = false` (gravity X·충돌 X)
|
||||||
|
- **이벤트 시점 영역**: `Awake` < `RuntimeInitializeOnLoadMethod(AfterSceneLoad)` < `Start`. AutoForeground·Tilemap data 활성 후 측정 = Start 시점
|
||||||
|
|
||||||
|
4. **PM 자기검증 4항 (가설 시도 직전 의무)**:
|
||||||
|
- [ ] 본 영역 동일 가설 누적 N회? (3회 이상 = 가설 생산 중단)
|
||||||
|
- [ ] PD 명시 진단·시각 영역에 부합?
|
||||||
|
- [ ] 측정 영역 자체 정합 의심 검증?
|
||||||
|
- [ ] Unity 측정 자료 카탈로그에서 정합 영역 식별?
|
||||||
|
|
||||||
|
5. **금지 패턴**:
|
||||||
|
- ❌ PD 근본 진단 명시 후 본 PM 가설 부분 채택 (PD 진단을 옵션 1개로 격하)
|
||||||
|
- ❌ 동일 측정 영역 변수 미세 조정 4회 이상 누적
|
||||||
|
- ❌ 가설 누적 부정확 자인 시 PD에게 "어떻게 할까요" 결정 요구 (PD 근본 진단 능동 수령 의무 회피)
|
||||||
|
- ❌ Tilemap cell data 우선 검토 없이 Raycast 즉흥 시도
|
||||||
|
|
||||||
|
**적용 범위**: 모든 PM 응답·전 부서 (개발팀·기획팀 포함). 측정·진단·재배치 영역 전반.
|
||||||
|
|
||||||
|
**연관 규칙·feedback**:
|
||||||
|
- **C2** 근원적 문제 해결 (proxy 개선 폐기·근본 해결안 우선 제시)
|
||||||
|
- **C5·C23·C44** 정직성 (가설 누적 부정확 자인)
|
||||||
|
- **C36** PM 자율 판단 범위 상한 (방향·원칙 수준 PM 자율 X)
|
||||||
|
- **C45** 하드보일드 공감 (PD 부담 영역 본 PM 흡수)
|
||||||
|
- `feedback_pm_solution_proactive_proposal` (표준 패턴 능동 제안 의무 — 본 feedback이 "근본 진단 우선 채택" 영역 추가)
|
||||||
|
- `feedback_pm_excessive_decision_request` (옵션 나열 폐기 — 본 feedback은 PM 가설 N회 누적 후 PD 근본 진단 능동 수령)
|
||||||
|
- `feedback_pm_mcp_direct_implementation` (직접 구현 의무)
|
||||||
|
|
||||||
|
**근거 데이터**:
|
||||||
|
- BT5-Dev BT80~BT109: 본 PM 23회+ 가설 누적 부정확 자인 (BurningTimes commit `0f68ba9` 대화로그 엔트리 2)
|
||||||
|
- BT5-Dev BT47~BT75: 본 PM 28회+ 가설 누적 (commit `c858446` 엔트리 1)
|
||||||
|
- 핵심 PD 명시 진단 4건:
|
||||||
|
- "R2로 진행해줘" (AutoForeground 분리 채택·BT66)
|
||||||
|
- "PatrolPath 제거" (BT95)
|
||||||
|
- "투명벽 삭제" (BT102)
|
||||||
|
- "절벽 체크 로직 잘못이 근본 원인" (BT107 Tilemap cell 기반 측정 재설계 채택)
|
||||||
|
- 본 PM 가설 누적 3회 이상 영역 매번 PD 직접 명시 후 즉시 정합 도달 패턴 반복 실증
|
||||||
|
|
@ -0,0 +1,106 @@
|
||||||
|
# 조직운영 대화로그 — 2026-05-08
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 엔트리 1. 직전 세션 (BT5-Dev BT63~BT109) 누락 정정 B안 집행
|
||||||
|
|
||||||
|
**시각**: 2026-05-08
|
||||||
|
**주체**: 총괄PM
|
||||||
|
**영역**: 조직 SOT 누락 정정 — 조직운영 로그 신설 + 시행착오_아카이브 v2 갱신 + 헌법급 feedback 신설
|
||||||
|
**유형**: PD 결정 (B안) + 본 PM 직접 집행
|
||||||
|
|
||||||
|
### 배경
|
||||||
|
|
||||||
|
직전 세션 (2026-05-08 BT5-Dev BT63~BT109 발판·몬스터 시스템) 종결 시점에 PD 명시 "이전 세션에서 누락된 내용이 더 있다 — 공유 누락 체크". 본 PM이 조직 차원 SOT 4영역 직접 점검:
|
||||||
|
|
||||||
|
| # | 영역 | 결과 |
|
||||||
|
|---|------|------|
|
||||||
|
| 1 | `공유/대화로그/조직운영/2026-05-08.md` | ❌ 부재 — 본 엔트리로 신설 |
|
||||||
|
| 2 | 시행착오_아카이브 v2 갱신 | ❌ v1 고정 — 본 세션 v2 갱신 |
|
||||||
|
| 3 | 헌법급 feedback 신설 | ⚠️ 검토 필요 — 본 세션 신설 |
|
||||||
|
| 4 | 방향전환 히스토리 아카이브 | ✅ 등록 의무 X (코드 변경 영역) |
|
||||||
|
|
||||||
|
PD 결정: **B안 (1·2·3 일괄 집행)**.
|
||||||
|
|
||||||
|
### 직전 세션 핵심 영역 요약
|
||||||
|
|
||||||
|
#### 발판 시스템 영구 마무리 (BT47~BT75 · 28회+ 가설 누적)
|
||||||
|
|
||||||
|
본 PM 가설 누적 시도:
|
||||||
|
- Distance·Bounds·VisualBounds 측정 (BT14·BT15·BT16)
|
||||||
|
- PlatformEffector2D 채택 시도 (BT20~BT26)
|
||||||
|
- STOMP_MIN_DY·queriesHitTriggers 변수 조정
|
||||||
|
|
||||||
|
PD 명시 진단:
|
||||||
|
- BT47: "Foreground = Grid → Foreground 배경 의도" (PD 근본 정정)
|
||||||
|
- BT48: "발판은 위에 설 수 있어야 해"
|
||||||
|
- BT63: "BT63 = 기본 상태"
|
||||||
|
- BT66 (R2): **"R2로 진행해줘"** → AutoForeground 분리 채택 → 영구 마무리 도달
|
||||||
|
|
||||||
|
영구 채택 패턴: Drop-Through Platform 표준 패턴 (Layer 16 + Raycast + dropThroughTimer + jumpAscentTimer).
|
||||||
|
|
||||||
|
#### 몬스터 시스템 (BT76~BT109 · 23회+ 가설 누적)
|
||||||
|
|
||||||
|
본 PM 가설 누적 시도:
|
||||||
|
- 수평·수직 Raycast (BT83·BT84·BT85·BT90 폐기)
|
||||||
|
- 절벽 거리 기준 (BT86·BT87·BT91·BT92 변경 4회)
|
||||||
|
- waitTimer·phase cooldown·stuckTimer 조합 (BT88~BT94)
|
||||||
|
- PatrolPath path 12건 (BT95 PD "PatrolPath 제거" 명시)
|
||||||
|
- EnemyWall Layer 18 투명벽 (BT99~BT101 폐기)
|
||||||
|
- y 영역 영구 고정 (BT106 폐기 — 공중 부유 원인)
|
||||||
|
- Capsule margin 0.1·0.5·2.0 변경 (BT103·BT104·BT105)
|
||||||
|
|
||||||
|
PD 명시 진단:
|
||||||
|
- BT95: "PatrolPath 제거"
|
||||||
|
- BT102: "투명벽 삭제"
|
||||||
|
- BT107 (근본 진단): **"절벽 체크 로직 잘못이 근본 원인"** → Tilemap cell 기반 측정 재설계 → 영구 마무리 도달
|
||||||
|
|
||||||
|
영구 채택 패턴: `Tilemap.WorldToCell + HasTile` data 직접 사용 + footPos cell 영역 (`bounds.min.y - 0.5f`).
|
||||||
|
|
||||||
|
### 본 PM 가설 누적 부정확 자인 패턴 (조직 차원 노하우)
|
||||||
|
|
||||||
|
본 PM 28+23회 = **51회+ 누적 가설 부정확 자인** + PD 시각 검증 반복 부담. 핵심 패턴 발견:
|
||||||
|
|
||||||
|
1. **본 PM 가설 3회 이상 누적 시점부터 동일 측정 영역 변수만 미세 조정** (Raycast 거리·timer 값·margin 수치). 측정 영역 자체 부정확 가정 미진입.
|
||||||
|
2. **PD 직접 진단 명시 시점 = 즉시 영구 마무리 도달** (R2·PatrolPath 제거·투명벽 삭제·절벽 체크 근본 원인 4건 모두 동일 패턴).
|
||||||
|
3. **본 PM이 PD 진단을 가설 1개 옵션으로 격하시켜 부분 채택 누적** = PD 근본 진단 위계 인식 결손.
|
||||||
|
|
||||||
|
→ **헌법급 feedback `feedback_pm_root_diagnosis_priority` 신설 정합** (본 엔트리 산출물 §1).
|
||||||
|
|
||||||
|
### 결정·근거·영향
|
||||||
|
|
||||||
|
#### B안 채택 근거
|
||||||
|
|
||||||
|
- **#1 조직운영 로그 부재**: 본 엔트리로 신설. 향후 조직 차원 노하우 SOT 정합.
|
||||||
|
- **#2 시행착오_아카이브 v2 갱신**: 본 세션 7종 노하우 (Tilemap cell·body+transform 동시·body.simulated·AutoForeground 분리·이벤트 시점·Drop-Through·PM 가설 패턴) `개발_클라이언트팀장_v1.md` v2 추가.
|
||||||
|
- **#3 헌법급 feedback 신설**: `feedback_pm_solution_proactive_proposal` (능동 제안 영역) 외연 분리 + `feedback_pm_root_diagnosis_priority` (PM 가설 누적 부정확 시 PD 근본 진단 우선 채택) 신설.
|
||||||
|
|
||||||
|
#### 영향
|
||||||
|
|
||||||
|
- **차기 BT5-Dev 좁은 영역 Enemy 잔여 영역**: 본 PM 가설 3회+ 누적 시점 = 가설 생산 중단 + PD 근본 진단 능동 수령 의무 (헌법급 feedback 정합).
|
||||||
|
- **차기 프로젝트**: 시행착오_아카이브 v2 = Unity 측정 자료 카탈로그 + 표준 패턴 보유. 신규 클라이언트팀장 인수인계 자료.
|
||||||
|
- **본 PM 능동 보유 의무**: Tilemap·Physics2D·Bounds·KinematicObject·Rigidbody2D·이벤트 시점 영역별 정합 카탈로그.
|
||||||
|
|
||||||
|
### 산출물
|
||||||
|
|
||||||
|
- `memory/org/feedback_pm_root_diagnosis_priority.md` (신설 — 헌법급 feedback)
|
||||||
|
- `memory/MEMORY.md` (인덱스 갱신 — 신규 feedback 등록)
|
||||||
|
- `공유/조직자산/시행착오_아카이브/개발_클라이언트팀장_v1.md` (v2 갱신 — §6 EerieVillage BT5-Dev 영역 신규 노하우 7종 추가, §7 PM 보고 안건 추가)
|
||||||
|
- `공유/대화로그/조직운영/2026-05-08.md` (본 엔트리)
|
||||||
|
|
||||||
|
### 관련 규칙·자산
|
||||||
|
|
||||||
|
- **C2** 근원적 문제 해결 (proxy 개선 폐기·근본 해결안 우선)
|
||||||
|
- **C5·C23·C44** 정직성 (51회+ 가설 누적 부정확 자인)
|
||||||
|
- **C36** PM 자율 판단 범위 상한
|
||||||
|
- **C45** 하드보일드 공감 (PD 부담 영역 본 PM 흡수)
|
||||||
|
- `feedback_pm_solution_proactive_proposal` (직전 세션 신설 — 능동 제안 의무)
|
||||||
|
- `feedback_pm_root_diagnosis_priority` (본 세션 신설 — PD 근본 진단 우선 채택)
|
||||||
|
- `feedback_pm_excessive_decision_request` (옵션 나열 폐기)
|
||||||
|
- `feedback_pm_mcp_direct_implementation` (직접 구현 의무)
|
||||||
|
|
||||||
|
### 후속 영역
|
||||||
|
|
||||||
|
- **즉시 후속**: PD 다음 지시 수령 — BT5-Dev 좁은 영역 Enemy 잔여 / BT7-Dev VS 순수형 / BT7-Plan 카드 시스템 / 새 게임성 영역 중 PD 결정.
|
||||||
|
- **차기 사이클**: 본 PM 가설 3회+ 누적 자인 시점부터 가설 생산 중단 + PD 근본 진단 능동 수령 자기검증 의무 (헌법급 feedback 정합).
|
||||||
|
- **paths.local.json 셋팅**: 본 worktree 부재 — Unity 외부 레포 직접 작업 시 PD PC 경로 명시 의무.
|
||||||
|
|
@ -1,9 +1,10 @@
|
||||||
# 클라이언트팀장 시행착오 아카이브 v1
|
# 클라이언트팀장 시행착오 아카이브 v2
|
||||||
|
|
||||||
> **조직**: BurningTimes (구 NerdNavis 계승)
|
> **조직**: BurningTimes (구 NerdNavis 계승)
|
||||||
> **담당**: 클라이언트팀장
|
> **담당**: 클라이언트팀장
|
||||||
> **대상 원본**: 수상한잡화점 (Unity `6000.0.67f1`, 외부 레포 `FilGoodBandits/DeckBuilding`)
|
> **대상 원본**: 수상한잡화점 (Unity `6000.0.67f1`, 외부 레포 `FilGoodBandits/DeckBuilding`)
|
||||||
> **계승 대상**: EerieVillage (Unity `6000.3.13f1 LTS`, 2D PlatformerMicrogame 템플릿)
|
> **계승 대상**: EerieVillage (Unity `6000.3.13f1 LTS`, 2D PlatformerMicrogame 템플릿)
|
||||||
|
> **v2 갱신 (2026-05-08)**: §6 EerieVillage BT5-Dev 영역 신규 노하우 7종 추가 (발판 시스템 BT47~BT75 + 몬스터 시스템 BT76~BT109)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
@ -118,3 +119,78 @@
|
||||||
- `프로젝트/코어프레임워크/01_아키텍처_개요_v1.md`·`03_배포방식_안건_v1.md`·`04_Tier1_3종_상호작용_설계_v1.md`
|
- `프로젝트/코어프레임워크/01_아키텍처_개요_v1.md`·`03_배포방식_안건_v1.md`·`04_Tier1_3종_상호작용_설계_v1.md`
|
||||||
|
|
||||||
**대화로그**: `공유/대화로그/코어프레임워크/2026-04-16.md`·`2026-04-17.md`·`2026-04-18.md`
|
**대화로그**: `공유/대화로그/코어프레임워크/2026-04-16.md`·`2026-04-17.md`·`2026-04-18.md`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 6. EerieVillage BT5-Dev 영역 신규 노하우 (v2 추가, 2026-05-08)
|
||||||
|
|
||||||
|
> **대상**: BT5-Dev 발판 시스템 (BT47~BT75) + 몬스터 시스템 (BT76~BT109)
|
||||||
|
> **계기**: 본 PM 가설 누적 부정확 자인 28+23회 누적 → PD 근본 진단 채택 후 영구 마무리 도달
|
||||||
|
> **연관 헌법급 feedback**: `feedback_pm_root_diagnosis_priority` (2026-05-08 신설)
|
||||||
|
|
||||||
|
### 6-1. Tilemap cell 기반 측정 (Raycast 부정확 폐기)
|
||||||
|
|
||||||
|
| 시도 | 이유 | 결과 | 교훈 |
|
||||||
|
|------|------|------|------|
|
||||||
|
| 수평·수직 Raycast 측정 (BT80~BT106) | 절벽·벽 검출 | sprite·collider 영역 의존 부정확 누적 23회+ | Raycast 영역 = sprite·collider 정합 필수. 미정합 시 부정확 |
|
||||||
|
| `Tilemap.WorldToCell` + `HasTile` (BT107) | data 직접 사용 | PD 근본 진단 채택 즉시 영구 마무리 도달 | **Tilemap data 직접 사용 = 정확. 절벽·벽 검출 1순위** |
|
||||||
|
| footPos cell 영역 (BT109) | Capsule 발 위치 정합 | `footPos.y = bounds.min.y - 0.5f` = 발판 cell 영역 정확 | 발 자체 cell ≠ 발판 cell. -0.5f 오프셋 의무 |
|
||||||
|
|
||||||
|
### 6-2. KinematicObject body·transform 동시 set 의무
|
||||||
|
|
||||||
|
| 시도 | 이유 | 결과 | 교훈 |
|
||||||
|
|------|------|------|------|
|
||||||
|
| `transform.position` 단독 set (BT89~BT92) | 즉시 위치 변경 | KinematicObject `body.position` 미동기화 → 1 frame 후 원위치 복귀 | transform 단독 set 영역 = KinematicObject 영역 부정합 |
|
||||||
|
| `body.position` + `transform.position` 동시 set (BT93·BT96) | 양 영역 동기 | TriggerReverse 영역 정합 | **transform + body 동시 set 의무** |
|
||||||
|
| `velocity.x` 직접 set | 즉시 방향 전환 | FixedUpdate 영역 = `velocity.x = targetVelocity.x` 덮어씀 → 1 frame만 영향 | `control.move.x` 영역과 동시 set 의무 |
|
||||||
|
|
||||||
|
### 6-3. body.simulated = false (제자리 사망 영역)
|
||||||
|
|
||||||
|
| 시도 | 이유 | 결과 | 교훈 |
|
||||||
|
|------|------|------|------|
|
||||||
|
| `_collider.enabled = false` 단독 (BT104) | 충돌 차단 | gravity 적용 → 떨어짐 | collider만 차단 시 물리 영역 잔존 |
|
||||||
|
| `body.simulated = false` (BT105) | 물리 영역 전수 차단 | gravity X·충돌 X·제자리 사망 정합 | **죽은 Enemy 제자리 사망 영역 = body.simulated=false** |
|
||||||
|
|
||||||
|
### 6-4. AutoForeground vs PD Foreground 영역 분리
|
||||||
|
|
||||||
|
| 시도 | 이유 | 결과 | 교훈 |
|
||||||
|
|------|------|------|------|
|
||||||
|
| Foreground TilemapCollider 부착 (BT82) | 발판 충돌 | PD Foreground = 시각만 의도. 통로 막힘 | PD가 직접 그린 시각 영역 = 충돌 X 의도 |
|
||||||
|
| AutoForeground 신규 GameObject (BT47 R2 채택) | 자동 분류 결과 별도 분리 | Grid 자식·Tilemap·TilemapCollider·Layer 16·transform 동기화 | **시각 의도 ↔ 충돌 영역 분리. AutoForeground = 자동 분류 결과만 충돌** |
|
||||||
|
|
||||||
|
### 6-5. 측정 시점 — Awake < AfterSceneLoad < Start
|
||||||
|
|
||||||
|
| 시도 | 이유 | 결과 | 교훈 |
|
||||||
|
|------|------|------|------|
|
||||||
|
| Awake 시점 측정 (BT94 시도) | 가장 빠른 시점 | AutoForeground Tile data 미활성 → 측정 부정확 | Awake = scene 전수 활성 전 |
|
||||||
|
| `RuntimeInitializeOnLoadMethod(AfterSceneLoad)` 영역 | scene load 후 | AutoForeground 분류 후 시점 | AfterSceneLoad = Awake 후·Start 전 |
|
||||||
|
| Start 시점 측정 (BT97) | AutoForeground 분류 완료 후 | Tile data 활성 영역 측정 정합 | **AutoForeground·Tilemap data 의존 측정 = Start 시점 의무** |
|
||||||
|
|
||||||
|
### 6-6. Drop-Through Platform 표준 패턴 (발판 시스템 영구 채택)
|
||||||
|
|
||||||
|
| 영역 | 동작 | 교훈 |
|
||||||
|
|------|------|------|
|
||||||
|
| `JUMP_THROUGH_LAYER = 16` | AutoForeground·Foreground 통과 대상 Layer | Layer 기반 mask 제어 표준 |
|
||||||
|
| `dropThroughTimer (0.3초)` | Down + Jump 입력 시 Layer 16 mask 강제 OFF | 일시 mask OFF 패턴 |
|
||||||
|
| `jumpAscentTimer (0.4초)` | 점프 ascending·정점 영역 mask 강제 OFF | jitter 차단 의무 |
|
||||||
|
| `dropThroughJump` | `velocity.y = -0.5f` (즉시 낙하·IsGrounded=false 확보) | 즉시 효과 의무 |
|
||||||
|
| `UpdateContactFilterForDropThrough` | ascending·정점·Timer 활성 시 mask OFF / footHit 3점 Raycast | 발판 위 검출 안정화 |
|
||||||
|
| 밀림 강제 Drop-Through | 점프·낙하 중 + 수평 입력 + 발판 가장자리 일시 검출 → `dropThroughTimer` 강제 활성 | 가장자리 jitter 차단 |
|
||||||
|
| Down + Jump 발동 조건 | 발판(Layer 16) 위 footHit 검출 시만 (지면 위 = 일반 점프) | 분기 의무 |
|
||||||
|
|
||||||
|
### 6-7. PM 가설 누적 부정확 자인 패턴 (메타 영역)
|
||||||
|
|
||||||
|
| 사이클 | 본 PM 가설 누적 | PD 근본 진단 명시 시점 | 즉시 정합 도달 |
|
||||||
|
|--------|---------------|---------------------|--------------|
|
||||||
|
| 발판 시스템 (BT47~BT75) | 28회+ 가설 (Distance·Bounds·VisualBounds·PlatformEffector·STOMP_MIN_DY 등) | PD: "R2로 진행해줘" (BT66) | AutoForeground 분리 채택 |
|
||||||
|
| 몬스터 자동 patrol (BT80~BT109) | 23회+ 가설 (수평 Raycast·waitTimer·stuckTimer·EnemyWall·y 영역 고정 등) | PD: "절벽 체크 로직 잘못이 근본 원인" (BT107) | Tilemap cell 기반 측정 재설계 |
|
||||||
|
| 핵심 PD 명시 진단 4건 | "R2 진행"·"PatrolPath 제거"·"투명벽 삭제"·"절벽 체크 근본 원인" | 매번 본 PM 가설 3회+ 누적 후 명시 | 즉시 영구 마무리 도달 패턴 반복 |
|
||||||
|
|
||||||
|
**핵심 교훈**: 본 PM 가설 3회 이상 누적 부정확 자인 시점 = **가설 생산 즉시 중단 + PD 근본 진단 능동 수령 의무**. 헌법급 feedback `feedback_pm_root_diagnosis_priority` 정합.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 7. v2 추가 PM 보고 안건
|
||||||
|
|
||||||
|
- **BT5-Dev 좁은 영역 Enemy 잔여**: PD 보고 (BT109 후) "몬스터들 중 일부(이동 가능 영역이 좁은 경우)를 제외하면 내가 원하는대로 움직이고 있어". 좁은 영역 (시작 위치 ↔ 절벽 거리 매우 작음) 패턴 부정합 잔존. PD 재요청 시 본 PM 후속.
|
||||||
|
- **Unity 측정 자료 카탈로그 보유 의무**: Tilemap·Physics2D·Bounds·KinematicObject·Rigidbody2D·이벤트 시점 영역별 정합 카탈로그 본 PM 능동 보유 의무 (`feedback_pm_root_diagnosis_priority` §3 정합)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue