2265bd7fa1
docs(combat-ui): 전투 화면 UI/HUD 전면 정비 설계 (배포 퀄리티 로드맵 P1)
...
STS2 배치 재구성 — 에너지 오브(좌)/턴종료(우) 분리·상단 HUD 바·플레이어 패널·
타겟 프레임·몬스터 슬롯 가독성·ShowState 가시성 상태 통일. 로드맵 P1~P5 명시.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-11 01:48:11 +09:00
fb5f0d6d5b
Merge pull request 'fix(ui): keep deck popups above monster hp' ( #33 ) from fix/deck-popup-layering into main
...
Reviewed-on: #33
2026-06-11 01:44:48 +09:00
569c1d5eb4
Merge pull request 'feat(map01): 노드 타입별 몬스터 그룹 콘텐츠 + HP바 몬스터 추종' ( #32 ) from feature/map01-monster-content into main
...
Reviewed-on: #32
2026-06-11 01:44:24 +09:00
066ad6ddca
fix(ui): keep deck popups above monster hp
2026-06-11 01:41:40 +09:00
1a15225ff6
Merge pull request '덱 팝업에서 몬스터 HP UI가 앞에 뜨지 않도록 수정' ( #30 ) from fix/deck-popup-monster-layer into main
...
Reviewed-on: #30
2026-06-10 23:39:12 +09:00
33bc98c015
feat(map01): HP바를 각 몬스터 위에 표시(world→screen) + 엘리트/보스 우측 배치
...
- PositionMonsterSlot: 고정 좌표 대신 _UILogic:WorldToScreenPosition→ScreenToUIPosition 으로
각 몬스터 월드 위치 위(HEAD_OFFSET_Y)에 슬롯을 띄움 → 몬스터를 옮겨도 자동 추종
- 미사용 고정좌표 시스템 제거: SlotPos/ActiveSlotPos prop·StartRun 주입·SLOTS 로드·
luaSlotGroup·upsertUi 단언·data/monster-slots.json
- map01 엘리트(머쉬맘 x3·변형된 달팽이 x5)·보스(킹 슬라임 x4) 월드 위치를 우측으로 이동
메이커 검증: combat/elite/boss 각 노드에서 해당 그룹만 등장, HP바가 각 몬스터 머리 위에 표시.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-10 23:26:56 +09:00
895e521724
feat(map01): 노드 타입별 몬스터 그룹 콘텐츠 — 일반/엘리트/보스 배치
...
- map01에 6마리 배치·태그: combat(주황버섯/돼지/초록버섯), elite(머쉬맘/변형된 달팽이), boss(킹 슬라임)
- enemies.json에 적 타입 추가: pig·green_mushroom(일반), mushmom·modified_snail(엘리트), king_slime(보스)
- 컨트롤러 재생성(self.Enemies 신규 타입 포함)
메이커 검증: combat 노드→일반3, elite 노드→엘리트2, boss 노드→보스1, HP가 enemies.json 값으로 해소됨.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-10 22:54:57 +09:00
cd7ae102ca
Merge pull request 'feat(combat): 노드 타입별 몬스터 그룹 (일반/엘리트/보스)' ( #31 ) from feature/node-type-monster-groups into main
...
Reviewed-on: #31
2026-06-10 22:35:23 +09:00
d0353fb81f
feat(node-groups): 컨트롤러 재생성 (그룹 필터·그룹 슬롯)
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-10 21:53:38 +09:00
6eea4f9e17
fix(node-groups): 슬롯 좌표 단언을 MAX_MONSTERS 기준으로 (fail-fast)
2026-06-10 21:52:10 +09:00
903a06d233
feat(node-groups): RegisterMonster(group) + BuildMonsters 노드 타입 필터
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-10 21:47:25 +09:00
c614b10566
feat(node-groups): 그룹별 슬롯 좌표 플러밍 (SlotPos/ActiveSlotPos)
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-10 21:44:59 +09:00
6feb252674
fix(node-groups): no-clobber 가드를 == null 로 (null 값도 보존 처리)
2026-06-10 21:43:14 +09:00
428bdc8a2e
feat(node-groups): CombatMonster 에 Group + 생성기 값 보존(no-clobber)
2026-06-10 21:38:39 +09:00
271a7991d1
feat(node-groups): monster-slots.json 을 그룹별 좌표 구조로
2026-06-10 21:36:42 +09:00
59c699c04b
docs(node-monster-groups): 구현 계획 (5개 태스크)
...
slots 그룹화 → CombatMonster Group+no-clobber → 슬롯 플러밍 → RegisterMonster(group)+BuildMonsters 필터 → 재생성·플레이테스트.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-10 21:32:46 +09:00
0d517617a3
docs(node-monster-groups): 노드 타입별 몬스터 그룹 설계
...
한 맵에 일반/엘리트/보스 그룹 배치 → 노드 타입으로 필터해 해당 그룹만 등장.
CombatMonster에 Group 태그(메이커 인스펙터 저작) + BuildMonsters 필터 + 그룹별 슬롯 좌표.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-10 21:29:04 +09:00
d247115ad7
Keep monster HP behind deck popups
2026-06-10 21:17:24 +09:00
26c084d951
Merge pull request '캐릭터 선택 시작 메뉴 추가' ( #28 ) from feature/character-select-menu into main
...
Reviewed-on: #28
2026-06-10 21:03:44 +09:00
6349be63aa
Merge pull request 'chore(model): Model_monster-43 을 Models/Monsters/ 로 재배치' ( #29 ) from chore/relocate-monster-model into main
...
Reviewed-on: #29
2026-06-10 21:01:47 +09:00
7167ece6a7
Merge pull request 'fix(ui): 덱 팝업을 몬스터 HP UI 위에 렌더' ( #27 ) from fix/deck-popup-sorting into main
...
Reviewed-on: #27
2026-06-10 21:00:38 +09:00
76e60d3350
Add character select start menu
2026-06-10 20:57:43 +09:00
e241382d09
chore(model): Model_monster-43 을 Models/Monsters/ 로 재배치
...
메이커에서 수행한 모델 재배치 반영.
- RootDesk/MyDesk/Model_monster-43.model → RootDesk/MyDesk/Models/Monsters/Model_monster-43.model (이동, 내용 동일)
- freeze-turn-monsters.mjs 의 모델 경로 참조를 새 위치로 갱신 (이동 후에도 생성기가 모델을 찾도록)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-10 20:55:19 +09:00
f4b349532d
fix(ui): render deck popups above monster hp
2026-06-10 20:20:42 +09:00
683ea88271
Merge pull request 'Map monster combat' from feature/map-monster-combat
...
# Conflicts:
# RootDesk/MyDesk/SlayDeckController.codeblock
2026-06-10 19:58:56 +09:00
516348c0ec
Merge pull request 'Add all deck popup' from feature/deck-pile-inspector
2026-06-10 19:57:37 +09:00
f211a79c82
Merge remote-tracking branch 'origin/main' into feature/map-monster-combat
...
# Conflicts:
# RootDesk/MyDesk/SlayDeckController.codeblock
2026-06-10 08:34:23 +09:00
f33a5507db
fix(combat): 플레이테스트 반영 — 상태전이 실행공간 에러 제거 + 슬롯 좌표 정렬
...
- ReviveMonsterEntity/KillMonster의 StateComponent:ChangeState 제거
(client 실행공간에서 LEA-3022 InvalidExecSpace 발생) → SetVisible 기반 표시/숨김으로 대체
- monster-slots.json 좌표를 맵 우측 몬스터 무리 위로 조정
- 메이커 플레이테스트로 전체 전투 루프(등록·타겟·공격·적턴·처치·승리·보상) 무에러 확인
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-10 02:15:40 +09:00
647516d0cd
feat(combat): 맵 몬스터 카드 전투 산출물 재생성 (UI 슬롯·컨트롤러)
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-10 01:31:03 +09:00
f704d0f14e
refactor(combat): 죽은 단일적 코드 제거 + HP_BAR_W 상수 추출
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-10 01:29:27 +09:00
f0569d9a53
feat(combat-ui): 몬스터 슬롯 UI(HP바·의도·타겟버튼) + monster-slots.json
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-10 01:21:45 +09:00
a5c7d96770
feat(combat): 승리조건(전체 처치)·몬스터 슬롯 렌더·HP바·타겟 클릭
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-10 01:17:32 +09:00
423407325d
feat(combat): EnemyTurn 생존 몬스터 각자 행동
2026-06-10 01:15:12 +09:00
ec45438b3c
feat(combat): PlayCard 타겟 몬스터 공격 + 사망 처리/연출
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-10 01:13:33 +09:00
020be477e6
feat(combat): 컨트롤러 멀티 몬스터 상태 + 등록/BuildMonsters/부활
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-10 01:09:27 +09:00
9eef5eb66e
fix(monster): gen-combat-monster 방어적 가드(componentNames/@components) + 코드블록 trailing newline
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-10 01:06:11 +09:00
185e0f3a94
feat(monster): CombatMonster 마커(EnemyId·자기등록) + 11맵 몬스터 패치
2026-06-10 01:00:23 +09:00
de23829439
fix(sim): 빈 인카운터 즉시 승리·타겟 타이브레이크 결정성·주석·draw/empty 테스트
2026-06-10 00:57:53 +09:00
4ef3d1811d
feat(sim): 전투 규칙을 멀티 몬스터로 (타겟 선택·각자 의도·전체 처치 승리)
2026-06-10 00:52:17 +09:00
b14b614d94
feat(combat-data): 맵 몬스터 적 타입(주황/파란버섯) + simEncounter 추가
2026-06-10 00:48:46 +09:00
0cbcf4c70d
docs(map-monster-combat): 구현 계획 (9개 태스크)
...
데이터→sim(TDD)→CombatMonster 마커→컨트롤러 멀티 전투(상태/PlayCard/EnemyTurn/승리/렌더)→슬롯 UI→재생성·플레이테스트.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-10 00:45:40 +09:00
1583f7ec26
Add all deck popup
2026-06-10 00:38:34 +09:00
da5dd03183
docs(map-monster-combat): 맵 몬스터 카드 전투 설계
...
추상 단일 적 → 맵 실제 몬스터 멀티 전투(클릭 타겟·각자 HP/의도·전체 처치 시 승리).
컨트롤러 단일 소유 + script.CombatMonster(EnemyId) 매핑 + 월드 HP바 슬롯.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-10 00:35:49 +09:00
c0cbea42a2
Merge pull request 'Add deck pile inspector UI' ( #24 ) from feature/deck-pile-inspector into main
...
Reviewed-on: #24
2026-06-10 00:24:38 +09:00
de6e12c765
Add deck pile inspector UI
2026-06-10 00:17:00 +09:00
f38a3c98b1
Merge pull request 'feat(map01): 주황버섯 추격 몬스터 배치 + 카메라 시점 미세조정' ( #23 ) from feature/map01-monster into main
...
Reviewed-on: #23
2026-06-10 00:16:21 +09:00
62e76f7db2
feat(map01): 주황버섯 추격 몬스터 배치 + 카메라 시점 미세조정
...
- map01: StaticMonsterTemplate → 주황버섯(ChaseMonster 모델) 교체
(애니메이션 move/stand/jump/hit/die·히트박스·위치 x 5.2 갱신, 이동은 턴전투용 정지)
- 타일맵 TemplateRUID 변경
- 카메라 cameraOffsetY -1 → -0.83 (data/camera.json + MapCamera.codeblock)
- 메이커 저장 재직렬화 포함: common.gamelogic 수치 표기(0→0.0), map02~11 컴포넌트 순서, ui/DefaultGroup.ui
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-10 00:14:43 +09:00
ff91680f18
Merge pull request '.mjs 주체별 폴더 분류 + 카메라/플레이어 제어 분리' ( #22 ) from feature/map-camera into main
...
Reviewed-on: #22
2026-06-10 00:01:12 +09:00
b18c44f0a5
Merge remote-tracking branch 'origin/main' into feature/map-camera
...
# Conflicts:
# README.md
2026-06-09 23:59:44 +09:00
124e49b938
refactor(tools): .mjs를 주체별 폴더로 분류 + 카메라/플레이어 제어 분리
...
- tools/{player,monster,camera,map,deck,balance}/ 로 8개 스크립트 분류 (git mv 이력 보존)
- gen-camera의 플레이어 입력 차단·시선 고정을 tools/player/gen-player-lock.mjs(PlayerLock 코드블록)로 분리
- MapCamera 코드블록은 카메라 속성 전용으로 정리, 11개 맵 루트에 script.PlayerLock 부착
- README 및 스크립트 주석의 도구 경로 갱신
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-09 23:52:02 +09:00