# Handoff → Forge (Ozan's Windows box): rebuild windows-x64 with the static shadow cache (2026-09-28) **From:** Fable orchestrator on the Mac · **Why:** `tinqs/engine` main gained the directional static shadow cache (Part 1) and the stepped-sun crossfade (Part 2) — Forward+ renderer, new project settings, six+four `RenderingServer` methods, a second depth atlas. The game (`ariki-game` ≥ 19490e358) calls the new methods by name and degrades loudly on an engine without them, so Windows teammates keep working on the old binary but get no cache. Rollout plan: `ariki-game/.agents/handoffs/2026-09-28-static-shadow-cache-rollout.md`. ## Steps (mirror of `forge-windows-4.7.md`, same toolchain as the fec9847 build) 1. `cd engine && tinqs pull` → `git log --oneline -1` must show the Part 2 commit named in the rollout plan. 2. Build (the flags recorded in `manifest.json` for fec9847): ``` scons platform=windows target=editor arch=x86_64 module_mono_enabled=yes d3d12=yes angle=yes accesskit=yes scons platform=windows target=editor arch=x86_64 module_mono_enabled=yes d3d12=yes angle=yes accesskit=yes windows_subsystem=console ``` 3. Regenerate glue + GodotSharp (matched-pair law — do not skip even though no C# binding is *required* by the compiler; the manifest promises the pair): ``` bin\tinqs.windows.editor.x86_64.mono.exe --headless --generate-mono-glue modules\mono\glue python modules\mono\build_scripts\build_assemblies.py --godot-output-dir=bin --godot-platform=windows ``` 4. Copy into this repo: `engine/windows-x64/tinqs.windows.editor.x86_64.mono.exe`, `...mono.console.exe`, and the whole `GodotSharp/` (replace, never merge). 5. `manifest.json` → `engine.windows-x64`: `version` (from `--version`), `engine_commit`, both sha256s, `built_on`, `built_by`, `note` ("static shadow cache Part 1 + Part 2; GodotSharp regenerated"). Leave `macos-arm64` alone. 6. `tinqs push` (LFS). ## Verify On a Windows `ariki-game` checkout: run the `update-engine` skill, `game.sh run`, host a world, then `POST /command {"command":"env","key":"staticshadow","value":"on"}` — the log must NOT print `[STATIC-SHADOW] engine without the cache`, and `GET /perf` must show `staticShadow` with `enabled: true`. Terrain renders, animals animate, 0 `Wrapper class not found`.