Files
builds/.agents/handoffs/forge-windows-static-shadow-cache.md
T

2.3 KiB

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.