From be91bc08ce6219f265956bf27338036049c05ee8 Mon Sep 17 00:00:00 2001 From: swrring Date: Tue, 25 Aug 2026 02:08:04 +0900 Subject: [PATCH] =?UTF-8?q?docs(BT13-GodDem):=20=EA=B5=AC=20UGUI=20?= =?UTF-8?q?=EC=95=84=EC=9B=83=EA=B2=8C=EC=9E=84=20=EC=A0=84=ED=99=98=20af7?= =?UTF-8?q?8882=C2=B7=ED=99=94=EB=A9=B4=EB=B3=84=20=EC=8B=A4=ED=83=9C?= =?UTF-8?q?=ED=91=9C=20=ED=99=95=EB=B3=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 구 UGUI 로비(카드·카드뽑기·영웅) 진입 경로 복구 — 비활성 상태였음(3832961이 소등) - 실태표: CardScreen(Item=카드뽑기·Hero=영웅) 정상 전망·ShopScreen/Skill탭은 원작부터 미구현 - 유일 충돌축 = 재화 공유(구 화면 소비가 Survival 골드 차감)·진행도는 분리 - 감사 Major 3 수용(백업 파일명 재발·PD로그 소급·C35-11 오적용 정정) Co-Authored-By: Claude Fable 5 --- ...edback_backup_filename_format_violation.md | 4 + 공유/PD_지시_트래킹/개발팀_PD_지시_로그.md | 2 +- 공유/대화로그/GodDem/2026-08-25.md | 167 ++++++++++++++++++ 3 files changed, 172 insertions(+), 1 deletion(-) create mode 100644 공유/대화로그/GodDem/2026-08-25.md diff --git a/memory/org/feedback_backup_filename_format_violation.md b/memory/org/feedback_backup_filename_format_violation.md index e46adc4..4d64f21 100644 --- a/memory/org/feedback_backup_filename_format_violation.md +++ b/memory/org/feedback_backup_filename_format_violation.md @@ -67,6 +67,10 @@ PD님 질문 "C34 확장 집행 완료 과정에 C6-1 원본 보호 규칙을 GodDem P3-B3-2 구현 백업(`공유/개발팀_백업/GodDem/`)에서 **확장자별 분기 오염** 신변종: 동일 디렉토리에서 `.csv`(`SurvivalUpgrade.csv.bak_..csv`)·`.unity`·`.asset`은 표준 준수하나 **`.cs` 계열만** `SurvivalUnit.bak_20260823_0329.cs`로 **원본 확장자 탈락**(정답: `SurvivalUnit.cs.bak_20260823_0329.cs` — `{원본명}`에 확장자 포함). 최초 1건이 이후 .cs 전건 오염(관성 답습 재현). 데이터 손실 0·복구성 정상·`grep .bak_2026` 탐지성만 저하 — 소급 개명 불요·**차기 백업부터 표준 적용**. 백업 생성 시 "원본 파일명 전체(확장자 포함) + `.bak_{일시}` + 원 확장자 재부착" 템플릿 재확인 의무. +### 재발 2건 (2026-08-25) — 답습 패턴 실증 + +GodDem 임시 UI 작업 백업 2건이 다시 `.cs` 원본 확장자를 탈락시켰다(전 세션 위반형을 그대로 답습). pm-auditor 지적 후 rename 완료. 실측 대조 — 같은 디렉토리의 비-`.cs` 백업은 **전건** 원본 확장자를 보존하고(`survival_meta.json.bak_….json`·`*.unity.bak_….unity`·`*.asset.bak_….asset`), `.cs`도 2026-08-23 `_0352` 이후로는 `.cs.bak_` 표준을 지키고 있었다. 즉 **표준은 이미 정착했고 개별 작업자가 옛 형태를 복사**한 것이 원인. 백업 생성 직전 같은 디렉토리 `ls`로 최근 형식을 1회 확인하면 차단된다. + ## 교훈 **"기존 코드 답습 ≠ 조직 표준 준수"**. 신규 스크립트 작성 시 가장 가까운 기존 코드를 참조하는 건 생산성 측면에서 자연스러우나, **해당 기존 코드 자체가 이미 조직 표준 위반일 가능성**을 전제로 규약 대조가 필수. C34 Live junction 스크립트가 2026-04-18에 이미 비표준 포맷으로 도입되어 그 후 모든 파생 스크립트 오염 — 최초 위반이 길게 연쇄되는 전형 사례. diff --git a/공유/PD_지시_트래킹/개발팀_PD_지시_로그.md b/공유/PD_지시_트래킹/개발팀_PD_지시_로그.md index a22d1c7..a5eb8e6 100644 --- a/공유/PD_지시_트래킹/개발팀_PD_지시_로그.md +++ b/공유/PD_지시_트래킹/개발팀_PD_지시_로그.md @@ -33,7 +33,7 @@ C3·C13 위반에 해당. **즉시 자진 보고 후 소급 등록**. | # | 일시 | 지시 요지 | 처리 상태 | 산출물 경로 | 중단 사유 | 사후 조치 | |---|------|----------|----------|-----------|----------|----------| -| BT13-GodDem | 2026-08-19~20 | **GodDem 프로젝트 개시 + 인게임 「황야의 생존자」형 전환** — PD 직접 지시 6건 연속. ①(2026-08-19) "이 세션은 우리 조직의 새로운 프로젝트인 GodDem 프로젝트 개발을 위한 세션이야. 현재 프로젝트 레포는 'E:\NerdNavis\GodDem' 이므로 코드 및 프로젝트를 제대로 검토해보고 개발할 준비가 되면 보고해." ②"앞으로는 도구 사용을 묻지 않도록 자동으로 도구 승인처리해" (+ ToolSearch·MCP 리소스 도구·`.claude/**` 편집 영구 허용 반복 지시) ③"인게임을 유튜브(https://youtu.be/cBVc0OwUX6U 황야의 생존자) 영상과 같은 형태로 변경. 더미 리소스(기존 자산)로 기본 시스템 동일 설계·인게임 씬 배치. **아웃게임 유지, 인게임 씬만 변경**" + 전투 명세 4항(플레이어 중앙 고정 자동공격 / 매판 리셋 로그라이크 스텟 강화 / 10웨이브 보스·스테이지 클리어 / **신규: 경험치→레벨업마다 특수 스킬 3종 택1**) ④"원작 APK 디컴파일해서 게임 로직·데이터 분석. 능력치·성장 수치·강화 비용 등 밸런스 데이터를 그대로 활용하고 싶다" ⑤"FABLE5로 원작 복호화 리버싱을 먼저 시도해봐. 안되면 자체 수치로 설계할게" ⑥"csv 형태로 제작해줘" / "워크플로우 설계할 때 ponytail 스킬을 써줘". **C13 위반 자진 보고** — 본 6건이 대화로그에만 기록되고 본 트래킹 로그에 미등록 상태였음(pm-auditor 감사 Critical 적발). 소급 등록. **[2026-08-21 인게임·메타·밸런스 일괄 집행]** PD "전부 진행해" 승인 — 1차 인게임 완결(A10 분신 10종 정합·일시정지·적 HP바, `77bd835`·`ee9ec11`) + 3차 상점·Hero 메타 결선(SurvivalMeta 분리 신설, `57a8fcf`) + 4차 결함 해소(penetrate_ratio 함정·A13 사거리·waveInStage 산식·이중 SOT, `7728a41`) + 5차 S3 v2 밸런스 확정 반영(42/1/14/+3, plan-auditor 재검증 통과, `d5dea4d`). 상세: 공유/대화로그/GodDem/2026-08-21.md §3~§12. **[2026-08-22 밸런스 원작이탈 지적·2층 재구현]** PD 플레이 실측 지적 — 공격력이 원작 2층(정액 hero_level power + 배율 attack_add) 중 배율만·축소, 정액 트랙 누락 / 몬스터 원작 소스 부재. 근본 = 본 로그 사후조치 (2) "스케일 재조정 방침"을 PD 재확인 없이 진행한 C36 위반이 플레이로 표면화. PD "이 방향으로 재구현해" 승인 → 공격력 원작 2층 복원 착수 (C49: balance-designer 재설계 → plan-auditor 검증 → 개발팀장 구현). memory `feedback_pd_directive_altered_to_rescale` 신설. **[완료 2026-08-22 GodDem `26ff655`]** 공격력 원작 2층 복원 완결 — APK 재추출로 배율(0.05~0.30)=원작 attack_add prefix-10 원본 확정(이탈 아님)·정액 트랙 `attack`(30~600) 신설로 2층 복원·C49 이중검증(balance v2→plan-auditor 통과)·플레이테스트 2층 산술 정확 재현(22~1691). PD 지적 (a)(b) "정액 누락" 단일원인 해소. 부수 강화테이블 전수 원작 정합 확인. **잔여 = R-M2(정액 몰빵 스테이지1 보스 3.5배 오버킬) 조정 방향 PD/balance 판단 1건**. 상세 대화로그 §15~§20. **[2026-08-22 원작 아키텍처 전면 이식 착수·대규모]** PD 지적 2건("총 스테이지 구성 원작 동일"·"능력치가 원작보다 훨씬 적음·원작은 아웃게임 확장") → PD 결정 "원작 데이터 아키텍처 전면 이식이 맞아"+"이대로 진행". 실측 gap 3축(능력치 24 vs 13·아웃게임 5층 vs 1층·스테이지 6구간 vs 무한). 근본=초기 MVP 전환 원작 축소(feedback_pd_directive_altered_to_rescale 연장). P32 분할: 1단계 balance-designer 이식청사진 → 2단계 system-designer 메타재설계 → 3단계 축별 구현. 상세 대화로그 §21. **[P1 완료·P2 착수 2026-08-22]** 청사진 v1 완료(`b5d95cc`, 능력치 24종/PvE 18·아웃게임 5층·스테이지=원작 teamwavepassreward 54단계뿐/StageBalance는 GodDem 자산 정정·재사용3/확장3). PD 결정: 가챠 원작대로 도입(과금 신설)·현 세션 P2 계속. P2 system-designer 메타 아키텍처 재설계 착수(5층·능력치18 배치·인게임/아웃게임 경계 재정의). 상세 §22~§23. **[P2 완료 2026-08-22]** 메타 아키텍처 재설계 v1 완료 — 5층 확정(①영웅레벨·②승급·③장비강화·④가챠·⑤스킬마스터리, 인게임 "런레벨"과 명칭 분리) + 능력치 18종 배치(청사진 §2-3 "미보유 5종" 정정: `stun_rate` 누락 확인·실제 6종) + ★결합 지점 정정(초안 "1곳"→plan-auditor 감사로 4개 호출부 확인, `SurvivalLobbyController.Hero.cs` 2곳 누락분 포함, `FinalAttack()`/`FinalHp()` 단일 캡슐화 메서드로 3중 SOT 재발 방지 설계) + 재사용/확장 판정(SurvivalMeta 확장·Upgrade/Skill 불변·ItemCatalog 확장·**ShopCatalog는 "구조 확장 필요"로 정정**, 확률 지급물 미지원 확인) + 신규 클래스 4·CSV 7종 골격 + P3 4서브페이즈 분할(B1레벨승급→B2장비→B4스킬→B3가챠). plan-auditor 모드A 감사 1회 수행(조건부통과, Critical 2·Major 6·Minor 4 — 전부 반영 후 확정). **PD 확인 대기 2건**: ①가챠 소비재화(골드 vs 젬, 원작 근거 부재 🔴) ②가챠 가격·확률 실값. **[P3-A 착수 2026-08-22]** PD 방향 확정 "설계대로 진행"(인게임 매판 리셋 + 아웃게임 영구성장이 매판 시작 베이스 = 영구성장 RPG, P2 경계재정의 그대로). P3-A 능력치 정리 착수(penetrate_ratio 이관·ele 2종 층확정·18종 체계). 후속 B1→B2→B4→B3(가챠)+C(스테이지 병렬). 상세 §25. **[P3-A 완료·B1 착수 2026-08-22]** P3-A GodDem `8684211`(penetrate ⑤이관·ele ⑤확정·StatCatalog SOT·plan-auditor 조건부통과). **★부수 성과**: 직전 공격력 2층의 attack 정액 트랙이 상점 미노출(소비O·상점X)로 플레이어 미도달이던 결함 발견·수정 — Play 실측 22→52 도달 회복(memory `feedback_shop_exposure_filter_source_both` 신설). P3-B1(레벨+승급) balance-designer 설계 착수 + 메타문서 ele④→⑤ 갱신. 상세 §26~§28. **[B1 설계완료·구현착수 2026-08-22]** balance-designer B1 설계(레벨1~60·승급0~11·매판 베이스 결합·plan-auditor 조건부통과). **★근본 발견**: 인게임 골드→아웃게임 전환 브릿지 부재(CurrencyManager.Add 0건)=영구성장 전제 미구현. **PD 결정**: "원작처럼 맞춰 전체 밸런싱 동일성 확인 후 추후 변경" → 유한캡(60/11) 원작 정합 확정·원작 충실 1차. 개발팀장 B1 구현 착수(전환 브릿지 최우선). 상세 §29~§31. **[B1 완료 2026-08-22 GodDem `a3f62ab`]** 영구 성장 첫 층 게임 진입 — 인게임 골드→아웃게임 영구재화 전환 브릿지 신설(크로스세션 영속 확증)·영웅레벨 1~60·승급 star0~11·매판 시작 베이스 결합(신규 22/400 불변)·defense 분리클램프. plan-auditor 통과(Minor1 NRE 3중 방어 동봉)·메타문서 유한캡 정정. 남은 B2(장비)→B4(스킬)→B3(가챠)+C(스테이지). 상세 §32~§34. **[B2 착수 2026-08-22]** PD "현 세션 B2 계속" + 지적 "세션 이동 되묻지 마"(feedback_session_transition_repeated_prompting 신설·세션 이동 재제안 중단). balance-designer 장비강화 Layer③ 설계 착수(heroequipment 정합·M수열 재추출). 상세 §35. **[B2 v1 완료·재추출 착수 2026-08-22]** B2 설계 v1(2축 레벨/등급·plan-auditor 조건부통과·Critical2 융합버그 재설계). **원작 M수열 재추출 미해소·역산** → PD "원작처럼 맞춰" 정합 위해 개발팀장 heroequipment 재추출 착수(공격력 재추출 선례·되묻지 않고 진행). 후속 B2 v2 재산정→검증→구현. 상세 §36~§37. **[재추출 완료·(A) 노선 확정 2026-08-22]** heroequipment 재추출 완료 — 매핑 §2-3 전부 정확(M수열 [1..200] 16단·등급 ×1/5/10/20/40/80·비용 Base+V·forging 전이 q2→6 정정). **(A) 형태 이식 확정**(구조 원작·스케일 재산정, 원작 M×200 절대이식은 게임 붕괴로 (B) 기각·B1/공격력/배율 일관). balance-designer B2 v2 착수(forging 정정·근거 격상). 상세 §38. **[B2 v2 통과·구현착수 2026-08-22]** B2 v2 plan-auditor 통과(신규결함0·재추출 형태정합·forging q2→6·무변경 승계·Improvement1 비차단=장비 진입시점 플레이테스트 튜닝). 개발팀장 B2 구현 착수(EquipLevel Version3·SecondaryStatKey·TryFuse 차단+환급·CSV룩업·강화 UI). 상세 §39~§41. **[B2 완료 2026-08-22 GodDem `bc07573`]** 영구 성장 둘째 층(장비 강화) 게임 진입 — 장비 레벨별 성장·매판 베이스 결합(신규 22/400 불변)·융합 환급 세탁차단·강화 UI 도달. plan-auditor 통과(7항)·개별 stage 커밋·push 완료. 남은 B4(스킬마스터리)→B3(가챠)+C(스테이지). 상세 §42~§44. **[B4 설계·구현착수 2026-08-22]** B4 스킬마스터리 설계(스킬 해금 드래프트 풀·그랜드파더 10종·마스터리 스탯 3종·데이터 v4·plan-auditor 조건부통과). **★이슈**: penetrate/ele 3종 적 방어·속성 시스템 부재로 소비처 없음(penetrate 사장 계열)→공격% 잠정 배선·PD 밸런싱 확인 영역. 개발팀장 구현 착수(C6 백업). 상세 §45~§46. **[B4 완료 2026-08-22 GodDem `54aea99`]** 영구 성장 셋째 층(스킬 마스터리) 게임 진입 — 액티브 해금 드래프트 풀·마스터리 스탯 3종·데이터 v4. plan-auditor 조건부통과→**C6 백업 Critical은 false negative**(Grep이 gitignore *.bak_* 스킵·백업 실존·개발팀장 정직·PM 자성·feedback 신설). 개발팀장 push 인증실패→PM 재시도 성공. 남은 C(스테이지)·B3(가챠). 상세 §47~§49. **[C 설계완료 2026-08-22]** 스테이지 = 원작 teamwavepassreward 54단계 유한캡(6스테이지×9챕터) 형태이식 — Stage 무한증가 폐기. StageStep(2.1→1.02)·ExpStep(1.2→1.002) 챕터 체감 재설계로 54제곱 폭발(HP 5.72×10¹⁹·경험치 킬1회당 145레벨업) 해소. 런완주 총액 414,018G 확정(B1 R-C2 미확정치 해소). plan-auditor 모드A 조건부통과(Critical4·Major7·Minor7 전량반영 — B2 기여분 +47→+141 정정, 인런 SkillAttackMul 누락 반영해 목표 BossHP 4,247,728→92,318,561 재조정). **★팀장·PD 확인 3건 상신**: ①Stage 유한화 방향 자체(B1 유비적용·PD 스테이지 직접 재확인 없음) ②teamwavepassreward 재추출 미해소 착수 타당성(청사진 "선행조건" 문자명시분 재해석) ③Stage55+ 동결 처리(청사진이 PD 확인영역으로 지목). **구현 착수는 3건 선해소 후**. 상세 §50. **[재추출·원작 유한 확정·C v2 착수 2026-08-22]** teamwavepassreward 재추출로 **원작 유한 설계 확정**(dif55+ 부재·loop 필드 없음·wildernesspk next_id 0 종료)→C v1 유한 캡(54) 원작 정합·PD "총 스테이지 원작 동일" 정합. 확인 3건 중 ②재추출 데이터 해소·①③(유한화 채택·55+ 처리)은 PD 방향 정합으로 진행(되묻지 않음). monsterteam 서버측 확정(HP 창작 유일). balance-designer C v2 재산정 착수(유한 격상·모드 구분·55+ 잠정). 상세 §51~§52. **[C v2 통과·구현착수 2026-08-22]** C v2 plan-auditor 통과(6항·유한 격상·모드 구분·수치 승계·source-based Stage54 보스 92M SOT). 개발팀장 C 구현 착수(EnemyStageChapter/WaveBalance CSV·Stage 클램프 54·55+ 동결). PD 결정: 유한화 PD "원작 동일" 정합·55+ 잠정 동결. **C 완료 시 5층 중 4층 완료**·남은 B3(가챠·PD 정책). 상세 §53~§54. **[C 완료·4층 완료 2026-08-22 GodDem `d7519eb`]** 스테이지 원작 유한 54단계·챕터 난이도 곡선(source-based Stage54 보스 92M)·55+ 동결·신규유저 S3 보존. plan-auditor 통과(6항)·PM push(개발팀장 인증실패). **영구 성장 4층 완료**(레벨·승급/장비/스킬마스터리/스테이지)·**남은 B3(가챠)만·PD 재화/가격/확률 정책 확인 필요**. 상세 §55~§57. **[B3 가챠 재추출 착수 2026-08-22]** PD 가챠 재화 지시 = 원작 로직 동일 이식(3옵션 선택 아님)·힌트 "인게임 뽑기 일반 골드·특정 시점만 유료 재화·제대로 실측". 개발팀장 원작 가챠 재추출 착수(재화 구조·특정 시점 조건·가중추첨·천장·가격). 후속 B3 설계→검증→구현=**5층 완성**. 상세 §58. **[가챠 재추출 완료·B3 설계 착수 2026-08-22]** **PD 힌트 🟢 정합** — 원작 이원결제(1차 소환권·2차 특정시점 젬)·골드 원작 뽑기 미사용→소환권→GodDem 골드 매핑으로 PD "골드 일반·특정시점 유료" 성립·메타 §10 블로커 데이터 해소. 천장 라이브러리 3단(10 소프트·30 하드 q5/q6 100%). balance-designer B3 설계 착수(재화·가챠대상 4종·천장·경제). 상세 §59. **[세션 종결·인수인계 2026-08-22]** PD "컨텍스트 한도·세션 공유·인수인계" → 인수인계서 `공유/조직공지/2026-08-22_세션인수인계.md`(C55 2계층·첫 프롬프트 템플릿). **원작 아키텍처 5층 중 4층 완료**(B1·B2·B4·C 게임 진입)·**B3 가챠만 미완**(재추출 완료·설계 세션종결로 미완·다음 세션 재착수). PD 결정 대기: penetrate/ele 소비처·Stage55+·가챠 IAP. git 인증 간헐(PM push). 상세 §60. **[B3 설계 재착수 2026-08-22 신 세션]** 인수인계 §0 복원(PM 실측: 인수인계서·재추출 원본 v1·본 로그·C30 `4299bf4`)·balance-designer B3 설계 재위임 — 재추출 §7 인계(소환권→골드 1차·젬 2차 대체·일일 무료 계승·가중추첨 합10000·가챠 결과물=GachaOption 4종 hit/stun/retaliate/combo·B4 창구 분리·젬 IAP는 PD 확인 대기 표기)+PM 보강 조건(기존 4층 골드 경제 정합 분석 의무)·BT 커밋 금지(산출 문서만). 천장 = PM 1차 선택 히어로 표준 소프트10/하드30(drawtype 102 libid 실측 확정치) — **기각안: 열쇠형 4/40**(재추출 §7-2 2지 중 후순위. GodDem 가챠 결과물=장비/옵션 성격상 재평가 여지 있어 balance-designer 판단 교체 허용 명기). 산출 `2026-08-22_P3B3_가챠_설계_v1.md`. pm-auditor 사전 감사 **조건부 통과**(S1 매니페스트 등록·M1 P3-C 산출물 stale·M2 사후조치 컬럼 stale·M3 천장 기각안 소멸 → 본 갱신에서 동시 정정). 후속 plan-auditor 검증→개발팀장 구현→PM push=**5층 완성**. 상세 §61. **[B3 완료·영구 성장 5층 완성 2026-08-23 GodDem `4a8fe30`]** 설계 3사이클(v1 차단 C3·M7·m5·I3 → v2 차단·신규 N-1·N-3=PD 결정 영역 → v3 확정판 조건부 통과·구현 인계 적격·병행 문서 정정 7건) · **PD 확정 2건**(불리 사실 고지 후 택일): N-1 옵션 4종 원작 raw값 유지(승산항 +1.08=기존 예산 0.64의 1.7배·골드효율 36.6배 고지·재계수화 기각) / N-3 가챠 접근 게이트 HeroLevel≥3(원작 hero_sys_unlock_level=3 포팅·젬가 하한·시작 젬 조정 기각) · **천장 최종 = 열쇠형 4/40 채택 — 본 행 재착수 시점 기재의 역전**(balance-designer 판단 교체·plan-auditor "feedback 항목5 모범 준수" 판정. **기각안 = 히어로 표준 10/30**〔PM 1차 선택이었으나 GodDem 가챠 결과물=장비라 원작 데이터 대응상 열쇠형이 정확〕) · V3-1 게이트 실효 실측(접근 1런 지연·통과 후 P(G5+) 73.9% 불변·가챠有 FinalAttack=전층만렙〔2,093,232G〕의 99.3~101.8%) **PD 고지 완료** · 개발팀장 구현(신규 5+수정 7·**Roslyn 실컴파일 에러 0**·**몬테카를로 2만 계정 설계치 정확 재현**〔17.15회/74.9회/8.90%/+1.0802〕·§11 시나리오 16건·회귀 없음 22/400·B2 9종·C6 백업 7종 `공유/개발팀_백업/GodDem/*.bak_20260823_0048` **PM 실존 확인**〔pm-auditor M-2 탐색 범위 누락 false negative 정정〕) · 구현 신규 발견 2건(장비 인벤토리 9칸→15종 프레임 부족·런타임 격자 복제 해소 / 능력치 패널 승산항 분해 표기 B4 시점부터 불일치·정정)·구현 판단 5건(Owned 재사용·옵션 변환 로더 단일화·비용 코드상수=§10-4 위임·비복원 불변식·가챠 패널 앵커) · **PM push 1차 성공**(`d7519eb..4a8fe30`) · pm-auditor 완결 감사 조건부(B-2 천장 기각안 역전·M-1 대기 8건 재구성·M-3 `.live/` 채널 부재 조직 생존급 — 본 갱신 반영). 상세 대화로그 2026-08-22 §61~§64 · 2026-08-23 §65~§73. **[P3-B3-2 완료 2026-08-23 GodDem `7fe15ff`+`bfe738a`]** PD 직접 지시 5건 수령·전건 처리 완료(① 젬팩 IAP **보류** ② 기절 구현 ③ 합성 구현〔탕탕특공대 레퍼런스〕 ④⑤ 원작 이탈·penetrate/ele·Stage55+ 설명 보고 **발신 완료**) · 설계 2사이클(v1 차단 Critical3〔7종 도달 불가·플로어 역전·컴파일 불가〕 → v2 비대칭 사다리 신규 11종·재검증 조건부 통과·17행 플로어 배수 전량 검산) · **핵심 기각안**: (다) 슬롯별 사다리 비대칭 채택 — 기각 (가) 가챠 풀 편입〔v3 §6-1 재감사 스코프 초과〕·(나) 배출 등급 통일〔기구현·PD 확정 6종 변경 = C36 소지〕·Ring은 합성 제외 기본안(PD 확인) · 구현 `7fe15ff`(10파일·Roslyn 에러 0·회귀 무결) → 사후 감사 Major-A(`IsGachaItem` 술어 분열 — 합성 전용 11종 미보유 안내가 "뽑기에서 획득" 거짓 표기) → **술어 2분 근본 해결 `bfe738a`**(`IsGachaPoolItem` 신설·전 호출부 12곳 판정표·획득처 3분기 완전분할 어서션〔뽑기6·합성11·상점9〕·Captures/ gitignore) · **가챠 옵션 4종 전량 소비처 확보**(stun 배선 완결 = 가챠 v3 §13-3 해소) · 구현 신규 발견 2건(수집 카운터 6/17 선제 해소·StunChance 합성 완주 포화 1.20 관찰 → 설계 v2 §1-9-A 기재·후속 튜닝 관찰 분류) · C6 백업 실존·파일명 표준 위반(.cs 원본 확장자 탈락) 자진 등재·후속분부터 표준 적용 · GodDem push 완료(`4a8fe30..bfe738a` origin 반영) · **`.live/` P25 채널 복원**(pm-auditor 조직 생존급 2회 지적 해소 — plain 디렉토리·C34 junction 비사용·README 주입 제외 확인). 상세 대화로그 2026-08-23 §74~§84. **[PD 지시 3건 수령 2026-08-24 · P19 소급 등재]** PD 원문 요지 — ①"UI 개편 후 이전에 구현했던 시스템이 안보여 (혹시 네가 없앤거야?)" ②"이전에 구현되었던 기능들을 다시 볼 수 있도록 **메인 메뉴 하단에 배치**해줘. (내가 UI 레이아웃 설계해서 어떻게 바꿀지 알려줄게)" ③"게임을 시작하면 전투 화면이 아니라 **로비 화면부터 시작**하도록 수정해줘". **①답변 = 삭제 0건**(전 시스템 코드 생존·배선 실재 실측). **PM 오진 1건 발생·정정**(빌드세팅 미등재 단정 → `head -20` 절단 오류·개발팀장 반증·`feedback_truncated_output_false_diagnosis` 신설). **진짜 원인 = 에디터가 열어둔 씬에서 Play 시작**(`LastSceneManagerSetup`) → BaseLoading 초기화 경유 누락. **③완료** GodDem `1e07b06`(PlayModeStartSceneBootstrap·playModeStartScene=BaseLoading 고정·토글 메뉴)+`f054519`(주석 사실 정정). **②대기** — PD 레이아웃 수령 후 1회 집행(가용 슬롯 `Button_02`·`Button_05`·현행 01 상점/03 홈/04 영웅). 지연 감사 판정 반영 완료(작업2 스코프 추인·TableManager 실측 반증·주석 정정·본 등재). 상세 대화로그 2026-08-24 §104~§106. **[2026-08-25 로비 임시 진입 버튼]** PD 직접 지시 "어차피 지금은 임시니까 로비 화면에 임시 버튼을 만들면 되잖아" (C1 지시=승인). 배경 = 기구현 시스템 삭제 0건·**접근 경로만** 차단(성장 B1·장비강화 B2·스킬마스터리 B4 = 영웅 패널 내부 / 뽑기 B3·합성 B3-2 = HeroLevel>=3 게이트 잠금, 세이브 실측 HeroLevel 0). 조치 = 로비 좌측 세로 7버튼 임시 패널 신설(`SurvivalLobbyController.TempNav.cs` 신규 partial · 기존 파일 수정은 `Start()` 호출 1줄). 뽑기·합성은 **열기 게이트만** 우회(`ShowGachaTab`/`ShowForgeTab` 직접 호출) · 실행 게이트 `IsGachaUnlocked()` 잔존 · 정식 `Button_Gacha` 게이트 불변. **C2 proxy 명시** — 근본 해결은 PD 정식 로비 레이아웃 수령 후 하단 메뉴 정식 배선. 철거 2곳 = 본 파일+.meta 삭제 + `Start()` 1줄 삭제(`TempNavEnabled=false` 로 임시 off 가능). **[완료 2026-08-25 GodDem `5403caa`]** Roslyn 실컴파일 에러 0 · 신규 경고 0(기존 6건 유지) · **런타임 미검증**(PD 플레이테스트 중 Play 제어 금지). 상세 대화로그 2026-08-24 §108. | **진행중** | ①레포 검토 완료·`공유/대화로그/GodDem/2026-08-19.md` ②`.claude/settings.json` dontAsk+allow 확장 (커밋 `7366860`·`c4a5dfd`) ③설계도 `공유/기획/GodDem/2026-08-19_인게임_중앙디펜스_전환_설계_v1.md` (커밋 `4346d4d`) ④⑤**복호화 성공** — 22바이트 반복 XOR·`libil2cpp.so` 리버싱 불필요. 원작 밸런스 237테이블 복호화 ⑥**CSV 230종/22,261행** 변환·PD 전달. 종합 매핑 SOT `공유/기획/GodDem/2026-08-20_원작밸런스_해독_매핑_v1.md`. **P1 청사진** `공유/기획/GodDem/2026-08-22_원작아키텍처_이식청사진_v1.md`(`b5d95cc`, 산출물 경로 누락분 소급 추가·pm-auditor 지적). **P2 메타 재설계** `공유/기획/GodDem/2026-08-22_메타아키텍처_재설계_v1.md`(system-designer, plan-auditor 검증 완료). **P3-B1** `공유/기획/GodDem/2026-08-22_P3B1_레벨승급_설계_v1.md`(GodDem `a3f62ab`). **P3-B2** `공유/기획/GodDem/2026-08-22_P3B2_장비강화_설계_v2.md`(v1 병존, GodDem `bc07573`). **P3-B4** `공유/기획/GodDem/2026-08-22_P3B4_스킬마스터리_설계_v1.md`(GodDem `54aea99`). **P3-C** `공유/기획/GodDem/2026-08-22_P3C_스테이지_설계_v2.md`(v1 병존, GodDem `d7519eb` 구현 완료). **재추출 원본 4종** `공유/기획/GodDem/2026-08-22_원작{배율,장비,스테이지,가챠}_재추출_원본_v1.md`. **세션 인수인계서** `공유/조직공지/2026-08-22_세션인수인계.md`. **P3-B3** `공유/기획/GodDem/2026-08-22_P3B3_가챠_설계_v3.md`(v1·v2 병존·대체 배너, GodDem `4a8fe30`; 감사 3종 `2026-08-22_P3B3_가챠_설계_{v1,v2,v3}_감사결과.md`). **P3-B3-2** `공유/기획/GodDem/2026-08-23_P3B3-2_스턴_합성_설계_v2.md`(v1 병존·대체 배너, GodDem `7fe15ff`+`bfe738a`; 감사 전재 `2026-08-23_P3B3-2_스턴_합성_설계_v1_감사결과.md` — v2 재검증분은 전재 없음·대화로그 §77-B 요약). **[2026-08-25 임시 진입 버튼]** `Assets/Script/Survival/SurvivalLobbyController.TempNav.cs` (신규·GodDem 레포) · 동 `.meta` · `Assets/Script/Survival/SurvivalLobbyController.cs` (`Start()` 1줄) — GodDem `5403caa` **로컬 커밋까지 · push 미실행 = PM 소관**. 백업 `공유/개발팀_백업/GodDem/SurvivalLobbyController.bak_20260825_0123.cs`. | — | **PD 결정 대기**: (1) 복호화 XOR 키의 조직 기록 보존 가부 (타사 기술적 보호조치 우회 수단 — PM 재량 밖, C36-2 보수 선택으로 문서에서 마스킹·빈도분석 재현 가능 상태 유지) (2) penetrate/ele 3종 소비처 없음(B4) — 적 방어/속성 시스템 부재로 공격% 잠정 배선·원작 의미 복원은 시스템 신설(큰 작업)·PD 밸런싱 확인 영역 (3) Stage55+ 처리(C) — 잠정 ①동결·PD 추후(②최고반복/③엔딩) (4) **가챠 5건 잔여**(SOT = v3 §13 원 8건 중 — 해소 2건: ③stun 배선 `7fe15ff` 완결·④forging 활성화 `7fe15ff` 구현 완결〔단 확정형/확률형 판정은 (5)로 승계〕 · 보류 1건: ①젬팩 IAP 실화폐 가격 — **PD 2026-08-23 보류**·재개 트리거 = PD 과금 착수 결정 시): ②천장 열쇠형 4/40 채택 확인(PM 권고 대비 designer 판단 교체 — 원작 이탈 아님) ⑤~⑧**원작 이탈 4건**: Pool1 티어 구성 3.8배 관대화·10연 상품 계열 교차(열쇠형 라인에 원작 10연 부재)·10연 천장 적용(원작 212는 확률 고정형)·젬 단가 재도출(20→13, ÷32 환산) (5) **P3-B3-2 신규 확인** — 〔PD 판정 필요 3건〕보스 기절 처리(잠정 30% 축소 vs 완전 면역·상수 1개 전환 가능)·합성 확정형(Survivor.io·잠정 채택) vs 확률형(원작 Wild Survival — 레퍼런스 상충 유일 지점)·Ring 합성 포함 여부(기본안 = 제외〔가챠가 이미 최고등급 배출〕) 〔플레이테스트 후 재판단 4건〕기절 지속 1.0초·면역 2.0초(원작 근거 없는 제안치)·합성 골드 3단(26,700/80,000/320,000)·합성 UI 배치(가챠 탭)·StunChance 포화(합성 완주 1.20·시간 상한 지배로 지속률 33.3% 고정 — 설계 v2 §1-9-A) **다음 단계**: PD 플레이 검증(Unity 기동 시 신규 .meta 임포트 → 로비 영웅레벨3 달성 → 가챠 해금·뽑기·장착·강화 가드 확인) → 전체 플레이테스트(챕터2~9 곡선·아웃게임 결합·R-J/R-M2)·PD 밸런싱 확인 → 완료 아카이브. **별건 백로그**: 기존 성장 패널 3종(B1·B2·B4) UI 좌표 어긋남(§71 실측·범위 밖 보존)·v3 §9 코드조각 raw저장 표기 잔존(구현은 로더 변환 채택·설계 문서 내부 불일치 1건)·가챠·합성 장비 전용 아이콘(content-designer)·git 인증 간헐 진단·**GodDem 워킹트리 asset churn 6건**(ONEMobilePOP_TMP -4145행·GUIPro 폰트 3종·DOTweenSettings·PanelSettings — PD Unity 산출 추정·조직 무접촉 보존·PD 보고 완료 2026-08-23 응답 대기). (구 백로그 `.live/` 부재·Captures/ gitignore는 2026-08-23 해소 — 복원·`bfe738a` 등재) **블로커**: git 인증 간헐 — 서브에이전트 push 반복 실패·PM 세션 1차 실패 2회/재시도 성공(본 세션 누적)·팀원 커밋분 PM push 운용·별건 진단 미완. **저작권 방침**: 원작 수치는 참고, 아트·텍스트 리소스 사용 불가. 추출물 레포 미커밋(git 실측 확인). | +| BT13-GodDem | 2026-08-19~20 | **GodDem 프로젝트 개시 + 인게임 「황야의 생존자」형 전환** — PD 직접 지시 6건 연속. ①(2026-08-19) "이 세션은 우리 조직의 새로운 프로젝트인 GodDem 프로젝트 개발을 위한 세션이야. 현재 프로젝트 레포는 'E:\NerdNavis\GodDem' 이므로 코드 및 프로젝트를 제대로 검토해보고 개발할 준비가 되면 보고해." ②"앞으로는 도구 사용을 묻지 않도록 자동으로 도구 승인처리해" (+ ToolSearch·MCP 리소스 도구·`.claude/**` 편집 영구 허용 반복 지시) ③"인게임을 유튜브(https://youtu.be/cBVc0OwUX6U 황야의 생존자) 영상과 같은 형태로 변경. 더미 리소스(기존 자산)로 기본 시스템 동일 설계·인게임 씬 배치. **아웃게임 유지, 인게임 씬만 변경**" + 전투 명세 4항(플레이어 중앙 고정 자동공격 / 매판 리셋 로그라이크 스텟 강화 / 10웨이브 보스·스테이지 클리어 / **신규: 경험치→레벨업마다 특수 스킬 3종 택1**) ④"원작 APK 디컴파일해서 게임 로직·데이터 분석. 능력치·성장 수치·강화 비용 등 밸런스 데이터를 그대로 활용하고 싶다" ⑤"FABLE5로 원작 복호화 리버싱을 먼저 시도해봐. 안되면 자체 수치로 설계할게" ⑥"csv 형태로 제작해줘" / "워크플로우 설계할 때 ponytail 스킬을 써줘". **C13 위반 자진 보고** — 본 6건이 대화로그에만 기록되고 본 트래킹 로그에 미등록 상태였음(pm-auditor 감사 Critical 적발). 소급 등록. **[2026-08-21 인게임·메타·밸런스 일괄 집행]** PD "전부 진행해" 승인 — 1차 인게임 완결(A10 분신 10종 정합·일시정지·적 HP바, `77bd835`·`ee9ec11`) + 3차 상점·Hero 메타 결선(SurvivalMeta 분리 신설, `57a8fcf`) + 4차 결함 해소(penetrate_ratio 함정·A13 사거리·waveInStage 산식·이중 SOT, `7728a41`) + 5차 S3 v2 밸런스 확정 반영(42/1/14/+3, plan-auditor 재검증 통과, `d5dea4d`). 상세: 공유/대화로그/GodDem/2026-08-21.md §3~§12. **[2026-08-22 밸런스 원작이탈 지적·2층 재구현]** PD 플레이 실측 지적 — 공격력이 원작 2층(정액 hero_level power + 배율 attack_add) 중 배율만·축소, 정액 트랙 누락 / 몬스터 원작 소스 부재. 근본 = 본 로그 사후조치 (2) "스케일 재조정 방침"을 PD 재확인 없이 진행한 C36 위반이 플레이로 표면화. PD "이 방향으로 재구현해" 승인 → 공격력 원작 2층 복원 착수 (C49: balance-designer 재설계 → plan-auditor 검증 → 개발팀장 구현). memory `feedback_pd_directive_altered_to_rescale` 신설. **[완료 2026-08-22 GodDem `26ff655`]** 공격력 원작 2층 복원 완결 — APK 재추출로 배율(0.05~0.30)=원작 attack_add prefix-10 원본 확정(이탈 아님)·정액 트랙 `attack`(30~600) 신설로 2층 복원·C49 이중검증(balance v2→plan-auditor 통과)·플레이테스트 2층 산술 정확 재현(22~1691). PD 지적 (a)(b) "정액 누락" 단일원인 해소. 부수 강화테이블 전수 원작 정합 확인. **잔여 = R-M2(정액 몰빵 스테이지1 보스 3.5배 오버킬) 조정 방향 PD/balance 판단 1건**. 상세 대화로그 §15~§20. **[2026-08-22 원작 아키텍처 전면 이식 착수·대규모]** PD 지적 2건("총 스테이지 구성 원작 동일"·"능력치가 원작보다 훨씬 적음·원작은 아웃게임 확장") → PD 결정 "원작 데이터 아키텍처 전면 이식이 맞아"+"이대로 진행". 실측 gap 3축(능력치 24 vs 13·아웃게임 5층 vs 1층·스테이지 6구간 vs 무한). 근본=초기 MVP 전환 원작 축소(feedback_pd_directive_altered_to_rescale 연장). P32 분할: 1단계 balance-designer 이식청사진 → 2단계 system-designer 메타재설계 → 3단계 축별 구현. 상세 대화로그 §21. **[P1 완료·P2 착수 2026-08-22]** 청사진 v1 완료(`b5d95cc`, 능력치 24종/PvE 18·아웃게임 5층·스테이지=원작 teamwavepassreward 54단계뿐/StageBalance는 GodDem 자산 정정·재사용3/확장3). PD 결정: 가챠 원작대로 도입(과금 신설)·현 세션 P2 계속. P2 system-designer 메타 아키텍처 재설계 착수(5층·능력치18 배치·인게임/아웃게임 경계 재정의). 상세 §22~§23. **[P2 완료 2026-08-22]** 메타 아키텍처 재설계 v1 완료 — 5층 확정(①영웅레벨·②승급·③장비강화·④가챠·⑤스킬마스터리, 인게임 "런레벨"과 명칭 분리) + 능력치 18종 배치(청사진 §2-3 "미보유 5종" 정정: `stun_rate` 누락 확인·실제 6종) + ★결합 지점 정정(초안 "1곳"→plan-auditor 감사로 4개 호출부 확인, `SurvivalLobbyController.Hero.cs` 2곳 누락분 포함, `FinalAttack()`/`FinalHp()` 단일 캡슐화 메서드로 3중 SOT 재발 방지 설계) + 재사용/확장 판정(SurvivalMeta 확장·Upgrade/Skill 불변·ItemCatalog 확장·**ShopCatalog는 "구조 확장 필요"로 정정**, 확률 지급물 미지원 확인) + 신규 클래스 4·CSV 7종 골격 + P3 4서브페이즈 분할(B1레벨승급→B2장비→B4스킬→B3가챠). plan-auditor 모드A 감사 1회 수행(조건부통과, Critical 2·Major 6·Minor 4 — 전부 반영 후 확정). **PD 확인 대기 2건**: ①가챠 소비재화(골드 vs 젬, 원작 근거 부재 🔴) ②가챠 가격·확률 실값. **[P3-A 착수 2026-08-22]** PD 방향 확정 "설계대로 진행"(인게임 매판 리셋 + 아웃게임 영구성장이 매판 시작 베이스 = 영구성장 RPG, P2 경계재정의 그대로). P3-A 능력치 정리 착수(penetrate_ratio 이관·ele 2종 층확정·18종 체계). 후속 B1→B2→B4→B3(가챠)+C(스테이지 병렬). 상세 §25. **[P3-A 완료·B1 착수 2026-08-22]** P3-A GodDem `8684211`(penetrate ⑤이관·ele ⑤확정·StatCatalog SOT·plan-auditor 조건부통과). **★부수 성과**: 직전 공격력 2층의 attack 정액 트랙이 상점 미노출(소비O·상점X)로 플레이어 미도달이던 결함 발견·수정 — Play 실측 22→52 도달 회복(memory `feedback_shop_exposure_filter_source_both` 신설). P3-B1(레벨+승급) balance-designer 설계 착수 + 메타문서 ele④→⑤ 갱신. 상세 §26~§28. **[B1 설계완료·구현착수 2026-08-22]** balance-designer B1 설계(레벨1~60·승급0~11·매판 베이스 결합·plan-auditor 조건부통과). **★근본 발견**: 인게임 골드→아웃게임 전환 브릿지 부재(CurrencyManager.Add 0건)=영구성장 전제 미구현. **PD 결정**: "원작처럼 맞춰 전체 밸런싱 동일성 확인 후 추후 변경" → 유한캡(60/11) 원작 정합 확정·원작 충실 1차. 개발팀장 B1 구현 착수(전환 브릿지 최우선). 상세 §29~§31. **[B1 완료 2026-08-22 GodDem `a3f62ab`]** 영구 성장 첫 층 게임 진입 — 인게임 골드→아웃게임 영구재화 전환 브릿지 신설(크로스세션 영속 확증)·영웅레벨 1~60·승급 star0~11·매판 시작 베이스 결합(신규 22/400 불변)·defense 분리클램프. plan-auditor 통과(Minor1 NRE 3중 방어 동봉)·메타문서 유한캡 정정. 남은 B2(장비)→B4(스킬)→B3(가챠)+C(스테이지). 상세 §32~§34. **[B2 착수 2026-08-22]** PD "현 세션 B2 계속" + 지적 "세션 이동 되묻지 마"(feedback_session_transition_repeated_prompting 신설·세션 이동 재제안 중단). balance-designer 장비강화 Layer③ 설계 착수(heroequipment 정합·M수열 재추출). 상세 §35. **[B2 v1 완료·재추출 착수 2026-08-22]** B2 설계 v1(2축 레벨/등급·plan-auditor 조건부통과·Critical2 융합버그 재설계). **원작 M수열 재추출 미해소·역산** → PD "원작처럼 맞춰" 정합 위해 개발팀장 heroequipment 재추출 착수(공격력 재추출 선례·되묻지 않고 진행). 후속 B2 v2 재산정→검증→구현. 상세 §36~§37. **[재추출 완료·(A) 노선 확정 2026-08-22]** heroequipment 재추출 완료 — 매핑 §2-3 전부 정확(M수열 [1..200] 16단·등급 ×1/5/10/20/40/80·비용 Base+V·forging 전이 q2→6 정정). **(A) 형태 이식 확정**(구조 원작·스케일 재산정, 원작 M×200 절대이식은 게임 붕괴로 (B) 기각·B1/공격력/배율 일관). balance-designer B2 v2 착수(forging 정정·근거 격상). 상세 §38. **[B2 v2 통과·구현착수 2026-08-22]** B2 v2 plan-auditor 통과(신규결함0·재추출 형태정합·forging q2→6·무변경 승계·Improvement1 비차단=장비 진입시점 플레이테스트 튜닝). 개발팀장 B2 구현 착수(EquipLevel Version3·SecondaryStatKey·TryFuse 차단+환급·CSV룩업·강화 UI). 상세 §39~§41. **[B2 완료 2026-08-22 GodDem `bc07573`]** 영구 성장 둘째 층(장비 강화) 게임 진입 — 장비 레벨별 성장·매판 베이스 결합(신규 22/400 불변)·융합 환급 세탁차단·강화 UI 도달. plan-auditor 통과(7항)·개별 stage 커밋·push 완료. 남은 B4(스킬마스터리)→B3(가챠)+C(스테이지). 상세 §42~§44. **[B4 설계·구현착수 2026-08-22]** B4 스킬마스터리 설계(스킬 해금 드래프트 풀·그랜드파더 10종·마스터리 스탯 3종·데이터 v4·plan-auditor 조건부통과). **★이슈**: penetrate/ele 3종 적 방어·속성 시스템 부재로 소비처 없음(penetrate 사장 계열)→공격% 잠정 배선·PD 밸런싱 확인 영역. 개발팀장 구현 착수(C6 백업). 상세 §45~§46. **[B4 완료 2026-08-22 GodDem `54aea99`]** 영구 성장 셋째 층(스킬 마스터리) 게임 진입 — 액티브 해금 드래프트 풀·마스터리 스탯 3종·데이터 v4. plan-auditor 조건부통과→**C6 백업 Critical은 false negative**(Grep이 gitignore *.bak_* 스킵·백업 실존·개발팀장 정직·PM 자성·feedback 신설). 개발팀장 push 인증실패→PM 재시도 성공. 남은 C(스테이지)·B3(가챠). 상세 §47~§49. **[C 설계완료 2026-08-22]** 스테이지 = 원작 teamwavepassreward 54단계 유한캡(6스테이지×9챕터) 형태이식 — Stage 무한증가 폐기. StageStep(2.1→1.02)·ExpStep(1.2→1.002) 챕터 체감 재설계로 54제곱 폭발(HP 5.72×10¹⁹·경험치 킬1회당 145레벨업) 해소. 런완주 총액 414,018G 확정(B1 R-C2 미확정치 해소). plan-auditor 모드A 조건부통과(Critical4·Major7·Minor7 전량반영 — B2 기여분 +47→+141 정정, 인런 SkillAttackMul 누락 반영해 목표 BossHP 4,247,728→92,318,561 재조정). **★팀장·PD 확인 3건 상신**: ①Stage 유한화 방향 자체(B1 유비적용·PD 스테이지 직접 재확인 없음) ②teamwavepassreward 재추출 미해소 착수 타당성(청사진 "선행조건" 문자명시분 재해석) ③Stage55+ 동결 처리(청사진이 PD 확인영역으로 지목). **구현 착수는 3건 선해소 후**. 상세 §50. **[재추출·원작 유한 확정·C v2 착수 2026-08-22]** teamwavepassreward 재추출로 **원작 유한 설계 확정**(dif55+ 부재·loop 필드 없음·wildernesspk next_id 0 종료)→C v1 유한 캡(54) 원작 정합·PD "총 스테이지 원작 동일" 정합. 확인 3건 중 ②재추출 데이터 해소·①③(유한화 채택·55+ 처리)은 PD 방향 정합으로 진행(되묻지 않음). monsterteam 서버측 확정(HP 창작 유일). balance-designer C v2 재산정 착수(유한 격상·모드 구분·55+ 잠정). 상세 §51~§52. **[C v2 통과·구현착수 2026-08-22]** C v2 plan-auditor 통과(6항·유한 격상·모드 구분·수치 승계·source-based Stage54 보스 92M SOT). 개발팀장 C 구현 착수(EnemyStageChapter/WaveBalance CSV·Stage 클램프 54·55+ 동결). PD 결정: 유한화 PD "원작 동일" 정합·55+ 잠정 동결. **C 완료 시 5층 중 4층 완료**·남은 B3(가챠·PD 정책). 상세 §53~§54. **[C 완료·4층 완료 2026-08-22 GodDem `d7519eb`]** 스테이지 원작 유한 54단계·챕터 난이도 곡선(source-based Stage54 보스 92M)·55+ 동결·신규유저 S3 보존. plan-auditor 통과(6항)·PM push(개발팀장 인증실패). **영구 성장 4층 완료**(레벨·승급/장비/스킬마스터리/스테이지)·**남은 B3(가챠)만·PD 재화/가격/확률 정책 확인 필요**. 상세 §55~§57. **[B3 가챠 재추출 착수 2026-08-22]** PD 가챠 재화 지시 = 원작 로직 동일 이식(3옵션 선택 아님)·힌트 "인게임 뽑기 일반 골드·특정 시점만 유료 재화·제대로 실측". 개발팀장 원작 가챠 재추출 착수(재화 구조·특정 시점 조건·가중추첨·천장·가격). 후속 B3 설계→검증→구현=**5층 완성**. 상세 §58. **[가챠 재추출 완료·B3 설계 착수 2026-08-22]** **PD 힌트 🟢 정합** — 원작 이원결제(1차 소환권·2차 특정시점 젬)·골드 원작 뽑기 미사용→소환권→GodDem 골드 매핑으로 PD "골드 일반·특정시점 유료" 성립·메타 §10 블로커 데이터 해소. 천장 라이브러리 3단(10 소프트·30 하드 q5/q6 100%). balance-designer B3 설계 착수(재화·가챠대상 4종·천장·경제). 상세 §59. **[세션 종결·인수인계 2026-08-22]** PD "컨텍스트 한도·세션 공유·인수인계" → 인수인계서 `공유/조직공지/2026-08-22_세션인수인계.md`(C55 2계층·첫 프롬프트 템플릿). **원작 아키텍처 5층 중 4층 완료**(B1·B2·B4·C 게임 진입)·**B3 가챠만 미완**(재추출 완료·설계 세션종결로 미완·다음 세션 재착수). PD 결정 대기: penetrate/ele 소비처·Stage55+·가챠 IAP. git 인증 간헐(PM push). 상세 §60. **[B3 설계 재착수 2026-08-22 신 세션]** 인수인계 §0 복원(PM 실측: 인수인계서·재추출 원본 v1·본 로그·C30 `4299bf4`)·balance-designer B3 설계 재위임 — 재추출 §7 인계(소환권→골드 1차·젬 2차 대체·일일 무료 계승·가중추첨 합10000·가챠 결과물=GachaOption 4종 hit/stun/retaliate/combo·B4 창구 분리·젬 IAP는 PD 확인 대기 표기)+PM 보강 조건(기존 4층 골드 경제 정합 분석 의무)·BT 커밋 금지(산출 문서만). 천장 = PM 1차 선택 히어로 표준 소프트10/하드30(drawtype 102 libid 실측 확정치) — **기각안: 열쇠형 4/40**(재추출 §7-2 2지 중 후순위. GodDem 가챠 결과물=장비/옵션 성격상 재평가 여지 있어 balance-designer 판단 교체 허용 명기). 산출 `2026-08-22_P3B3_가챠_설계_v1.md`. pm-auditor 사전 감사 **조건부 통과**(S1 매니페스트 등록·M1 P3-C 산출물 stale·M2 사후조치 컬럼 stale·M3 천장 기각안 소멸 → 본 갱신에서 동시 정정). 후속 plan-auditor 검증→개발팀장 구현→PM push=**5층 완성**. 상세 §61. **[B3 완료·영구 성장 5층 완성 2026-08-23 GodDem `4a8fe30`]** 설계 3사이클(v1 차단 C3·M7·m5·I3 → v2 차단·신규 N-1·N-3=PD 결정 영역 → v3 확정판 조건부 통과·구현 인계 적격·병행 문서 정정 7건) · **PD 확정 2건**(불리 사실 고지 후 택일): N-1 옵션 4종 원작 raw값 유지(승산항 +1.08=기존 예산 0.64의 1.7배·골드효율 36.6배 고지·재계수화 기각) / N-3 가챠 접근 게이트 HeroLevel≥3(원작 hero_sys_unlock_level=3 포팅·젬가 하한·시작 젬 조정 기각) · **천장 최종 = 열쇠형 4/40 채택 — 본 행 재착수 시점 기재의 역전**(balance-designer 판단 교체·plan-auditor "feedback 항목5 모범 준수" 판정. **기각안 = 히어로 표준 10/30**〔PM 1차 선택이었으나 GodDem 가챠 결과물=장비라 원작 데이터 대응상 열쇠형이 정확〕) · V3-1 게이트 실효 실측(접근 1런 지연·통과 후 P(G5+) 73.9% 불변·가챠有 FinalAttack=전층만렙〔2,093,232G〕의 99.3~101.8%) **PD 고지 완료** · 개발팀장 구현(신규 5+수정 7·**Roslyn 실컴파일 에러 0**·**몬테카를로 2만 계정 설계치 정확 재현**〔17.15회/74.9회/8.90%/+1.0802〕·§11 시나리오 16건·회귀 없음 22/400·B2 9종·C6 백업 7종 `공유/개발팀_백업/GodDem/*.bak_20260823_0048` **PM 실존 확인**〔pm-auditor M-2 탐색 범위 누락 false negative 정정〕) · 구현 신규 발견 2건(장비 인벤토리 9칸→15종 프레임 부족·런타임 격자 복제 해소 / 능력치 패널 승산항 분해 표기 B4 시점부터 불일치·정정)·구현 판단 5건(Owned 재사용·옵션 변환 로더 단일화·비용 코드상수=§10-4 위임·비복원 불변식·가챠 패널 앵커) · **PM push 1차 성공**(`d7519eb..4a8fe30`) · pm-auditor 완결 감사 조건부(B-2 천장 기각안 역전·M-1 대기 8건 재구성·M-3 `.live/` 채널 부재 조직 생존급 — 본 갱신 반영). 상세 대화로그 2026-08-22 §61~§64 · 2026-08-23 §65~§73. **[P3-B3-2 완료 2026-08-23 GodDem `7fe15ff`+`bfe738a`]** PD 직접 지시 5건 수령·전건 처리 완료(① 젬팩 IAP **보류** ② 기절 구현 ③ 합성 구현〔탕탕특공대 레퍼런스〕 ④⑤ 원작 이탈·penetrate/ele·Stage55+ 설명 보고 **발신 완료**) · 설계 2사이클(v1 차단 Critical3〔7종 도달 불가·플로어 역전·컴파일 불가〕 → v2 비대칭 사다리 신규 11종·재검증 조건부 통과·17행 플로어 배수 전량 검산) · **핵심 기각안**: (다) 슬롯별 사다리 비대칭 채택 — 기각 (가) 가챠 풀 편입〔v3 §6-1 재감사 스코프 초과〕·(나) 배출 등급 통일〔기구현·PD 확정 6종 변경 = C36 소지〕·Ring은 합성 제외 기본안(PD 확인) · 구현 `7fe15ff`(10파일·Roslyn 에러 0·회귀 무결) → 사후 감사 Major-A(`IsGachaItem` 술어 분열 — 합성 전용 11종 미보유 안내가 "뽑기에서 획득" 거짓 표기) → **술어 2분 근본 해결 `bfe738a`**(`IsGachaPoolItem` 신설·전 호출부 12곳 판정표·획득처 3분기 완전분할 어서션〔뽑기6·합성11·상점9〕·Captures/ gitignore) · **가챠 옵션 4종 전량 소비처 확보**(stun 배선 완결 = 가챠 v3 §13-3 해소) · 구현 신규 발견 2건(수집 카운터 6/17 선제 해소·StunChance 합성 완주 포화 1.20 관찰 → 설계 v2 §1-9-A 기재·후속 튜닝 관찰 분류) · C6 백업 실존·파일명 표준 위반(.cs 원본 확장자 탈락) 자진 등재·후속분부터 표준 적용 · GodDem push 완료(`4a8fe30..bfe738a` origin 반영) · **`.live/` P25 채널 복원**(pm-auditor 조직 생존급 2회 지적 해소 — plain 디렉토리·C34 junction 비사용·README 주입 제외 확인). 상세 대화로그 2026-08-23 §74~§84. **[PD 지시 3건 수령 2026-08-24 · P19 소급 등재]** PD 원문 요지 — ①"UI 개편 후 이전에 구현했던 시스템이 안보여 (혹시 네가 없앤거야?)" ②"이전에 구현되었던 기능들을 다시 볼 수 있도록 **메인 메뉴 하단에 배치**해줘. (내가 UI 레이아웃 설계해서 어떻게 바꿀지 알려줄게)" ③"게임을 시작하면 전투 화면이 아니라 **로비 화면부터 시작**하도록 수정해줘". **①답변 = 삭제 0건**(전 시스템 코드 생존·배선 실재 실측). **PM 오진 1건 발생·정정**(빌드세팅 미등재 단정 → `head -20` 절단 오류·개발팀장 반증·`feedback_truncated_output_false_diagnosis` 신설). **진짜 원인 = 에디터가 열어둔 씬에서 Play 시작**(`LastSceneManagerSetup`) → BaseLoading 초기화 경유 누락. **③완료** GodDem `1e07b06`(PlayModeStartSceneBootstrap·playModeStartScene=BaseLoading 고정·토글 메뉴)+`f054519`(주석 사실 정정). **②대기** — PD 레이아웃 수령 후 1회 집행(가용 슬롯 `Button_02`·`Button_05`·현행 01 상점/03 홈/04 영웅). 지연 감사 판정 반영 완료(작업2 스코프 추인·TableManager 실측 반증·주석 정정·본 등재). 상세 대화로그 2026-08-24 §104~§106. **[2026-08-25 로비 임시 진입 버튼]** PD 직접 지시 "어차피 지금은 임시니까 로비 화면에 임시 버튼을 만들면 되잖아" (C1 지시=승인). 배경 = 기구현 시스템 삭제 0건·**접근 경로만** 차단(성장 B1·장비강화 B2·스킬마스터리 B4 = 영웅 패널 내부 / 뽑기 B3·합성 B3-2 = HeroLevel>=3 게이트 잠금, 세이브 실측 HeroLevel 0). 조치 = 로비 좌측 세로 7버튼 임시 패널 신설(`SurvivalLobbyController.TempNav.cs` 신규 partial · 기존 파일 수정은 `Start()` 호출 1줄). 뽑기·합성은 **열기 게이트만** 우회(`ShowGachaTab`/`ShowForgeTab` 직접 호출) · 실행 게이트 `IsGachaUnlocked()` 잔존 · 정식 `Button_Gacha` 게이트 불변. **C2 proxy 명시** — 근본 해결은 PD 정식 로비 레이아웃 수령 후 하단 메뉴 정식 배선. 철거 2곳 = 본 파일+.meta 삭제 + `Start()` 1줄 삭제(`TempNavEnabled=false` 로 임시 off 가능). **[완료 2026-08-25 GodDem `5403caa`]** Roslyn 실컴파일 에러 0 · 신규 경고 0(기존 6건 유지) · **런타임 미검증**(PD 플레이테스트 중 Play 제어 금지). 상세 대화로그 2026-08-24 §108. **[2026-08-25 구 UGUI 아웃게임 접근 경로 복구]** PD 원문 "본 프로젝트 초기에 UI 툴킷에서 UGUI로 바꾼 버전의 기능들 (카드 및 카드 뽑기 기능, 영웅 기능 등등)을 되살리라는 얘기야. 아웃게임 컨텐츠는 재활용하려고 했는데 UI를 바꾸면서 기능조차 다 바뀐거 같아". 대상 = Survival 메타가 아니라 **원 프로젝트 아웃게임**(카드·카드뽑기·영웅). 실측 — 구 UGUI 46파일 전량 잔존(삭제 0건)·`Lobby.unity` `UGUIUIControllers` m_IsActive 0(커밋 `3832961`이 1→0)·모달 15종 전부 결선·씬 직렬화 `_canvas`/`_uiRoot` 둘 다 null(→ 구 캔버스 sortingOrder 0 이 GodDem 100 에 가림)·`OnEnable` 초기화 + `OnDisable` 부재(SetActive 왕복 시 중복 생성). **[완료 2026-08-25 GodDem 로컬 커밋 `af78882`]** 임시 메뉴에 "구 아웃게임" 전환 버튼 + 우상단 복귀 오버레이 신설(씬·프리팹 무접촉·코드 1파일 +336/-7). 화면별 동작 실태표 작성(대화로그 2026-08-25 §110) = PD 재활용 결정 근거. **범위 = 접근 경로 확보 + 실태 관측까지, 기능 재이식 미착수**. pm-auditor 사전 감사 Major 3건(백업 파일명·본 등재 누락·C35-11 오적용) 전건 수용·정정 완료. 잔여 = PD 재활용 대상 확정 후 신 UI 재이식 방향 결정. | **진행중** | ①레포 검토 완료·`공유/대화로그/GodDem/2026-08-19.md` ②`.claude/settings.json` dontAsk+allow 확장 (커밋 `7366860`·`c4a5dfd`) ③설계도 `공유/기획/GodDem/2026-08-19_인게임_중앙디펜스_전환_설계_v1.md` (커밋 `4346d4d`) ④⑤**복호화 성공** — 22바이트 반복 XOR·`libil2cpp.so` 리버싱 불필요. 원작 밸런스 237테이블 복호화 ⑥**CSV 230종/22,261행** 변환·PD 전달. 종합 매핑 SOT `공유/기획/GodDem/2026-08-20_원작밸런스_해독_매핑_v1.md`. **P1 청사진** `공유/기획/GodDem/2026-08-22_원작아키텍처_이식청사진_v1.md`(`b5d95cc`, 산출물 경로 누락분 소급 추가·pm-auditor 지적). **P2 메타 재설계** `공유/기획/GodDem/2026-08-22_메타아키텍처_재설계_v1.md`(system-designer, plan-auditor 검증 완료). **P3-B1** `공유/기획/GodDem/2026-08-22_P3B1_레벨승급_설계_v1.md`(GodDem `a3f62ab`). **P3-B2** `공유/기획/GodDem/2026-08-22_P3B2_장비강화_설계_v2.md`(v1 병존, GodDem `bc07573`). **P3-B4** `공유/기획/GodDem/2026-08-22_P3B4_스킬마스터리_설계_v1.md`(GodDem `54aea99`). **P3-C** `공유/기획/GodDem/2026-08-22_P3C_스테이지_설계_v2.md`(v1 병존, GodDem `d7519eb` 구현 완료). **재추출 원본 4종** `공유/기획/GodDem/2026-08-22_원작{배율,장비,스테이지,가챠}_재추출_원본_v1.md`. **세션 인수인계서** `공유/조직공지/2026-08-22_세션인수인계.md`. **P3-B3** `공유/기획/GodDem/2026-08-22_P3B3_가챠_설계_v3.md`(v1·v2 병존·대체 배너, GodDem `4a8fe30`; 감사 3종 `2026-08-22_P3B3_가챠_설계_{v1,v2,v3}_감사결과.md`). **P3-B3-2** `공유/기획/GodDem/2026-08-23_P3B3-2_스턴_합성_설계_v2.md`(v1 병존·대체 배너, GodDem `7fe15ff`+`bfe738a`; 감사 전재 `2026-08-23_P3B3-2_스턴_합성_설계_v1_감사결과.md` — v2 재검증분은 전재 없음·대화로그 §77-B 요약). **[2026-08-25 임시 진입 버튼]** `Assets/Script/Survival/SurvivalLobbyController.TempNav.cs` (신규·GodDem 레포) · 동 `.meta` · `Assets/Script/Survival/SurvivalLobbyController.cs` (`Start()` 1줄) — GodDem `5403caa` **로컬 커밋까지 · push 미실행 = PM 소관**. 백업 `공유/개발팀_백업/GodDem/SurvivalLobbyController.bak_20260825_0123.cs`. | — | **PD 결정 대기**: (1) 복호화 XOR 키의 조직 기록 보존 가부 (타사 기술적 보호조치 우회 수단 — PM 재량 밖, C36-2 보수 선택으로 문서에서 마스킹·빈도분석 재현 가능 상태 유지) (2) penetrate/ele 3종 소비처 없음(B4) — 적 방어/속성 시스템 부재로 공격% 잠정 배선·원작 의미 복원은 시스템 신설(큰 작업)·PD 밸런싱 확인 영역 (3) Stage55+ 처리(C) — 잠정 ①동결·PD 추후(②최고반복/③엔딩) (4) **가챠 5건 잔여**(SOT = v3 §13 원 8건 중 — 해소 2건: ③stun 배선 `7fe15ff` 완결·④forging 활성화 `7fe15ff` 구현 완결〔단 확정형/확률형 판정은 (5)로 승계〕 · 보류 1건: ①젬팩 IAP 실화폐 가격 — **PD 2026-08-23 보류**·재개 트리거 = PD 과금 착수 결정 시): ②천장 열쇠형 4/40 채택 확인(PM 권고 대비 designer 판단 교체 — 원작 이탈 아님) ⑤~⑧**원작 이탈 4건**: Pool1 티어 구성 3.8배 관대화·10연 상품 계열 교차(열쇠형 라인에 원작 10연 부재)·10연 천장 적용(원작 212는 확률 고정형)·젬 단가 재도출(20→13, ÷32 환산) (5) **P3-B3-2 신규 확인** — 〔PD 판정 필요 3건〕보스 기절 처리(잠정 30% 축소 vs 완전 면역·상수 1개 전환 가능)·합성 확정형(Survivor.io·잠정 채택) vs 확률형(원작 Wild Survival — 레퍼런스 상충 유일 지점)·Ring 합성 포함 여부(기본안 = 제외〔가챠가 이미 최고등급 배출〕) 〔플레이테스트 후 재판단 4건〕기절 지속 1.0초·면역 2.0초(원작 근거 없는 제안치)·합성 골드 3단(26,700/80,000/320,000)·합성 UI 배치(가챠 탭)·StunChance 포화(합성 완주 1.20·시간 상한 지배로 지속률 33.3% 고정 — 설계 v2 §1-9-A) **다음 단계**: PD 플레이 검증(Unity 기동 시 신규 .meta 임포트 → 로비 영웅레벨3 달성 → 가챠 해금·뽑기·장착·강화 가드 확인) → 전체 플레이테스트(챕터2~9 곡선·아웃게임 결합·R-J/R-M2)·PD 밸런싱 확인 → 완료 아카이브. **별건 백로그**: 기존 성장 패널 3종(B1·B2·B4) UI 좌표 어긋남(§71 실측·범위 밖 보존)·v3 §9 코드조각 raw저장 표기 잔존(구현은 로더 변환 채택·설계 문서 내부 불일치 1건)·가챠·합성 장비 전용 아이콘(content-designer)·git 인증 간헐 진단·**GodDem 워킹트리 asset churn 6건**(ONEMobilePOP_TMP -4145행·GUIPro 폰트 3종·DOTweenSettings·PanelSettings — PD Unity 산출 추정·조직 무접촉 보존·PD 보고 완료 2026-08-23 응답 대기). (구 백로그 `.live/` 부재·Captures/ gitignore는 2026-08-23 해소 — 복원·`bfe738a` 등재) **블로커**: git 인증 간헐 — 서브에이전트 push 반복 실패·PM 세션 1차 실패 2회/재시도 성공(본 세션 누적)·팀원 커밋분 PM push 운용·별건 진단 미완. **저작권 방침**: 원작 수치는 참고, 아트·텍스트 리소스 사용 불가. 추출물 레포 미커밋(git 실측 확인). | | BT15-Org | 2026-08-23 | **감사 절차 개정 승인** — PD 직접 결정(AskUserQuestion "개정 승인"). 배경: 서브에이전트 발주 pm-auditor 판정이 **3건 연속 커밋에 후행**(2건 사후 반환·1건 미수령)해 C35-1 #2 "commit 직전 사전 호출"이 구조적 실효 상실 → 본 세션 실운용 방식(설계 계층 감사 통과를 사전 게이트로·하위 감사는 사후 검증)의 성문화. **[성문화 완료 2026-08-24]** pm-auditor 사전 감사 조건부 통과 → 차단 조건 5건 반영(판정 미도착 경로 신설·적용 요건 한정·dev-auditor 확장 제외·명령형→허용형·소급 3단) 후 C37 3중 전파 집행. 부수 성과: C35-1 하위 라벨 복원(2026-05-07 SKILL 분할 시 소실·조직 6개소 참조 미착지 C37-3 선재 결함 해소)·dev-auditor 폐기 C31 참조 C42 정정. 상세 대화로그 `GodDem/2026-08-23.md` §98 · `GodDem/2026-08-24.md` §103. | **완료 2026-08-24** | `.claude/skills/bt-foundation/SKILL.md`(C35-11 신설·C35-1 라벨 복원)·`CLAUDE.md`(요약)·`공유/조직공지/폐기_규칙_아카이브.md`(C37-6 6필드)·`.claude/agents/{pm,plan,dev}-auditor.md` | — | **잔여**: ①dev-auditor 모드A 동등 갈음(PD 문언 외연·별건 상신 대기) ②감사 호출 주체 PM 상향 근본안(미평가 대안·복귀 경로 보존) ③아카이브 파일 순서 혼재·P17 중복 등재(C37-1·5 선재 위반·별건) ④pm-auditor 백업 탐색 경로 1순위 명문화(false negative 3회) ⑤pm-auditor 대화로그 3종 태그 사문화 항목 정비. 완료 아카이브 이동 대상 | | BT12-Dev-Vis | 2026-05-09 | **PlayerSkillInventory 등록 시각화 지시** — PD 직접 발화: "PlayerSkillInventory 등록이 되었는지 어떻게 판단해야하지? 시각적인 변화가 없으니 확인이 불가능해. 유니티 기본 제공 리소스를 활용해도 좋으니 보이게 해줘." **[2026-05-13 후속 세션 신규 3건]** (1) 투사체 사거리 파란 박스 시각화 — `HitboxDebug.SpawnRange` 신규 (`Projectile.Initialize` 끝 호출·3초 유지·`HideFlags.DontSave`). (2) 사정거리·속도 Inspector 직접 조절 — `ActiveSkillData.MaxRange`·`ProjectileSpeed` 신규 필드 (`RangeTier`·`camWidth`·`mults` 계산 폐기·`PiercingProjectile._speed = 2.5f` override 폐기). (3) A04 ExtraHitFxPrefab + FX_Thunder Smoke — `ActiveSkillData.ExtraHitFxPrefab` 신규·`LightningStrikeSpawner.DelayedExtraHitFx` Coroutine (0.6초 후 spawn·y -0.5·비주얼 전용·판정 무관). EerieVillage `ab40b27` push 정합. **[2026-05-13 사고 정정]** 본 PM `git reset --hard origin/main` 영역 PD Inspector 작업 .asset 6 폐기 사고 발생. PD 보고 "스킬 관련 스크립터블 오브젝트가 full 이후 롤백되어버렸어" 수령. `git reflog` 영역 `e2bc95f` 보존 정합·.asset 6 복구·EerieVillage `5b2a032` push 정합. A04 ExtraHitFxPrefab (FX_Thunder Smoke) 영역 PD 후속 Inspector drag&drop 필요. 본 PM 자성 #4 (헌법급) 등재. **[2026-05-13 신규 2건]** (1) 디버그 박스·사거리 박스 시각화 off (재활용 toggle) — `HitboxDebug.ShowDebugVisuals` 플래그 신규·4 위치 `SpriteRenderer.enabled` 정합. (2) 레벨업 카드 풀 5종 한정 — `SkillRuntimeFactory.AvailableCardIds` 화이트리스트 (A02·A13·A04·A05·A_Laser)·미완성 placeholder 5종 (A01·A03·A08·A14·A15) 제외. EerieVillage `d26bd83` push 정합. **잔여**: A04·A05·A_Laser 영역 SkillFireEvent default return 영역 실전 발사 미연결 (카드 풀 한정 영역과 별개·PD 후속 결정 대기). **[2026-05-13 정정·진단]** (1) A05·A_Laser 박스 시각 off 누락 정정 — MeleeAreaSpawner·LaserSpawner 영역 직접 SpriteRenderer 부착 코드 (HitboxDebug 미경유) 영역 `sr.enabled = HitboxDebug.ShowDebugVisuals` 추가. 본 PM 자성 #5 (변경 영향 사전 grep 누락). (2) Player 피격 X 진단 Debug.Log 추가 (회수 의무) — EnemyController.Update L387-396 영역 `[EnemyHit][Intersect]`·`[EnemyHit][Decrement]` 2종. PD Console 측정 결과 영역 근본 fix·Debug.Log revert. EerieVillage `e8779df` push 정합. **[2026-05-13 신규]** 게임 시작 시 기본 파이어볼 A02 자동 습득 — `PlayerSkillInventory.StartingCardIds` (string[]) Inspector 필드·기본 `{ "A02" }`·`Start()` 영역 일괄 `AddSkillByCardId`. EerieVillage `0ad1325` push 정합. **[2026-05-13 신규 2건]** (1) Player 피격 X fix — EnemyController.Update L387-396 영역 `IsGrounded` 조건 폐기 (PD 표현 "닿아도" = ground·공중 무관 피격 의도)·진단 Debug.Log 2종 revert. (2) Enemy HP 30~40 random — `Health.RandomMaxHPRange` (Vector2Int) Inspector 필드 신규·Awake 영역 random·`maxHearts` 자동 산정·Enemy.prefab Inspector `(30, 40)` PD 직접 설정. 본 PM 자성 #6 (PD Console 측정 결과 미수신 영역 가설 fix 시도·feedback_pm_root_diagnosis_priority 약한 위반). EerieVillage `b4847b1` push 정합. **[2026-05-13 재발 정정]** (1) Enemy HP 30~40 자동 fallback — Health.Awake 영역 RandomMaxHPRange 미설정 + EnemyController 검출 → 자동 random. PD Inspector 의존 폐기. (2) Player 피격 distance 기반 강화 + 진단 Debug.Log 재추가 — `VisualBounds.Intersects OR dist < 1.5f` 단일 조건·`[EnemyHit]` 진단·회수 의무. 본 PM 자성 #7 (feedback_pm_root_diagnosis_priority 위반 누적). EerieVillage `2efcd34` push 정합. **[2026-05-13 신규]** Enemy·Player 사망 모션 y -0.5 오프셋 — EnemyDeath·PlayerDeath Execute 영역 Animator death/hurt Trigger 직전 `transform.position.y -= 0.5` 적용·sprite 위로 떠 보이는 현상 정정·collider 영향 X. EerieVillage `18b2125` push 정합. **[2026-05-13 신규]** 스킬 선택 UI 아이콘 fallback — SkillCardSlot.Bind 영역 card.Icon null 시 동적 원 sprite (32×32 알파) + 속성별 색상 (Fire 주황·Frost 하늘·Dark 보라·Lightning 노랑·Physical 흰). _glowEffect 동심원 빛 효과 alpha 0.3. EerieVillage `32ab76f` push 정합. **[2026-05-13 신규 2건]** (1) 사망 모션 y -0.5 → -0.3 (EnemyDeath·PlayerDeath). (2) 게임 시작 시 파이어볼 투사체 정지·잔존 fix — ProjectileSpawner.Trigger 영역 `facing.sqrMagnitude<0.01f` 시 `Vector2.right` fallback. 원인: Player.Facing 영역 (0,0) 영역 → _direction = (0,0) → _speed × 0 = 정지. EerieVillage `56a4a36` push 정합. **[2026-05-13 신규]** 투사체끼리 통과 fix — Projectile.OnTriggerEnter2D 영역 동족 Projectile skip (Wall·Enemy 판정 이전). 원인: fallback GO default Layer 0 영역 → isWall=true → 양쪽 SelfDestruct. EerieVillage `ebd7086` push 정합. **[2026-05-13 신규 4건]** (1) Player 사망 사라지는 현상 fix — PlayerDeath 영역 `Rigidbody2D.simulated=false` (gravity 정지·낙사 차단). (2·3) 제자리 부활·부활 모션·2초 무적 깜박 — PlayerSpawn 영역 `Teleport` 폐기·`health.Resurrect()` 호출 (currentHP=maxHP·invulnerableUntil=2초·Animator resurrect Trigger)·Rigidbody simulated=true 복원·PlayerInvulnerabilityFlash 자동 깜박. (4) FX 잔상 safety cap 5초 — LaserSpawner fx Destroy 누락 추가·LightningStrike·MeleeArea·Projectile.AutoDestroy 영역 `Mathf.Min(lifetime, 5f)` cap. EerieVillage `3a672f0` push 정합. **[2026-05-13 컴파일 에러 fix]** PlayerSpawn.cs CS0246 — using UnityEngine 누락·첫 줄 추가. 본 PM 자성 #8 (신규 type 사용 시 namespace using 사전 검증 누락). EerieVillage `c052d78` push 정합. **[2026-05-13 신규 3건]** (1) Player 죽는 모션 X fix — Player.controller parameter "hurt" 부재 측정·`SetTrigger("hit")`·`updateMode=UnscaledTime`. (2) 부활 모션 중 움직임 fix — PlayerSpawn simulated 복원 폐기·EnablePlayerInput 영역 이전. (3) 투사체 잔상 진단 — `[Projectile][SelfDestruct]`·`[Projectile][OnDestroy]` Debug.Log·회수 의무. 본 PM 자성 #9 (Animator parameter 사전 측정 누락). EerieVillage `69a1805` push 정합. **[2026-05-13 NullReferenceException + 잔존 근본 fix]** ProjectileSpawner.Trigger 영역 collider isTrigger=true 활성 시점 vs Initialize 호출 시점 race → OnTriggerEnter2D 영역 `_runtime=null` NullReferenceException → SelfDestruct 미호출 → 영구 잔존. fix: OnTriggerEnter2D 영역 `_runtime/_data == null` defensive return + Update 영역 `_data == null` 시 즉시 SelfDestruct. 본 PM 자성 #10 (race condition 사전 측정 누락). EerieVillage `1437720` push 정합. **[2026-05-13 신규 3건]** (1) 사망 팝업 타이밍 fix — LevelUpManager.HandleLevelUp 영역 Player 사망 상태 시 _pendingLevels 영역 저장·Update 영역 IsAlive 회복 시 표시. (2) Player 사망 y -0.3 추가 (누적 -0.6). (3) 투사체 잔상 강화 + 진단 — Projectile.Update 영역 lifetime+0.5 backup·Initialize·Trigger 영역 진단 Log·회수 의무. EerieVillage `b1931af` push 정합. **[2026-05-13 근본 원인 fix]** 재시작 시 정지 투사체 누적 — Time.timeScale=0 (LevelUp 등) 영역 Time.time·Invoke 정지 영역 영구 잔존. fix: Projectile `_spawnTime = Time.unscaledTime`·Update 영역 unscaledTime lifetime check·Invoke 폐기·CancelInvoke 추가 안전. 본 PM 자성 #11 (timeScale 영향 사전 측정 누락). EerieVillage `705d943` push 정합. **[2026-05-13 진단 Log 회수]** PD "사라졌어" 정합 작동 확인 후 진단 Debug.Log 5종 revert (ProjectileSpawner·Projectile.Initialize·SelfDestruct·OnDestroy·EnemyHit). Projectile.Update lifetime backup·CancelInvoke 안전망 보존. feedback_pm_root_diagnosis_priority 정합. EerieVillage `41fa4e4` push 정합. **[2026-05-13 신규 2건]** (1) MeleeArea 실전 발사 연결 — SkillFireEvent.Execute switch 영역 MeleeArea case·CardId 분기 (A04·A_Laser·기타). (2) FX AutoDestroy unscaledTime — FxAutoDestroyUnscaled MonoBehaviour 신규 (Object.Destroy 영역 timeScale 영향 fix)·전수 변경·WaitForSecondsRealtime. 본 PM 자성 #12 (Unity 표준 API timeScale 영향 사전 측정 누락). EerieVillage `26b0666` push 정합. **[2026-05-13 신규]** A04 번개 충격 적 유무 무관 자동 발동 — LightningStrikeSpawner.Trigger 영역 candidates 0 시 Player 위치 fallback spawn. A05·A_Laser = 이미 Player 위치 기준 발동·정합. EerieVillage `ebedf6d` push 정합. **[2026-05-13 InvalidOperationException Input System fix]** ParticleGroupView (2).cs 영역 삭제 (Scenes 폴더 영역 비정상 .cs·미사용·StandaloneInputModule 동적 부착 코드)·ProjectSettings activeInputHandler 1→2 (Both 모드·호환). 본 PM 자성 #13. EerieVillage `b30976a` push 정합. **[2026-05-13 본 PM 자성 #14 + fix 정정]** PD 직접 자성 지적 — 본 PM 직전 미승인 `.cs` 삭제 영역 정정. PD 재배치 후 ParticleGroupView (2).cs UnityEngine.Input → InputSystem 전환·activeInputHandler 2→1 revert. EerieVillage `b23e00f` push 정합. **[2026-05-13 Phase A]** A12 정화의 빛 신규·A08 저주의 화살 이펙트 적용 — ActiveSkillData.CastFxPrefab 신규·ProjectileSpawner.Trigger 영역 CastFx spawn·SkillRuntimeFactory.AvailableCardIds 7종 확장. **Phase B 대기** (A06 독 늪·A11 정령불 신규 Effector). EerieVillage `5077f5d` push 정합. **[2026-05-13 Phase B]** A06 독 늪·A11 정령불 신규 Effector + 1키·2키 매핑 — PoisonSwampSpawner/Instance/PoisonedEnemyMarker·SpiritFireSpawner/Instance 신규·SkillFireEvent switch PlacementPersistent·Minion case 확장·TestSkillFireOn1to5 Category 분기 추가·A06·A11 .asset 신규·SkillRuntimeFactory 9종. PD Inspector Player.prefab Skill1·Skill2 drag&drop 필요. EerieVillage `f292eb4` push 정합. **[2026-05-13 Phase B FX 재생 fix]** ParticleSystem 명시 `Play(true)` 호출 추가·PoisonSwampInstance 영역 BoxCollider2D·Rigidbody2D 자식 GO 분리 (ParticleSystem root 영향 차단). EerieVillage `b1b476a` push 정합. **[2026-05-13 A11 frame 제어]** FX_Rotating shield Animator frame 제어 — intro 1~88·loop 89~105 반복·outro 106~169 (남은 frame). Animator.Play(STATE_HASH, 0, normalizedTime) 매 frame 호출. EerieVillage `ebd0808` push 정합. **[2026-05-13 A12·A08·전수 FX Play]** 4 Spawner + Projectile 영역 ParticleSystem.Play(true) 명시 호출 전수 적용 (직전 b1b476a 영역 PoisonSwamp·SpiritFire만 적용 영역 영역 영역 보완). EerieVillage `68843a8` push 정합. **[2026-05-13 A08 sprite 방향 fix]** ActiveSkillData.ProjectileAngleOffset (float Range -360~360) 신규·Projectile.Initialize 영역 angle 보정·A08.asset 180 (FX_PinkMagicArrow sprite left→right). EerieVillage `71c3b7d` push 정합. **[2026-05-13 A08 FX 진단]** A08.asset GUID 정합·코드 정합 측정. PD 보고 영역 실측 진단 Debug.Log 추가 (회수 의무). EerieVillage `aa6cef1` push 정합. **[2026-05-13 CS1056 fix]** ProjectileSpawner.cs interpolated string `\"NULL\"` escape 영역 컴파일 에러·ternary 결과 변수 분리 fix. 본 PM 자성 #15 (Edit 후 컴파일 사전 검증 누락). EerieVillage `9879425` push 정합. **[2026-05-13 fileID 잘못된 측정 정정·자성 #16]** PD Inspector 측정 결과 영역 본 PM .asset 영역 fileID 영역 자식 GameObject 영역 매핑 영역. `grep -m 1` 영역 첫 GameObject 영역 = root 영역 영역 X. A08·A06·A12 .asset 영역 fileID 일괄 정정 (FX_PinkMagicArrow_Hit·FX_PinkArrow_Shoot·FX_Venom_Spray·FX_Icelight_Seal). 올바른 측정 = `awk m_Name + m_Father=0 정합`. EerieVillage `b26eb42`·`447ea92` push 정합. **[2026-05-13 CastFx 방향 + 진단 회수]** CastFx Instantiate 영역 facing+ProjectileAngleOffset+FxRotation 적용 (sprite 반대 방향 정정)·진단 Debug.Log 3종 revert. EerieVillage `7ad3319` push 정합. **[2026-05-13 A08 spawn 끝점·grace]** A08.asset OffsetDistance.x=1.5 (캐스팅 끝 spawn)·Projectile.OnTriggerEnter2D 영역 0.1초 grace 추가 (Hit FX Player 위치 회피). EerieVillage `eab215d` push 정합. **[2026-05-13 ScalingMode Hierarchy 전수]** 모든 fx spawn 영역 ParticleSystem.MainModule.scalingMode = Hierarchy 설정 (HitFxScale 정합 적용·7 파일 전수). EerieVillage `6ed6efe` push 정합. **[2026-05-14 자연 fade SelfDestruct]** Projectile.SelfDestruct 영역 즉시 Destroy 영역 → ParticleSystem Stop(emission)·Collider/박스 disable·_speed=0·0.5s 후 Destroy·FADE_START_RATIO 0.85. 발사 영역 영역 영역 trail 자연 연속. EerieVillage `2ee5084` push 정합. **[2026-05-14 A08 캐스팅 제거·적 조준]** A08.asset OffsetDistance.x=0·CastFx=null·TargetEnemyOnFire=1·ActiveSkillData.TargetEnemyOnFire 신규·ProjectileSpawner.Trigger 영역 nearest enemy 방향 발사. 벽·발판 관통 X 영역 = Projectile.Update Layer 0·16 OverlapPoint 영역 정합. EerieVillage `55ee4f3` push 정합. **[2026-05-14 HitFx sortingOrder·적 조준 하단]** 모든 hit fx (Projectile·LightningStrike·MeleeArea·Laser) Renderer.sortingOrder += 100 (Enemy 영역 위)·ProjectileSpawner TargetEnemyOnFire 영역 toEnemy.y -= 0.5 (hitbox 영역 영역 영역 적중). EerieVillage `eb33e64` push 정합. **[2026-05-14 적 조준 중간 보정]** toEnemy.y -= 0.5 → 0.25 (이전·1차 중간·너무 하단 정정). EerieVillage `b52c99d` push 정합. | **진행중** | 신규 `Assets/Scripts/MyUI/SkillInventoryHUD.cs` (OnGUI 좌상단·장착 액티브 DisplayName·Lv·CooldownRemaining/EffectiveCooldown·패시브 카운트). PlayerController.Awake 자동 부착. 보강: ProjectileSpawner fallback prefab에 SpriteRenderer + 동적 흰색 원 sprite + 속성별 색상 (Fire 주황·Frost 하늘·Dark 보라·Lightning 노랑·Physical 흰). Unity 기본 자원 활용 — Texture2D 동적 생성 16×16 알파 원. **[이펙트 개선 완료 2026-05-13]** (PD 지시 "이펙트 개선작업은 완료처리"). 본 세션 (`cranky-wescoff-e855b0`) 누적: (1) 5 스킬 통합 + 1~5 키 발사 시스템 — A02·A04·A05·A_Laser·A13 (EerieVillage `2ebf313`). (2) Inspector 즉시 반영 필드 확장 — HitboxSize·OffsetDistance(Vector2)·OffsetXY·FxRotation·HitFxScale·DamageFrameDelay·EnableRepeatDamage·MaxHitCount·RepeatFrameInterval. (3) hit 모션 + flash 연출 (붉은색·alpha 50%·1 frame) — Animator self-loop transition + Health.DecrementBypassInvulnWithHit. (4) Scene 잔존 박스·FX 6개 cleanup + HideFlags.DontSave 8 spawn 지점 (EerieVillage `60e28e3`) — Edit Mode execute_code 측정 시 Scene 오염 방지 표준 확립. (5) FxRotation 박스 미적용 분리 (EerieVillage `ea7d32f`) — 박스(판정) = facing 만 · 이펙트(시각) = facing + FxRotation. 4 case 검증 (facing R/L × FxRotation 0/90 박스 무반응·facing 좌/우 정확 반전). (6) A05 좌우 베기 이펙트 Player 동조 (EerieVillage `f6c6eb5`) — MeleeAreaSpawner.SetParent(true) 추가·Player 전진 시 이펙트 밀림 정정 (Δ+2.0 동조 측정). 양 레포 push 정합. | — | **이펙트 개선 영역 = 완료 처리.** HUD·Icon UI·Layer Lab 카드 정합 등 잔여 사항은 PD 후속 결정 대기. 인수인계서: `공유/조직공지/2026-05-13_BT12-Dev_세션종결인수인계.md`. **[이펙트 작업 완성 확정 2026-05-14]** (PD 발화 "스킬 이펙트 작업은 완성이야. 임의로 투사체 판정 범위나 크기 등이 바뀌지 않도록 지금 상태를 잘 기록해"). 본 PM SOT 신설: `프로젝트/EerieVillage/개발/spec/스킬_이펙트_확정_v1.md` — 13 활성 스킬 (A01·A02·A03·A04·A05·A06·A08·A11·A12·A13·A14·A15·A_Laser) 핵심 필드 표 + 박스↔이펙트 분리 원칙 + EerieVillage stamp `1a1de0c`. **변경 금지 원칙**: PD 직접 명시 지시 없이 임의 변경 금지. 변경 시 SOT §4 갱신 + commit + PD 보고 의무. 본 PM·차기 세션 PM 모두 본 SOT 준수. | | BT12-MVP-A | 2026-05-08 | **경험치·레벨업·스킬 카드 선택 UI** — PD 직접 지시 2건 (1) 적 처치 → EXP → 레벨업마다 스킬 카드 3개 선택 기능 (2) 레벨업 UI (스킬 효과 추후·UI만). PD 첨부 예시 영역 ("기술 선택" 화면 — 카드 3장 가로·색상 배너·원형 아이콘·동심원·"레벨 N"/"최대"·"확인" 버튼). PD 결정 (β) 채택 — BT12-Dev 보류 일부 해제·BT12-MVP-A 분리 항목 진행. **PD 결정 D안 (2026-05-09)** — 기능 우선·그래픽 디테일 차후 영역. | **D안 완료 2026-05-09** | [Phase 1 완료] `프로젝트/EerieVillage/개발/spec/BT12-MVP-A_설계_v1.md` (~600 라인). [Phase 2-A 완료] EerieVillage `047661c` — 시스템 코드 6 + JSON 테이블. [Phase 2-B 코드 완료] EerieVillage `5b2b753` — UI 컴포넌트 2 + LevelUpManager 통합. **[Phase 2-B asset 5 완료 2026-05-08]** EerieVillage `755a51c` — `Assets/Data/SkillPlaceholders/{A01_jineonbu, A05_hagikjin, P01_bonghwanggyeok, P12_saengmyeongkkot, AW01_cheonbugyeongmun}.asset` (5) + 각 .meta (5) + folder meta 2 = 12 파일. C49 표준 — Phase 1 dev-team-lead Opus 첫 정합 호출 + Phase 2 Sonnet 위임 + Phase 3 PM 검증. **dev-team-lead 자진 고지** — 설계서 v1 §2-4 영역 P01·P12·AW01 BT11-Plan v0.2 정합 X (3건 정정 적용). **설계서 v1 §2-4 + §7-1 정정 완료** (commit 후속). PD Editor 가이드 신규 `BT12-MVP-A_Phase2B_PDEditor가이드.md`. 대화로그 엔트리 10. | — | **PM 후속 대기**: ① Phase 2-B B (Prefab) + C (Scene 통합) — **PD 직접 발화 (2026-05-08): "단계1은 완료. 단계2, 3은 개발팀에서 작업해줘" + "E"** → 옵션 E 채택 (Claude Desktop Unity MCP 위임) → 본 PM 의뢰서 작성 `BT12-MVP-A_Phase2B_ClaudeDesktop의뢰서.md` (~16K) → PD Claude Desktop 새 세션 영역 의뢰서 첨부 영역 작업 진행 → EerieVillage commit·push → 본 worktree PM 보고 ② Phase 3 dev-team-lead 통합 검증 (Phase 1 + 2-A + 2-B asset + Prefab + Scene + BT5-Dev/BT7-Dev 회귀) ③ **단계 4 PD Play 검증** (적 처치 → EXP → 레벨업 → UI 노출 → 카드 선택 → 게임 재개) ④ 기획팀 별도 안건 — `01_카드_풀.md` line 114 P12 = "도약강화" 잔존 정정 (`02_스킬_효과_컨셉.md` line 381·418 영역 동기화 X) ⑤ icon sprite asset 5장 별도 작업 ⑥ 완료 아카이브 이동. (PD Editor 가이드 영역 = 옵션 D 보류 영역·차기 영역 활용 가능) | diff --git a/공유/대화로그/GodDem/2026-08-25.md b/공유/대화로그/GodDem/2026-08-25.md new file mode 100644 index 0000000..f019c0a --- /dev/null +++ b/공유/대화로그/GodDem/2026-08-25.md @@ -0,0 +1,167 @@ +# GodDem 대화로그 — 2026-08-25 + +> §번호는 프로젝트 누적 연속 (2026-08-24.md §109에서 이어짐) +> +> **파일 분기 주의**: §108·§109 는 집행일이 2026-08-25 이지만 세션 연속성 때문에 `2026-08-24.md` 에 있다(PM 판정 = 08-24 §109). 같은 날짜 엔트리가 두 파일로 갈리므로 08-25 작업 이력을 추적할 때는 두 파일을 함께 볼 것. + +## 110. 구 UGUI 아웃게임(카드·카드뽑기·영웅) 접근 경로 복구 (개발팀장, GodDem 로컬 커밋 `af78882`) + +### PD 원문 (2026-08-25) + +> "본 프로젝트 초기에 UI 툴킷에서 UGUI로 바꾼 버전의 기능들 (카드 및 카드 뽑기 기능, 영웅 기능 등등)을 되살리라는 얘기야. 아웃게임 컨텐츠는 재활용하려고 했는데 UI를 바꾸면서 기능조차 다 바뀐거 같아" + +### PM 하달 범위 + +**"접근 경로 복구 + 동작 실태 보고"까지.** 구 UGUI 화면의 기능 수정·리팩터·Layer Lab UI 재이식은 범위 밖(금지). 씬(.unity)·프리팹 편집 절대 금지(PD 에디터 테스트 중) — 코드 전용. Unity MCP 읽기 전용. GodDem 로컬 커밋까지(push 금지 = PM 영역), BT 커밋 금지. + +### 실측 (개발팀장 독립 검증 — PM 실측 전건 재확인 + 신규 4건) + +PM 제공 실측 5항목은 전부 재확인됐다. 그 위에 **설계를 바꾼 신규 실측 4건**이 나왔다. + +| # | 실측 | 근거 | 설계 영향 | +|---|------|------|----------| +| 1 | 구 UGUI 코드 **46파일 전량 잔존**(삭제 0건) | `ls Assets/Script/UGUI/*.cs \| wc -l` = 46 | 복구 = 재작성 아님 | +| 2 | `Lobby.unity` L747 `UGUIUIControllers` **m_IsActive 0** | 씬 YAML 직접 파싱 | 런타임 SetActive 로 충분 | +| 3 | **★신규** 씬 직렬화 L765-766 `_canvas: {fileID: 0}` · `_uiRoot: {fileID: 0}` = **둘 다 null** | 씬 YAML | `EnsureCanvas()`가 새 캔버스를 **sortingOrder 0**(기본값)으로 생성 → GodDem 캔버스(100, `SurvivalLobbyController.cs:84`)에 가려짐. **SetActive(true) 만으로는 화면에 안 뜬다** | +| 4 | **★신규** `UGUILobbySceneUIController`는 `Awake`/`Start` 아닌 **`OnEnable`에서 `SetupViews()`**, `OnDisable` 미구현 | `UGUILobbySceneUIController.cs:47` | SetActive(false)→(true) 반복 시 **MainDocument 중복 Instantiate + `MainMenuUIEvents` 중복 구독 + `_allViews` 누적**(readonly List·Clear 없음) | +| 5 | **★신규** `MainDocument.prefab`(4.2MB) 내 `safe-area`·`LobbyScreen`·`UpgradeScreen`·`ContentsScreen`·`CardScreen`·`ShopScreen`·`MainMenu`·`Header` **각 1건 실존**, `UGUIStyleTheme.asset` 실존 | 프리팹 YAML `m_Name` 카운트 | 직렬화 참조 유효 = 초기화 성공 가능성 높음 | +| 6 | **★신규** `UGUIView` 생성자는 root null 시 `ArgumentNullException` **throw** | `UGUIView.cs:56` | 노드 1개만 누락돼도 OnEnable 전체 중단 → 예외 포착 장치 필요 | +| 7 | `UGUIModalControllers` **활성**(m_IsActive 1)·`_sortingOrder: 10`·모달 **15종 전부 결선** | 씬 YAML `_modalPrefabs` 전수 | 가챠 결과/확률·영웅 상세/선택/프로필·장비상세·공격상세 모두 프리팹 연결 살아 있음 | +| 8 | 세이브 **완전 분리** — 원작 `save.txt`(`Toolkit.UserData.cs:14`), Survival `survival_meta.json`(`SurvivalMeta.cs:111`) | 소스 | 진행도 상호 오염 없음 | +| 9 | **재화는 공유** — `PlayerManager.GetUserData()`가 `CurrencyManager.Instance.GetSavedData()` 포함, Survival 로비도 동일 `CurrencyManager.Add/Sub` 사용 | `PlayerManager.cs:60`·`SurvivalLobbyController.Gacha.cs:445` 외 | **골드·젬은 양쪽이 같은 지갑** = 유일한 실질 충돌축 | +| 10 | `MainMenuUIEvents`는 UGUI·UITK 스택 전용, `SurvivalLobbyController` **미사용** | grep 전수 | 이벤트 충돌 없음 | + +### 설계 결정과 기각안 (C32) + +**결정 1 — 전환 방식: 최초 1회 `SetActive(true)` + 이후 왕복은 캔버스 `enabled` 토글** + +- 근거: 실측 4. `OnDisable`이 없어 SetActive 왕복은 문서 중복 생성·이벤트 중복 구독을 누적시킨다. 최초 활성만 SetActive 로 하고 그 뒤로는 컨트롤러를 계속 켜 둔 채 캔버스만 껐다 켠다. +- **기각안**: 복귀 시 `UGUIUIControllers.SetActive(false)` → 재진입 시 다시 `true`. **기각 사유** = 재진입마다 MainDocument 4.2MB 프리팹이 한 겹씩 더 쌓이고 메뉴 하이라이트 이벤트가 2중·3중 발화한다(구조적 누수). + +**결정 2 — 숨김은 `canvas.enabled = false` + `GraphicRaycaster.enabled = false` (GameObject `SetActive(false)` 기각)** + +- 근거: `SurvivalLobbyController`는 `_toastRoutine` 코루틴을 돌리고 `_lobby`/`_shop`/`_hero`와 성장·강화·마스터리 패널의 `activeSelf`로 화면 상태를 보유한다. `SetActive(false)`는 하위 전체 `OnDisable` 연쇄 + `Selectable` 상태 리셋 + TMP 재레이아웃을 유발한다. **단순 "안 보이게 하기"의 대가로 과하다.** `canvas.enabled=false`는 렌더만 멈추고 계층 상태를 건드리지 않아 **복귀 시 직전 화면이 그대로 살아 있다**(PM 지시 "복귀 시 상태 보존에 안전한 쪽 판단·근거 기재" 이행). +- 캔버스만 끄면 `GraphicRaycaster`가 남아 **보이지 않는 클릭**을 먹으므로 양쪽 대칭으로 함께 끈다. +- **기각안**: GodDem 캔버스 GameObject SetActive(false). **기각 사유** = 위 상태 파괴. 부수적으로 `Toast`가 GodDem 캔버스 자식이라 어느 방식이든 구 UI 표시 중에는 가려진다 → 복귀 오버레이에 별도 상태 텍스트를 둬 해소. + +**결정 3 — 복귀 버튼은 별도 캔버스(`TempNavLegacyOverlay`, sortingOrder 500), 컨트롤러 자식(GodDem 캔버스 **밖**)** + +- 근거: 복귀 버튼을 GodDem 캔버스 안에 두면 그 캔버스를 끄는 순간 같이 사라져 **돌아올 방법이 없어진다**. sortingOrder 500 은 구 메인(0)·구 모달(10)·GodDem(100) 전부보다 위. + +**결정 4 — 캔버스 포착 실패 시 전환 자체를 취소** + +- 근거: 구 캔버스를 못 잡은 채 GodDem 로비만 끄면 **아무것도 없는 화면에 갇힌다**. `_tnLegacyCanvases.Count == 0`이면 GodDem 로비를 유지하고 Console + Toast 로 사유를 남긴다. + +**결정 5 — 초기화 예외는 `Application.logMessageReceived` 훅으로 원문 회수** + +- 근거: Unity 는 `OnEnable` 내부 예외를 콘솔에만 남기고 `SetActive` 호출부로 전파하지 않는다. `try/catch` 만으로는 실측 6의 `ArgumentNullException`을 놓친다. 활성화 순간에만 훅을 걸어 Error/Exception/Assert 를 **가공 없이 그대로** Console + 오버레이 상태 텍스트에 노출한다. **임의 수정 금지**(복구 범위 판단은 PM·PD 영역) 준수. + +### 산출물 + +- **GodDem 로컬 커밋 `af78882`** (1 파일 · 336 insertions · 7 deletions). **push 미실시 = PM 영역.** BT 레포 커밋 없음 +- 수정 **1파일**: `E:\NerdNavis\GodDem\Assets\Script\Survival\SurvivalLobbyController.TempNav.cs` (**+336 / -7**) + - 진입 버튼 "구 아웃게임"(8번째·전용 색) → `TnEnterLegacyOutgame()` + - 복귀 오버레이 "GodDem 로비로"(우상단 고정) → `TnExitLegacyOutgame()` + - 탐색 `TnResolveLegacyRoot()` — 씬 루트 순회(비활성 포함). `GameObject.Find` 미사용(PM 지시 준수). 폴백 = `Resources.FindObjectsOfTypeAll()` + 씬 소속 필터 + - 캔버스 포착 `TnCollectLegacyCanvases()` — 활성화 전후 씬 루트 **차집합**. 폴백 = `LobbyScreen` 노드 보유 캔버스 역추적(씬에서 `_uiRoot`가 나중에 결선되는 경우 대비). 스냅샷을 `_tnRootsBeforeLegacy` 필드로 보존해 **포착 실패 시 재클릭마다 재시도**(감사 I2) + - C2 헤더 주석 2축 개정(감사 I3) — 축2 = 구 UGUI 기능의 GodDem 신 UI 재이식, 본 버튼은 그 축의 진단용 proxy + - 패널 레이아웃: 버튼 7→8개로 **800→896** 확대. 아래변 720 고정·위로만 96 확장(중심 오프셋 160→208) — 아래로 키우면 `Shadow` 상단 713 침범. 상단 1616 < `BannerFrame03` 하단 1629 → 무충돌 유지 +- 백업 `공유/개발팀_백업/GodDem/SurvivalLobbyController.TempNav.cs.bak_20260825_0200.cs` (C6·감사 M1 정정 후 파일명) +- 컴파일 산출물 `공유/개발팀_백업/GodDem/compile_legacy_outgame_switch.bak_20260825_0200.log` (§93 ⑤ 표준) +- PD 지시 로그 백업 `공유/개발팀_백업/GodDem/개발팀_PD_지시_로그.md.bak_20260825_0200.md` (M2 등재 선행 백업) +- 세 백업 모두 BT `.gitignore` 매칭 확증 — `git check-ignore -v`: `.gitignore:66 *.bak_*` / `.gitignore:78 *.log` (BT 미추적) +- **씬·프리팹 무접촉** — `git status`에 `.unity`·`.prefab` 변경 0건 + +### 구 UGUI 아웃게임 화면별 동작 실태표 (PD 의사결정 근거) + +③ 열림 여부는 **런타임 Play 검증 불가**(PD 에디터 테스트 중·Play 제어 금지)이므로 **전부 소스 근거 기반 판정**이며 실행 확인은 **미검증**이다. + +| 화면 | ① 코드 잔존 | ② 씬/프리팹 참조 | ③ SetActive 후 열림 (미검증·소스 근거) | ④ Survival 메타 충돌 | +|------|-----------|----------------|----------------------------------|-------------------| +| **LobbyScreen** | `UGUILobbyView.cs` 잔존 | 프리팹 노드 1건 | **열릴 전망** — 첫 화면으로 `OpenScreen(_lobbyView)` 고정. `PlayerManager`(스테이지 이동·미션) 의존 | ⚠ **시작 버튼이 `SceneManager.LoadScene("Battle")`**(`UGUILobbyView.cs:83`) — GodDem 전투는 `SurvivalBattle`. 누르면 **구 전투 씬으로 이탈**(Battle.unity 실존·빌드세팅 enabled). 복귀는 구 설정모달 LoadScene("Lobby")로 가능하나 그때 임시 메뉴부터 다시 눌러야 함 | +| **UpgradeScreen** | `UGUIUpgradeView` + `UGUIEnhanceContentView`·`UGUIEvolutionContentView` 잔존 | `content--enhance`·`content--evolution` 노드 | **열릴 전망** — `PlayerManager`·`TableManager` 의존 | 재화 공유(아래 공통). Survival 장비강화(B2)와 **별개 시스템**(세이브 분리) | +| **ContentsScreen** | `UGUIContentsView` 잔존 | `defence_dungeon_card`·`invasion_dungeon_card` 노드 | ⚠ **위험 지점** — `SetVisualElements()`가 `TableManager.Instance.ExtraContents[BattleType.Defense]`를 **널가드 없이 인덱싱**. 테이블 미로드·키 부재 시 **생성자에서 예외 → OnEnable 전체 중단**(다른 화면까지 미생성) | 던전 입장권(`EnterTicketID`) = `CurrencyManager` 재화 | +| **CardScreen** | `UGUICardView` + 탭 4종 | `content--item`·`--skill`·`--rune`·`--hero` 노드 | **열릴 전망** — Item 탭 기본 활성 | **PD 지목 본체.** 아래 탭별 세부 참조 | +| ┗ Item 탭 (**카드뽑기**) | `UGUIItemContentView`·`UGUIItemCard`·`UGUIItemDetailModal` | `gacha_button--1time`·`--10times` 노드 | **열릴 전망** — 뽑기 실행 = `PlayerManager.GachaController.GachaTrackers[Constant.CARD_GACHA_ID]` | 구 가챠(`save.txt`) ↔ Survival 가챠(`survival_meta.json`) **완전 분리**. 단 소모 재화는 공유 지갑 | +| ┗ Skill 탭 | `UGUISkillContentView` = **빈 플레이스홀더** | 노드만 존재 | 열리지만 **원작에서도 비어 있음**(코드 주석 명시) | 없음 | +| ┗ Rune 탭 | `UGUIRuneContentView`·`UGUIRuneCard`·`UGUIRuneDetailModal`·`UGUIRuneResetModal` | 모달 2종 결선 | **열릴 전망** — `TableManager`·`PlayerManager` 의존 | Survival 에 대응 시스템 없음 | +| ┗ **Hero 탭 (영웅)** | `UGUIHeroContentView`·`UGUIEquipButton` | 모달 3종(Detail·Select·Profile) + `EquipmentDetailModal` 결선 | **열릴 전망** — `PlayerManager.BoostController.Boosts[BoostType.Equip]`·`TableManager.Equip` 의존 | 구 장비(`EquipBoost`) ↔ Survival 장비(`SurvivalItemCatalog`) **별개 시스템** | +| **ShopScreen** | `UGUIShopView` = **빈 플레이스홀더** | 노드만 존재 | 열리지만 **원작에서도 비어 있음**(코드 주석 명시) — 구 UGUI 상점은 처음부터 미구현 | 없음. Survival 상점(9종)이 유일 구현체 | +| **Header / MainMenu** | `UGUIHeaderView`·`UGUIMainMenuView` | `Header`·`MainMenu` 노드 | **열릴 전망** — 상시 표시. 5개 메뉴 버튼이 `MainMenuUIEvents`로 화면 전환 | 없음 | +| **모달 — 가챠 결과** | `UGUIGachaResultModal`·`UGUIRewardCard` | `_modalPrefabs["GachaResultModal"]` 결선 | **열릴 전망** — `UGUIModalControllers` 이미 활성(order 10) | 재화 공유 | +| **모달 — 가챠 확률** | `UGUIGachaProbabilityModal` | `_modalPrefabs["GachaProbabilityModal"]` 결선 | **열릴 전망** | 없음 | +| **모달 — 영웅 상세/선택/프로필** | `UGUIHeroDetailModal`·`UGUIHeroSelectModal`·`UGUIHeroProfileModal` | `_modalPrefabs` 3키 **전부 결선** | **열릴 전망** | 없음 | +| **모달 — 장비 상세** | `UGUIEquipmentDetailModal` | `_modalPrefabs["EquipmentDetailModal"]` 결선 | **열릴 전망** | 구 장비 시스템 소속 | +| **모달 — 던전 입장** | `UGUIDungeonEnterModal` | 결선 | **열릴 전망** | ⚠ 입장 시 `LoadScene("Battle")`(`:135`) — 구 전투 씬 이탈 | + +**공통 충돌축(유일)** — 재화. 구 UGUI와 Survival 로비가 **같은 `CurrencyManager` 인스턴스**를 쓰고 저장은 `save.txt` 한 곳이다. 구 화면에서 뽑기·강화로 골드를 쓰면 **Survival 로비 골드가 실제로 줄어든다**(그 반대도 성립). 진행도(카드·룬·영웅 vs Survival 성장·장비·마스터리)는 파일이 분리돼 서로 오염되지 않는다. + +**미발견 항목** — 구 UGUI 스택에서 "카드 뽑기"의 실행 진입점은 CardScreen 이 아니라 **CardScreen ▸ Item 탭** 안에 있다(`gacha_button--1time`/`--10times`). PD 표현의 "카드 및 카드 뽑기 기능"은 동일 화면 한 곳에 모여 있다. + +### 검증 + +- **Roslyn 실컴파일**(Unity 6000.3.19f1 `csc.dll` + `Library/Bee/artifacts/1900b0aE.dag/Assembly-CSharp.rsp`, `-out`/`-refout`만 스크래치패드로 리다이렉트해 **Unity 빌드 산출물 무접촉**): **에러 0 · 경고 6 · exit 0 · DLL 생성 확인**. 감사 I2·I3 정정 후 **재컴파일 동일 결과**(에러 0·경고 6·동일 집합) +- 경고 6건 전문 요지 (**전부 기존 파일 — 본 변경발 경고 0**, 2026-08-24 §108 기저선과 동일 집합): + - `Singleton.cs(52,40)` CS0618 `Object.FindObjectOfType(Type)` obsolete + - `Singleton.cs(54,29)` CS0618 `Object.FindObjectsOfType(Type)` obsolete + - `Singleton.cs(10,29)` CS0414 `applicationIsQuitting` assigned but never used + - `UGUIBattleSceneUIController.cs(112,17)` CS0618 `Object.FindObjectOfType()` obsolete + - `UGUILobbySceneUIController.cs(152,17)` CS0618 `Object.FindObjectOfType()` obsolete + - `SurvivalLobbyController.cs(97,17)` CS0618 `Object.FindObjectOfType()` obsolete +- rsp 정합 확인: `SurvivalLobbyController.TempNav.cs`(L591)·`UGUILobbySceneUIController.cs`(L640)·`UGUIView.cs`(L661) 모두 소스 목록 포함. `Assets/Script/` 하위에 asmdef 없음 → 동일 `Assembly-CSharp` = `UGUIView.FindDeep`(internal) 접근 가능 확증 +- Unity 에디터 콘솔 조회(MCP 읽기 전용·`GodDem@23bbe4a1`) error/warning **0건**. **단 이 값은 본 변경의 근거가 아니다** — `Library/ScriptAssemblies/Assembly-CSharp.dll` 타임스탬프 01:37 < 소스 수정 01:53 = **에디터가 아직 재컴파일하지 않은 상태**. 본 변경의 컴파일 근거는 위 Roslyn 실컴파일 단독(C23) + +### 미검증 (C23 태그 — pm-auditor 질의 4 지정 6종 + 개발팀장 추가 2종) + +1. 구 UGUI **초기화 성공 여부·각 화면 정상 표출** — Play 제어 금지로 런타임 확인 불가. 실태표 ③열은 전부 소스 근거 판정 +2. **"GodDem 캔버스를 꺼야 보인다"는 sortingOrder 정적 추론** — `overrideSorting`·sortingLayer·카메라 구성은 미확인. 다만 어긋나더라도 복귀 버튼(order 500)이 살아 있어 갇히지 않는다 +3. 프리팹 노드 8종의 **런타임 탐색 성공** — 직렬화 참조 유효 ≠ `Rect()`/`FindDeep` 탐색 성공 +4. 구 UI 하위 기능(카드뽑기·영웅)의 **실동작** +5. **모달(order 10)·토스트(order 20) 캔버스는 포착 대상 밖** — `UGUIModalControllers`·`UGUIToastControllers`는 활성화 전부터 씬 루트에 있어 `beforeRoots` 차집합에 걸리지 않는다. 따라서 복귀 시에도 계속 활성으로 남는다. **의도적 선택**(C19 — 본 변경 이전부터의 씬 상태를 건드리지 않음). GodDem 캔버스(order 100)가 둘 다 덮으므로 시각·입력 영향은 없다고 판단하나 **미검증** +6. 세이브 분리(`save.txt` ↔ `survival_meta.json`)로 인해 구 UI 가 표시할 **데이터 상태** +7. `TnFirstActivateLegacy()`의 예외 포착이 실제로 무엇을 잡아낼지 — 특히 `UGUIContentsView`의 `TableManager.ExtraContents` 무가드 인덱싱 +8. 복귀 오버레이 버튼(우상단 240x72)이 구 UI Header 와 시각적으로 겹치는지 — 겹쳐도 order 500 이라 **클릭은 항상 가능**하나 해당 모서리가 가려질 수 있음 + +### pm-auditor 사전 감사 판정과 조치 (판정 도착 — 인용 가능) + +발주 후 판정 도착. **Critical 0 · Major 3 · Minor/Improvement 5**. Major 전건 수용·정정 완료. + +| 지적 | 판정 | 개발팀장 조치 | +|------|------|-------------| +| **M1** C6-1 백업 파일명 표준 위반(`.cs` 확장자 탈락) | **수용 — 감사관이 옳다** | 실측으로 재확인: 동 디렉토리의 비-`.cs` 백업은 **전건** 원본 확장자 보존(`A10_bunsin.asset.bak_….asset`·`SurvivalBattle.unity.bak_….unity`·`survival_meta.json.bak_….json`·`SurvivalUpgrade.csv.bak_….csv`), `.cs` 도 `…_0352` 이후 일관되게 `.cs.bak_`. 즉 `{원본명}` = **확장자 포함 전체 파일명**이 정확한 해석. 본 건이 구 위반형을 답습했다. **2건 rename 완료** — `SurvivalLobbyController.TempNav.cs.bak_20260825_0200.cs` / 전 세션분 `SurvivalLobbyController.cs.bak_20260825_0123.cs` | +| **M2** P19·C13 PD 지시 로그 미등록 | **수용** | `공유/PD_지시_트래킹/개발팀_PD_지시_로그.md` BT13-GodDem 행에 세그먼트 **소급 등재 완료**(백업 선행·셀 경계 파싱 후 삽입·표 구조 무결 검증 `pipe count 8`·62행 유지). 본 §110 은 PD 원문 인용으로 시작 | +| **M3** C35-11 오적용 | **수용·기록** | **C35-11 (a) 미충족 확인** — 본 건에 plan-auditor 모드A 설계 감사 선행 없음. 또한 (d)는 *main push* 상태를 규율하므로 GodDem 로컬 커밋에는 비해당. **본 건은 C35-1 #2 원칙 그대로**(사전 호출 + 판정 수령 후 집행)이며 실제로 판정 수령 후 커밋했다. 신설 조항의 외연 확대 해석 선례가 굳지 않도록 여기 명기 | +| **I1** 커밋 경로 한정 | 수용 | Unity 자동 터치 `.asset` 6종이 dirty. `git add -A` 미사용 — **단일 경로 명시 스테이징** | +| **I2** 캔버스 포착 실패 시 버튼 영구 무력화 | **수용 — 실코드 결함** | 실재 버그였다. `_tnLegacyActivated`가 true 라 재클릭이 빈 리스트에 `TnSetLegacyVisible`만 돌던 경로를 분리. 활성화 직전 씬 루트 스냅샷을 `_tnRootsBeforeLegacy` 필드로 보존해 **재클릭마다 포착 재시도**하도록 수정 | +| **I3** C2 proxy 축 1개 누락 | 수용 | 헤더 C2 절을 2축으로 개정 — 축1(GodDem 정식 IA 배치) + **축2(구 UGUI 기능의 GodDem 신 UI 재이식)**. 본 버튼은 축2 의 **진단용 proxy**임을 명기 | +| **I4** 완료 보고 표현 제약 | 수용 | 본 산출물은 PD 원문 "되살리라"를 **이행하지 않는다**. 도달점 = **진입 경로 확보 + 동작 실태 관측 가능 상태**이며 **재이식 미착수**. "기능 복구 완료"류 표현 사용 금지 | +| **I5** 서술 정밀도 | 수용 | 정확한 표현은 "Unity 는 `OnEnable` 내부 예외를 **콘솔에 남기되** `SetActive` 호출부로 전파하지 않는다" — 삼키는 것이 아니라 로그로 남기기 **때문에** 훅이 작동한다. 코드 주석·본 문서 모두 이 표현으로 통일 | + +**감사관 지적 중 사실 정정 2건(개발팀장 → 감사관)**: ①sortingOrder 100 은 `SurvivalLobbyController.cs:84`(감사관 :85) — 주석 줄 기준 차이. ②감사관이 "누락"으로 표기한 `OnDestroy` 존재는 결론에 영향 없음(활성 상태에서 `OnDestroy`는 호출되지 않으므로 SetActive 왕복 시 중복 생성 문제는 그대로 성립). + +### PD 안내 (필수) + +1. **사용법** — 로비 좌측 "임시 메뉴" 맨 아래 청록색 **"구 아웃게임"** 클릭 → 구 UGUI 아웃게임 표시. 우상단 **"GodDem 로비로"** 클릭 → 원래 로비 복귀(직전 화면 그대로 보존). +2. **재컴파일** — 기존 `.cs` 수정이므로 도메인 리로드가 발생한다. **진행 중이던 Play 세션은 끊긴다.** Play 중지 → 재생 1회 필요(자동 리프레시가 안 걸리면 Ctrl+R). +3. **구 로비의 "시작" 버튼 주의** — `Battle` 씬으로 이동한다(GodDem 전투 `SurvivalBattle` 아님). 눌러서 씬이 바뀌면 Lobby 씬으로 돌아온 뒤 임시 메뉴부터 다시 눌러야 한다. +4. **골드·젬은 양쪽이 같은 지갑이다.** 구 화면에서 뽑기·강화로 소비하면 Survival 로비 재화가 실제로 줄어든다. 재활용 여부 판단 시 이 축만 유일한 실질 충돌이다. +5. **초기화 예외가 나면** 우상단 복귀 버튼 아래에 붉은 글씨로 "초기화 예외 N건"이 뜬다. Console 원문을 그대로 남겨 뒀으니 그 내용을 알려 주시면 복구 범위를 판정한다. **임의 수정은 하지 않았다**(PM 지시 준수). + +### 규칙 준수 + +- **C35-1 #2** — pm-auditor **사전 호출 + 판정 수령 후 커밋**(매니페스트 `2026-08-25_0200`, target `GodDem:Assets/Script/Survival/SurvivalLobbyController.TempNav.cs`). C35-11 갈음 **비적용**((a) 설계 계층 plan-auditor 모드A 감사 선행 없음). (d) 3요건은 *main push* 규율이라 로컬 커밋에 **비해당** — 발동하지 않았고 인용할 미도착 판정도 없다(M3 정정 반영) +- **C2** — 본 전환은 **proxy(임시)**다. 원 파일 헤더 주석의 철거 계약(파일 삭제 + `Start()` 호출 1줄 제거)은 그대로 유효하다. 근본 해결 = PD 가 재활용 대상을 확정한 뒤 해당 기능을 정식 IA 에 배치하는 것 +- **C6** — 백업 2종 표준 경로·표준 파일명(확장자 포함)·gitignore 확증 +- **C19** — 구 UGUI 화면 코드 **수정 0건** 확증(`git diff HEAD~1 HEAD --name-only | grep -c "Assets/Script/UGUI/"` = **0**). 접근 경로만 신설. 커밋 파일 목록 1건·`.unity`/`.prefab` **0건** +- **PM 인계 사항** — 매니페스트 `2026-08-25_0200`은 `.claude/manifest/active/`에 **잔존**한다. `manifest_archive.sh`는 BT 레포 HEAD 커밋 파일과 cross-check 하는데 본 집행의 커밋은 GodDem 레포에 있고 BT 커밋은 PM 영역이라 아카이브 조건이 성립하지 않았다. BT 커밋·push 시 자동 이동 예상. 활성 매니페스트는 편집을 **허용**하는 쪽이라 잔존 자체가 차단을 일으키지는 않는다 + +## 111. 구 UGUI 아웃게임 전환 push·실태표 확보 (PM·2026-08-25) + +- **PM push**: GodDem `5403caa..af78882` origin 반영 — 임시 메뉴에 "구 아웃게임" 전환 + "GodDem 로비로" 복귀(별도 캔버스 order 500·컨트롤러 자식) +- **설계 재정의 3건(개발팀장 씬 실측 — PM 지시안 보정)**: ①구 컨트롤러 씬 직렬화 `_canvas`·`_uiRoot` **둘 다 null** → 활성화 시 sortingOrder 0 캔버스 자체 생성 = **SetActive만으로는 GodDem(100) 아래라 안 보임**·GodDem 캔버스 차단 필수 ②`UGUILobbySceneUIController`는 `OnEnable` 초기화·`OnDisable` 부재 → SetActive 왕복 시 4.2MB 프리팹 중첩·이벤트 구독 누적 → **최초 1회만 SetActive·이후 canvas.enabled 토글** ③`UGUIView` 생성자 예외는 Unity가 콘솔에만 남기고 전파 안 함 → `Application.logMessageReceived` 훅으로 원문 회수(임의 수정 0) +- **숨김 방식**: `canvas.enabled=false`+`GraphicRaycaster.enabled=false` 채택 / `SetActive(false)` 기각(코루틴·Selectable 리셋·TMP 재레이아웃 부작용·복귀 시 직전 화면 보존 불가). 캔버스 포착 실패 시 **전환 취소**(빈 화면 갇힘 방지) +- **★ 화면별 실태표 확보**(PD 재활용 결정 근거·③열은 전부 소스 판정·런타임 미검증): LobbyScreen ○(단 시작 버튼이 `LoadScene("Battle")` = 구 전투 씬) / UpgradeScreen ○(강화·진화) / ContentsScreen ⚠(`TableManager.ExtraContents[...]` 무가드 인덱싱 — 실패 시 OnEnable 전체 중단) / **CardScreen ○ = PD 지목 본체**(Item 탭 = **카드뽑기**·`GachaController.GachaTrackers[CARD_GACHA_ID]`·구/신 가챠 완전 분리 / Skill 탭 = **원작부터 빈 플레이스홀더** / Rune 탭 ○ / **Hero 탭 ○ = 영웅**·`BoostController.Boosts[Equip]`) / ShopScreen = **원작부터 미구현** / 모달 15종 전량 결선·`UGUIModalControllers` 이미 활성 +- **유일 실질 충돌 = 재화**: `PlayerManager.GetUserData()`가 `CurrencyManager.GetSavedData()` 포함 — 구 화면 소비가 **Survival 골드를 실제 차감**. 진행도는 `save.txt` ↔ `survival_meta.json` 분리라 오염 없음 +- **누락 정정**: "카드 뽑기"는 CardScreen이 아니라 **CardScreen ▸ Item 탭** 내부 — PD 지목 "카드 및 카드 뽑기"는 동일 화면 한 곳 +- **감사 Major 3 전건 수용**: M1 백업 파일명 재발 2건 rename(교훈 메모리 재발 기록 갱신) / M2 PD 지시 로그 소급 등재 / **M3 C35-11 오적용 정정** — 본 건은 plan-auditor 모드A 선행 없음·(d)는 main push 규율이라 로컬 커밋 비해당 → **C35-1 #2 원칙 그대로**(실제 판정 수령 후 커밋). **신설 조항 외연 확대 선례 방지 명기** +- 검증: Roslyn 에러 0·경고 6(전부 기존 파일·본 파일발 0·기저선 동일). 에디터 콘솔 0건은 미재컴파일 상태라 근거 아님(정직 표기)