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
@@ -1,5 +1,8 @@
extends SceneTree
const FixtureCleanup := preload("res://tests/helpers/ui_audio_fixture_cleanup.gd")
var _finishing := false
## Uses the real Main business controls and Runtime paid-service boundary.
## No amount, deficit threshold or production attribute assignment is introduced.
var _checks := 0
@@ -211,7 +214,13 @@ func _expect(ok: bool, label: String) -> void:
func _finish() -> void:
if _finishing:
return
_finishing = true
if is_instance_valid(_main):
_main.queue_free()
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 pricing fixture audio cleanup failed")
print("Pending service pricing report: %d checks, %d failures" % [_checks, _failures])
quit(1 if _failures > 0 else 0)