# Forge (Windows) — rebuild engine main at 4fde0e94 (G2 pooled GPU cull + static shadow fixes) Mac `engine/macos-arm64` is engine `4fde0e94` (2026-10-18, `4.7.2.stable.mono.custom_build.4fde0e94d`). Windows is `9dcc5d458`. **The game pins `4.7.2@4fde0e94d`** (owner's call: publish Mac-only while Windows sleeps), and `shaders/tree_wind.gdshader` uses the new `STATIC_SHADOW_AT_REST` built-in, so a 9dcc5d45 engine both hits the mismatch dialog and fails that shader. Rebuild before anything else on Windows. ## Build `tinqs pull` the engine and `git checkout 4fde0e94` (later main commits may be docs or G4 work; build the pinned hash). Flags from the `windows-x64` manifest block. Regenerate GodotSharp from that binary (`--generate-mono-glue modules/mono/glue`, `build_assemblies.py --godot-output-dir=bin --godot-platform=windows`) and publish the WHOLE `bin/GodotSharp` (`Api/` and `Tools/`). ## New since 9dcc5d45 (not compiled on Windows yet) - G2 pooled GPU cull: `servers/rendering/gpu_cull_arena.h`, `renderer_rd/shaders/effects/multimesh_cull.glsl`, `renderer_rd/effects/multimesh_cull.*`, `storage_rd/mesh_storage.*`, `forward_clustered/render_forward_clustered.cpp`. Three shared storage arenas (each < 512 MiB, the D3D12 raw-buffer limit); no buffer device address. Switch `rendering/occlusion_culling/gpu_cull_pooled` / `RenderingServer.multimesh_gpu_cull_set_pooled`, default off. - Fixed shadow LOD band for gpu-culled MultiMeshes (`gpu_cull_shadow_fixed_band`, `multimesh_set_gpu_shadow_band`), default off. - `STATIC_SHADOW_AT_REST` shader built-in, true only in static shadow tile passes when `rendering/lights_and_shadows/directional_shadow/static_casters_at_rest` is on; default off. ## Checks 1. Oracle `bash tests/gpu_oracle/multimesh_cull_pool/run.sh d3d12` (Mac Metal: 4524/4524). This gates making pool the default. Also re-run `tests/gpu_oracle/draw_indirect_count/run.sh d3d12` (expect 22/2 as before). 2. Game in-world on the new pair: `tree_wind` compiles (no `Unknown identifier STATIC_SHADOW_AT_REST`). `env gpucull status`; then the G0/G1 profile (`.agents/handoffs/2026-10-18-windows-g0-render-thread-profile.md` in ariki-game) with states `"pool off=gpucull:pool off" "pool on=gpucull:pool on"`. Mac result: cull dispatches 258/422/464 → 2, fps +1/0/+1, render CPU −0.3 ms at the village; Windows records those dispatches on its render thread, so expect a larger gain there. Report the table. 3. Publish windows-x64 here (binary + console binary + complete GodotSharp, sha256s, manifest note, CRLF), push.