b06ad8e8ee
Merge PR #75 : 도적 버림/보존 카드 흐름 구현
2026-06-17 23:07:49 +09:00
f2828deb19
Implement thief discard and retain flows
2026-06-17 22:48:55 +09:00
5b21e7f436
Merge origin/main ( #73 도적 카드 아이콘 + in-combat card picker) into feature/maker-ui-edit
...
#73이 우리 분기(#72 ) 이후 main에 머지돼 충돌. 해결:
- 소스(boot·deckturn·deckview·gen-slaydeck·data/cards·legacy/hud/deckall): 자동머지로 통합
(우리 부트폴링/버튼수정/슬롯추종 + #73 thief 아이콘/card-picker 공존).
- 산출물 ui/DefaultGroup.ui: 우리것(메이커 저작 6 UIGroup) 유지(#73의 옛 단일그룹 생성본 폐기).
- 산출물 SlayDeckController.codeblock: 머지된 소스로 재생성(양쪽 기능 모두 반영).
- card-picker reconcile: #73 새 코드의 옛 경로(/ui/DefaultGroup/DeckAllHud)를
reconnect-ui-paths로 DeckUIGroup으로 remap + 120카드 ButtonComponent 런타임 부착 wrap.
- 검증: cbgap GAP 0, OpenDebugCardPicker/OnAllDeckCardButton 보존, .ui churn 0, JS 41/41.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-17 22:33:37 +09:00
b0d3da2f39
refactor(deck): 오케스트레이터를 컨트롤러+common 전용으로 슬림화
...
- upsertUi(UI 저작) 함수·hud import 15종 제거 → legacy로 이전(Task 2·3)
- data/codeblock/ui-helpers import를 writeCodeblocks·patchCommon에 필요한
최소(POTIONS / prop·codeblock·RUN_LENGTH / COMMON_FILE)로 슬림화
- 결과: 생성기가 .ui에 일절 접근 안 함(메이커 저작 UI 보존)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-17 02:46:59 +09:00
ea832ad846
feat(debug): add in-combat card picker
2026-06-16 23:18:16 +09:00
8ca48eca60
feat(charselect): charselect 생성 중단 → 메이커 저작 stock화
...
GENERATED_UI_SECTIONS·UI_APPEND_ORDER에서 CharacterSelectHud 제거 + upsertUi emit·
hud/charselect.mjs 제거. 기존 charselect 엔티티는 stock으로 보존(메이커 편집 가능,
재생성에 안 덮임). ui 엔티티 경로집합 1442개 동일(재배치만, 손실 0). 컨트롤러는
경로+ClassPortraits 주입으로 구동 유지.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-16 08:21:06 +09:00
eeca77df35
feat(charselect): 캐릭터 이미지 컨트롤러 런타임 주입 (ClassPortraits)
...
luaCharsTable() 신설(characters.json→self.ClassPortraits), boot/run 시드 +
prop, RenderCharacterSelect가 각 {key}Button/Art ImageRUID를 경로로 주입.
(메이커 저작 레이아웃이어도 컨트롤러가 이미지 채움 = 패턴 b 내용주입.)
산출물: SlayDeckController.codeblock 재생성 포함.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-16 08:19:13 +09:00
a141939675
refactor(cb): codeblock 메서드 161개를 cb/*.mjs 17 모듈로 분리 (codeblock 바이트 동일)
...
writeCodeblocks의 메서드를 연속-런 17 모듈(boot/state/soul/charselect/run/
deckturn/deckview/hand/combat/jobs/runend/render/reward/items/tooltip/map/shop)로
분리, methods 배열은 spread-concat(원본 순서 보존). prop 103개는 오케스트레이터 유지.
산출물 무변경(diffcheck: SlayDeckController.codeblock IDENTICAL).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-16 08:02:22 +09:00
42eb33b579
refactor(cb): lib/codeblock.mjs로 헬퍼·상수 추출 (codeblock 바이트 동일)
2026-06-16 07:58:55 +09:00
420cce561c
Merge origin/main into feature/gen-modularization (생성기 모듈화)
...
main의 5개 PR(#62 exhaust+tooltip, #66 dex/thorns, #67 캐릭터 덱버튼 제거,
#68 스크롤바, #69 표창카드)을 모듈화 브랜치에 병합.
충돌은 tools/deck/gen-slaydeck.mjs 한 파일 — main이 그 단일체를 콘텐츠 변경
(구조/emit/top-level 상수는 불변)한 반면 본 브랜치는 모듈로 재구조화.
해결: main 버전(theirs)을 취해 **콘텐츠 마커 기반으로 재모듈화**(라인인덱스 X,
이름 자동 파생) → lib/data·lib/ui-helpers + hud/*.mjs 16종 재생성.
검증(손실 0): 재모듈화 생성기 출력이 origin/main 산출물과 **바이트 동일**
(diffcheck: ui/DefaultGroup.ui·SlayDeckController.codeblock IDENTICAL).
common.gamelogic은 origin/main 그대로 채택(유일 차이는 main의 stale `.0` 정수표기
— origin/main 원본 생성기도 정수를 만듦을 확인). 미러 테스트 sim-balance·rogue-map 통과.
RULES.md는 §1(모듈구조)+§4/§7(main) 자동 병합.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-16 07:38:54 +09:00
255781d969
Merge pull request '표창 카드 손패 생성 구현' ( #69 ) from codex/implement-shuriken-cards into main
...
Reviewed-on: #69
2026-06-16 07:26:11 +09:00
b904b29503
Merge pull request '덱보기 스크롤바 방향 수정' ( #68 ) from codex/fix-lobby-deck-scrollbar into main
...
Reviewed-on: #68
2026-06-16 07:25:42 +09:00
eafd6747a7
refactor(gen): MainMenu·CharacterSelectHud를 hud/*.mjs로 추출 (출력 바이트 동일)
...
emit이 묶여있던 menu/select 쌍을 buildMainMenu/buildCharSelect로 분리
(select[0].enable=false는 charselect에 포함). HUD 16종 모듈화 완료.
산출물 무변경(diffcheck IDENTICAL).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-16 02:40:47 +09:00
bc266b1885
refactor(gen): HUD 14종을 hud/*.mjs로 추출 (출력 바이트 동일)
...
DeckHud/DeckInspect/DeckAll/Combat/Reward/Map/Shop/Rest/Treasure/JobChoice/
JobSelect/Lobby/Board/SoulShop를 각 build 함수로 분리, upsertUi는 emit 한 줄로.
전문 상수(PANEL_BG·TYPE_KO)는 해당 블록에 포함. 산출물 무변경(diffcheck IDENTICAL).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-16 02:39:20 +09:00
e6a397cc55
refactor(gen): lib/ui-helpers.mjs로 UI 헬퍼·상수 추출 (출력 바이트 동일)
...
UI_FILE~appendUiSection(상수 30 + 헬퍼 15, 총 45)을 tools/deck/lib/ui-helpers.mjs로
이동, import로 연결. 산출물 무변경(diffcheck IDENTICAL).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-16 02:31:59 +09:00
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
62187db5dd
표창 카드 손패 생성 구현
2026-06-16 02:19:22 +09:00
1a5953050f
덱보기 스크롤바 방향 수정
2026-06-16 02:10:34 +09:00
a902cb8bce
캐릭터 선택 덱보기 버튼 제거
2026-06-16 02:06:13 +09:00
98ca1668c8
Implement dex and thorns effects
2026-06-16 01:59:40 +09:00
3e4619ed2f
Merge origin/main into exhaust tooltip branch
2026-06-16 01:31:36 +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
bda35eefc7
Add exhaust pile and restore keyword tooltips
2026-06-15 23:34:26 +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
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
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
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
3db11f5d82
fix(ui): 전체덱 보기를 직업 탭으로 제한
2026-06-14 20:46:56 +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
1e87be2cd6
merge main into bandit silent deck
2026-06-14 17:48:59 +09:00
0e064cc1e9
feat(lobby): 로비 맵 흐름 통합 — 텔레포트·NPC 디스패치·StartRun map01·LobbyHud 슬림화 (P15)
...
- OnBeginPlay: 공격 키(Ctrl, 로비 한정) 바인딩
- ShowLobby→GoLobbyMap: 월드 시작·런 종료 시 로비 맵 텔레포트
- OnLobbyNpcInteract(id): 월드 NPC→기존 기능 패널 디스패치
- StartRun: 1막 진입 시 map01 물리 텔레포트(BuildMonsters CurrentMapName 필터 대응)
- LobbyHud: 버튼-행 제거, 투명·비레이캐스트화(맵 노출·클릭 통과), 영혼/승천 미니 정보바만 유지
- BindLobbyButtons: NPC 바인딩 제거
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-14 12:36:13 +09:00