Seven-Shards-ORIGIN — 로비 검증 확장 스냅샷
1. 주요 변경사항
- 네트워크 멀티플레이 로비 슬롯을 300x600 기준으로 재구성하고,
ConnectionFlow,RoomList,WaitingRoompartial 전반을 손봤다. - 로비 payload 크기, 누락 로컬라이즈 키, TMP CJK 폰트, 로비 prefab, TrapFieldWest 검증용 Editor audit가 추가됐다.
- Hotbar, Stage Clear, 네트워크 로비 권한 모델, TMP fallback, 수동 체크리스트 문서가 늘었다.
- DOTween 벤더 플러그인이 삭제되고
Packages,ProjectSettings, TMP SDF asset까지 같이 흔들렸다. 빌드 검증 전에는 위험하다.
2. 코드 품질 리뷰
가장 좋은 변화는 검증 도구를 늘렸다는 점이다. LobbyMessagePayloadSizing처럼 payload 크기 판단을 별도 유틸로 분리한 결정은 맞다. 로비 커스텀 메시지는 네트워크 비용과 서비스 안정성에 직접 영향을 주므로, 감으로 관리하면 안 되고 수치로 막아야 한다. LocalizationMissingKeyAudit, TmpEastAsianFontAudit도 같은 방향의 개선이다. 문제를 “눈으로 확인”에서 “도구로 적발”로 옮긴 점은 분명한 진전이다.
반대로 NetworkMultiplayerLobbyRoot.prefab은 여전히 리뷰하기 어렵다. 8천 줄대 변경 안에 실제 UI 의도와 fileID 셔플이 섞여 있다. 왜 문제냐면 버튼 참조, TMP 참조, root refs 연결 실패가 코드 리뷰에서 보이지 않고 런타임 무반응으로만 드러나기 때문이다. 개선하려면 prefab baker 결과를 안정화하고, audit가 “슬롯 4개, 필수 버튼, RootRefs 연결, onClick 런타임 바인딩 가능”까지 검증해야 한다.
또 하나의 위험 신호는 DOTween 삭제다. 패키지 대체가 명확하다면 괜찮지만, DG.Tweening 참조가 하나라도 남으면 프로젝트는 컴파일 단계에서 바로 멈춘다. 대형 UI 변경과 의존성 삭제를 같은 커밋에 넣은 것도 좋지 않다. 원인 추적 단위가 커져서, 실패 시 되돌릴 범위를 판단하기 어려워진다.
3. 진행도 평가
이전 대비 전진은 있다. 로비 UX, payload audit, localization/font audit, 수동 체크리스트가 추가되어 “동작한다”에서 “검증 가능하다” 쪽으로 이동했다. 특히 네트워크 로비 권한 모델 문서가 생긴 점은 멀티플레이 프로젝트에서 중요한 기반이다.
다만 진행도는 64% 수준으로 본다. 플레이 가능한 축은 갖춰지고 있으나, 로비 prefab 대량 변동과 네트워크 UI 바인딩 리스크가 아직 크다. 지금 단계에서 수동 확인만 믿으면 이후 버그가 재현 불가능한 형태로 누적된다. 위험도는 high다.
4. 다음 권장사항
- DOTween 제거 후 DG.Tweening 잔존 참조와 빌드 컴파일 확인. 삭제 의도가 맞는지 먼저 증명해야 한다.
- NetworkMultiplayerLobbyRoot prefab fileID 셔플을 기능 diff로 분해. 리뷰 가능한 단위로 다시 쪼개야 한다.
- 로비 버튼 바인딩과 권한 흐름을 PlayMode 테스트로 고정. 클릭 무반응과 권한 역전을 자동으로 잡아야 한다.
- GameLocale 변경 시 이미 렌더링된 TMP 텍스트 재적용 경로 검증. 언어 변경 후 화면 갱신이 기준이다.
- TMP CJK 실제 폰트 세트와 누락 글리프 리포트 기준 확정. KR SDF 대리는 임시 조치로만 봐야 한다.
5. 문서화 상태
design은 4점이다. 이번 커밋은 UI/검증/운영 문서 위주이며, 게임의 핵심 루프·플레이 경험 목표·콘텐츠 선택 이유를 설명하는 디자인 문서는 여전히 부족하다.
technical은 7점이다. 네트워크 로비 권한 모델, Hotbar 정책, TMP fallback 가이드, verification workflow가 생겨 신규 기여자가 일부 구조를 따라갈 수 있다. 다만 아키텍처 다이어그램과 런타임 데이터 흐름은 아직 약하다.
spec은 6점이다. Stage Clear와 로비 수동 체크리스트는 QA 기준으로 쓸 수 있다. 그러나 _sample/docs 수준의 기능별 입력·상태·결과 매핑, 수치 테이블, 자동 검증 기준까지는 아직 도달하지 못했다.
6. Backlog
- NetworkMultiplayerLobbyRoot.prefab 변경이 대량 fileID 셔플을 포함.
- GameLocale 변경 이벤트가 TMP 캐시만 무효화, 이미 그려진 텍스트는 재갱신 안 됨.
- Resources 기반 UI 프리팹·로케일 대량 로딩 — Addressable 전환 미정.
- UI Bootstrap/Driver/RootRefs 3계층 규약이 코드 주석/.cursor 룰에만 존재.
- LocalizedStrings 가 en 이외 fallback 만 지원, 누락 키 수집/리포트 수단 없음.
- zh-Hans/zh-Hant/ja 폰트가 KR SDF 로 대리되어 표기 누락 잠재.
- DOTween 벤더 플러그인 삭제 후 패키지 대체 경로 검증 필요.
7. 이전 Backlog 해결
- 로비 커스텀 메시지 직렬화 크기 회귀 테스트 부재: payload sizing 코드와 Editor audit가 추가되어 크기 상한을 검증할 수 있는 경로가 생겼다.
- TrapFieldWest.unity 변경이 Mesh fileID 셔플 위주라 실질 변경 식별 난이도 높음: 전용 verification audit와 workflow 문서가 추가되어 씬 변경 검증 기준이 명시됐다.