M0-12B
Unity sky controller, GM sky panel, macOS evidence
Evidence
From logs/evidence/M0-12B/. Click a thumbnail for the full image.
No evidence files in logs/evidence/M0-12B/.
Tests
$ pnpm --filter @zoen/wiki exec playwright test --only-changedNotes
2026-10-08 01:07 UTC · Split by the size rule (context meter over 150k after reading the Unity client, runner and core). Done here: time-weather.json gains the proposed look block (per-phase key light sun/moon with elevation/azimuth/colour/intensity, flat ambient, sky, exp2 fog colour+density; per-weather fogDensityAdd, hue tint at the phase brightness + tintWeight, keyScale, ambientScale, particle share + kind; ambientFloor 0.035 WCAG luminance; particle kinds dust/sheets/rain with spawnBox 36x14x36; telegraph fill #ff5a2a from VFX.md, proposed edgeLight #fff1e0 and edgeDark #120500 so one edge always contrasts, minContrast 3 = WCAG 1.4.11) and budget.tierLiveParticleTotals copied from PERFORMANCE.md (weather caps Low 0, Mid 200, High 500, Ultra 800). New packages/core-cs/Zoen.Core/World/SkyLook.cs: Rgb (sRGB, WCAG luminance/contrast), SkyLookRules + SkyLookReader (look, budget, reviewMatrix; heaviest resolved per area), SkyLook.Evaluate (pure, allocation-free: phase and weather blends, azimuth via shortest angle, night floor). TimeWeatherReader helpers made internal for reuse. Tests: core xunit 96/96 (8 new in Zoen.Core.Tests/SkyLookTests.cs incl. zero allocation over 1000 evaluations), verify --changed all green (data 170/170). Remains as M0-12C (Unity, macOS): SkyRulesAsset generated by ProjectSetup from the JSON; SkyController in Boot driven only by SkyModel+SkyLook via IServerClock (one directional key light, flat ambient + ambientProbe, fog exp2 enabled in the saved scene, solid sky colour, one weather ParticleSystem following the camera with the tier cap, none on Low); GroundTelegraph (unlit fog-exempt shader Zoen/Telegraph, queue Transparent+100 after weather particles, three-band mesh fill/edgeLight/edgeDark, placed clear of the pillar ring at about (-4.6,0,-3.8)); TelegraphContrastProbe (render camera to an sRGB RT, median WCAG luminance of each band vs the ground just outside, pass = best band >= minContrast); GmSkyPanel (UI Toolkit buttons from the gm option lists, ZOEN_GM log lines, GmAccess with -zoen-gm off, ZOEN_GM define added by Build.cs except -zoen-release); FpsOverlay sky line; SkyReviewRun (-zoen-sky-review <dir>: matrix + four phases, ZOEN_SKY_REVIEW lines, screenshots, quit); EditMode/PlayMode tests; macOS build + macos-smoke + a sky review script with the contact sheet and four-phase strip in logs/evidence/M0-12C/. M0-12D: Web + Android rebuild and smokes.
