extends SceneTree func _initialize() -> void: call_deferred("run") func run() -> void: root.get_node("GameClock").set_paused(true) var runtime: Variant = root.get_node("SimulationRuntime") var original: Array = JSON.parse_string(FileAccess.get_file_as_string("res://docs/plans/original-completion-2026-09-29/execution/original_facility_mapping.json")) var palette: Array = load("res://scenes/main/main.gd").MVP_FACILITY_IDS var rows: Array = [] for raw: Dictionary in original: var id := StringName(raw["definition_id"] if raw["definition_id"] != null else "") var definition: FacilityDefinition = FacilityCatalog.by_id(id) if not id.is_empty() else null var row := {"section":raw["section"], "name":raw["name"], "definition_id":String(id), "original_size":raw["original_size"], "original_layer_zone":raw["original_layer_zone"], "runtime_registered":runtime.definition_registry.has_facility(id), "palette_listed":id in palette, "definition":null} if definition != null: row["definition"] = {"path":definition.resource_path, "display_name":definition.display_name, "footprint":[definition.footprint.x,definition.footprint.y], "layer":FacilityDefinition.ViewLayer.keys()[definition.layer], "zone":FacilityDefinition.MapZone.keys()[definition.zone], "customer_capacity":definition.customer_capacity, "capacity":definition.capacity, "staff_min":definition.staff_min,"staff_max":definition.staff_max, "required_roles":definition.required_roles, "service_attribute":String(definition.service_attribute), "maintenance_gold":definition.maintenance_gold, "faith_per_service":definition.faith_per_service} rows.append(row) var output := OS.get_environment("THE_TREE_FACILITY_AUDIT_PATH") if output.is_empty(): push_error("THE_TREE_FACILITY_AUDIT_PATH is required"); quit(2); return var file := FileAccess.open(output,FileAccess.WRITE) if file == null: push_error("Cannot write audit output"); quit(2); return file.store_string(JSON.stringify({"normal_registry_ids":runtime.definition_registry.get_facility_ids(),"palette_ids":palette,"original_facilities":rows},"\t")+"\n");file.close() print("Exported facility audit rows (not acceptance PASS): ", rows.size());quit(0)