Files
builds/.agents/handoffs/forge-windows-gpu-diet-r0-p5.md
T

2.7 KiB

Forge (Windows) — rebuild engine main at 0ec39c95 (GPU diet + R0 P5)

Mac engine/macos-arm64 is engine 0ec39c95 (2026-10-17). Windows is still 1e7be28b1. The game pins 4.7.2 without a hash until Windows carries the same commit; then pin 4.7.2@0ec39c95 in ariki-game project.godot.

Build

tinqs pull the engine, then the windows-x64 manifest flags (MSVC, platform=windows target=editor module_mono_enabled=yes), regenerate GodotSharp from that binary, publish binary + console binary + GodotSharp here with sha256s, note in manifest.json.

New and NOT yet compiled on Windows (no toolchain on the Mac)

  • platform/windows/crash_report_windows.{h,cpp}, crash_handler_windows_seh.cpp / _signal.cpp (MiniDumpWriteDump, pre-started writer thread, unhandled-exception filter), os_windows_stack_sampling.cpp (freeze watchdog stack walk), dbghelp/psapi linked in every target (detect.py, SCsub).
  • drivers/d3d12/rendering_device_driver_d3d12.{h,cpp}: GetDeviceRemovedReason + DRED on device removal.
  • Verification checklist: engine .agents/wiki/crash-freeze-and-error-reporting.md (8 steps: main-thread crash, worker-thread crash, stack overflow, native freeze, C# freeze, D3D12 TDR via dxcap -forcetdr --gpu-breadcrumbs, --disable-crash-handler writes nothing, release template build links dbghelp).

Bench after the build (the pacer box)

ariki-game .agents/plans/gpu-frame-diet-ui-opaque-prepass-2026-10-17.md and render-thread-diet-2026-10-17.md: run the Jungle/Main stands with --gpu-profile; the RENDER CPU PROFILE block now prints _draw wall and end_frame (graph replay + submit) — the split of the 12.6 ms render-thread floor that Phase 0 asked for.

Next: both platforms to 7fb81364 (crash-report review fixes)

Engine main is 7fb81364 (a040761b + 7fb81364 on top of 0ec39c95): freeze-report note/context read under a lock, debugger pauses never count as stall time, macOS sidecar thread_id, one first-wins atomic claims a Windows crash. No API change — GodotSharp is unchanged. Mac has built 7fb81364 (Kraken, 4.7.2.stable.mono.custom_build.7fb81364b) but does NOT publish it yet: the game pins 4.7.2@0ec39c954, so a lone Mac publish would lock every Mac out.

Windows (Forge):

  1. Build 7fb81364 with the manifest flags. The Windows files changed here were NOT compiled on the Mac: platform/windows/crash_handler_windows_seh.cpp, platform/windows/crash_report_windows.{h,cpp} — if they fail, write the error here.
  2. If you have a tests=yes build: --test --test-case="*CrashReport*,*FreezeDetector*,*FreezeWatchdog*,*AgentLog*".
  3. Publish windows-x64 7fb81364, then tell Kraken: Mac publishes its 7fb81364 binary and the pin moves to 4.7.2@7fb81364b in the same game push.