Commit Graph

78 Commits

Author SHA1 Message Date
깃 관리자 1532af5064 장수 스킬 아이콘 144종 + 얇은 틀 + UI 폰트 메이플스토리체·넥슨 Lv1 고딕(PD 2026-11-11)
- 스킬 아이콘 144(256² · 128² 임포트) + 얇은 사각 틀 테두리 5 = Assets/UI/Samguk/skill_icon/ · 아틀라스 UI_SkillIcon(149)
  · ui_atlas.csv theme 줄 + import 줄(새 종류 · UIAtlasBuilder.ImportMaxSize · UIThemeAssetPostprocessor 적용)
  · HeroScreens 스킬 행 = 아이콘 있으면 얇은 틀(띠 18/256) + 아이콘 105 px · 없으면 옛 두꺼운 틀 + 병종 기호
  · 컨셉 감사 후속: 42종 교체(무신 = 동양 용이 청룡언월도를 감쌈 등) · 6종 옛 그림 유지
- 폰트: 제목·숫자·버튼 = 메이플스토리체 Bold · 본문 = 넥슨 Lv1 고딕(굵게 = Lv1 Bold)
  · ui_theme.csv font 줄 3(title · body · body_bold) · UITheme.bodyFont/bodyBoldFont · UISkin.UseTitle · TextUtil.UseBody
  · Lv2 고딕 제외 = 한자·– — 가 빈 글자라 OS 폴백이 안 걸림(靑龍偃月 사라짐 실측) · 없는 글자 = OS 폰트 폴백
  · 전투 HUD 스킬 이름 한 줄 고정(높이 44 · Truncate) — 메이플 Bold 폭 때문에 「사용 가능」과 겹치던 것
  · 라이선스 원문 미확인(메이플스토리체) = Assets/UI/Fonts/README.md · 출시 전 확인
- 확인: UILayerTests + OutGameTests 16/16(검증 사본) · console error 0 · 드로우콜 옛 폰트 대비 동일(battle_hud 34 → 36)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-11 14:38:15 +09:00
깃 관리자 296732370c 스킬 PD 결정 18건 + Fable 검토 12건 반영(#1112 · 2026-11-10)
PD 결정(바뀐 6): 미기재 지속 턴 = 1(관우·손견 출혈 · 장각·가후·축융·장로 중독 · 주유 운석·불꽃 · 불꽃 닿음 화상 3턴 = zone_burn 신설) ·
손건 화친 = 피해 없이 회복만 · 장로 망령 = 다음 자기 턴 시작에 1번 공격 후 소멸(소멸 안 되던 버그 수정) · 육손 불 장벽 = 아군도(zone_hits_allies) ·
제갈근 회오리 = 공격력 100 % 피해 · 보병 목표점 명중 추가 이동 제거(BattleFlowTests 기대값 갱신)

Fable 검토(A2·B3·C7 전부 수정): 주태 검기 미발동 · 곽가 병사 재행동 오류 · 방통 지속 회복 3회 · 조인 감속 궁·책 · 사마의 광역 배율 스킬 폭발 ·
가후 중독 1명중 1회 · 장비 연속 판정(즉시형 제외) · 조범 모든 피해 무효 · 육손 아군 전액 · 서황 창병 반작용 · 맹획 지형 판정 · 부활 타격 공격자 효과

테스트(고친 부분 클래스): SkillTests 26 · BattleFlowTests 42 · GimmickTests 19 · TacticalAITests 7 · OutGameTests 15 통과 · console error 0

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-10 20:36:58 +09:00
깃 관리자 0b2f56f271 장수 스킬 144개 새 기획 구현(#1112 · PD 2026-11-10 엑셀 「장수 목록」) — 효과 표 skill_effects.csv(효과 1줄 · 한글 주석 열) · 이름 56개 새로
- 수치 SOT = Assets/Data/OutGame/skill_effects.csv(skill_id·key·target·cond·dur·p1~p3 + effect_ko·p1_ko~p3_ko 주석) · skills.csv effect_key = 키 목록 · heroes.csv gender(m|f)
- 처리기 121종(SkillKeys) · 대상 칸(자신·같은 편·진영·반경·행동 반경) · 조건 칸(치명타·상대 상태 이상·병종·성별·턴·장착 중) · 지속 라운드
- 상태 이상 = 혼란·출혈(이동 거리 비례)·중독(중첩)·화상 + 기절(기믹 행동 불가 재사용) · 정화 · 회복·흡혈·부활·무적·무효화·호위(반격)
- 재행동(유비·위연·여몽·손견·곽가·우금·맹획·감녕·고순·장합) · 치명타 확률·피해·무조건
- 이동 변형: 관통(손견·안량·손책 아군 통과) · 핀볼 튕김(손책·동탁) · 복귀(조운·손책·여포·문추·공손찬·순우경 · 하후돈 탭 지점·쓸어 감) · 위치 교환(위연) · 끌어오기(장료) · 아군 통과+탭 방향 밀치기(조조) · 반복(정보) · 난동(동탁)
- 특수 사격: 거대 화살 · 직선 관통 · 폭발(화염구·독구름·운석·화살비) · 부채꼴 · 멀티샷 · 도탄 · 회오리 · 목책 · 불 장벽·불꽃·독 지대 · 궁병식 비도 · 광역 회복
- 즉시형: 광역 타격·밀기 · 흡수 · 일제 사격 · 미인계 끌어오기 · 범위 회복·정화 · 재행동 부여 · 변진
- 가상 실행(적 AI) 스킬 상태 사본(TakeState/RestoreState) · 옛 견제 스킬 확장 제거
- 테스트(고친 부분 클래스만): SkillTests 19(새로) · BattleFlowTests 42 · TacticalAITests 7 · GimmickTests 19 · OutGameTests 15 · OutGameCTests 12 전부 통과 · console error 0

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-10 19:00:18 +09:00
깃 관리자 b383e355c8 근접 3병종 특징 재정의(#1111 · PD 2026-11-10) — 창병 견제 제거 · 크게 밀치고 적게 밀림 / 기병 복귀 제거 · 관통 이동 / 보병 = 밀치고 튕기며 연쇄 공격
- 창병: BalanceConfig.spearPushRatio 1.5 신설(보병 1.0) · spearRecoilRatio 0.5 → 0.2 · 목표점 명중 → 대기(견제) 삭제 · HUD 견제 반경·대기 중 문구 삭제
- 기병: 목표점 명중 제자리 복귀 삭제(위진소요 추가 관통 유지) · PreviewCavalryReturn · 조준 복귀 영역(ShowReturnZones) 삭제 · 결과 문구 정리
- 적 AI: ai_weights cav_return · cav_stranded 삭제(기획 tables 원본과 같음) · 관통 점수 = 적중 수 × 10
- 보병: #1098 알까기 + 연쇄 그대로(목표점 명중 추가 이동 1회 유지 = PD 확인 대상)
- 튜토리얼 1-3 이름 「창병 밀치기」 · 팁 3행 새 정의 · CLAUDE.md 충돌 규칙 · 근접 3병종 줄
- 견제·복귀 스킬 15개 = 발동 안 함 · 재설계 PD 결정 대기 → ApplyOverwatch 등 내부는 남겨 둠 · SkillTests.Spear_OverwatchSkills_* [Ignore]
- 확인(고친 부분만): 재컴파일·재임포트 error 0 · 테스트 13 통과 · 1 건너뜀

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-10 17:25:47 +09:00
깃 관리자 d48b33728a 제갈량 부채 → 깃털부채(트레이드 마크) — 세 자세 부채만 교체(캐릭터 생성 0) · 크기 표 「머리 수동」 note 지원(#1108 7차 · PD 2026-11-10)
- PD 「제갈량의 부채는 트레이드 마크라고 할 수 있는 깃털부채로 변경」 · 옛 그림 = 대기 깃털 한 가닥 막대 · 준비 종이 접이부채 · 돌진 검은 얼룩 둥근 부채
- 깃털부채 소품 1개(화풍 C t2i)를 옮겨 붙임: 대기·돌진 = 옛 자루 선 그대로 주먹 앞 · 준비 = 입을 가린 자세 + 주먹이 손잡이 위 · QA r1 B3 → S4 PASS
- Tools/unit_art_size.py: note 「머리 수동 <머리÷눈>·<정수리÷눈>」 = 소품이 얼굴에 붙어 자동 머리 폭이 소품까지 재는 그림용(비율 = 묶음 배율이 바뀌어도 맞음) · 제갈량 3.345·1.883(바꾸기 전 실측) · size 983.3 = 962.8 × 묶음 배율비 1.021(게임 크기 같음)
- 확인(고친 부분만): 아트 재임포트 error 0 · UnitArt_SizeTable 1/1 · 영웅 목록 캡처

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-10 17:11:48 +09:00
깃 관리자 499e7184ec 원격 main 합치기(스킬 이펙트 1차 · 여포 크기) — 크기 표 충돌 = 이 PC 새 칸 구조 유지 + 여포 body_px 718·메모 반영
- 충돌 1건 Assets/Resources/Units/art_size.csv: 이 PC(눈·얼굴·머리 칸 추가 · lock/adjust) 쪽을 기준으로, 원격의 여포 수정(body_px 819 → 718 · 깃털 제외 실측 메모)을 같은 행에 옮겨 적음 · meta.json bodyHeightPx 718 은 원격 그대로
- 확인: 재컴파일 성공(오류 = 원격 IB 이펙트 프리팹 첫 임포트 경고 2건) · UnitArt_SizeTable 테스트 1/1

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-10 13:59:26 +09:00
깃 관리자 f31ea226ab 로비 영웅 = 크기 표 기준으로 세움(관우만 작던 문제) · 축융 금빛 초커(턱선) · 하단 탭 글자 항상 + 선택 탭 다시 = 닫기 · 하단 탭 아이콘 5종 캐주얼 화풍(#1108 · PD 2026-11-10)
PD: 「로비에 배치된 관우의 크기만 작게 보이는 건지 체크해서 수정」 · 「축융의 얼굴 턱선이 없어서 얼굴이 너무 커보여」 · 「하단 아이콘이 선택되지 않았을 때에도 글자가 보이게 · 선택된 상태일 경우 X(닫기 버튼)처럼 동작」 · 「하단 아이콘을 우리 게임 화풍(캐주얼)에 맞게 다시 그려줘」
- 로비 원인: 출전 영웅을 칸(196×340)에 그림 틀째 맞춤 → 틀 = 세 자세 합집합이라 돌진 언월도로 넓은 관우(930 px)만 ×0.21(몸 153 px · 유비 185) → UiKit.UnitStand = 크기 표 size_px 기준 배율 + 기마 머리 끝 상한(BalanceConfig.mountedArtMaxTop) · 발 = 피벗 · LobbyUnitPx 206(유비 예전 크기)
- 축융: 맨 어깨라 얼굴·몸 피부가 이어져 턱이 없음 → 부분 다시 그리기 2 · 턱 호 덧칠 3 · 전체 재생성 1(피부가 하얘짐) 시험 → 채택 = 턱 아래 금빛 초커 덧칠(검정 외곽선 + 그림자 1단 · 생성 0 · 3자세) · 크기 표 눈 자동 측정 가능해짐 → adjust 1.18 → 1.02(카드 재현 확인)
- 하단 탭: 글자 = 모든 탭(선택 = 흰 34 · 아니면 흐린 30) · 아이콘 글자 위로 · OnTab 선택 탭 다시 = ShowLobby · VisibleTabLabels
- 아이콘: Assets/UI/Samguk/menu/tab_{hero,treasure,domestic,alliance,trade}.png = Krea 2 t2i 유닛과 같은 화풍 C · 20장 중 5 · 256² · 테마 치환(ui_delivered.csv md5)
- 테스트(고친 부분만): Lobby_Tabs_Back_ComingSoon(탭 글자 5 · 선택 탭 다시 = 로비 · 다시 열림) · UILayerTests · UnitArt_SizeTable 각 1/1 · error 0 · 캡처 lobby · hero_list

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-10 13:50:57 +09:00
깃 관리자 a30293cdc7 원격 main 합치기(리소스 PC 5커밋: 유닛 아트 112종 · UI 아틀라스 · 장비 재디자인) + 스킬 이펙트 1차
충돌 = Assets/Resources/Units/art_size.csv 1건: 원격 새 표(113줄)를 기준으로 하고 dz_boss_lvbu 줄만 이 PC 수정(body_px 819 → 718 · 깃털 제외 · 여포 크기) 다시 적용 · size_px 는 원격 재측정 447.1 유지.
CLAUDE.md 는 자동 병합(충돌 표시 0 · 양쪽 절 유지).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-10 13:29:18 +09:00
깃 관리자 838d065877 스킬 이펙트 1차 + IB(쿠로네코) 연출 시험 — 돌진·조준 UI·타격감 (PD 2026-11-10)
- 기본 공격(돌진) = IB 이펙트 그대로 시험: 앞 빛 물결 · 속도 꼬리(진영색 4색 · 멈춘 자리에서 0.12초 흐려짐) · WL 흙먼지 · 기준점 dash(아래로 갈수록 발 쪽) · 히트 이펙트 제거(PD 지정 대기)
- 슬링샷 방향 결정 UI = IB GameTouchArrow 이식(IbAimArrow · IB 유닛 반지름 0.496 기준 비율) + 진행 중 캐릭터 연출(IbUnitMarks: 발밑 원 · 몸 빛 · 조준 중 속성 방울) · 값 표 Resources/Skills/ib_ui.csv
- 기병: 복귀 영역(채운 원 · PreviewCavalryReturn) · 복귀 때 돌아서기(UnitView.TurnAround)
- 타격감: HitFeel + CameraController.Shake · 표 hit_feel.csv(IB 흔들림 값은 디컴파일에 없어 추정값)
- 액티브 스킬 1차 연출(Fable 제안 56 스킬 · 사본 Resources/Fx/TKS_Fx_Sk_*) · SkillVfx 확장(s_camp · f_fwd · f_drift · f_fade · s_over · b_flat · 트레일 페이드) · 셀화 셰이더 포트
- 2D 돌진 시험본(Dash2D · Aura2D test_aura) · 이전 시험 행은 skill_vfx.csv 에 # 주석
- 여포 크기: dz_boss_lvbu 몸 높이 819 → 718(깃털 제외 · 말 탄 유닛 머리 끝 상한 때문에 작아졌음)
- 원본 = Assets/VFX/IB(쿠로네코 · GUID 유지 · Tools/wl_vfx_import.py --skip-scripts) · 사본 도구 Tools/make_ib_fx_copies.cs · make_ib_camp_textures.py · build_dash2d.cs
- 테스트 PlayMode 118/118 통과 · 자동 재직렬화(png meta · UITheme · ProjectSettings) 제외

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-10 13:19:44 +09:00
깃 관리자 8534ef88ab 영웅 목록 = 눈 줄 맞춤 + 너무 위에 뜨던 12종 크기 조금 키움 · 보는 방향 2차(원술·허저 반전 · 축융 되돌림) · 소교·초선 얼굴·소품 차별화(#1108 · PD 2026-11-10)
PD: 「전위, 태사자 등과 같이 영웅 목록에서 위치가 너무 위쪽에 등장하는 영웅은 위치를 조금 더 내리고 크기를 약간 더 키워」 · 「여전히 방향이 반대로 되어 있는 유닛 체크」 · 「소교와 초선은 복장·헤어는 좋으나 생김새·소품(부채)이 너무 같다」
- 원인: 카드가 머리 끝(관·투구 꼭대기)을 맞춰서 관·투구가 낮은 유닛은 얼굴이 위로 뜸(카드 위 눈 높이 기존 중앙 216.5 · 허저 −62 · 전위 −48 · 태사자 −31 px)
- 크기 표 eye_up_px(대기 그림 눈 높이 · 발 위 px · 자동 + 장비·하후돈·축융 수동) → UnitArt.EyeUpPx → HeroScreens 카드 = 눈 줄(걷는 216 · 기병 210 = 기존 20종 중앙값) 맞춤 · 없으면 머리 끝 맞춤
- 25 px 넘게 높던 12종 adjust × 0.95(5 % 크게)
- 방향 판정 = 두 눈 가운데 ↔ 얼굴 피부 폭 가운데(머리 실루엣은 투구·끈에 속음) + 확대 확인 → 원술·허저 반전 · 축융 = 1차 반전이 오판이라 되돌림 · 출발·돌진 = 왼쪽 0
- 소교 = 동그란 얼굴·발그레 볼·밝은 웃음 + 대나무 피리 · 초선 = 가는 아몬드 눈·붉은 입술 + 춤 비단 리본(옷·머리 문장 그대로 · seed 51~54 중 · QA PASS B 0)
- 테스트(고친 부분만): UnitArt_SizeTable · Lobby_Tabs_Back_ComingSoon · UILayerTests 각 1/1 · error 0 · 캡처 hero_list

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-10 13:13:46 +09:00
깃 관리자 5edd87badb 영웅 목록 신규 유닛 크기 = 기존 20종 기준에 맞춤 + 대기 그림 보는 방향 오른쪽 통일(#1108 · PD 2026-11-10)
PD: 「강유, 서황과 같이 새로 추가된 유닛의 크기가 이전에 제작된 유닛과 달리 큰 것 같아 · 이전에 유닛 크기를 조정한 기준에 맞게 크기나 위치도 조정」 · 「유닛의 기본 보는 방향을 오른쪽으로 통일」
- 원인: 크기 표가 눈 간격 하나 기준 → 새 그림은 투구·관이 커서 머리 덩어리가 커짐(카드 위 머리 폭 기존 202~283 · 신규 180~349)
- art_size.csv: lock 1 = PD 확인 기존 20종 크기 고정(기준점) · 신규 = 네 지표(눈 간격 · 얼굴 폭 · 머리 실루엣 폭 · 정수리 높이) 가운데 값 × adjust(영웅 목록 카드 시뮬레이션 눈 확인 · 78종) · Tools/unit_art_size.py 측정 추가
- 대기 그림 23종 좌우 반전(왼쪽 보던 유비·관우·제갈량·주유·곽가·장합·동탁·축융 등 · 눈 가운데 ↔ 머리 가운데 치우침 판정 + 눈 확인 · 피벗 = 프레임 가운데라 발 위치 그대로) · 출발·돌진은 원래 오른쪽
- 테스트(고친 부분만): UnitArt_SizeTable(크기 표 키 = 표준 키 · 기마 > 1.2 · lock 행) 1/1 · Lobby_Tabs_Back_ComingSoon 1/1 · error 0 · 캡처 hero_list

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-10 12:19:58 +09:00
깃 관리자 9718b99a00 영웅 목록 = 미보유 영웅도 그림 카드(빈 카드 대신 · 일러 조금 어둡게 · 「미보유」 칩 · 탭 = 획득 안내)(#1108 · PD 2026-11-10 「왜 유닛 목록에 장수들의 모습이 보이지 않는거지? 이번에 추가된 리소스가 반영되도록」)
- HeroScreens: CollectionCards.Card owned 인자 · 미보유 = 레벨 배지·성장 점 없음 · ★ 높은 순 → 표 순서 · 상세 화면은 보유 전제라 미보유 탭 = 토스트(도감과 같은 안내 InfoText)
- 테마 표 ui_theme.csv: card_locked_art · tail_locked(SOT) → TKS/Import UI Theme
- 테스트(고친 부분만): Lobby_Tabs_Back_ComingSoon 에 미보유 카드 수·일러 확인 추가 1/1 · UILayerTests 1/1 · error 0
- 캡처 hero_list 1장 · 배치 134(미보유 64장 그림이 각자 다른 텍스처 → 축소 초상 아틀라스 대상)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-10 10:49:27 +09:00
깃 관리자 cd6e84ec1e 영웅 성급 변경 추가 영웅 15명 그림 + 영웅 표 72명 임포트 + 황개 무기 다시 뽑기(#1108 · PD 2026-11-10)
- 새 그림 15종(★★ 장로·유봉·간옹·손건·미축·제갈근 · ★ 엄백호·한현·금선·조범·장임·순우경·하후무·왕랑·동습 · 하후은 = 기존 적 그림) · 3자세 · 화풍 C
- 황개 출발·돌진 = 대기와 같은 긴 자루 마름모 쇠몽둥이(QA r2 B1 해소) · 엄백호 돌진 흰 호랑이 두건 · 제갈근 대기 흰 접부채 · 엄백호·축융 두건·깃털 구멍 = 생성 원본 픽셀로 메움(생성 0)
- art_size.csv 127행(기준 0.1699) · 영웅 표 = 기획 세션 복사본(heroes 87 · skills 144 · hero_gear 1728 · gacha_pool 87) → TKS/Import OutGame Data(HeroDb · SkillInfoDb · GachaConfig)
- 테스트 119/119 · console error 0

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-10 09:44:13 +09:00
깃 관리자 d21161bae5 UI 구조 절 = 조직 규칙 P41 의 이 프로젝트 구현 SOT 명시(#1109 · PD 2026-11-10 명문화)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-10 08:57:35 +09:00
깃 관리자 7522b88d87 전체 유닛 디자인 91종 + 사마의 새 화풍 반영 — 게임 표 필요 아트 112종 전부(#1108 · PD 2026-11-09 「게임에 등장할 유닛 목록을 바탕으로 모든 유닛의 디자인」)
- Resources/Units 92 폴더(front_idle·ready·action · 키아트 화풍 C · 작업 폴더 C:\ArtRnD\samguk_units)
- art_size.csv 20 → 112행 · 기준 비율 0.1687 → 0.1695(기존 20종 −0.7 %)
- Tools/unit_art_size.py: 기병 = 게임 표 병종 · 얼굴 = 몸 위쪽 절반(장비 v5 말 콧구멍 오검출) · 자동 실패 = note 「눈 수동」 값 유지(장비·하후돈·축융)
- 테스트 StageData_MissingArt_FallsBackToShapes = 아트 없는 보스가 없어져 보스 1기 아트 id 를 잠시 바꿔 도형 대체 검사
- 테스트 119/119 · console error 0 · QA r2 남은 B1 = 황개 출발 무기(PD 결정 대기)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-10 08:29:26 +09:00
깃 관리자 1b28807067 UI 구조 — 축소 초상 아틀라스 = 모든 영웅 리소스 제작 완료 후 진행(#1107 · PD 2026-11-10 결정)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-10 08:19:26 +09:00
깃 관리자 8aa804168f UI 캔버스 갱신 등급 분할 + UI 스프라이트 아틀라스(#1107 · PD 2026-11-10 「리소스·정보가 얼마나 자주 바뀌는지에 따라 캔버스를 나누어 최적화 · 드로우콜 최소화 구조」)
- 갱신 등급 3단(Static/Event/Frame · Runtime/UI/UiLayer): 아웃게임 화면마다 중첩 캔버스 · 스크롤 내용 · 재화 바 · 팝업 · 토스트 · 뽑기 결과 · 끌기 유령 분리 · UiPulse/UiPop 자동 Frame 분리
- 전투 HUD = 정적 판 루트 → Info → MinimapLive(Frame) · SkillGlow → Result · 월드맵 = 루트 → Content(스크롤) → 커서 · 팝업
- 매 프레임 갱신 코드 = 값이 같으면 대입 안 함 · UiPop 끝나면 정지
- 아틀라스 SOT Assets/Data/UI/ui_atlas.csv → Editor/UIAtlasBuilder(UI 테마 임포트 때 자동) → UI_Common 4096x2048 · UI_Content 2048x2048 · WorldMap_UI 1024x1024 · Sprite Atlas V2
- UISkin.WorldSprite = 아틀라스 자리(textureRect)로 자름
- 검증: UiLayerProbe(캡처 로그 layers 줄 + ui_layers.csv) · UILayerTests · 테스트 119/119 · 13화면 배치 합계 1124 → 439

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-10 01:05:47 +09:00
깃 관리자 182353f84a 장비 원화 재디자인 v5 — 머리에 붙는 붉은 천 두건 · 기준 얼굴 · 금 머리띠 · 목 스카프 · 가장자리 재구성(#1104 · PD 2026-11-09~10)
PD 「장비 복식·인상 = 레퍼런스(붉은 두건·갑옷·수염·표정)로」 · 반려 4회(터번 같음·가장자리 지저분 등) 뒤 앞 대기 후보 3장 중 PD 선택 C(부드러운 주름) 기준 6장.
말·자세·창 그대로 · 머리·얼굴·갑옷만. 흰 테 0(이전 v4 1082) · QA r1 B1(뒤 금 띠) 고친 뒤 r2 PASS · 플레이모드 118/118.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-10 00:43:37 +09:00
깃 관리자 445211ce87 스킬 이펙트 작업 준비 — 스킬 테스트 씬 · WL 이펙트 이식 · 이펙트 표 · 보병·창·기병 슬링샷 공격 = WL 창 돌진 이펙트 시험(PD 2026-11-09)
PD 「WL 프로젝트에서 스킬을 구현하던 방식과 동일하게 유닛 별 스킬 구현」 · 「테스트 목적: 보병, 창, 기병을 슬링샷으로 공격할 때 WL 창 돌진 공격 이펙트」
- 스킬 테스트 씬 Assets/Scenes/SkillTest.unity(SkillTestBootstrap · 메뉴 TKS/Skill Test/Build Scene): 영웅 목록 선택(heroes.csv 56) · 더미(죽지 않음 · 행동 토글 · 배치 표 Resources/Skills/skill_test.csv) · 슬링샷 · 액티브 버튼 · 쿨 무시 · 영웅 무적 · 이펙트 보기(에디터 · Assets/VFX 검색 → 영웅에 띄움)
- 이펙트 표 Resources/Skills/skill_vfx.csv → Runtime/Skills/SkillVfx(키 = 스킬 id 또는 basic_<병종> · cast/travel/hit · f_every 반복 · 사본 Resources/Fx/TKS_Fx_*) · 훅 = SkillSystem Announce/BeginAction/EndAction/Hit/Instant
- WL 이펙트 이식 Assets/VFX(약 640 MB · 빌트인 호환분만 · GUID 유지 · 도구 Tools/wl_vfx_import.py) · URP 셰이더 빌트인 이식 4종 Assets/VFX/_BuiltinPorts · com.unity.shadergraph 17.3.0 · 카메라 깊이 텍스처 켬(셰이더 그래프 소프트 파티클)
- 시험: basic_infantry/spear/cavalry travel = TKS_Fx_SpearRush · SpearRushWrap · SpearRushDust(WL WLStaffEarth rushFx 1~3 값 환산) — 표 9행 삭제 = 원래대로
- 테스트 118/118 · console error 0 · 이 PC 첫 임포트 자동 재직렬화(png·tga .meta · UITheme · ProjectSettings · InputManager)는 제외

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-09 23:13:03 +09:00
깃 관리자 f4f17943cf git 원격 origin 등록 안내(#1105 · PD 2026-11-09 「다른 PC 에서 연출 작업」)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-09 22:17:11 +09:00
깃 관리자 074882b5a1 병과 심볼 = 평면(입체감 제거)(#1104 · PD 2026-11-09 「병종 심볼에 입체감이 느껴지지 않도록」)
- 심볼 그림 = 검은 바깥 테두리 + 흰 채움만(원본 안쪽 선 = 베벨·명암처럼 보여 뺌 · Tools/class_symbols.py --inner-lum 기본 0)
- 모든 자리에서 심볼 그림자 제거(목록·도감 카드 · 영웅 상세 이름 띠·스킬 행 · 스테이지 팝업 · 전투 HUD)
- 확인 캡처 = 영웅 목록만(-uiOnly) · 테스트 118/118 · console error 0

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-09 20:20:15 +09:00
깃 관리자 d5a3b1376d 기병 카드 크게·내림 · 병과 심볼 = 검은 선 + 흰 채움 · UI 캡처 화면 지정(-uiOnly)(#1104 · PD 2026-11-09)
- 영웅 목록 카드 기병: 배율 ×0.72 → ×0.85 · 머리 끝 +24 · 전신 상한 390 → 460(말 얼굴이 카드 오른쪽 경계에 닿을 만큼 · PD 「조금 더 키우고 내려도」)
- 병과 심볼 = 검은 선(바깥 테두리 + 안쪽 선) + 그 안쪽 흰 채움(PD 「검은선 안쪽은 흰색」 · 배경 틀 없음 유지) · Tools/class_symbols.py 기본값 변경(--mono = 단색)
- CaptureUI -uiOnly <이름,접두*> = 그 화면만 찍고 바로 종료(PD 「수정된 화면만 체크 · 시간·토큰 낭비 줄여」 · 영웅 목록 1장 실측 15초 · 전체 21장 ≈ 3분) · CLAUDE.md 절차 추가
- 테스트 118/118 · console error 0

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-09 20:10:50 +09:00
깃 관리자 89a831cd46 진영 배지 · 병과 단색 심볼 전 화면 적용 + 영웅 목록 유닛 위치·기병 크기(#1104 · PD 2026-11-09 「같이 바꿔」 · 「심볼은 배경 프레임 없이 단색」 · 「발 안 보이게 · 기병 말 머리가 보이게」)
- 병과 심볼 = 단색(채움 한 색 · 안쪽 선 = 뚫린 선 · 테두리 없음 · Tools/class_symbols.py 기본값 · --outline = 구 방식) · 모든 자리에서 뒤 원 틀 제거(목록 카드 · 도감 카드 · 영웅 상세 이름 띠 · 스킬 행 · 스테이지 팝업 적 구성 · 전투 HUD 유닛 판) · 그림자만
- 진영 원 배지(위·촉·오·군) = 영웅 상세 이름 띠 · 도감 카드에도(구 세력 깃발)
- 영웅 목록 카드: 걷는 유닛 머리 끝 +36(발이 카드 아래로) · 말 탄 유닛(크기 표 mounted) ×0.72 + 전신 높이 상한 390(여포 = 크기 표 size_px 449 로 혼자 크게 나오던 것 맞춤)
- 테스트 118/118 · console error 0

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-09 19:59:56 +09:00
깃 관리자 668c4df0fd 관우 대기 그림 오른쪽 귀 = 돌진 그림의 외곽선 있는 귀를 좌우 반전해 붙임(#1104 · PD 2026-11-09 「귀가 완전히 덮여 어색 · 다른 유닛처럼 자연스럽게 귀」)
- 직전 b27edb3 = 외곽선 없는 귀 조각을 머리카락으로 메움 → PD 반려(귀가 없어 어색)
- 이번 = front_action 의 귀(붉은 면 + 안쪽 음영 + 둘레 검은 외곽선 9 px)를 좌우 반전 · 눈 간격 비율 ×1.126 으로 맞춰
  원래 귀 자리(중심 649,357 → 오른쪽 6 px) 머리카락 위에 얹음 · 생성 0(같은 원화의 다른 자세에서 오려 붙임)
- 크기 표(눈 간격) 변화 없음 · console error 0 · 테스트 = 그림만 바뀌어 미실행(직전 118/118)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-09 19:41:45 +09:00
깃 관리자 b27edb3c49 기마 크기 상한 ×1.3 · 관우 대기 그림 귀 조각 덮음(#1104 · PD 2026-11-09)
- PD 「완벽한 비율 아니어도 됨(게임적 허용) · 기마는 보병·창병보다 조금 크게 · 너무 커지지 않게 조금 줄여」:
  BalanceConfig.mountedArtMaxTop = 1.3(크기 표 mounted = 1 의 그려진 머리 끝 상한 = 표준 키 × 1.3) →
  조운·조조군 기병 ×1.56 · 여포 ×1.82 · 장비 ×1.43 · 황건 기병 ×1.38 → 모두 ×1.3(탄 사람 = 보병의 약 0.8~0.9)
  · 영웅 목록 카드는 그대로(머리 크기 같음)
- PD 「관우 옆얼굴이 깨진 것처럼 보임」: 원인 = front_idle 오른쪽 귀(붉은 조각 3,795 px)가 외곽선 없이 머리카락 사이에 끼어 있음
  → 그 조각만 둘레 머리카락으로 메움(cv2.inpaint TELEA · 검은 외곽선·얼굴 유지 · 재생성 없음) · ready·action 은 귀에 외곽선이 있어 그대로
- 테스트 118/118(기마 머리 끝 = 표준 키 × 상한 · 보병 < 기마) · console error 0

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-09 19:33:00 +09:00
깃 관리자 c64be33646 영웅 목록 = 해상도 대응 4열 · 유닛 −20 % · 진영 원 배지 · 병과 심볼(#1104 · PD 2026-11-09 영웅 목록 수정 5건)
1. 카드 축소 = 한 줄 4명(기준 1080 폭 · 칸 246 · 간격 16)
2. 해상도 대응 = UiAutoGrid(열 수 = round((폭 + 간격) ÷ (목표 칸 + 간격)) · 최소 3 · 칸 = 폭 ÷ 열 · 카드 = 원래 320×431 을 배율로) · 본문 = 화면 폭 전체 · 실측 1080×1920 = 4열 · 1536×2048 = 5열 · 1080×2400 = 4열 · 1080×2520 = 3열
3. 카드 유닛 20 % 작게(UnitPx 450 → 360)
4. 진영 = 원 배지 위·촉·오·군(UiKit.FactionBadge · 색 = 테마 fbadge_* · 촉 녹 · 위 청 · 오 적 · 군 짙은 회색) — 구 세력 깃발 대체(목록 · 편성 카드 공용)
5. 병과 = 단색 심볼(말 · 검 · 활 · 창 · 깃털부채) = Assets/UI/Symbols/cls_sym_*.png · 만든 법 = Tools/class_symbols.py(확정 납품 메달의 원본 투명 사물 그림 = 아트 R&D seed 21 의 형태 → 베이지 채움 + 안쪽 선 + 테두리 · 새로 그리지 않음) · UiKit.TypeSymbolId · 임포터 Symbols 폴더 Sprite
- 캡처 도구: 영웅 목록 1536×2048 · 1080×2400 · 1080×2520 + 열 수 로그 · 진영 확인용 위·오·군 영웅 1명씩(메모리 세이브만)
- 테스트 118/118(다른 세션 미커밋 전투 변경 포함 상태) · console error 0

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-09 19:30:58 +09:00
깃 관리자 747b3968a8 유닛 크기 = 머리(눈 간격) 기준 통일 · 기마 = 탄 사람이 보병 크기 · 위군 그림 5종 폐기(#1104 · PD 2026-11-09)
- PD 「영웅 리스트 캐릭터 크기 동일 · 말 탄 유닛도 보병·창병과 비슷한 비율」: 원인 = 그림마다 몸 키(bodyHeightPx)를 같은
  높이로 맞춰 와서, 말까지 한 그림에 든 기마는 탄 사람이 절반 크기(눈 간격/키 0.09~0.12 vs 보병 0.14~0.20)
- 크기 표 Assets/Resources/Units/art_size.csv(SOT) = 눈 간격 자동 측정(Tools/unit_art_size.py · 얼굴 피부 안 어두운 구멍 2개)
  ÷ 말 안 탄 14종 중앙값 0.1687 → size_px(머리 크기가 표준인 유닛의 키) · mounted 열만 수동(장비 · 조운 · 여포 = 1)
- 게임: FrameAnimator 배율 = size_px 기준(기마 x1.38~1.82) · TopHeight = 실제 머리 끝 → Unit.ArtHeight(HP 바 · 머리 위 표시)
- 영웅 목록 카드: 같은 px 배율 → UnitPx 450 / size_px(머리 크기 같음 · 머리 끝 위치 그대로)
- PD 「화풍이 전혀 다른 유닛 폐기」 = Resources/Units/wei_* 5종 삭제(사마의 영웅 · 위군 = 도형 대체 · heroes.csv art id 유지)
- 테스트 118/118(+1 UnitArt_SizeTable_SameHeadSize_MountedRiderLikeFoot) · console error 0

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-09 19:23:50 +09:00
깃 관리자 d16d354873 편성 B 패널 하단 여백 + Play 중단 작업 지침(#1104 · PD 2026-11-09 「고쳐」 · 「플레이 중이더라도 중단하고 작업해」)
- 편성 「보유 영웅」 패널 h 724 → 708(절대 1028~1736) · 격자 아래 끝 1730 · 그림자 아래 ~ 탭 바 바탕 틈 12 → 29 px(Fable 재검수 결함 4 · 원본 캡처 실측)
- CLAUDE.md: 「Play 중이면 Assets 쓰기·리컴파일 금지」 → 「Play 중이어도 editor.playmode stop 후 바로 작업」(PD 지시 2026-11-04 · 11-09 재확인)
- 테스트 117/117 · console error 0

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-09 18:29:50 +09:00
깃 관리자 394a7fec4e Fable 검수(나머지2) 결함 반영 — 보물 상자 · 연무장 · 내정 · 전투 HUD(#1104)
- 보물 상자: 카드 뒤 무대(문양 흰 5 % + 바닥 그라데이션) · 카드 680×760 · 상자 320 + 흰 금빛 600 · 확률 칩 h60 글자 30 · 내용물 줄 = 카드 아래 어두운 띠 위 흰 글자 · 상자 행 선택 = 흰 테두리 깜빡 + 1.08 배 · 비선택 어둡게 25 % · 기본 선택 = 보유 > 0 인 첫 상자(직접 고르기 전까지)
- 연무장: 「이벤트」 = 카드 안 꼬리 칩(돌출 0) · 일일 던전 입장 칩 아이콘(달력) · 아이콘 칩 글자 왼쪽 정렬(InfoChip 공통)
- 내정: 게이지 800(명세) · 누적 시간 = 게이지 아래 줄
- 전투 HUD: 스킬 상태 = 한 줄 짧게(사용 가능 · 예약됨 · 쿨 n턴 …) · 뒤 금빛 560 · 위 안내 문장 = 어두운 칩 위 칸 맞춤(잘림 제거) · 유닛 판 y 150 · 칩 h56 글자 30 · HP 28
- 결과: 금빛 안쪽 한 겹 추가
- 검수 결함 1(내정 「전 규격 55~70 % 축소」)은 원본 1080×1920 캡처 실측(제목 띠 ≈ 69 · 수확 버튼 128)으로 축소 그림 환산 오류 판단 · 게이지 길이만 실제 차이 → 반영
- 테스트 117/117 · console error 0

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-09 18:23:18 +09:00
깃 관리자 896c5237c6 Fable 검수(나머지1) 결함 1~10 반영 — 결과 · 공용 팝업 · 거래(#1104)
- 결과: 결과 단계 HUD 전체 숨김(BattleHUD.HideOnResult · 제목 2중 제거) · 「다시」 = 군량 비용 칩(부족 = 회색) · 「첫 클리어」 글자 → 타일 「첫」 뱃지 · 레벨업 = 노란 글자 칩 + 위 화살표 · 패널 = 섹션 패널 층(프레임 #3F4262 + 필드 + 광택) · 높이 1180 → 1080
- 팝업: 제목 띠 색 통일(popup_band #1F2138) · 스테이지 팝업 띠 h110 + 왼쪽 스테이지 칩 · 본문 필드 위 126 · 출정 버튼 바닥 여백 52 · 군량 팝업 디버그 문구 삭제 · 「보기」 = btn_green(비율 통일)
- 행 판 통일: row_on_field = 흰 8 %(결과 · 팝업 · 거래 · 내정 전부 밝은 행)
- 거래: 「픽업」 = 배너 안 뱃지 하나(칩 = 「기간 2주」) · 배너 600 · 천장 176 · 확률 행 80 · 버튼 행 탭 바 위 24 고정 · 픽업 그림 = 아트 있는 영웅만 크게 + 이름 칩(「기」 자리 원 제거)
- 테스트 117/117 · console error 0

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-09 18:19:06 +09:00
깃 관리자 4f22c4e091 보물 · 연무장 · 내정(순찰) · 전투 HUD 비주얼 개선 = Fable 제안서 §4-5~§4-8 구현(#1104 · PD 2026-11-09)
- 보물: 목록 바탕 · 서브탭 · 보유 칸 = 보물 아이콘(납품 tre_* 없으면 기본 스탯별 팩 임시 tre_stat_* · 미보유 흰 25 % 실루엣) + 이름 띠 CardFrame01_Bottom · 등급 범례 칩 Round10 · 효과 줄 칩
  상자 탭 = 포인트 띠 BannerFrame05 + 가는 주황 바 + 보상 상자 · 상자 카드 CardFrame03(상자 색 + 안쪽 + 광택) + 상자 300 + 뒤 금빛 · 등급 칩 + % 한 줄 · 화살표 아이콘 · 열기 Primary 노랑 + 보유 칩(없으면 회색) · 상자 행 ItemFrame 150 + 수량 칩 + 선택 FocusLine 깜빡
  상자 색 = 코드 상수(ChestColor) → 테마 chest_<id> · 칸 색 chest_<id>_bg/deco/light/glow(C45)
- 연무장: 목록 바탕 · 카드 = 일러 자리(픽토그램 256 흰 25 % · 임시) + 요약 한 줄 + 어두운 판 칩 2줄(입장 아이콘 + 값 · 보상 칸 76) + 상태 칩 · 규칙 문장 → ⓘ 팝업 · 적장 토벌 「이벤트」 뱃지
- 내정 순찰: 목록 바탕 · 서브탭 · 섹션 「순찰」(레벨형 게이지 군량색 + 배지 「7h」) · 「시간당 수확」 스탯 칸 4(아이콘 64 · 값 44 Sen) · 「쌓인 보상」 타일 4 + 수량 칩 · 수확 Primary 녹 · 광고 2배 Secondary 하늘 + 횟수 · 즉시 Secondary 보라 + 보옥 비용
- 전투 HUD: 유닛 판(초상 원 마스크 + 이름 · 병종 원 · 체력 바 색 단계 · 공/방 칩 · 슬링/사거리 칩 · 상태) · 수 칩 = 아군/적 아이콘 + 숫자 · 스킬 사용 가능 = 뒤 금빛 호흡 · 기본 조작 문장 삭제(상황 안내 유지)
- 공통: Sen 에 「×」 글리프가 없어 수량은 「x」 · 회색 버튼 글자 흰 외곽선 · 금빛 틴트 α 1(Glow_Circle01 가운데 α 0.5 실측)
- 테스트 117/117 · console error 0

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-09 18:12:53 +09:00
깃 관리자 ca8b4cc5e0 전투 결과 · 공용 팝업 · 거래 비주얼 개선 = Fable 제안서 §4-2~§4-4 구현(#1104 · PD 2026-11-09)
- 전투 결과: 별 받침 원 + 큰 별(Icon_Star_On/Off 한 벌) 0.15 s 튀김(UiPop) · 조건 행 3(체크/엑스) · 보상 타일(ItemFrame 5층 + 수량 칩 · 장비 = 등급 칸 · 상자) · 「다시」(같은 노드 재출전 · 군량 확인 · WorldMapScreen.RetryLast · 화면 탭은 이 버튼 위만 제외 = SlingshotInput.HoldResultTap) + 「확인」 Primary 노랑 · 리본 뒤 금빛(호흡)
- 군량 팝업: 필드 인셋 · 현재 군량 블록 · 교환 행 2(비용 → 군량 · 오늘 횟수 · Secondary 하늘/녹 · 다 쓰면 회색) · 닫기 = X 만
- 스테이지 팝업: 필드 인셋 · 적 구성 병종 원 ×n + 장수 칩 · 보상 타일 4(첫 클리어 뱃지) · 별 조건 행 3 · 출정 = 붉은 Primary + 군량 비용 · 소탕 = 녹 Secondary · 닫기 버튼 삭제(PopupFill · CostOf 훅)
- 거래(뽑기): 목록 바탕 · 서브탭 Round10 · 배너 아래 문양 띠 + 「픽업」 뱃지 · 천장 = 레벨형 게이지 + 노랑 배지 · 확률 = 섹션 패널 + 제목 띠 + 행 3(별 · 바 · %) · 1회 Secondary 하늘 + 보옥 비용 · 10연 Primary 노랑 + 「첫 무료」 꼬리 칩 · 각주 → ⓘ 팝업
- UiKit 공용 부품 ②: At · SkinBtn · BtnCost · SubTab/SetSubTab · Gauge/SetGauge · InfoChip · QtyChip · RewardTile · CondRow · SubTitle
- 테마 행 추가(ui_theme.csv): 버튼 btn_l_yellow·btn_l_red · 소제목 선 · 큰 별 · 뱃지 · 배너 문양 · 상자 색(구 TreasureScreen.ChestColor 상수 이관 준비) 등
- 테스트 117/117 · console error 0

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-09 18:03:43 +09:00
깃 관리자 9a05b9a0ca 편성 = Fable 검수(2차) 결함 1~8 반영(#1104)
- 1 패널 프레임 = 외곽선 없는 BasicFrame_Round20 #3F4262(이전 BorderFrame_Round20 은 스프라이트 자체 검정 외곽선이라 틴트해도 검정 선으로 보였음) → 밝은 림 6 px
- 2 문양 3 % · 열 밴드 8 % · 3 저장 비활성 = 회색 스프라이트(녹 × 회색 = 녹 유지 문제) · h56 · 제약 칩과 세로 정렬 · 바뀌면 녹 + 알림 점 20
- 4 패널 A 236~996 · B 1028~1752(홈 ≥ 16 · 탭 바와 18) · 바닥 그라데이션 h100 · 5 보유 격자 빈 칸 = 고스트 카드(최소 8칸)
- 6 출전 덮개 20 % · 초상만 · 체크 뱃지 48/28 별 위로 · 7 라벨 140×60 · 30 px · 라벨 칸 세로 띠 · 8 프리셋 행 +8 · 출전 꼬리 64×30 탭 안쪽 · 전투력 칩 정렬

테스트 117/117 · console error 0

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-09 17:16:44 +09:00
깃 관리자 4c2692b555 로비 비주얼 개선 = Fable 제안서 §4-1 구현(#1104 · PD 2026-11-09)
- 진행 띠(어두운 둥근 판 + 지도 핀 + 「제n장 이름」 + 진행 바 n/m) · 위 비네트(Glow_Panel01) · 아래 버튼 뒤 어두운 띠
- 좌우 세로 버튼 열(Button_Round03_Dark 166×150 · 아이콘 92 · 라벨 28): 임무 · 우편 · 동맹(준비 중 = 흐림 + 자물쇠) / 상점(거래 상점) · 상자(보물 상자 + 보유 수 알림) · 이벤트(준비 중)
- 아래 버튼 행: 편성 · 연무장 = Button_Circle122 원(진남) + 아이콘 76 + 라벨 30 · 출정 = Button_Tapered_White1/2/3 3층(붉은 옻칠 + 광택 + 하이라이트) 「출정」 64 + 칩 「챕터 n · n-m」
- 테마 행 17

테스트 117/117 · console error 0

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-09 17:10:25 +09:00
깃 관리자 323658a91d 편성 화면 비주얼 개선 = Fable 제안서 §3 구현(#1104 · PD 2026-11-09 「프레임 구분 · 디자인 요소 · 카피바라GO·탕탕특공대 조사 → Fable 제안·검토」)
- 섹션 패널 2개(출전 편성 · 보유 영웅) + 바탕 홈 16 = 그림자 → 프레임 #3F4262 → 필드 #262840(마스크) → 문양 타일 5 %(A) → 바닥 그라데이션(A · Glow_Panel01 뒤집기 · 실측 = 위 불투명) → 윗면 광택
- 제목 띠 Title_Tapered02 #121A33 + 수량 뱃지 · 제약 칩(ⓘ = 편성 안내 팝업 · 안내 문장 이관) · 저장 = 녹 Secondary(바뀐 것 없으면 비활성 색 · 바뀌면 알림 점) · 프리셋 탭 + 출전 꼬리 칩 · 총 전투력 칩
- 전열/후열 밴드(흰 6 %) + 구분선 + 평행사변형 칩 · 자리 받침(#1A1C2E + 광택) · 자리 카드 × 0.62 · 빈 자리 = 원본 빈 카드 + 초록 플러스 뱃지 · 선택 = FocusLine 노랑 깜빡(UiPulse)
- 보유 목록: 「장수 ▼」 칩 · 출전 중 = 꼬리 칩 + 35 % 덮개 + 초록 체크 뱃지 · 위·아래 스크롤 페이드
- UiKit.SectionPanel / SectionTitle / ScrollFades(다른 화면 공용) · 테마 행 26

테스트 117/117 · console error 0

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-09 17:07:21 +09:00
깃 관리자 939275d105 영웅 목록 출전 칩 · 빈 카드 문양 + 편성 화면 = 영웅 목록 카드로 재구성(#1104 · PD 2026-11-09)
- 영웅 목록: 「출전」 = 깃발 아래 왼쪽 가장자리 · 빈 카드 = 팩 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>
2026-11-09 13:56:07 +09:00
깃 관리자 f0d0a90a1f 영웅 목록 카드 조정(#1104 · PD 2026-11-09): 유닛 크기 동일 비율 + 왼쪽 위 진영 · 오른쪽 위 병종 · 이름 아래 출전
- 일러 = 전 유닛 같은 배율(원본 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>
2026-11-09 13:22:34 +09:00
깃 관리자 64a1dd5795 Tools/prefab_tree.py — 팩 데모 프리팹 계층·앵커·크기·스프라이트·색·글자 추출(화면별 레퍼런스 재제작용 · #1104)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-09 12:44:46 +09:00
깃 관리자 33663ecea0 영웅 목록 = 레퍼런스(팩 Collection_List) 형태로 재제작(#1104 · PD 2026-11-09 「영웅 목록은 첨부한 레퍼런스 UI 형태로 다시 제작」)
- 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>
2026-11-09 12:44:06 +09:00
깃 관리자 b5495f49ac UI 상업용 재설계 ③⑦⑧ 편성 자리 · 연무장 카드 · 내정 쌓인 보상(#1104) — 설계서 §3③ · §3⑦ · §3⑧
- 편성: 자리 = 등급 빛 원(Glow_Circle01 α 0.5) + 등급 색 원 틀 초상 + 병종 원 + 꼬리 이름 칩 · 빈 자리 = 진청 원 + Icon_Face 실루엣 · 필드 #0E7FF2 · 전열/후열 평행사변형 칩 · 헤더 부제 삭제
- 연무장 4카드: CardFrame04 카드색(탑 청 · 던전 자 · 투기장 적 · 토벌 주) + 빛 + 테두리 + 어두운 글자 판 + Title_Ribbon01 리본 제목
- 내정 순찰 쌓인 보상: ItemFrame 5층(청) + 아이콘 84 + 수량 38
- 테마 행: 스킨 7(card4 3 · 리본 4) · 아이콘 1(face) · 색 9

테스트 117/117 · console error 0

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-09 12:24:04 +09:00
깃 관리자 5e79b9b0ea UI 상업용 재설계 ②⑥ + 전 화면 바탕(#1104 · PD 2026-11-09 「나머지 UI · 유물 등도 진행」) — 영웅 카드 CardFrame01 5층 등급색 · 보물 칸 ItemFrame 5층 등급색 · 양피지·종이 폐기(목록형 B 바탕 + 어두운 패널 + 흰 글자)
- 테마(설계서 §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>
2026-11-09 12:20:32 +09:00
깃 관리자 14bec33f2b UI 상업용 재설계 ① 영웅 상세 + 공통 크롬(#1104) — 확정 목업 hero_detail.html 좌표·부품·색(본문 y = 목업 y − 224)
- 영웅 상세: 등급 색 바탕(글로우 + 문양 타일 · 화면 전체) · 전투력 칩 · 일러(빛 원 · 그림자 · 좌우 밀기 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>
2026-11-09 11:11:20 +09:00
깃 관리자 8d58487517 UI 상업용 재설계 ① 팩 Demo 스프라이트 4종 + 테마 행(#1104) — Glow_Panel01 · Pattern01 · Glow_Circle01 · Image_Oval(meta 포함) · ui_theme.csv 스킨 32 · 아이콘 8 · 색 98(등급 색 세트 6×7 · 장비 칸 등급 6×4 · 크롬·글자)
- 값 = 목업 hero_detail.html(SP 표 · SETS) · 설계서 §2-1 · 흰(병사) row/band = 추정
- pill ppu 0.5 · plus 인셋 · tab_focus = Menu_BottomBtn_TabFocus 로 교체(+ tab_focus_light)
- UIThemeTests: 팩 원본 보존 검사가 납품 반영 뒤에도 맞게 IconEntryOf().pack 비교

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-09 11:11:19 +09:00
깃 관리자 121c19eed7 UI 상업용 재설계 ① 납품 반영(#1104) — 신규 UI 8묶음(class · currency · menu · gimmick · chest · gear · logo_skill · frame_bg) → Assets/UI/Samguk · 기믹 gim_* → Resources/Gimmicks/Art · ui_delivered.csv
apply_delivery.py apply --all --kind ui · md5 OK 85 · 팩 치환 44 · 새 id 41(gim_* 30 · logo_title · skill_* 10)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-09 11:11:03 +09:00
깃 관리자 028b48cd9a 검증 사본 미러 도구(Tools/mirror_verify.py) — Assets·Packages·ProjectSettings 바뀐 파일만 복사 · 없는 파일 삭제(UI 재설계 구현 이관용)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-09 10:48:38 +09:00
깃 관리자 d73c606e46 UI 리뉴얼 A-2~A-4 화면 적용(PD #1100) — 팩 부품 + UI 테마(id 치환) · 화면 10종 · 인박스 ui kind
- 테마: SOT Assets/Data/UI/ui_theme.csv(색 57 · 스킨 32 · 아이콘 63 · 제목 폰트) → 메뉴 TKS/Import UI Theme → Resources/UI/UITheme.asset
  (Runtime/UI/UITheme · UISkin · Editor/UIThemeImporter · ProjectSetup 에서도 임포트) · 화면 코드는 id 로만 묻는다(스프라이트 경로 0)
- 신규 제작(B) 치환: Assets/UI/Samguk/**/<id>.png → 임포트 시 같은 id 스킨·아이콘 자동 치환(팩 보존 · 새 id = 아이콘 추가) ·
  Tools/apply_delivery.py ui kind(md5 → Samguk/<group> · gim_* → Resources/Gimmicks/Art · ui_delivered.csv)
- 공통: UiKit(카드 = BorderFrame_Round20 틴트 · 버튼 = Button01_s + 광택 · 원 · 진행 바 = Slider_Basic01 · 초상 틀 · 등급 칸 ItemFrame02 · 별 줄 · 병종 배지)
  · 재화 바(ResourceBar + cur_* 아이콘) · 하단 탭(선택 판 + PictoIcon) · 제목 띠 · 팝업(Popup Topber + 닫기 X) · 토스트
- 화면: 로비(키아트 04 배경 위쪽 ×1.22 · 출정·편성·연무장 아이콘) · 영웅(등급 칸 + 장비 아이콘 · 체크/알림 점 · 별 아이콘) · 편성 · 거래(배너 · 상자 아이콘) ·
  보물(상자 아이콘 · 포인트 배지) · 내정(보상 줄 · 도면·골드 아이콘) · 연무장 · 결과(리본 · 별) · 월드맵 스테이지 팝업만 팩(거점 kit 유지)
- 전투: HUD 칩 · 턴 띠 · 원형 스킬 버튼 + 쿨 라디얼 · 유닛 체력 바 · 기믹 내구 핍 = 팩 슬라이더(월드 9-slice 사본 · 가운데 2 px) · 조준선 색 유지
- 3:4(1536×2048): 본문 비율 축소(UiFitHeight · 1080×1920 = 그대로)
- 검증: 플레이모드 116/116(기존 115 + UIThemeTests 1) · 컴파일 0 · error 0 · 캡처 = DataImporter.CaptureUI(UICaptureDriver · 15장)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-06 23:20:57 +09:00
깃 관리자 43856e70cb UI 리뉴얼 A-1 팩 임포트(PD #1100) — Layer Lab GUI Pro-SuperCasual → Assets/UI/GUIPro
- ResourcesData/Sprites/Components/** 전부(PNG 2,217 · 원본 meta = Sprite(2D) · 9-slice 보더 포함) + Prefabs/Prefabs_Component_* 6 폴더(프리팹 448 · 참고용 · 런타임 미사용) + 폰트 2(Cairo-Black · Sen-ExtraBold)
- 제외 = Demo · Scene · Preview · PSD · TMP SDF 폰트 자산(프리팹의 Demo 스프라이트·SDF 폰트 참조는 비어 있음 · 미사용)
- Sen-ExtraBold.ttf.meta fontNames 에 Malgun Gothic 폴백 추가(제목 한글 = 맑은 고딕 · PD 한글 폰트 결정 전)
- 빌드 = Resources 밖이라 화면이 참조한 스프라이트만 들어감(안 쓰는 PictoIcons 자동 제외) · 라이선스 = PD 보유 에셋(재배포 금지)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-06 23:20:25 +09:00
깃 관리자 eda18a939e 145 스테이지 지형 기믹 배치(PD #1097 후속 · 레벨 배치 세션)
- 데이터: 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>
2026-11-06 02:05:30 +09:00
깃 관리자 8a7c565609 강·안개 개정(PD 2026-11-06 #1101) — 강 = 늪처럼 통과(강 안 ×2 · 다리 = 효과 없음 · 기병 넉백 0) · 강가·다리에서 밀려 강물에 들면 30 % + 1턴 · 안개 = 원거리 피해(화살·책사) ×0.5 · 표적 정상 · 책사 광역이 그 반경 안개를 걷음
- gimmicks.csv river(kind zone · p3 2.0) · fog(p1 = 원거리 피해 배율) · bridge(desc) · 강 콜라이더 조각 폐기
- 강제 이동 기록 = 구간(From·To) → 강물 진입 판정 · Combat.Damage 원거리 = 안개 ×p1 · 안개 걷힘 = SpriteMask
- 테스트 113/113(강·안개 2건 새 규칙) · console error 0

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-06 01:42:15 +09:00
깃 관리자 98f675dfda 지형 기믹 레이어(PD #1097 세션 D) + 병종 규칙 개정 2건 · 예측 시뮬레이션 적 AI(PD #1098)
- 데이터: 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>
2026-11-06 01:20:07 +09:00