|
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>
|
|---|
|
|
| apps/game/src/agent/SceneAgentView.ts |
|---|
| apps/game/src/agent/__tests__/snapshot.test.ts |
|---|
| apps/game/src/agent/snapshot.ts |
|---|
| apps/game/src/data/locations.ts |
|---|
| apps/game/src/scenes/LocationScene.ts |
|---|
| apps/game/src/systems/Lighting.ts 0 → 100644 |
|---|
| apps/game/src/systems/__tests__/lighting.test.ts 0 → 100644 |
|---|
| docs/engine/agent.md |
|---|
| docs/engine/practices.md |
|---|
| packages/engine/src/render/Lighting.ts |
|---|
| packages/engine/src/render/lightSim.ts |
|---|