diff --git a/README.md b/README.md index b148a53..c47b595 100644 --- a/README.md +++ b/README.md @@ -31,10 +31,10 @@ into GodotSharp, so GodotSharp had to be regenerated — and must ship here alon | Platform | Engine | Terrain3D | GodotSharp shipped? | |---|---|---|---| -| `engine/macos-arm64/` | **4.7.2** (`e64890fd`) — `4fde0e94` plus the Apple render-thread autorelease drain (fixes the Mach-port / Metal leak under `thread_model=2`) and the G4 mergeable-draw counter | built-in module | ✅ yes (`GodotSharp/`) | +| `engine/macos-arm64/` | **4.7.2** (`a967d12b`) — `e64890fd` plus parallel draw-list replay (Vulkan secondary command buffers) and parallel draw-list recording (Forward+ render lists over worker threads, every driver) | built-in module | ✅ yes (`GodotSharp/`) | | `engine/windows-x64/` | **4.7.2** (`e64890fd3`) — same hash as macos-arm64: `4fde0e94` (G2 pooled cull, fixed shadow band, `STATIC_SHADOW_AT_REST`) plus the G4 mergeable-draw counter (the autorelease-drain fix is Apple-only); `template_release` here is still the `1e7be28b` tree | built-in module | ✅ yes (`GodotSharp/`) | -Mac is engine `e64890fd` as of 2026-10-18 (`--version` prints `4.7.2.stable.mono.custom_build.e64890fd3`): `4fde0e94` plus the separate render thread draining an Objective-C autorelease pool each flush — before, autoreleased Metal command buffers, encoders and drawables leaked ~88 Mach ports/s until no new Metal process could start (66k ports / 23 GB after 1.5 h); now flat at ~640 ports — and `RENDERING_INFO_GPU_CULL_MERGEABLE_DRAWS_IN_FRAME`. Underneath, `4fde0e94` added: G2 pooled GPU cull over shared storage arenas (`rendering/occlusion_culling/gpu_cull_pooled`, game dial `env gpucull pool`), a fixed shadow LOD band for gpu-culled MultiMeshes (`gpu_cull_shadow_fixed_band`, `env gpucull shadowband`) and the `STATIC_SHADOW_AT_REST` shader built-in (`static_casters_at_rest`, `env gpucull staticrest`); all default off. GodotSharp regenerated (API + Tools). Oracles on Metal: `multimesh_cull_pool` 4524/4524, `draw_indirect_count` 24/24. Windows is also engine `e64890fd` as of 2026-10-18 (`.agents/handoffs/forge-windows-e64890fd.md`) — both platforms and the `4.7.2@e64890fd3` pin share one hash; the autorelease-drain fix is Apple-only, Windows gains the G4 census counter (`env gpucull status` shows `(N mergeable)`). Headless game boot clean on Forge. Underneath, `4fde0e94` (`.agents/handoffs/forge-windows-g2-4fde0e94.md`) added: G2 pooled GPU cull over shared storage arenas (`rendering/occlusion_culling/gpu_cull_pooled`, game dial `env gpucull pool`), a fixed shadow LOD band for gpu-culled MultiMeshes (`gpu_cull_shadow_fixed_band`, `env gpucull shadowband`) and the `STATIC_SHADOW_AT_REST` shader built-in (`static_casters_at_rest`, `env gpucull staticrest`; the game's `tree_wind.gdshader` uses it); all default off. Underneath is the `9dcc5d458` pair (SSCS contact shadows, hero shadow min-combine, upstream 4.8 shadow fixes #121775/#124348 with the game sun bias 0.014, `draw_list_draw_indirect_count`), where the D3D12 oracle on RTX 5080 was 22 passed / 2 failed — the base-instance pair, the documented D3D12 gap (`.agents/handoffs/forge-windows-sscs-9dcc5d45.md`); `--gpu-validation` needs the D3D12 debug layer, which Forge lacks (Graphics Tools not installed). Still owed on Windows: `multimesh_cull_pool` oracle (gates making pool the default), the validation pass, and in-world checks (`herocombine`, `contactshadow`, SSCS in `--gpu-profile`, sun acne at bias 0.014, pooled gpucull census, mergeable counter). +Mac is engine `a967d12b` as of 2026-10-19 (`--version` `4.7.2.stable.mono.custom_build.a967d12bf`): `e64890fd` plus parallel draw-list replay (Vulkan only) and parallel draw-list recording (every driver), both engine-default off and turned on by the game; GodotSharp regenerated; oracle `parallel_draw_replay` Vulkan 10/10, Metal 5/5 (`engine/.agents/wiki/parallel-draw-replay.md`). Windows to follow (`.agents/handoffs/forge-windows-parallel-replay.md`). Before that, Mac was engine `e64890fd` as of 2026-10-18 (`--version` prints `4.7.2.stable.mono.custom_build.e64890fd3`): `4fde0e94` plus the separate render thread draining an Objective-C autorelease pool each flush — before, autoreleased Metal command buffers, encoders and drawables leaked ~88 Mach ports/s until no new Metal process could start (66k ports / 23 GB after 1.5 h); now flat at ~640 ports — and `RENDERING_INFO_GPU_CULL_MERGEABLE_DRAWS_IN_FRAME`. Underneath, `4fde0e94` added: G2 pooled GPU cull over shared storage arenas (`rendering/occlusion_culling/gpu_cull_pooled`, game dial `env gpucull pool`), a fixed shadow LOD band for gpu-culled MultiMeshes (`gpu_cull_shadow_fixed_band`, `env gpucull shadowband`) and the `STATIC_SHADOW_AT_REST` shader built-in (`static_casters_at_rest`, `env gpucull staticrest`); all default off. GodotSharp regenerated (API + Tools). Oracles on Metal: `multimesh_cull_pool` 4524/4524, `draw_indirect_count` 24/24. Windows is also engine `e64890fd` as of 2026-10-18 (`.agents/handoffs/forge-windows-e64890fd.md`) — both platforms and the `4.7.2@e64890fd3` pin share one hash; the autorelease-drain fix is Apple-only, Windows gains the G4 census counter (`env gpucull status` shows `(N mergeable)`). Headless game boot clean on Forge. Underneath, `4fde0e94` (`.agents/handoffs/forge-windows-g2-4fde0e94.md`) added: G2 pooled GPU cull over shared storage arenas (`rendering/occlusion_culling/gpu_cull_pooled`, game dial `env gpucull pool`), a fixed shadow LOD band for gpu-culled MultiMeshes (`gpu_cull_shadow_fixed_band`, `env gpucull shadowband`) and the `STATIC_SHADOW_AT_REST` shader built-in (`static_casters_at_rest`, `env gpucull staticrest`; the game's `tree_wind.gdshader` uses it); all default off. Underneath is the `9dcc5d458` pair (SSCS contact shadows, hero shadow min-combine, upstream 4.8 shadow fixes #121775/#124348 with the game sun bias 0.014, `draw_list_draw_indirect_count`), where the D3D12 oracle on RTX 5080 was 22 passed / 2 failed — the base-instance pair, the documented D3D12 gap (`.agents/handoffs/forge-windows-sscs-9dcc5d45.md`); `--gpu-validation` needs the D3D12 debug layer, which Forge lacks (Graphics Tools not installed). Still owed on Windows: `multimesh_cull_pool` oracle (gates making pool the default), the validation pass, and in-world checks (`herocombine`, `contactshadow`, SSCS in `--gpu-profile`, sun acne at bias 0.014, pooled gpucull census, mergeable counter). Long-term: CI (Gitea Actions) builds on push and publishes here / to S3 — `docs/ai/plans/build-pipeline-architecture-2026-06-07.md`. diff --git a/engine/macos-arm64/GodotSharp/Api/Debug/GodotPlugins.dll b/engine/macos-arm64/GodotSharp/Api/Debug/GodotPlugins.dll index bc41891..1897f5a 100644 --- a/engine/macos-arm64/GodotSharp/Api/Debug/GodotPlugins.dll +++ b/engine/macos-arm64/GodotSharp/Api/Debug/GodotPlugins.dll @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:12787f0b4036f0326c5152bf8928b04395830ea72f99137b99f34a7e4849f8c2 +oid sha256:b4b357dd9aef65e7dbb045cb23a7095770b593c53c618472c47c468a64dc03c4 size 12288 diff --git a/engine/macos-arm64/GodotSharp/Api/Debug/GodotPlugins.pdb b/engine/macos-arm64/GodotSharp/Api/Debug/GodotPlugins.pdb index f62acae..c0e5f17 100644 --- a/engine/macos-arm64/GodotSharp/Api/Debug/GodotPlugins.pdb +++ b/engine/macos-arm64/GodotSharp/Api/Debug/GodotPlugins.pdb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8e413b545349c0b348c91c509f44714297134c6596bb9fb04e6616a8f38ef8b6 +oid sha256:1d3ef73a23c7f5a9b475ec5c65535e33344e86c2ebc469daff6d31a0503c9370 size 13632 diff --git a/engine/macos-arm64/GodotSharp/Api/Debug/GodotSharp.dll b/engine/macos-arm64/GodotSharp/Api/Debug/GodotSharp.dll index 4a203b1..0500f05 100644 --- a/engine/macos-arm64/GodotSharp/Api/Debug/GodotSharp.dll +++ b/engine/macos-arm64/GodotSharp/Api/Debug/GodotSharp.dll @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1d46277b85818c59a59fd1928f4fd8d5583c9e0f313b0cfc95b4f62ebbb0c6d3 -size 6564352 +oid sha256:2d814a819014f9faf61e4fee74b302ec1764cb8be589c502e5cdd2541f4d2884 +size 6565376 diff --git a/engine/macos-arm64/GodotSharp/Api/Debug/GodotSharp.pdb b/engine/macos-arm64/GodotSharp/Api/Debug/GodotSharp.pdb index 60dc499..4f90da3 100644 --- a/engine/macos-arm64/GodotSharp/Api/Debug/GodotSharp.pdb +++ b/engine/macos-arm64/GodotSharp/Api/Debug/GodotSharp.pdb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:176689a68ac1d98c262b8c124d835035128131c2cd9c5476c9395aacd41a5946 -size 6230768 +oid sha256:6aa18fb3a7fbf16a2d8d6a045b106ef924dbd590bd579ec3178c442c83c5deb3 +size 6231808 diff --git a/engine/macos-arm64/GodotSharp/Api/Debug/GodotSharp.xml b/engine/macos-arm64/GodotSharp/Api/Debug/GodotSharp.xml index 6d994b0..308be3f 100644 --- a/engine/macos-arm64/GodotSharp/Api/Debug/GodotSharp.xml +++ b/engine/macos-arm64/GodotSharp/Api/Debug/GodotSharp.xml @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5e0b604c3d3fa3582d4d675b3c7941478f2434ca18bc8aa1627bdcfa43c12556 -size 16657132 +oid sha256:846b03a02761d6c2c17ea4eaaf15abda8a1f247880407886cb45e3993c106f08 +size 16660099 diff --git a/engine/macos-arm64/GodotSharp/Api/Debug/GodotSharpEditor.dll b/engine/macos-arm64/GodotSharp/Api/Debug/GodotSharpEditor.dll index 99e4a67..dc77420 100644 --- a/engine/macos-arm64/GodotSharp/Api/Debug/GodotSharpEditor.dll +++ b/engine/macos-arm64/GodotSharp/Api/Debug/GodotSharpEditor.dll @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7056031f19347dde3957762aaf1cfe8925c2fa445d590f5d9d018b34852e165a +oid sha256:d7149ab61919d71378e748e2daf54528fbf6d66296eb9c38b765d123c123cecc size 324608 diff --git a/engine/macos-arm64/GodotSharp/Api/Debug/GodotSharpEditor.pdb b/engine/macos-arm64/GodotSharp/Api/Debug/GodotSharpEditor.pdb index 8d9ecb4..3849032 100644 --- a/engine/macos-arm64/GodotSharp/Api/Debug/GodotSharpEditor.pdb +++ b/engine/macos-arm64/GodotSharp/Api/Debug/GodotSharpEditor.pdb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7b3194fedc66fc31b079f694b5a2537a1b470202f6b93329d24cdd3569bce17d +oid sha256:72741dc3b1572439d64eaadf2a961fde048fbef99af4aee2f5376980d6f49bca size 361080 diff --git a/engine/macos-arm64/GodotSharp/Api/Release/GodotPlugins.dll b/engine/macos-arm64/GodotSharp/Api/Release/GodotPlugins.dll index cfad246..57a1e54 100644 --- a/engine/macos-arm64/GodotSharp/Api/Release/GodotPlugins.dll +++ b/engine/macos-arm64/GodotSharp/Api/Release/GodotPlugins.dll @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7532734d3ef08978050788095842f6c73d40bbf4f21206dc4a6339cfe6c4e8ce +oid sha256:ed8c13d91e332c3b3656362f03ecbfe29dae792749ccd783e6ff76a9c70e1531 size 11776 diff --git a/engine/macos-arm64/GodotSharp/Api/Release/GodotPlugins.pdb b/engine/macos-arm64/GodotSharp/Api/Release/GodotPlugins.pdb index b2ca53b..83dc3f7 100644 --- a/engine/macos-arm64/GodotSharp/Api/Release/GodotPlugins.pdb +++ b/engine/macos-arm64/GodotSharp/Api/Release/GodotPlugins.pdb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ff665eeff8bd57b47b4082d93cc38ad90f3a91469630af7a21c47897980cb4f0 -size 13000 +oid sha256:0656c79c6d632531b100ab51027209f429ffaa5a009c024670aa199f021a776f +size 12996 diff --git a/engine/macos-arm64/GodotSharp/Api/Release/GodotSharp.dll b/engine/macos-arm64/GodotSharp/Api/Release/GodotSharp.dll index d446d24..7dceb80 100644 --- a/engine/macos-arm64/GodotSharp/Api/Release/GodotSharp.dll +++ b/engine/macos-arm64/GodotSharp/Api/Release/GodotSharp.dll @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0b59b5d2fd92474d82ff93c015766e66660e1259b1b56cf884f325e03e231ea0 -size 6118400 +oid sha256:bed63ee48a6a7dad63fdd450123d91afd8850b59f8934f663ccaa56bbcade7ac +size 6119424 diff --git a/engine/macos-arm64/GodotSharp/Api/Release/GodotSharp.pdb b/engine/macos-arm64/GodotSharp/Api/Release/GodotSharp.pdb index 8059730..f2428a9 100644 --- a/engine/macos-arm64/GodotSharp/Api/Release/GodotSharp.pdb +++ b/engine/macos-arm64/GodotSharp/Api/Release/GodotSharp.pdb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0915d82894a83b7d10929ce4ae1a94243727e5cd45c7b5bd51db8270cc892c59 -size 5631764 +oid sha256:322b9ddcd82033ec5b806520624ed5712f1cebe5157c4d86f435100088d801cd +size 5632728 diff --git a/engine/macos-arm64/GodotSharp/Api/Release/GodotSharp.xml b/engine/macos-arm64/GodotSharp/Api/Release/GodotSharp.xml index 6d994b0..308be3f 100644 --- a/engine/macos-arm64/GodotSharp/Api/Release/GodotSharp.xml +++ b/engine/macos-arm64/GodotSharp/Api/Release/GodotSharp.xml @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5e0b604c3d3fa3582d4d675b3c7941478f2434ca18bc8aa1627bdcfa43c12556 -size 16657132 +oid sha256:846b03a02761d6c2c17ea4eaaf15abda8a1f247880407886cb45e3993c106f08 +size 16660099 diff --git a/engine/macos-arm64/GodotSharp/Api/Release/GodotSharpEditor.dll b/engine/macos-arm64/GodotSharp/Api/Release/GodotSharpEditor.dll index 93e1f5d..a3a5b17 100644 --- a/engine/macos-arm64/GodotSharp/Api/Release/GodotSharpEditor.dll +++ b/engine/macos-arm64/GodotSharp/Api/Release/GodotSharpEditor.dll @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:07eb3f70f778ec8aadaa5bae9230210282c5f7b34a015d71a1d05d5b2b48ee6b +oid sha256:0a1738b47e16e2fe0febaa2b76d4c929a990d6a89b785a79cf57db80c3e75c28 size 303104 diff --git a/engine/macos-arm64/GodotSharp/Api/Release/GodotSharpEditor.pdb b/engine/macos-arm64/GodotSharp/Api/Release/GodotSharpEditor.pdb index e8eabe0..76f5a01 100644 --- a/engine/macos-arm64/GodotSharp/Api/Release/GodotSharpEditor.pdb +++ b/engine/macos-arm64/GodotSharp/Api/Release/GodotSharpEditor.pdb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7cf57f53c0f0dbd5eb21067571e2895b0d517f2fbdebaee291249008af03fea8 +oid sha256:2afe4e475ae2e319daf37b0aa445224e8d20fb056041ef588f38e168a22526ff size 330092 diff --git a/engine/macos-arm64/GodotSharp/Tools/GodotTools.BuildLogger.dll b/engine/macos-arm64/GodotSharp/Tools/GodotTools.BuildLogger.dll index 882792b..d47bf45 100644 --- a/engine/macos-arm64/GodotSharp/Tools/GodotTools.BuildLogger.dll +++ b/engine/macos-arm64/GodotSharp/Tools/GodotTools.BuildLogger.dll @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ccf722e7f43225fb30b9e103a1fed9b86b79757360cb07275a78baf597b17c97 +oid sha256:aa944fcfa7f38b9821eef4790b431f4c3ea4a3c0c3b4345734c7e9979269a8aa size 9216 diff --git a/engine/macos-arm64/GodotSharp/Tools/GodotTools.BuildLogger.pdb b/engine/macos-arm64/GodotSharp/Tools/GodotTools.BuildLogger.pdb index 20ee8a0..60cf91b 100644 --- a/engine/macos-arm64/GodotSharp/Tools/GodotTools.BuildLogger.pdb +++ b/engine/macos-arm64/GodotSharp/Tools/GodotTools.BuildLogger.pdb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9caa4d6f115f233f0be44dd587f4a30d591ea9245356e440a78efc7a64211c75 +oid sha256:e23b4656da7601f10c4b82881673ccdcd5df40d4107f816619be714eae59cb67 size 12044 diff --git a/engine/macos-arm64/GodotSharp/Tools/GodotTools.Core.dll b/engine/macos-arm64/GodotSharp/Tools/GodotTools.Core.dll index 9b4000d..4306ee9 100644 --- a/engine/macos-arm64/GodotSharp/Tools/GodotTools.Core.dll +++ b/engine/macos-arm64/GodotSharp/Tools/GodotTools.Core.dll @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a1e9c0912744214312856e772876ff43c7a96ce4d46086465517958ccf5ffa41 +oid sha256:3d4e59c9374b68403391fa931e2ede6d011dec27c4ca2c50cd7d57aae5e2480b size 8192 diff --git a/engine/macos-arm64/GodotSharp/Tools/GodotTools.Core.pdb b/engine/macos-arm64/GodotSharp/Tools/GodotTools.Core.pdb index 1923800..2c22202 100644 --- a/engine/macos-arm64/GodotSharp/Tools/GodotTools.Core.pdb +++ b/engine/macos-arm64/GodotSharp/Tools/GodotTools.Core.pdb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1cbaf196404a4e69ccfbdfeb0224553dc00aefa463fa80a23498c42a24b407f5 +oid sha256:4131f18e5f4f378ce62aa9e2900dfc7a54f234cb7f0928de2cd48886ae1ebbdd size 12052 diff --git a/engine/macos-arm64/GodotSharp/Tools/GodotTools.IdeMessaging.dll b/engine/macos-arm64/GodotSharp/Tools/GodotTools.IdeMessaging.dll index 4bcfc44..6376f89 100644 --- a/engine/macos-arm64/GodotSharp/Tools/GodotTools.IdeMessaging.dll +++ b/engine/macos-arm64/GodotSharp/Tools/GodotTools.IdeMessaging.dll @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a161760f22e943f8d11a451c366cba15f9dcfc5e0dd4ec7d389898e6bb5060af +oid sha256:36af0f199b88bf6f4f753c95ade5c3f58b07f008b6c3c4019d80c2f2454abf78 size 44544 diff --git a/engine/macos-arm64/GodotSharp/Tools/GodotTools.IdeMessaging.pdb b/engine/macos-arm64/GodotSharp/Tools/GodotTools.IdeMessaging.pdb index 941c13d..fe76032 100644 --- a/engine/macos-arm64/GodotSharp/Tools/GodotTools.IdeMessaging.pdb +++ b/engine/macos-arm64/GodotSharp/Tools/GodotTools.IdeMessaging.pdb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2cef066a5652f147a922b2202c7c9e662da404c5fee2d73497211f4d597b1a6d +oid sha256:4c3c2cae34ecfb764e7824cb7bb2126217113f1f91975d3926258dfb45dd8f0a size 18596 diff --git a/engine/macos-arm64/GodotSharp/Tools/GodotTools.ProjectEditor.dll b/engine/macos-arm64/GodotSharp/Tools/GodotTools.ProjectEditor.dll index 09239e5..b1f8248 100644 --- a/engine/macos-arm64/GodotSharp/Tools/GodotTools.ProjectEditor.dll +++ b/engine/macos-arm64/GodotSharp/Tools/GodotTools.ProjectEditor.dll @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ddbbf9cdf8b0924b0e14ec0652e5f70c6643de4bf395fc043ad991ebb867b001 +oid sha256:95b9ceb8f40762658071e971747fc83ae5d29e918d3dced6fe78a4768356ac25 size 22528 diff --git a/engine/macos-arm64/GodotSharp/Tools/GodotTools.ProjectEditor.pdb b/engine/macos-arm64/GodotSharp/Tools/GodotTools.ProjectEditor.pdb index d674a3f..c7dbb38 100644 --- a/engine/macos-arm64/GodotSharp/Tools/GodotTools.ProjectEditor.pdb +++ b/engine/macos-arm64/GodotSharp/Tools/GodotTools.ProjectEditor.pdb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9001b43a939cc51aba43708bb18f6c93576f7b0a71c3873fa33d9aafdaa0de3a +oid sha256:b76e22bddba285602dac2e8712a1b6e3822af4c8b4904b1192dee9142ecd2089 size 19080 diff --git a/engine/macos-arm64/GodotSharp/Tools/GodotTools.Shared.dll b/engine/macos-arm64/GodotSharp/Tools/GodotTools.Shared.dll index 8d57559..63ec27c 100644 --- a/engine/macos-arm64/GodotSharp/Tools/GodotTools.Shared.dll +++ b/engine/macos-arm64/GodotSharp/Tools/GodotTools.Shared.dll @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ead6546164693dc12ef8933edc34cdb0ed078b0c5e44a94419b6ead1ed0d0069 +oid sha256:3e0813916c6a15b86d5c0adc5bbe423fcc91f36a806f35537facecbecf29ff95 size 4096 diff --git a/engine/macos-arm64/GodotSharp/Tools/GodotTools.Shared.pdb b/engine/macos-arm64/GodotSharp/Tools/GodotTools.Shared.pdb index eaf66c1..046dcb1 100644 --- a/engine/macos-arm64/GodotSharp/Tools/GodotTools.Shared.pdb +++ b/engine/macos-arm64/GodotSharp/Tools/GodotTools.Shared.pdb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:995e3dbc2d1563fd50f999c1de64597ab59d85565b83291c91a5c6211b349118 -size 11140 +oid sha256:6012e064165b80012ad71e6438e06129f1fb0dddb9698cb5a24819f5cac5a351 +size 11136 diff --git a/engine/macos-arm64/GodotSharp/Tools/GodotTools.dll b/engine/macos-arm64/GodotSharp/Tools/GodotTools.dll index 6310a29..f0d3d3c 100644 --- a/engine/macos-arm64/GodotSharp/Tools/GodotTools.dll +++ b/engine/macos-arm64/GodotSharp/Tools/GodotTools.dll @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:17d9dc25cb0b3ac5cc46fda8aa3800108f794ac64a388169cafa0a8471b5fa53 +oid sha256:25b28f2cabfb3146d015367ad3ea2982f35c310564a2c4b3b810ab61b65cd8cf size 174592 diff --git a/engine/macos-arm64/GodotSharp/Tools/GodotTools.pdb b/engine/macos-arm64/GodotSharp/Tools/GodotTools.pdb index 2094921..93c90fe 100644 --- a/engine/macos-arm64/GodotSharp/Tools/GodotTools.pdb +++ b/engine/macos-arm64/GodotSharp/Tools/GodotTools.pdb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:71e9078b148a2e00d954c9f17b86ceccc3c90d4811d43b89861e7af23d4f90bf +oid sha256:193224d5b2ca716cce8160902e2bf951bf8d099c58532b6759ecd74711b74b56 size 106412 diff --git a/engine/macos-arm64/GodotSharp/Tools/nupkgs/Godot.NET.Sdk.4.7.2.nupkg b/engine/macos-arm64/GodotSharp/Tools/nupkgs/Godot.NET.Sdk.4.7.2.nupkg index 8eb611f..5e7d432 100644 --- a/engine/macos-arm64/GodotSharp/Tools/nupkgs/Godot.NET.Sdk.4.7.2.nupkg +++ b/engine/macos-arm64/GodotSharp/Tools/nupkgs/Godot.NET.Sdk.4.7.2.nupkg @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f2fc4aa8a7de3862c1f339a0a898fd0efd363e2701a1f0cda8df58f8ff1470c6 +oid sha256:ff366cf09c2d62c5d244b9011eb95f5ba899c24a1981292e2dd7378d2d040694 size 6885 diff --git a/engine/macos-arm64/GodotSharp/Tools/nupkgs/Godot.SourceGenerators.4.7.2.nupkg b/engine/macos-arm64/GodotSharp/Tools/nupkgs/Godot.SourceGenerators.4.7.2.nupkg index 137d061..d78f0cf 100644 --- a/engine/macos-arm64/GodotSharp/Tools/nupkgs/Godot.SourceGenerators.4.7.2.nupkg +++ b/engine/macos-arm64/GodotSharp/Tools/nupkgs/Godot.SourceGenerators.4.7.2.nupkg @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9911162da1fb4fde0b31dae627db0427063e8abb9c23f024f8fd1fb645617c7d -size 44958 +oid sha256:283ce06e7f947eb0448ec8966d1efde168e3d3f2103b720ef568181d5adee4c1 +size 44955 diff --git a/engine/macos-arm64/GodotSharp/Tools/nupkgs/GodotSharp.4.7.2.nupkg b/engine/macos-arm64/GodotSharp/Tools/nupkgs/GodotSharp.4.7.2.nupkg index dfc6347..2ee02c4 100644 --- a/engine/macos-arm64/GodotSharp/Tools/nupkgs/GodotSharp.4.7.2.nupkg +++ b/engine/macos-arm64/GodotSharp/Tools/nupkgs/GodotSharp.4.7.2.nupkg @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7fce7924fce8ff278610c7b03fa21e0feb90376a54e3a51b0906dcf1e42c01c3 -size 3274471 +oid sha256:39af87548f12aad599d4a0700854a3f1ec3c19782d80933d322b17e5bc781b8e +size 3275194 diff --git a/engine/macos-arm64/GodotSharp/Tools/nupkgs/GodotSharp.4.7.2.snupkg b/engine/macos-arm64/GodotSharp/Tools/nupkgs/GodotSharp.4.7.2.snupkg index 1ad0cb3..29413d0 100644 --- a/engine/macos-arm64/GodotSharp/Tools/nupkgs/GodotSharp.4.7.2.snupkg +++ b/engine/macos-arm64/GodotSharp/Tools/nupkgs/GodotSharp.4.7.2.snupkg @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d9420d87dffcd4386730384a66ed4df2893a7c2bf7b4209e621e908a9815a566 -size 4272180 +oid sha256:182273f27d5f01a7f271bff2540347caa2dce23c9a04824c22ab25af84186958 +size 4272958 diff --git a/engine/macos-arm64/GodotSharp/Tools/nupkgs/GodotSharpEditor.4.7.2.nupkg b/engine/macos-arm64/GodotSharp/Tools/nupkgs/GodotSharpEditor.4.7.2.nupkg index d5e719f..fc76aea 100644 --- a/engine/macos-arm64/GodotSharp/Tools/nupkgs/GodotSharpEditor.4.7.2.nupkg +++ b/engine/macos-arm64/GodotSharp/Tools/nupkgs/GodotSharpEditor.4.7.2.nupkg @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7186a10fb2b13dcec34cc4ad9c42520d781d9243965f3947bfb45146047604de -size 177176 +oid sha256:6d02a8a7d0acebe916cf44c22320a49a2f35b6fb1bc96be9a894549f68a46c06 +size 177161 diff --git a/engine/macos-arm64/GodotSharp/Tools/nupkgs/GodotSharpEditor.4.7.2.snupkg b/engine/macos-arm64/GodotSharp/Tools/nupkgs/GodotSharpEditor.4.7.2.snupkg index d7c585e..1dba868 100644 --- a/engine/macos-arm64/GodotSharp/Tools/nupkgs/GodotSharpEditor.4.7.2.snupkg +++ b/engine/macos-arm64/GodotSharp/Tools/nupkgs/GodotSharpEditor.4.7.2.snupkg @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d0cde5516db17d5c27ea650fcdd5162b139f8b5ca2b4beffd67f85e0e6215cf7 -size 262699 +oid sha256:e972af7087b07b03f9be1d4fb5e37ff61657174d95f1d108271ff974b7b0c2f9 +size 262700 diff --git a/engine/macos-arm64/tinqs.macos.editor.arm64.mono b/engine/macos-arm64/tinqs.macos.editor.arm64.mono index ce2334b..c9a4f6a 100755 --- a/engine/macos-arm64/tinqs.macos.editor.arm64.mono +++ b/engine/macos-arm64/tinqs.macos.editor.arm64.mono @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ee3f58dd973f571599eed5f3d043c1b8c84bc7ee38b0e180ea8d31523e0b932b -size 137013072 +oid sha256:abc6dc79990ad53949b35bee0f5a2029a0c0b49803c25ae3b3b792c0d233f563 +size 137029664 diff --git a/manifest.json b/manifest.json index 8e47a0b..0a5fc3f 100644 --- a/manifest.json +++ b/manifest.json @@ -4,16 +4,16 @@ "macos-arm64": { "binary": "engine/macos-arm64/tinqs.macos.editor.arm64.mono", "godotsharp": "engine/macos-arm64/GodotSharp", - "version": "4.7.2.stable.mono.custom_build.e64890fd3", + "version": "4.7.2.stable.mono.custom_build.a967d12bf", "engine_repo": "tinqs/engine", - "engine_commit": "e64890fd", - "sha256": "ee3f58dd973f571599eed5f3d043c1b8c84bc7ee38b0e180ea8d31523e0b932b", + "engine_commit": "a967d12b", + "sha256": "abc6dc79990ad53949b35bee0f5a2029a0c0b49803c25ae3b3b792c0d233f563", "target": "editor", - "built_on": "2026-10-18", - "built_by": "Ozan/Kraken via Claude (render-thread autorelease drain on Apple + G4 mergeable-draw counter)", + "built_on": "2026-10-19", + "built_by": "Ozan/Kraken via Claude (parallel draw-list replay + recording)", "toolchain": "Xcode (Apple Silicon), SCons, VulkanSDK 1.4.350.0", "scons_flags": "platform=macos target=editor arch=arm64 module_mono_enabled=yes vulkan_sdk_path=~/VulkanSDK/1.4.350.0/macOS", - "note": "Mac. Engine e64890fd = 4fde0e94 + Apple render-thread fix: the separate render thread (thread_model=2, the game default) now drains an Objective-C autorelease pool each flush - before, autoreleased Metal command buffers/encoders/drawables leaked ~88 Mach ports/s until Metal could not start new processes (66k ports / 23 GB after 1.5 h); now flat at ~640. Also RENDERING_INFO_GPU_CULL_MERGEABLE_DRAWS_IN_FRAME (G4 census) and draw_indirect_count null scratch now errors loudly. GodotSharp regenerated (with Tools/). Oracles on Metal: multimesh_cull_pool 4524/4524, draw_indirect_count 24/24. Windows at 4fde0e94; Forge to rebuild e64890fd (handoff forge-windows-e64890fd.md) - the leak fix is Apple-only, Windows gains only the counter." + "note": "Mac. Engine a967d12b = e64890fd + parallel draw-list replay (06ecc5df: large draw lists recorded into Vulkan secondary command buffers on worker threads at frame end; Vulkan only, no effect on Metal) + parallel draw-list recording (Forward+ render lists split over worker threads into RenderingDevice sub-lists; every driver) + PipelineHashMapRD RWLock. Project settings rendering/rendering_device/parallel_draw_{replay,recording}/* (engine default off; the game turns both on). GodotSharp regenerated (with Tools/). Oracle tests/gpu_oracle/parallel_draw_replay: Vulkan/MoltenVK 10/10, Metal 5/5 pixel-identical. Windows at e64890fd3; Forge to build a967d12b (handoff forge-windows-parallel-replay.md)." }, "windows-x64": { "binary": "engine/windows-x64/tinqs.windows.editor.x86_64.mono.exe", @@ -29,7 +29,7 @@ "built_by": "Ozan/Forge via ZCode (forge-windows-e64890fd handoff)", "toolchain": "MSVC 14.3 (VS2022 Build Tools), Windows SDK 10.0.26100, SCons 4.10.1, .NET SDK 10.0.103", "scons_flags": "platform=windows target=editor module_mono_enabled=yes -j32", - "note": "Windows carries e64890fd3 — SAME hash as macos-arm64 (built at e64890fd3b): 4fde0e94 G2 pooled cull pair (see its note in git history) PLUS e64890fd3b — Apple-only render-thread autorelease drain (no Windows effect), RENDERING_INFO_GPU_CULL_MERGEABLE_DRAWS_IN_FRAME (new enum value 13, G4 census — env gpucull status shows '(N mergeable)'), Metal draw_indirect_count null scratch errors loudly (no Windows effect). GodotSharp regenerated from this binary — Api AND Tools. Headless game boot clean (0 binding errors); in-world smoke (host world, 0 wrapper errors, gpucull mergeable counter) per handoff still owed. Owed on Windows (carried): multimesh_cull_pool oracle on D3D12, --gpu-validation pass (Graphics Tools not installed on Forge), in-world gpucull census + pooled on/off, tree_wind compile check, crash-report checklist (8 steps). Editor target only — template_release still 1e7be28b. D3D12 Agility DLLs not shipped (Vulkan game)." + "note": "Windows carries e64890fd3 \u2014 SAME hash as macos-arm64 (built at e64890fd3b): 4fde0e94 G2 pooled cull pair (see its note in git history) PLUS e64890fd3b \u2014 Apple-only render-thread autorelease drain (no Windows effect), RENDERING_INFO_GPU_CULL_MERGEABLE_DRAWS_IN_FRAME (new enum value 13, G4 census \u2014 env gpucull status shows '(N mergeable)'), Metal draw_indirect_count null scratch errors loudly (no Windows effect). GodotSharp regenerated from this binary \u2014 Api AND Tools. Headless game boot clean (0 binding errors); in-world smoke (host world, 0 wrapper errors, gpucull mergeable counter) per handoff still owed. Owed on Windows (carried): multimesh_cull_pool oracle on D3D12, --gpu-validation pass (Graphics Tools not installed on Forge), in-world gpucull census + pooled on/off, tree_wind compile check, crash-report checklist (8 steps). Editor target only \u2014 template_release still 1e7be28b. D3D12 Agility DLLs not shipped (Vulkan game)." } } }