feat(game): интеграция освещения — статика областей, лампа героя, слой снапшота
- data/locations.ts: LightSourceDef/LightingDef (ambient + источники at/tiles,
  радиус в юнитах, цвет/интенсивность/мерцание, whenFlag/notFlag), поле lighting в AreaDef
- systems/Lighting.ts: GameLighting — сборка активных источников (статика +
  runtime add/remove + лампа героя в тёмных областях), проекция camera.toScreen
  каждый тик, детерминированный seed мерцания по id, снапшот для моста
- LocationScene: lightView в renderer.lightRoot, тик света до ранних выходов
  (свет живёт в диалогах/катсценах), зачистка в exit()
- агентный мост: слой lighting {ambient, sources}, инвариант lighting-bounded
- движок: Lighting.destroy принимает опции (делегирует в Container)

Co-Authored-By: Claude Code <noreply@anthropic.com>
1 parent 47de05c commit bfe29bb39e12fdaf9b438fd8381766131e156c66
@root root authored 2 hours ago
Showing 11 changed files
View
apps/game/src/agent/SceneAgentView.ts
View
apps/game/src/agent/__tests__/snapshot.test.ts
View
apps/game/src/agent/snapshot.ts
View
apps/game/src/data/locations.ts
View
apps/game/src/scenes/LocationScene.ts
View
apps/game/src/systems/Lighting.ts 0 → 100644
View
apps/game/src/systems/__tests__/lighting.test.ts 0 → 100644
View
docs/engine/agent.md
View
docs/engine/practices.md
View
packages/engine/src/render/Lighting.ts
View
packages/engine/src/render/lightSim.ts