engine: чистая математика неба (sky.ts) + рефакторинг setSun на неё
render/sky.ts — подсистема неба без three: дуги светил celestialDir/
sunDirection/sunElevation (формулы бывшего setSun бит-в-бит), луна
moonK/moonPhase (косинусный цикл фаз), палитра skyColors (день →
золотой час → ночь + облачность через cloudDim), starBrightness,
srgbToLinear/linearRgb и packSkyBodies — упаковка до SKY_BODY_MAX=4
небесных тел в юниформы (диск+ореол+фаза; база для SkyLayer).

setSun теперь зовёт sunDirection/sunElevation/sunTint — числа те же
(замок: тест k=0.5 по посчитанным числам + гейт render.mjs изо-кадра).

+16 тестов (sky.test.ts): монотонность/симметрия дуги, moonK/moonPhase,
палитра, звёзды, клампы упаковки. Итого 423.

Co-Authored-By: Claude Code <noreply@anthropic.com>
1 parent 14dcec3 commit c837bb5b72a26fa6fb67dbe23997c44ac1e35805
@Eugene Sukhodolskiy Eugene Sukhodolskiy authored 15 hours ago
Showing 3 changed files
View
v2/packages/engine/src/render/__tests__/sky.test.ts 0 → 100644
View
v2/packages/engine/src/render/sky.ts 0 → 100644
View
v2/packages/engine/src/render/voxelRenderer.ts