M0-12D
Boot scene sky wiring, dev GM sky panel, macOS build
Evidence
From logs/evidence/M0-12D/. Click a thumbnail for the full image.
Logs and data (1)
editmode-gm-sky-log.txt · 3 kB · open
ZOEN_SETUP done: 4 tiers from /Users/king/Desktop/Workspace/SRO/zoen/packages/game-data/data/feel-quality.json ZOEN_SKY phase=dawn clock=05:00 weather=overcast (auto) speed=x1 tier=High particles=0 none ZOEN_GM panel=off (-zoen-gm off) ZOEN_SKY phase=dawn clock=05:00 weather=overcast (auto) speed=x1 tier=High particles=0 none ZOEN_GM /gm time dawn -> dawn 06:12 x1 overcast (auto) ZOEN_SKY phase=dawn clock=06:12 weather=overcast (auto) speed=x1 tier=High particles=0 none ZOEN_GM /gm time day -> day 13:24 x1 overcast (auto) ZOEN_SKY phase=day clock=13:24 weather=overcast (auto) speed=x1 tier=High particles=0 none ZOEN_GM /gm time dusk -> dusk 20:36 x1 overcast (auto) ZOEN_SKY phase=dusk clock=20:36 weather=overcast (auto) speed=x1 tier=High particles=0 none ZOEN_GM /gm time night -> night 01:24 x1 overcast (auto) ZOEN_SKY phase=night clock=01:24 weather=overcast (auto) speed=x1 tier=High particles=0 none ZOEN_GM /gm cycle on -> night 01:24 x1 overcast (auto) ZOEN_SKY phase=night clock=01:24 weather=overcast (auto) speed=x1 tier=High particles=0 none ZOEN_GM /gm cycle off -> night 01:24 x0 overcast (auto) ZOEN_SKY phase=night clock=01:24 weather=overcast (auto) speed=x0 tier=High particles=0 none ZOEN_GM /gm cycle x1 -> night 01:24 x1 overcast (auto) ZOEN_SKY phase=night clock=01:24 weather=overcast (auto) speed=x1 tier=High particles=0 none ZOEN_GM /gm cycle x10 -> night 01:24 x10 overcast (auto) ZOEN_SKY phase=night clock=01:24 weather=overcast (auto) speed=x10 tier=High particles=0 none ZOEN_GM /gm cycle x60 -> night 01:24 x60 overcast (auto) ZOEN_SKY phase=night clock=01:24 weather=overcast (auto) speed=x60 tier=High particles=0 none ZOEN_GM /gm weather clear -> night 01:24 x60 clear (forced) ZOEN_SKY phase=night clock=01:24 weather=clear (forced) speed=x60 tier=High particles=0 none ZOEN_GM /gm weather dust_haze -> night 01:24 x60 dust_haze (forced) ZOEN_SKY phase=night clock=01:24 weather=dust_haze (forced) speed=x60 tier=High particles=125 dust ZOEN_GM /gm weather overcast -> night 01:24 x60 overcast (forced) ZOEN_SKY phase=night clock=01:24 weather=overcast (forced) speed=x60 tier=High particles=0 none ZOEN_GM /gm weather rain -> night 01:24 x60 rain (forced) ZOEN_SKY phase=night clock=01:24 weather=rain (forced) speed=x60 tier=High particles=500 rain ZOEN_GM /gm weather sandstorm -> night 01:24 x60 sandstorm (forced) ZOEN_SKY phase=night clock=01:24 weather=sandstorm (forced) speed=x60 tier=High particles=500 sheets ZOEN_GM /gm weather auto -> night 01:24 x60 overcast (auto) ZOEN_SKY phase=night clock=01:24 weather=overcast (auto) speed=x60 tier=High particles=0 none ZOEN_GM /gm time night -> night 01:24 x60 overcast (auto) ZOEN_SKY phase=night clock=01:24 weather=overcast (auto) speed=x60 tier=High particles=0 none ZOEN_GM /gm weather rain -> night 01:24 x60 rain (forced) ZOEN_SKY phase=night clock=01:24 weather=rain (forced) speed=x60 tier=High particles=500 rain ZOEN_GM /gm cycle off -> night 01:24 x0 rain (forced) ZOEN_SKY phase=night clock=01:24 weather=rain (forced) speed=x0 tier=High particles=500 rain …
Tests
$ node tools/unity-run.mjs editmode$ pnpm --filter @zoen/wiki exec playwright test --only-changedNotes
2026-10-08 03:00 UTC · Split by the size rule (context meter at 150k). Done (a-d): ProjectSetup.WriteSkyRules writes Assets/Zoen/Settings/Resources/Zoen_SkyRules.asset from time-weather.json; WriteBootSky saves the Boot scene with exp2 fog on (keeps URP fog variants; GraphicsSettings fog stripping stays Automatic), skybox null, ambient Flat, reflection intensity 0, camera SolidColor, a Sky object (SkyController wired to the Directional Light, Main Camera and an inactive child Weather ParticleSystem, playOnAwake off, material Settings/Zoen_WeatherParticle.mat = new shader Assets/Zoen/Shaders/WeatherParticle.shader: unlit alpha, _Color via the controller's MPB, soft uv mask, multi_compile_fog + MixFog) and GroundTelegraph at (-4.6, 0.02, -3.8) with the generated mesh Settings/Zoen_TelegraphPlaceholder.asset and Settings/Zoen_Telegraph.mat = Assets/Zoen/Shaders/Telegraph.shader (unlit, no fog keywords, Queue Transparent+100, ZWrite Off, _Fill/_EdgeLight/_EdgeDark from look.telegraph by uv.x band); both shaders added to Always Included Shaders. GM panel Runtime/Gm/GmSkyPanel.cs, whole file under #if ZOEN_GM || UNITY_EDITOR, created at runtime (AfterSceneLoad, never in the scene) next to the overlay's UIDocument: one button per data option of /gm time|cycle|weather (HH:MM skipped; cycle on/off/x1/x10/x60), Send -> LocalSkyAuthority.TryRequest (GmSkyCommands) + ZOEN_GM log line, refusals LogWarning; -zoen-gm off hides it (GmAccess; logs ZOEN_GM panel=off); -zoen-gm-send '/gm time night;...' sends lines at start for evidence runs. Build.cs: ExtraDefines() adds ZOEN_GM to extraScriptingDefines unless -zoen-release; defines in the build summary and ZOEN_BUILD line. FpsOverlay.AppendSkyLine adds 'sky night 23:10 · rain (forced) · x1' from SkyController.AppendOverlay. Tests: unity setup PASS; EditMode 60/60 (5 new in Tests/EditMode/BootSkyTests.cs: asset equals the data, Boot fog exp2 + sky wiring + fogged weather shader always included, telegraph fog-exempt shader/queue/colours/mesh/in camera view, GM commands + overlay line + refusal + timeScale 1, panel dev-only: source guard, ExtraDefines, -zoen-gm off, none in the scene); verify --changed. Evidence: logs/evidence/M0-12D/editmode-gm-sky-log.txt. Remains for M0-12E (in this order): (1) macos-smoke.mjs options --gm '<cmds>' (-> -zoen-gm-send, expect ZOEN_GM panel=on and one reply per command) and --gm-off (-> -zoen-gm off, expect panel=off, no panel=on) plus a required ZOEN_SKY line; node tools/unity-run.mjs build macos (background), smoke --out logs/evidence/M0-12E --gm '/gm time night' (0 errors) -> night screenshot with panel + overlay, and a --tiers low --gm-off run; check fog shows in the build (if not: GraphicsSettings fog stripping Custom keep Exp2); (2) first PlayMode asmdef + tests (Boot loads clean, sky updates over frames, each GM button changes state and logs, contrast probe passes on Low in every review-matrix state, timeScale 1); (3) -zoen-sky-review <dir> matrix + four-phase capture and contact sheet; (4) Web + Android rebuild and smokes.
