Save The Tree implementation and acceptance work in progress

Preserve production code, regression fixtures, audio assets and provenance, test infrastructure, and the original-completion plan and progress ledger. Final game and Windows acceptance remain pending; excluded local artifacts and native experiments are not part of this snapshot.
This commit is contained in:
Takeshi
2026-10-11 15:58:00 +09:00
parent 39f6068461
commit b84bade045
235 changed files with 495831 additions and 312 deletions
+11
View File
@@ -1,5 +1,8 @@
extends SceneTree
const FixtureCleanup := preload("res://tests/helpers/ui_audio_fixture_cleanup.gd")
var _finishing := false
var _checks := 0
var _failures := 0
var _runtime: Variant
@@ -187,5 +190,13 @@ func _expect(condition: bool, message: String) -> void:
print("%s %s" % ["PASS" if condition else "FAIL", message])
func _finish() -> void:
if _finishing:
return
_finishing = true
if is_instance_valid(_main):
var final_cleanup: Dictionary = await FixtureCleanup.free_owner_and_wait(self, _main)
if not bool(final_cleanup.get(&"passed", false)):
_failures += 1
push_error("ordinary Main final audio cleanup failed")
print("Runtime transport: %d checks, %d failures" % [_checks, _failures])
quit(1 if _failures else 0)