fcc103227c
refactor(gen): lib/data.mjs로 데이터·lua 테이블 추출 (출력 바이트 동일)
...
gen-slaydeck.mjs의 데이터 로드·검증·luaXxxTable·게임상수(라인 3~188)를
tools/deck/lib/data.mjs로 이동, import로 연결. 산출물 무변경(diffcheck로 검증).
+ tools/verify/diffcheck.mjs: 워킹트리 vs HEAD 줄바꿈 정규화 비교(deny 회피) 게이트.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-16 02:30:28 +09:00
44878bab9e
docs(plan): 생성기 모듈화 Phase 1 구현 계획 (lib/+hud/, 바이트 동일 게이트)
2026-06-16 02:24:52 +09:00
064d81d424
docs(spec): 생성기 모듈화(Phase 1) + 하이브리드 UI 로드맵 설계
...
gen-slaydeck.mjs UI emit 16종을 lib/+hud/ 모듈로 분리(출력 바이트 동일·무위험).
codeblock 메서드 제외. 하이브리드 단계적: Phase2 캐릭터선택 메이커 저작 파일럿.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-16 02:20:53 +09:00
aa872afa7b
Merge pull request 'feat(charselect): 직업 선택 캐릭터 이미지 + 뒤로가기' ( #65 ) from feature/charselect-images into main
...
Reviewed-on: #65
2026-06-16 01:19:09 +09:00
1eb6622cf5
chore(assets): 캐릭터 초상화 스프라이트 임포트
...
메이커 로컬 임포트 .sprite 디스크립터. 이번 직업 선택 화면은 기본 3종
(warrior/mage/bandit)을 사용. 나머지(hero·palladin·darkknight·archmage×2·
cleric·nightlord·shadower·bowmaster·hunter·pirate·singung)는 향후
2차 전직 선택 이미지용으로 임포트해 둠.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-16 01:16:18 +09:00
8309b25ec5
chore: 산출물 재생성 (charselect 캐릭터 이미지 + 뒤로가기)
...
node tools/deck/gen-slaydeck.mjs 산출물. 소스 변경(이전 커밋)의 결정적 재생성.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-16 01:16:07 +09:00
00903f2659
feat(charselect): 직업 카드 캐릭터 이미지 + 뒤로가기 (소스)
...
- data/characters.json 신설(전사/법사/도적 초상화 RUID 단일 소스), 생성기 로드·검증
- CharacterSelectHud: 단색 박스 → 카드 전체 캐릭터 이미지(Art 풀블리드 258×318)
+ 하단 이름 배너(NameBanner), Portrait/Desc 제거
- RenderCharacterSelect: 선택 시 카드 테두리 금색(Art 6px 인셋 뒤로)
- BackButton 추가 + BindMenuButtons 바인딩 → ShowLobby(로비 복귀), prop CharBackHandler
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-16 01:16:00 +09:00
f2c470f972
docs(plan): 직업 선택 캐릭터 이미지 + 뒤로가기 구현 계획
2026-06-16 01:08:00 +09:00
2e8a1ab869
docs(spec): 직업 선택 캐릭터 이미지 + 뒤로가기 설계
...
CharacterSelectHud 단색 박스 → 캐릭터 이미지 카드(이름 하단 배너·선택 금색
테두리), 뒤로가기→로비. data/characters.json 단일 소스(메이커 임포트 RUID).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-16 00:59:43 +09:00
4228f58b09
Merge pull request 'fix(monster): MonsterAttack.OnBeginPlay AnimationClip 타입가드 (LEA-3023/2007)' ( #64 ) from fix/monsterattack-animationclip-guard into main
...
Reviewed-on: #64
2026-06-16 00:47:40 +09:00
5e0eca6cdf
fix(monster): MonsterAttack.OnBeginPlay AnimationClip 타입가드 (LEA-3023/2007)
...
증상: 전투맵 진입 시 몬스터마다 [LEA-3023] TypeMismatch(AnimationClip) +
[LEA-2007] AttemptToIndex(clip nil) 서버 로그 스팸(몬스터 수만큼 반복).
원인: MonsterAttack.OnBeginPlay(chasemonster 모델 상속·메이커 저작·생성기 없음)가
정적 Sprite인 SpriteRUID를 _ResourceService:LoadAnimationClipAndWait에 넘김 →
AnimationClip이 아니라 nil 반환(LEA-3023) → clip.Frames[1] 인덱싱(LEA-2007).
이 멜리 공격 로직은 카드 기반 턴제 전투에서 호출하는 코드가 전혀 없는 죽은 코드라
크래시 외 게임 영향은 없으나 로그를 더럽힘.
수정: LoadAnimationClipAndWait 호출 전 GetTypeAndWait가 ResourceType.AnimationClip이
아니면 early-return + clip nil 가드. 정적 스프라이트 몬스터는 공격범위 설정을 건너뜀
(원래 미사용), 애니메이션 클립 몬스터는 기존대로 동작.
주의: MonsterAttack은 생성기 없는 메이커 저작 codeblock이라 디스크 직접 패치.
적용하려면 메이커에서 로컬 워크스페이스 reload 필요.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-16 00:37:36 +09:00
4da934585c
Merge pull request 'docs(harness): RULES/CLAUDE/settings를 현재 저장소 상태와 동기화' ( #63 ) from feature/harness-sync into main
...
Reviewed-on: #63
2026-06-16 00:13:23 +09:00
49069a16cf
docs(harness): RULES/CLAUDE/settings를 현재 저장소 상태와 동기화
...
P14/P15/노드맵 작업으로 생긴 산출물·생성기가 하네스 문서에 미반영이던
드리프트를 정정 (개인 메모리에만 있던 내용을 공용 하네스로 승격).
- RULES §1 표: `map01~map11` → `map01~map05` + `lobby.map`(P14 5막화),
크기 정정(ui ~7.1MB·controller ~270KB), 누락 산출물 추가
(CombatMonster/PlayerLock/MapCamera/LobbyNpc/LobbyMobility codeblock,
Global/SectorConfig.config)
- RULES §1: deny glob 범위 + 메이커 저작 codeblock/UI 금지 + 보조 생성기
10종 인벤토리(생성기→산출물 매핑) 명시
- .claude/settings.json: deny를 glob화(`ui/*.ui`·`RootDesk/MyDesk/*.codeblock`)
해 전 산출물(PopupGroup/ToastGroup.ui, codeblock 12종) 커버 + SectorConfig.config
- CLAUDE.md: 크기 정정(8.3MB→~7.1MB)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-15 23:59:28 +09:00
44010e0fce
fix(camera): 전투 진입 시 StS2 고정 카메라 재적용(KickCombatCamera)
...
회귀: 로비 follow(ConfineCameraArea=false)로 푼 공유 카메라가 전투맵에서 플레이어 중심으로 보임 — MapCamera의 1회성 true-set으론 재confine 안 됨. StartCombat에서 플레이어가 전투 위치(-6) 정착 후 false→true '킥'(0.2s)으로 재confine해야 StS2(플레이어 좌·몬스터 우) 복원(맵 로드 시점엔 텔레포트/낙하 중이라 바운드 오계산). data/camera.json 값 사용, 로비 follow 불변.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-15 23:26:55 +09:00
efa32d0a8f
Merge pull request 'Add card keyword hover tooltips' ( #60 ) from codex/card-keyword-tooltips into main
...
Reviewed-on: #60
2026-06-15 23:22:04 +09:00
7c776864e2
Add card keyword hover tooltips
2026-06-15 23:15:04 +09:00
72370aab23
Merge pull request 'Fix combat target cleanup and damage popups' ( #59 ) from codex/fix-card-target-ui-dmgpop into main
...
Reviewed-on: #59
2026-06-15 23:05:46 +09:00
5377112826
Merge pull request 'feat: 노드 맵 UI 강화 — 아이콘 노드 + 다크 배경 (nodeicons.json 외부화)' ( #58 ) from feature/node-map-ui into main
...
Reviewed-on: #58
2026-06-15 23:05:25 +09:00
8a5b0d4f8d
Fix combat target cleanup and damage popups
2026-06-15 22:46:10 +09:00
6c35d959ac
feat(node-map): 임시 scenic 배경(Critias 도시 스프라이트) + BgImage 어둡게 틴트
...
배경을 작동하는 map/back SPRITE RUID로 교체(메이플 BackgroundComponent 대신). BgImage 색을 0.5로 낮춰 노드 가독성 확보. 교체는 data/nodeicons.json background만 수정.
2026-06-15 15:59:43 +09:00
67d21a9619
feat(node-map): 우측 하단 노드 종류 범례 + 잠김 노드 밝기 상향(0.45→0.85)
...
범례: 6타입 아이콘+이름(전투/엘리트/보스/상점/휴식/보물) 패널(우하단). 잠김 노드 틴트를 밝게 해 타입 식별 가능.
2026-06-15 15:56:22 +09:00
b1d0af311a
fix(node-map): 루트 불투명 다크 배경 + BgImage 자식(스프라이트 RUID만 렌더)
...
메이플 BackgroundComponent 리소스는 UI 스프라이트로 안 떠서 배경 이미지 미표시 → 루트를 불투명 다크로 깔아 월드 누출 방지, BgImage 자식에 background RUID(유효 스프라이트면 표시). 노드 아이콘·상태 틴트는 정상 검증.
2026-06-15 14:35:38 +09:00
5b41eb78a4
feat(node-map): MapHud 배경 이미지+오버레이, 노드 아이콘화(라벨 제거·확대), RenderMapNode ImageRUID+상태 틴트
...
타입별 공식 아이콘(주황버섯/골렘/발록/돈주머니/모닥불/상자) + 리스항구 배경. 절차 배치·간선·바인딩 불변.
2026-06-15 14:26:28 +09:00
3902c9b1ee
feat(node-map): nodeicons.json 외부화 + 생성기 로드·검증·NodeIcons 직렬화
2026-06-15 14:22:32 +09:00
d1e51878c3
docs(node-map): 노드 맵 UI 강화 구현 계획
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-15 14:21:04 +09:00
cc945fce8b
docs(node-map): 노드 맵 UI 강화 설계 spec (아이콘 노드+배경, nodeicons.json 외부화)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-15 14:17:01 +09:00
9966065409
docs(readme): P13~P15 + codex 반영 최신화 (로비 맵·NPC·영혼·도적·메소·카메라 추종)
...
P12 기준이던 README를 현재 구현 상태로 갱신:
- 디렉토리 구조: map01~05+lobby(6), data 6종(cardframes/camera 추가), tools 신규(gen-lobby-map/npc·verify), 신규 codeblock 5종
- 기능표: 로비 마을(NPC 4종·근접/클릭·로비 한정 이동/공격·카메라 추종), 도적 클래스, 카드 122장, 영혼 메타, 커스텀 프레임, 메소, 5막화, retain/sly discard/데미지 팝업(codex)
- 유용한 스크립트 호출·산출물 재생성 명령 갱신
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-15 10:17:36 +09:00
bc9bc78cef
Merge pull request 'feat(lobby): 로비 카메라를 플레이어 추종(follow)으로' ( #57 ) from feature/p15-lobby-camera-follow into main
...
Reviewed-on: #57
2026-06-15 08:32:02 +09:00
9cb5e1abff
feat(lobby): 로비 카메라를 플레이어 추종(follow)으로 — 전투맵은 고정 유지
...
로비 루트에서 script.MapCamera 제거(고정 framing 억제 해제) + LobbyMobility가 진입 시
ConfineCameraArea=false·ScreenOffset(0.5,0.5)·Zoom 90으로 플레이어 추종 카메라 설정.
MSW 카메라는 기본 follow이고 ConfineCameraArea=true가 그걸 억제하므로 false가 핵심.
검증: 로비 우측 이동 시 플레이어 중앙 유지+배경 스크롤, 런 시작→map01 Confine=true 고정, 복귀→follow 복원(누설 없음).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-15 08:05:22 +09:00
1fce0b284a
Merge pull request 'feat(bandit): STS2 사일런트 카드풀 및 직업 탭 정리' ( #56 ) from codex/class-tabbed-codex into main
...
Reviewed-on: #56
2026-06-15 07:27:24 +09:00
e269154d17
feat(combat): render monster damage popups with digit skins
2026-06-15 01:10:20 +09:00
b65d4af1eb
fix(ui): show target marker only while dragging
2026-06-15 00:51:50 +09:00
d5318ac86b
feat(ui): style monster damage numbers
2026-06-15 00:50:17 +09:00
bd91c67483
feat(ui): add prominent target marker
2026-06-15 00:47:24 +09:00
b43ee02014
feat(cards): implement retain keyword
2026-06-15 00:45:11 +09:00
6427d23f50
feat(cards): highlight drag target monster
2026-06-15 00:42:40 +09:00
b40c8d11d8
fix(combat): clear temporary curse cards after combat
2026-06-15 00:37:57 +09:00
f9e7bc3603
fix(cards): support large hand drag positions
2026-06-15 00:29:48 +09:00
256433d3f3
feat(bandit): add discard card selection
2026-06-15 00:14:08 +09:00
05a06644cf
feat(bandit): implement sly discard trigger
2026-06-15 00:06:53 +09:00
709e6f8f99
fix(ui): 카드 텍스트 그림자 제거
2026-06-14 21:26:51 +09:00
a88c1d344c
fix(ui): 카드 텍스트 가독성 개선
2026-06-14 21:23:52 +09:00
a24f3592c4
feat(bandit): STS2 사일런트 카드풀 반영
2026-06-14 21:14:13 +09:00
3db11f5d82
fix(ui): 전체덱 보기를 직업 탭으로 제한
2026-06-14 20:46:56 +09:00
6e1f1cf990
Merge pull request 'fix(bandit): 도적 덱을 사일런트 전용으로 정리' ( #55 ) from codex/bandit-silent-only into main
2026-06-14 19:59:29 +09:00
304b2f3c2a
fix(ui): 덱 미리보기에 직업 탭 추가
2026-06-14 19:38:43 +09:00
15bc17b351
feat(ui): 직업별 덱 미리보기 추가
2026-06-14 19:27:40 +09:00
6f436ef3eb
fix(bandit): 도적 덱을 사일런트 전용으로 정리
2026-06-14 18:48:15 +09:00
cf193bf51a
Merge pull request 'feat(bandit): 사일런트 도적 덱 추가' ( #53 ) from codex/bandit-silent-deck into main
2026-06-14 17:53:02 +09:00
1e87be2cd6
merge main into bandit silent deck
2026-06-14 17:48:59 +09:00