From bf0b252363a27037952f5adb573f997d3984f39f Mon Sep 17 00:00:00 2001 From: Ozan Bozkurt Date: Mon, 28 Sep 2026 00:09:32 +0100 Subject: [PATCH] =?UTF-8?q?docs(handoff):=20Forge=20=E2=80=94=20rebuild=20?= =?UTF-8?q?windows-x64=20with=20the=20static=20shadow=20cache=20(engine=20?= =?UTF-8?q?Part=201=20+=20Part=202)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Fable 5.1 Claude-Session: https://claude.ai/code/session_01U9fkiH8GpdM5wKYRnnrhuH --- .../forge-windows-static-shadow-cache.md | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 .agents/handoffs/forge-windows-static-shadow-cache.md diff --git a/.agents/handoffs/forge-windows-static-shadow-cache.md b/.agents/handoffs/forge-windows-static-shadow-cache.md new file mode 100644 index 0000000..8927ab2 --- /dev/null +++ b/.agents/handoffs/forge-windows-static-shadow-cache.md @@ -0,0 +1,34 @@ +# 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`.