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
+6 -1
View File
@@ -1,4 +1,5 @@
extends SceneTree
const FixtureCleanup := preload("res://tests/helpers/ui_audio_fixture_cleanup.gd")
var checks := 0
var failures := 0
func expect(ok: bool, message: String) -> void:
@@ -101,5 +102,9 @@ func run() -> void:
await process_frame; await RenderingServer.frame_post_draw
expect(root.get_texture().get_image().save_png(ProjectSettings.globalize_path("res://artifacts/facility-dimensions-2026-09-29/anri-floor-assigned.png")) == OK, "capture recruited Anri")
SaveService.delete_save(path)
main.queue_free(); await process_frame
var cleanup: Dictionary = await FixtureCleanup.free_owner_and_wait(self, main)
if not bool(cleanup.get(&"passed", false)):
push_error("Anri recruitment ordinary owner cleanup failed: %s" % str(cleanup))
quit(96)
return
print("Anri recruitment UI: %d checks, %d failures" % [checks,failures]); quit(failures)