feat(engine): свет «тьма с прорезями» — RT-карта силы тьмы вместо аддитивных пятен
- lightSim: stepAlphas/HOLE_PROFILE/TONE_PROFILE (ступенчатые профили прорези
  и тона), quantizeHoleAlpha (шаг 1/8) — детерминизм bake
- Lighting: RenderTexture хранит силу тьмы (fill → erase-прорези), display-
  спрайт multiply с tint=ambient — смена цвета дня/ночи без перерисовки RT;
  bake по dirty-подписи {round(x),round(y),scale·1/8,alpha·1/8}; day fast-path
  (белый ambient — слой выключен); fallback без renderer (тесты в node)
- источник = прорезь (makeHoleTexture, 7 ступеней) + приглушённый тон
  (makeToneTexture, TONE_GAIN 0.3) — спрайты под светом остаются читаемыми
- тесты: fake-renderer (bake/dirty/fast-path/destroy), профиль ступеней;
  docs/engine/render.md + practices.md

Co-Authored-By: Claude Code <noreply@anthropic.com>
1 parent 01c5cae commit 920d0b00c878642ff963d7796d0416bedc92d857
@root root authored 2 hours ago
Showing 5 changed files
View
docs/engine/practices.md
View
docs/engine/render.md
View
packages/engine/src/render/Lighting.ts
View
packages/engine/src/render/__tests__/Lighting.test.ts
View
packages/engine/src/render/lightSim.ts