Add explicit stairs and measure elevator congestion with real actors

This commit is contained in:
Takeshi
2026-09-09 14:26:38 +09:00
parent e246ce382b
commit fb4ad23190
57 changed files with 3030 additions and 162 deletions
+3 -1
View File
@@ -101,7 +101,7 @@ func _test_snapshot_validation_and_legacy() -> void:
path.set_vertical_walk_blockers(&"shaft.a", [cells[0], cells[1]])
path.set_vertical_walk_blockers(&"shaft.b", [cells[2]])
var snapshot := path.create_snapshot()
_expect(snapshot[&"schema_version"] == 4, "Path v4 declares shaft ownership")
_expect(snapshot[&"schema_version"] == 5, "Path v5 retains shaft ownership and explicit floor policy")
var restored := PathType.new()
_expect(restored.restore_snapshot(snapshot) and restored.rebuild_graph(cells), "restore shaft topology before authoritative graph materialization")
_expect(restored.create_snapshot() == snapshot and restored.find_path(cells[0], cells[1]).is_empty(), "round trip restores exact restrictions and revision")
@@ -138,6 +138,8 @@ func _test_snapshot_validation_and_legacy() -> void:
legacy[&"schema_version"] = version
_expect(not restored.restore_snapshot(legacy), "old version with retained shaft field cannot disable safety")
legacy.erase(&"vertical_walk_blockers")
legacy.erase(&"vertical_walk_requires_connector")
legacy.erase(&"transit_actor_ids")
_expect(restored.restore_snapshot(legacy), "true legacy snapshot lacking shaft field migrates")
_expect(restored.get_vertical_walk_blockers().is_empty() and not restored.find_path(cells[0], cells[1]).is_empty(), "legacy plain topology remains compatible")
_expect(restored.restore_snapshot(snapshot), "return to current shaft snapshot")