Files
TheTree_mock/tools/capture_facility_audit.gd
T
Takeshi 5dde0c5ec2 Record original-alignment implementation and traceability checkpoint
Capture current source, content data, tests, asset licenses, and original-specification traceability. Original implementation remains incomplete. The accepted matching UI generation passed 154 suites and 12,253 checks, with eight rendered staff-contract screens reviewed. Latest native Windows and full-original acceptance remain outstanding.
2026-09-30 23:52:24 +09:00

24 lines
2.1 KiB
GDScript

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)