refactor(gen): 생성기 모듈화 Phase 1 (lib/+hud/, 출력 바이트 동일) #70
Reference in New Issue
Block a user
Delete Branch "feature/gen-modularization"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
요약
gen-slaydeck.mjs(~6,200줄)의 공유 인프라와 UI emit 16종을lib/·hud/모듈로 분리. 출력 산출물 바이트 동일(순수 리팩터·무위험). 하이브리드 UI 로드맵 Phase 1.설계/계획:
docs/superpowers/specs/2026-06-16-generator-modularization-design.md,docs/superpowers/plans/2026-06-16-generator-modularization.md.변경
tools/deck/lib/data.mjs: 데이터 로드·fail-fast 검증·luaXxxTable·frameRuid·게임상수(CLASSES/JOBS/SOUL_UNLOCKS/RARITIES/MAP_/CHEST_)tools/deck/lib/ui-helpers.mjs:guid/entity/transform/sprite/button/text/scrollLayoutGroup/cardFaceLayout/appendUiSection등 헬퍼 + UI 상수(색·치수·UI_ROOT·GENERATED_UI_SECTIONS …)tools/deck/hud/*.mjs(16): HUD별build<Name>()— deckhud·deckinspect·deckall·combat·reward·map·shop·rest·treasure·jobchoice·jobselect·mainmenu·charselect·lobby·board·soulshoptools/deck/gen-slaydeck.mjs: 오케스트레이터로 축소(6,200 → 3,546줄; codeblock Lua ~3,200줄은 Phase 1b로 잔류). upsertUi는 CardHand upsert +emit('X', buildX())16줄 + 병합.tools/verify/diffcheck.mjs: 워킹트리 vs HEAD 줄바꿈 정규화 바이트-동일 게이트(산출물 경로 비노출로 deny 회피).RULES.md§1: gen-slaydeck 모듈 구조(lib/·hud/)·diffcheck 반영.검증
diffcheckIDENTICAL —ui/DefaultGroup.ui·SlayDeckController.codeblock·common.gamelogic전부 바이트 동일. 산출물 변경 0(커밋 안 함).sim-balance·rogue-map통과(exit 0).guid(prefix,n)순수 함수 + emit 순서 보존 → 결정적. 의존 단방향(orchestrator→hud→lib).PANEL_BG/TYPE_KO)가const x=[]직전 정의 → 블록에 포함(diffcheck로 즉시 검출·수정).범위 밖 (후속)
🤖 Generated with Claude Code