- 영웅 목록: 「출전」 = 깃발 아래 왼쪽 가장자리 · 빈 카드 = 팩 CardFrame01_Empty 원본 그대로(Bg #303146 마스크 안 Bg_d_Pattern 타일 #2D2F42 · 테두리 #1A1B27 · 얼굴 #252738) — 이전엔 바탕을 #2E2F43 로 바꿔 무늬가 안 보였음
- 편성: 바탕·헤더 = 영웅 목록과 같음(진남 · 사선 칸 「출전 n/5」) · 프리셋 = 팩 서브탭(Button_Round10 + 광택 · 선택 붉은 옻칠) · 자리 5 = 영웅 목록 카드 × 0.70(빈 자리 = 빈 카드 + 「+ 빈 자리」 · 고른 자리 = 노란 테두리) · 자리 판 #282A3E · 전열/후열 평행사변형 칩 · 보유 목록 = 같은 카드 × 0.72 · 4열 · 레벨 높은 순 · 「장수 ▼」 전환 · 출전 칩
- CollectionCards.CardIn / EmptyIn(원래 크기 카드를 배율로 넣기)
- 테마: card_empty · card_empty_face 원본값 · formation_field · 서브탭 스킨 · subtab_off · row_front/back · select_line
테스트 117/117 · console error 0
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- 일러 = 전 유닛 같은 배율(원본 px × 0.56) · 머리 끝(발 + bodyHeightPx · 무기 제외)을 카드 위 50 px 에 맞춤 → 머리 크기 같음 · 다리·말은 아래 띠 뒤 · 메타 없으면 칸 맞춤
- 왼쪽 위 = 진영 깃발 66(flag_<진영>) · 그 오른쪽 = 이름 45(긴 병사 이름 = 자동 축소 26~45) · 이름 아래 = 「출전」 꼬리 칩 · 오른쪽 위 = 병종 원 · 성장 가능 점 = 레벨 배지 오른쪽 위
- 진영 깃발 4장(蜀 · 魏 · 吳 · 群) = 아트 R&D 폴더 C:\ArtRnD\samguk_ui\flag_rank 원본(확정 영웅 상세 목업이 쓰던 그림 · 납품 json 아직 없음 → 정식 납품 시 apply_delivery 가 덮어씀) → Assets/UI/Samguk/flag_rank · 테마 신규 제작 치환 44 → 48
테스트 117/117(알림 점 위치 이동 전 실행 · 이후 변경 = 아이콘 위치만) · console error 0
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- 3열 세로 카드 320×431 · 간격 22/20(팩 프리팹 GridLayout 값) · 보유 = 레벨 높은 순 · 미보유 자리 = 빈 카드(문양 + 얼굴 실루엣)
- 카드 = CardFrame01 바탕(등급색 · 마스크) + 그라데이션 + 빛 226 + 일러(전신 SD 를 키워 상반신이 카드를 채움) + 아래 띠 + 테두리 · 이름 45(왼쪽 위) · 병종 원 #35374E 58×60 · 레벨 배지 Icon_Badge03(최고 = 노랑) · ★ 42×45 오른쪽 아래 — 수치 = 팩 프리팹 RectTransform
- 헤더 = 제목 + 장수/병사 고르기 「장수 ▼」(팩 Property ▼ 자리) + 사선 칸 PanelFrame03_Oblique #D8E8FF 「보유/전체」 · 화면 바탕 #34374F(레퍼런스 실측) + 재화 바 뒤 띠
- 도감 버튼 삭제(미보유 = 빈 카드로 목록에 포함 · 도감 팝업은 영웅 상세 「정보」 안에 유지) · 「출전」 칩 삭제(레퍼런스에 없음)
- 테마: 스킨 oblique · 아이콘 arrow_down · lv_badge_max · 색 list_bg · oblique · count_text · card_empty_face · card_empty #2E2F43
- 캡처 드라이버: 목록 카드 등급색 확인용으로 메모리 세이브의 시작 영웅 등급을 다르게 둠
테스트 117/117 · console error 0
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- 테마(설계서 §2-2 · §2-1): bg #033FA4 · paper #343549 · ink #FFFFFF · ink_soft · slot · dark 교체 + band_top(재화 바 뒤 띠) · 카드 스킨 7 · 카드 등급 색 18 · 보물 등급 색 25 + 미보유 5
- 영웅 카드(목록 · 편성 보유 행 · 도감 공용): 바탕·그라데이션·초상 뒤 빛·이름 띠·테두리 · 병종 원 · Lv 배지 · 세력 깃발 · 출전 꼬리 칩 · 등급 칩 · 미보유 = 빈 카드 문양 + 초상 어둡게
- 보물 칸: ItemFrame 5층(희귀 청 · 영웅 자 · 전설 주 · 신화 적 · 명장 금) + 아이콘(납품 없으면 첫 글자) + ★/조각 바 + 이름 판 · 미보유 = 진청 빈 칸 · 등급 색 = 테마 tre_*
- UiKit.Layer · ItemSlot · DropShadow · 헤더 부제 삭제(영웅 목록 · 보물)
- 밝은 하드코딩 바탕 → 테마 색(내정 7 · 연무장 2 · 거래 4 · 편성 1 · 보물 세트·상자) · 보물·내정 선택 탭 = 붉은 옻칠
테스트 117/117 · console error 0
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- 영웅 상세: 등급 색 바탕(글로우 + 문양 타일 · 화면 전체) · 전투력 칩 · 일러(빛 원 · 그림자 · 좌우 밀기 80 px = 영웅 전환) · 장비 6칸(ItemFrame 5층 · 장비 등급 색 · 장착 체크 / 가방 초록 화살표 / 없음 흐림) · 레벨 행(배지 · 바 · 레벨업 녹 + 골드 · 승급 하늘 장비 n/6) · 이름 띠(세력 · 병종 원 · 등급 칩 · ★) · 스킬 패널(액티브 + 쿨 칩 · Lv 칩 · 행마다 레벨업 = 스킬서 · 골드 · 상한 = 회색 최대) · 메뉴 4버튼(정보 = 상세정보 + 도감 · 진화 = 조각 팝업 + 알림 점 · 각성 · 외형 = 준비 중) · 헤더 오른쪽 보유 n / 전체 칩 · 1080 폭 틀 가운데 고정
- 공통 크롬: 재화 바 띠 없앰(칩 · 아이콘 84 밖으로 · 재화별 + 단추) · 헤더 PanelFrame03 + 왼쪽 붙은 뒤로 · 하단 탭 TabFocus 솟음 판 + 광택 · 아이콘 104/118 · 라벨 = 선택 탭만
- UiKit.TypeKey · 캡처 드라이버 = 영웅 상세 등급 변형(그 영웅 장비 세트 등급) · 테스트 HeroDetail_Redesign_SkillRow_Swipe_Menu(117/117)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- 데이터: Assets/Data/Gimmicks/stage_gimmicks.csv 455행(143 스테이지 · 1-1·1-2 없음 · 샘플 5 스테이지 16행 그대로) = 기획 tables/ 사본(생성·사전 검증 = 기획 tables/_stage_gimmicks_gen.py) → TKS/Import Gimmicks → StageGimmickTable(455)
- 테스트: Tests/PlayMode/StageGimmickPlacementTests 2 — 145 스테이지 GimmickLayer.Build · 편성 좌표 보정 이동 0 · 아군 스폰 반경 2 비움 · 해로운 지대 위 적 스폰 0 · 파괴 불가 장애물 사이 폭 2 통로 · 강마다 다리 · 기믹 많은 5 스테이지 적 턴 결정 ≤ 1.5 초
- 캡처: GimmickImporter.Capture -gimmickStages 1-10,2-10,… = 그 스테이지 시작 화면(전장 전체)만
- 실측: 컴파일 0 · 임포트 OK(정의 16 · 배치 455) · PlayMode 115/115 · console error 0 · AI 적 턴 132~299 ms
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- 데이터: Assets/Data/Gimmicks/{gimmicks,stage_gimmicks,tutorial_tips}.csv + Assets/Data/AI/ai_weights.csv(기획 tables/ 사본) → 메뉴 TKS/Import Gimmicks(검증 · 오류 시 자산 불변) → Resources/Gimmicks/GimmickDb(16)·StageGimmickTable(16 + 팁 3) · Resources/AI/AiWeights(32)
- 레이어: GimmickLayer(전투 시작 = 스테이지 배치 · 배경 위 유닛 아래 · 원/사각/다각 · 색 도형 + 글자 · 내구 핍 · 강 콜라이더 = 다리 구간 제외 · 겹친 유닛 보정) · 장애물 = 병종별 내구 피해·튕김·창 목책 밀기·바위 굴림·기병 정지 · 투사체 pass/block/destroy · 폭약 광역(아군 포함)+밀기+불 · 책사 광역 덤불 제거 · 강 낙하
- 지대: 경로 스윕(독 1→2→3 % · 늪 ×2 · 불 10 % · 빙판 미끄러짐 · 고지 · 안개 · 군기 · 함정) · 양 진영 턴 시작 훅
- 규칙 개정: 보병 튕김 중 다른 적과 연쇄 1회 · 창병 반작용(spearRecoilRatio · 밀며 전진 폐기) · 기존 테스트 기대값 갱신
- 적 AI: Runtime/AI(Sim 가상 실행 · TacticalAI 후보·점수·난이도·턴 운영 · 1부 보스 액티브) · 조준선 = 가상 실행 예상 궤적·기믹 반응·지대 띠 · TKS/Gimmick Painter · 캡처 GimmickImporter.Capture
- 검증: 컴파일 0 · 플레이모드 113/113(신규 26) · console error 0 · 적 10기 턴 결정 62 ms
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- UnitView.SetCharging(on) · Charging · 돌진 중 PlayAttack/피격 클립 무시(색만) · SetFacing 세트 전환 시 돌진 포즈 유지
- ActionResolver.Resolve: 루틴 전 SetCharging(true) · 끝나면 false(생존 시 대기)
- 테스트: 출발 자세·돌진 포즈·피격 포즈 유지·종료 뒤 대기 단언
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
- Resources/Units/liubei·zhangfei·zhaoyun·huangzhong = 스켈레탈 B단계 export(QA B 0) · guanyu = 정지 그림 유지(뒷모습 등판 B 1 → 수정 중)
- Resources/Units/cc_infantry·spear·cavalry·archer·boss_caocao · wei_infantry·spear·cavalry·archer·boss_simayi = 원화 세션 3·4차 납품(QA S4 PASS)
- UnitArtMeta.bodyHeightPx(리그 export = ppu · 정지 그림 = 불투명 폭 ≥ 30 % 행 범위) → UnitArtData.CharHeightWorld 우선 사용 — 스켈레탈 세션 안내(charHeightPx 는 무기 포함이라 긴 무기 인물이 작아짐) · 기존 meta 24개 갱신
- CLAUDE.md 아군 아트 설명
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
- UnitView: FacingBack/FacingLeft · SetFacing(세로 성분 → back/front 세트 · 가로 성분 → flipX · 거의 0 인 축은 유지 · 세트가 바뀌면 같은 동작을 새 보기 클립으로 이어 재생) · 시작 = 아군 ↗ · 적군 ↘
- ActionResolver: Face() · Move/MoveStraight/Push/Bounce/플로우/기병 돌진/궁병 사격/밀린 아군 공격에서 호출 · 기병 복귀 Move(face:false)
- 테스트 Facing_FourWays_FollowsLastMoveDirection_BounceTurnsAround(유비 아트 4방향 + 튕김 뒤 아래 보기 + 밀린 적 위 보기)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>