Files
TheTree_mock/tests/performance/test_facility_reachability.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

52 lines
3.0 KiB
GDScript

extends SceneTree
const Demo := preload("res://scripts/ui/pixel_tower_demo.gd")
var checks := 0
var failures := 0
var runtime: Variant
func expect(ok: bool, label: String) -> void:
checks += 1
if not ok: failures += 1; push_error(label)
func _initialize() -> void: call_deferred("run")
func compare(label: String) -> void:
for facility: FacilityInstance in runtime.facility_service.get_instances():
expect(runtime.is_facility_reachable(facility.instance_id) == bool(runtime.get_facility_access_report(facility.instance_id)[&"reachable"]), label + ": " + String(facility.instance_id))
func run() -> void:
runtime = root.get_node("SimulationRuntime")
var clock: Variant = root.get_node("GameClock")
var state: Variant = root.get_node("GameState")
clock.reset(1,6,0); state.reset(); runtime.initialize(clock,state,424242); clock.set_paused(true)
runtime.configure_save_policy({&"enabled":false,&"daily_checkpoint_enabled":false})
var demo := Demo.new()
expect(await demo.prepare(runtime,clock,self), "prepare actual multi-floor topology")
if failures: quit(failures); return
compare("connected topology")
expect(not runtime.is_facility_reachable(&"missing"), "missing facility is unreachable")
var checkpoint: Dictionary = runtime.create_snapshot()
var facility: FacilityInstance = runtime.facility_service.get_instances()[0]
facility.access_available = false
expect(not runtime.is_facility_reachable(facility.instance_id), "operating access override is honored")
expect(runtime.restore_snapshot(checkpoint), "restore access override")
# Block every graph cell, including all candidate public entrances. Do not
# leave a second entrance that can legitimately reach the same destination.
for cell: Vector3i in runtime.world_service.get_walkable_cells():
if runtime.path_service.has_cell(cell): runtime.path_service.set_cell_temporary_block(cell,true)
compare("blocked topology")
for item: FacilityInstance in runtime.facility_service.get_instances():
expect(not runtime.is_facility_reachable(item.instance_id), "blocked entrance cannot report reachable")
expect(runtime.restore_snapshot(checkpoint), "restore graph after temporary blocks")
compare("restored topology")
var measurements := {}
for method: StringName in [&"get_facility_access_report", &"is_facility_reachable"]: measurements[String(method)] = []
for attempt in 100:
var methods: Array[StringName] = [&"get_facility_access_report", &"is_facility_reachable"]
if attempt % 2: methods.reverse()
for method: StringName in methods:
var start := Time.get_ticks_usec()
for item: FacilityInstance in runtime.facility_service.get_instances(): runtime.call(method,item.instance_id)
measurements[String(method)].append(Time.get_ticks_usec()-start)
var output := OS.get_environment("THE_TREE_REACHABILITY_PROFILE")
if not output.is_empty():
var file := FileAccess.open(output,FileAccess.WRITE)
file.store_string(JSON.stringify(measurements," "));file.close()
print("Facility reachability: %d checks, %d failures" % [checks,failures]);quit(failures)