Seven-Shards-ORIGIN — UI 개선 3종 스냅샷
1. 주요 변경사항
- 대기실 슬롯 크기, 핫바 가시성, 스테이지 클리어 버튼을 한 커밋에서 함께 수정했다.
StageClearWatcher,StageClearButtonHandler,StageClearSetupTool이 추가되어 클리어 후 타이틀 복귀 흐름을 구성하려는 방향은 명확하다.TrapFieldWest.unity는 4만 줄 이상 변경되었고, 메시fileID재배치와 장식 오브젝트 추가가 섞여 있다.NetworkMultiplayerLobbyRoot.prefab도 8천 줄 이상 변해 실제 UI 수정과 Unity 직렬화 셔플을 구분하기 어렵다.
2. 코드 품질 리뷰
이번 커밋의 의도 자체는 좋다. 플레이어가 직접 체감하는 대기실 슬롯, 핫바 표시, 스테이지 클리어 복귀 버튼을 손봤다는 점은 “플레이 가능한 빌드” 쪽으로 전진한 변경이다. 특히 스테이지 클리어 버튼을 별도 StageClearButtonHandler 와 StageClearWatcher 로 나누려는 방향은 단일 MonoBehaviour에 모든 UI 흐름을 몰아넣는 방식보다 낫다.
문제는 변경 단위가 과하게 크고, Unity 직렬화 노이즈가 기능 변경을 압도한다는 점이다. 예를 들어 TrapFieldWest.unity 에서 다수의 메시가 vertexCount: 20 과 vertexCount: 0 사이를 오가고, m_ShadowMesh.m_Mesh 참조가 대량 교체된다. 이는 실제 장식 추가인지, SpriteShape/ShadowMesh 재생성인지, 혹은 깨진 참조인지 리뷰만으로 판정하기 어렵다. 이런 상태로 누적되면 다음 버그는 코드가 아니라 에디터 저장 부작용에서 발생한다.
또한 새 UI 라벨에 "타이틀로 돌아가기" 가 씬에 직접 들어가고 TMP m_fontAsset 이 비어 있다. 현재 프로젝트는 로컬라이즈와 CJK 폰트 이슈가 이미 backlog에 있으므로, 새 UI가 그 체계를 우회하면 같은 문제가 반복된다. 개선하려면 클리어 버튼 문구를 로컬라이즈 키로 연결하고, 런타임 TMP 폰트 보정 대상에 포함되는지 확인해야 한다.
3. 진행도 평가
진행도는 58%로 본다. 핵심 루프 주변 UI는 계속 보강되고 있어 플레이 가능성은 올라가고 있다. 다만 이번 변경은 “기능이 추가됐다”보다 “검증 가능한 형태로 추가됐는가”에서 점수가 깎인다. 특히 씬·프리팹 대량 변경은 다음 작업자의 디버깅 비용을 크게 늘린다.
커밋 메시지는 무엇을 바꿨는지 요약하고 있어 최소 기준은 충족한다. 그러나 서로 다른 세 기능과 대량 씬 저장 변경이 한 커밋에 묶인 점은 좋지 않다. 다음부터는 UI 기능, 씬 장식, 자동 생성 메시/프리팹 재저장을 분리해야 한다.
4. 다음 권장사항
TrapFieldWest.unity변경을 실질 변경과 메시/fileID 재생성으로 분리하라.- 스테이지 클리어 후 타이틀 복귀를 PlayMode 테스트나 수동 QA 체크리스트로 고정하라.
NetworkMultiplayerLobbyRoot.prefab은 슬롯 크기 변경만 남도록 의미 단위로 재저장하라.- 클리어 버튼 문구를 로컬라이즈 키와 TMP 폰트 정책에 연결하라.
- 핫바 표시 조건을 플레이 상태, 입력 상태, 관전/로비 상태 기준으로 명문화하라.
5. 문서화 상태
design 점수는 4점이다. UI 개선 의도는 커밋 메시지에서 보이나, 게임 전체 UX 목표나 화면별 플레이어 경험 기준으로 문서화된 흔적은 이 스냅샷에 없다.
technical 점수는 3점이다. UI Bootstrap/Driver/RootRefs 규약, Resources 로딩, 네트워크 로비 UI 구조가 코드와 룰에 흩어져 있고 신규 진입자가 문서만 보고 구조를 이해하기 어렵다.
spec 점수는 3점이다. 스테이지 클리어 버튼, 핫바 표시 조건, 로비 슬롯 크기의 입력·상태·결과 매핑이 사양서로 고정되지 않았다. QA 체크리스트로 바로 쓰기에는 부족하다.
6. Backlog
- 로비 메시지 직렬화 크기 회귀 테스트가 아직 확인되지 않는다.
- Locale 변경 시 이미 표시된 TMP 텍스트 재갱신 문제는 이번 변경으로 해결되지 않았다.
NetworkMultiplayerLobbyRoot.prefab의 대량 fileID 셔플은 계속 위험하다.TrapFieldWest.unity는 실질 변경과 메시 셔플이 섞여 리뷰 가능성이 낮다.- Resources 기반 UI·로케일 로딩의 Addressable 전환 계획은 여전히 없다.
- UI 3계층 규약, 누락 로컬라이즈 키 리포트, CJK 폰트 대리 문제도 이월한다.