| 2026-09-13 |

Небо в игре: солнце/луна/звёзды на улицах + гейт; фикс гейта областей
...
S3 трека «Небо»: флаг sky в LightingDef (5 уличных областей, интерьеры —
нет), GameLighting.update гонит setSky каждый тик теми же функциями, что
свет (солнце sunDirection/sunTint, луна celestialDir(moonK)+moonPhase),
мост skyInfo/setSky. uTime звёзд — от времени цикла (fogTime): кадр
детерминирован при пиннутых часах. Гейт tools/checks/sky.mjs (12 проверок):
градиент зенит/горизонт, диск солнца, звёзды ночью, луна с фазой по
формуле, облачность гасит звёзды, изо бит-в-бит при setSky(false),
интерьер без неба.
Попутный фикс гейта areas (молча сломан коммитом погоды): gotoArea
восстанавливает облачность базы области — setAsh(false) после каждого
gotoArea; #toasts/#fps (живой DOM от настенных часов) скрываются перед
кадр-равенствами.
Доки: v2/CLAUDE.md (секция «Небо», грабли), docs/plan.md (открытые
вопросы неба: лунный свет, ориентация терминатора, счётчик суток для
полнолуния, стык abyss-тьмы и дымки горизонта).
Co-Authored-By: Claude Code <noreply@anthropic.com>
Eugene Sukhodolskiy
committed
15 hours ago
|
| 2026-09-12 |
Свет частиц: точечные источники и фонарик подсвечивают слои частиц
...
- Движок: общий блок юниформ света на рендере (packParticleLights,
setParticleLights), шарится ссылками между слоями; шейдерный вклад
ламп/конуса умножается на цвет частицы, ×2 на согласование с GAIN-пулами.
- Игра: GameLighting отдаёт снапшот источников + конус фонарика каждый тик;
снапшот моста — lightingInfo.particleLights.
- Гейт atmosphere +2 (день 0 / ночь = источникам), 332 теста.
Co-Authored-By: Claude Code <noreply@anthropic.com>
Eugene Sukhodolskiy
committed
1 day ago
|
Озёра утоплены, деревья крупнее, манекен 8×12×4, теневой фрустум по кадру, частицы в системе освещения
...
- Вода: яма y=1 пуст / вода y=0; непроходимость — physicsWorld
(невидимый коллайдер над ямами); декор на воде не штампуется.
- Деревья: стволы 25-38, кроны 17-24, чанк 64.
- Манекен 8×12×4 (134 вокс, 19 тайлей — детализация на текстурах),
снаряжение пропорционально меньше (рюкзак 40 / факел 4 / фонарик 16).
- Тени: динамический фрустум в setSun (visible·aspect + высота кастера),
mapSize 2048 — граница включения теней больше не видна.
- Частицы: uTint в ParticleLayer, ночной тинт PARTICLE_NIGHT,
размеры уменьшены (пепел/листья/пыль/дымка/мотыльки).
Co-Authored-By: Claude Code <noreply@anthropic.com>
Eugene Sukhodolskiy
committed
1 day ago
|
Тьма за краем карты, деревья крупнее, солнце едет по часам, фонарик героя
...
- Бездна: неосвещаемая плоскость под миром — за границей области тьма
в любое время суток.
- mapTreeModel: сетка 12×12, стволы 22–36, крона до r≈5; высота чанка
мира 52→64 (дерево до 53 не влезало).
- Солнце: движок умел setSun(k), но игра не вызывала — тени стояли на
полудне. GameLighting зовёт setSun((часы−6)/12) каждый тик; снапшот
моста — sunK. Гейт детерминизма областей пинит часы перед кадрами
(солнце едет каждую игровую минуту — кадры в разные минуты различны).
- Фонарик: движок addSpotLight (SpotLightHandle setTarget) +
flashlightModel (2×2×5); игра — крепление в левой руке (armL,
зеркально факелу), конус по hero.yaw ночью/в темноте, снапшот
flashlight.on/intensity; gear по умолчанию 110 вокс.
- Доки v2/CLAUDE.md: трек 34 + генераторы/прожектор.
Co-Authored-By: Claude Code <noreply@anthropic.com>
Eugene Sukhodolskiy
committed
1 day ago
|
| 2026-09-09 |

Трек 18: время суток, освещение и музыка — атмосфера v1 в игре v2
...
Движок: экспорт daynight (dayNightFactor/dayNightAmbient/flickerFactor),
новые API VoxelRenderer — setNight(k, tint) (hemisphere → тон ночи, фон
сцены, гашение солнца) и setDayAmbient(color) (дневная база области:
тёмные интерьеры гасят hemisphere и солнце по яркости), addPointLight.
Игра (apps/game): GameClock (1 сек = 1 игровая минута, старт 8:00),
данные освещения 8 областей v1 1:1 (bells, окна, очаги, отсвет башни;
whenFlag/notFlag/whenNight), GameLighting (diff источников, мерцание,
лампа героя HERO_LAMP), AshParticles (пепел лугов), GameAudio (темы
областей с кроссфейдом — только луга, как в v1). Мост: clockInfo/
setClock/lightingInfo/audioInfo/setAsh. Гейт tools/checks/atmosphere.mjs
— 18 проверок; areas.mjs научен отключать пепел для кадр-равенств.
Вне скоупа (отложено): туман прудов, ауры наката, виньетка, амбиент-слои.
Co-Authored-By: Claude Code <noreply@anthropic.com>
Eugene Sukhodolskiy
committed
4 days ago
|