Сцена на SceneRegistry: NPC/интерактивы/пропы/фауна/враги в одном реестре
- дефы получают юниты: NpcDef.pos + atlas?, InteractableDef.pos + view?
  (tile вычисляется при загрузке модуля — сейвы/снапшот/валидатор без миграций)
- SceneObjects: фасад реестра области (npc/int/prop с footprint)
- клик-роутинг: npcAt/interactableAt/enemyAt через реестр; чистый
  resolveClick и приоритеты не тронуты (пробы transitions/interact зелёные)
- шов врагов ECS: запись с pos по ссылке, move после шага, remove при смерти
- фауна регистрируется (kind 'fauna'), вьюхи NPC — def.atlas, интерактивов —
  def.view.tex
- инвариант registry-consistent (реестр согласован с ECS)

Co-Authored-By: Claude Code <noreply@anthropic.com>
1 parent 9c94342 commit f8e54246b7d68a2169e9db5c377476fd96388f9f
@root root authored 14 hours ago
Showing 11 changed files
View
apps/game/src/agent/SceneAgentView.ts
View
apps/game/src/data/__tests__/interactables.test.ts
View
apps/game/src/data/interactables.ts
View
apps/game/src/data/npcs.ts
View
apps/game/src/scenes/LocationScene.ts
View
apps/game/src/systems/ClickRouting.ts
View
apps/game/src/systems/SceneObjects.ts 0 → 100644
View
apps/game/src/systems/__tests__/ClickRouting.test.ts
View
apps/game/src/systems/__tests__/Interactables.test.ts
View
apps/game/src/systems/combat/CombatWorld.ts
View
apps/game/src/systems/fauna/FaunaSystem.ts