Два вида частиц: излучающие и освещаемые сценой (lit)
Живучий баг «частицы светятся одинаково при любом освещении»: теперь
режим — свойство слоя. renderer.addParticles({lit: true}) — освещаемый
слой: полученный свет (env-свет сцены + точечные источники) правит и
цветом, и видимостью (альфа = clamp(max-канал·PARTICLE_LIT_VIS)) — ночью
в темноте частица исчезает, у лампы/фонарика проявляется, днём вид как
раньше. Излучающий режим (по умолчанию) — прежняя формула.

- particleEnv(amb, sun) — чистая функция env-света (ambient + доля
  солнца PARTICLE_ENV_SUN 0.3: у билборда нет нормали); рендер
  пересчитывает uEnv в конце setSun — туда сходятся все изменения света;
- игра: lit — дождь/снег (WeatherSystem.setTint удалён), пепел,
  листья/пыль; tint остался самосветящимся: мотыльки, дымка, блики.
  Ручной ночной tint был подменой реакции на свет — больше не нужен.

Замер в игре: дождь день 101 / ночь 14 яркости, в луче фонарика капли
проявляются; мотыльки ночью светятся как раньше. Тесты 368 ✓ (+particleEnv),
гейты atmosphere/weather/panels ✓.

Co-Authored-By: Claude Code <noreply@anthropic.com>
1 parent fd7a331 commit 4a89ef1fa4288739c01a6f7b0c325cc096a46333
@Eugene Sukhodolskiy Eugene Sukhodolskiy authored 13 hours ago
Showing 8 changed files
View
v2/apps/game/src/airFx.ts
View
v2/apps/game/src/ash.ts
View
v2/apps/game/src/main.ts
View
v2/packages/engine/src/index.ts
View
v2/packages/engine/src/render/__tests__/particleEnv.test.ts 0 → 100644
View
v2/packages/engine/src/render/__tests__/particleLayers.test.ts
View
v2/packages/engine/src/render/particles.ts
View
v2/packages/engine/src/render/weather.ts