feat(charselect): 메이커 저작 stock 이관 + 컨트롤러 이미지 주입 (Phase 2 파일럿) #72
Reference in New Issue
Block a user
Delete Branch "feature/charselect-maker-pilot"
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?
요약
Phase 2 파일럿 — 캐릭터 선택을 생성기 소유 → 메이커 저작 stock으로 이관. 이미지는 컨트롤러가 런타임 경로 주입(
ClassPortraits). 하이브리드 패턴 (b) 메이커 시각 편집 검증. base=feature/cb-modularization(#71 스택).문서:
docs/superpowers/specs|plans/2026-06-16-charselect-maker-pilot*.변경
lib/ui-helpers.mjsGENERATED_UI_SECTIONS·UI_APPEND_ORDER에서CharacterSelectHud제거 + upsertUi emit·hud/charselect.mjs제거. → 기존 charselect 엔티티는 stock으로 보존(메이커 시각 편집 가능·재생성에 안 덮임). ui 엔티티 경로집합 1442개 HEAD와 완전 동일(재배치만·손실 0).luaCharsTable()(data/characters.json→self.ClassPortraits),cb/boot.mjs·cb/run.mjs시드 +ClassPortraitsprop,RenderCharacterSelect가 각{key}Button/Art의ImageRUID를 경로로 주입(classId Warrior→warrior/Mage→magician/Thief→bandit).RULES.md§1 + 스펙에 엔티티 경로 계약(메이커 편집 시 경로 유지 필수).검증
count로ClassPortraits시드·ImageRUID = self.ClassPortraits3 확인; charselect 엔티티 ui 잔류 확인.sim-balance·rogue-mapexit 0.node tools/deck/gen-slaydeck.mjs재생성해도 charselect 유지(stock 비파괴) 확인.참고
common.gamelogic의Energy:0.0은 기존 staleness(integer-ui-number-format#62; 생성기는0) — 무관.feature/cb-modularization. #70·#71 머지 후 main으로 리타겟.🤖 Generated with Claude Code
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>