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>
root
committed
7 hours ago