BurningTimesAi/공유/대화로그/FirstRising/2026-09-30_세션인수인계.md

8.6 KiB

FR 필드 · 장비 · 최소화 모드 · 맵 이동 — 세션 인수인계서 (2026-09-30 · BT42~BT46)

이 문서 하나로 다음 세션이 이어갈 수 있게 적었다. 원문 · 과정은 공유/대화로그/FirstRising/2026-09-29.md(BT42) · 2026-09-30.md(BT43~45) · 공유/대화로그/조직운영/2026-09-30_Claude앱_트레이.md(BT46), 지시 로그는 공유/PD_지시_트래킹/개발팀_PD_지시_로그.md. 세션 종료 사유: 컨텍스트 한도(PD 2026-09-30 "본 세션은 컨텍스트 한도에 도달했어 … 인계서 및 프롬프트 제공").

0. 다음 세션 첫 프롬프트 (그대로 붙여넣기)

FR(FirstRising) 작업을 이어서 진행한다.
인수인계서: 공유/대화로그/FirstRising/2026-09-30_세션인수인계.md 의 §0-1 · §1 · §2 를 먼저 읽고,
현황을 3줄로 보고한 뒤 내 지시를 기다려라. (로그 전문 읽기 금지, 필요한 절만 Grep)

고정 사항:
- 커밋 · push 는 PD 지시 시만(FR · 조직 레포 모두). 작업을 마치면 작업 트리에 두고 보고한다
- 재컴파일 · Play 조작 · 에디터 설정을 바꾸는 명령 앞에는 Play 여부를 단독 명령으로 먼저 확인한다.
  PD Play 중에는 코드 수정 · Play 조작 · 무거운 스크립트 금지(읽기 전용 확인만)
- 검증 Play 는 끝나면 즉시 종료 · 임시로 바꾼 값(저장 파일 · 창 크기 값 · 훅)은 즉시 원복 · 백그라운드 작업을 남기지 않는다
- 오류 확인은 에디터 로그 기준(logscan.py). recompile_status 는 'completed' 글자만 찾는다(따옴표가 이스케이프됨)
- 게임 원본 코드 수정 시 날짜 · 이유 한글 주석. 새 코드 · 고친 코드에는 선언 단위 한글 주석. 스크립트는 BT_Visual 노드에만
- 파일 삭제는 PD 지시 시만(쓰이지 않게 된 것은 목록으로 보고)
- 허위 · 추정 단정 금지(실측 · 코드 · 미검증을 구분해 보고). 감사 호출 생략, 무거운 에이전트 호출은 사전 승인, 세션 전환 권고 금지
- 보고는 한국어 · 간결 · 경어, 호칭 PD님. 승인이 필요하면 질문으로 끝낸다

0-1. 이번에 열 문서(필요한 절만)

하려는 일 열 문서 · 절
필드 이동(맵만 바꿔 끼우기) · 로딩 화면 · 최소화 모드 배경 · 창 크기 메뉴 공유/대화로그/FirstRising/2026-09-30.md §BT44 · §BT45(원인 표 · 결정) + 메모리 project_fr_widget_travel_bt44_45.md(함정)
장비 → 싸우는 캐릭터 · 정보 화면 2026-09-30.md §BT43 + 메모리 project_fr_equipment_sync_bt43.md
필드 레벨업 끄기 · GameCanvas 창 가려짐 2026-09-29.md + 메모리 project_fr_gamecanvas_popup_hidden.md
검증 스크립트 다시 쓰기 공유/기획/FirstRising/몬스터보스/tools/unity_eval/bt_evals_0930/README.md → %TEMP%\bt_evals\ 로 복사
화면 구성(세 영역) · 옆 창 · 맵 다시 짓기 · 보스 패턴 09-28 인수인계서 2026-09-28_FR_맵_보스_화면구성_세션인수인계.md §0-1 의 표
Claude 앱이 트레이에서 사라짐 공유/대화로그/조직운영/2026-09-30_Claude앱_트레이.md + 메모리 reference_claude_app_tray_stealth_update.md
조직 레포 커밋 · push 메모리 reference_org_repo_commit_push.md

1. 현황 한눈에

구분 상태
FR bt/work 4bca428e62 push 완료(BT42~45). 작업 트리에는 에디터가 덧붙인 변경만 남음(재질 4 · 글자체 3 · GlobalEntitySceneDependency.asset) — 건드리지 않는다
조직 레포 main 이 인계서와 함께 커밋 · push(BT42~46 기록 · 검증 스크립트 사본)
BT42 필드 레벨업 끄기 완료 · PD 확인 대기(보스전 전용 필드 포함 여부)
BT43 장착 무기 모션 · 정보 화면 완료 · 검 · 활만 실측
BT44 최소화 모드 지형 숨김 · 창 크기 메뉴 완료 · PC 빌드 미검증
BT45 맵 이동 8.5초 → 1.4~2.0초 · 로딩 화면 완료 · 처음 가는 맵 굽기 시간(에디터 전용)은 남음
BT46 Claude 앱 트레이 원인 확정 · 감시 스크립트 준비. PD 가 작업 스케줄러 등록 명령을 실행했는지 확인
저장 파일(LocalLow\ThunderRisingGames\Dead Archive) 시험 전 상태로 원복 완료(백업은 세션 scratchpad save_backup_0930 — 세션이 끝나면 사라져도 된다)
백그라운드 작업 · 훅 없음(travel_hook · wsm 훅 모두 해제 · 검증 스크립트 모두 종료)

2. 이번 세션이 만든 것(FR)

파일 하는 일
Assets/BurningTimes/Visual/Scripts/TVFieldLevelUpGate.cs (새) 로비 씬 동안 PlayerManager.gemLevelUp 을 끔
TVEquipmentSync.cs (새) 장비 변경 신호 → 싸우는 캐릭터 무기 · 능력치 → changed 이벤트. 필드가 바뀌면(TVFieldTravel.fieldChanged) 새 엔티티에 다시 넣음
TVArcherGear.cs · TVCharacterInfoPanel.cs 활일 때만 활 장식 / 장비 바뀌면 정보 화면 다시 씀
TVWidgetScenery.cs (새) 최소화 모드 동안 맵 엔티티(DisableRendering + TVWidgetHiddenTag) · 지형 · 등록된 배경 묶음 숨김 → 복구
TVWidgetSizeMenu.cs (새) 하단 UI 위쪽 띠에 마우스 → 창 크기 막대(배수 0.5~2.5 · PlayerPrefs BT_WidgetSize). 빌드는 widgetDiameter, 에디터는 위젯 영역 localScale 미리 보기
TVRuntimeFont.cs (새) 실행 중 만든 화면용 글자체(공용 아틀라스 보호)
TVFieldTravel.cs swapInPlace(기본 켜짐): 몬스터 · 소환수 · 드롭 회수 → 플레이어 떼기 → 맵 서브씬 교체 → 게임의 플레이어 초기화 재실행 → 구역 켜기. 실패하면 예전 방식(로비 씬 다시 읽기)
TVLoadingScreen.cs (새) 검은 막 + "Loading..." + 진행 막대
게임 원본(정섭 님 · 날짜/이유 주석) PlayerManager.gemLevelUp · Character.AddGemScore · DesktopWidgetManager(조작 영역 등록 API · 원형 리전 설정 따르기)
Assets/GameAssets/LobbyPlayScene.prefab BT_Visual 에 위 새 구성 요소 부착 · 글자체 참조

3. 실측으로 알게 된 것(다시 조사하지 말 것)

  • 로비 씬에는 캐릭터가 둘(싸우는 LevelEssential/Ariel · 전시용 Character/CharacterPosition/Ariel). 게임은 장비를 바꾸면 전시용만 갱신한다.
  • 플레이어 엔티티(PlayerTag)는 맵 서브씬에 구워져 있다 — 맵을 내리면 사라진다. 떼지 않으면 게임 시스템 5곳이 매 프레임 예외(15,781회 실측).
  • 맵 이동 예전 방식의 시간: 엔티티 정리 1.9 · 씬 읽기 1.6 · 씬 켜짐 3.3 · 첫 프레임 1.0 · 가림 0.7초. 처음 가는 맵은 서브씬 굽기 4~5.5초(에디터 전용 · 스크립트 고칠 때마다).
  • 최소화 모드 = DesktopWidgetManager 위젯 기능. WidgetCulling 레이어만 숨김 → 숲만 그 레이어. 위젯 모드에서 누르면 창 끌기 · 복귀 → 조작 UI 는 RegisterWidgetControlArea 필요.
  • 가짜 마우스 입력 시험은 InputSystem.onAfterUpdate(Dynamic) 훅으로 넣어야 게임이 본다.
  • Claude 앱 트레이 사라짐 = 몰래 업데이트 + windows-app-job 기능(09-23~)으로 윈도우가 앱을 못 닫음. 앱 결함.

4. 미검증 · 결정 대기(PD)

  • PC 빌드: 위젯 창 크기 변경 · 투명 창 · 커서 읽기 · 맵 이동(맵 서브씬이 빌드에 없음 mapsInBuild).
  • 보스전 전용 필드에서도 레벨업이 꺼짐(BT42) — 의도 확인.
  • 검 · 활 외 무기 종류 · 방어구 · 룬 경로(가방에 아이템 없음) · 소환수가 있는 상태의 맵 이동.
  • 처음 가는 맵의 굽기 시간을 Play 시작 때 뒤에서 미리 굽게 할지(미구현).
  • 최소화 모드에서 스킬 칸 · 가방 버튼을 누르면 게임이 '복귀'로 처리(기존 동작). 필요하면 같은 조작 영역 등록으로 풀 수 있다.
  • BT46 감시 스크립트의 실제 끄고 켜기는 시험하지 않았다(세션이 앱 안에서 돔). 등록 뒤 첫 발생 때 watchdog.log 로 확인.

5. 남은 이슈(기존)

  • 같은 GameCanvas 의 다른 창(사망 결과 · 스킬북 · 게임 메뉴)은 로비 씬에서 게임 화면 아래에 깔림(미수정).
  • Editor.log 가 매 프레임 '오디오 리스너 2개 · 이벤트 시스템 2개' 경고로 커짐(게임 측 중복 · 11 GB).
  • Character.ApplyAbility 의 능력치 갱신 요청은 값을 종류로 넣는 것으로 보임(정섭 님 확인 필요).
  • 일일 도전 진입 에디터 충돌(09-24) 원인 미확정 — 재발 시 TVMaterialProbe.Install() 절차.