Implement playable Mac client and rendering validation

This commit is contained in:
shen
2026-09-11 14:58:22 +08:00
parent 1ab68bd06e
commit 374d4165d8
233 changed files with 6546 additions and 284 deletions
+31
View File
@@ -0,0 +1,31 @@
# Particle shader lifetime reproducer
Independent Godot project: no game assets, autoloads, GDExtension, network,
EffectPlayer, or particles emitter. Eight short-lived ParticleProcessMaterials
cycle through three emission shapes. Weak references must all be dead before
exit; a RenderingServer synchronization also runs before quitting.
Export this project with the installed macOS template using `--export-release`
and `--export-debug` into separate directories under the repository's `build/`.
Run each exported executable and preserve both stdout and stderr until process
exit. A run is clean only if `ISOLATED_PARTICLE_EXIT alive=0` is present and no
shader/RID error follows. The success marker alone is not a clean-exit verdict.
2026-09-10, Godot 4.7.1 official, Apple M4/Metal:
- Release: zero surviving materials, three ParticlesShaderRD/Shader RID leaks.
- Debug: zero surviving materials, no shader/RID leak.
Logs: `build/rendering/particle-isolated-release.log` and
`build/rendering/particle-isolated-debug.log`. Path overrides (`--main-pack`,
external `--script`) are not supported by the installed release template;
export a standalone app instead. This project contains no copyrighted artwork
and may be used as a minimal upstream reproduction if separately authorized.
2026-09-11: an unmodified same-revision arm64 release build using
`debug_symbols=yes optimize=speed lto=none vulkan=no` exits cleanly in this
project and in two complete game package checks. Rebuild it with
`bash script/build_macos_release_engine.sh arm64` from the repository root.
This is a verified alternative build path, not proof of a specific compiler
bug or a source fix to the installed official template. Intel and Vulkan are
outside this result.