wip: cave planner squash-merged into wip/combined (L173, RED - not for main)
Five conflicts resolved (CURRENT-STATE, ResolvedLayoutInternal.h, StreamBenchmarkHeadless.cpp, StreamBenchmarkPipeline.h, WorldAssemblyPrototype.h) keeping liminal + cave planner; L156 band fit only; evaluator v239 with v239 baselines (18/18 Clang/GCC W1/W8/W12). Fast tier FAILS (FI upper arrival: 40 unsupported chamber samples, 10 chamber-floor shell violations); TN and VS composed sweeps 0/16 (passage, seam, shell gates). Living plane loads at PostConfigInit (UE smoke passes). Source/: VoxelForgeCoreAdapter.cpp; VoxelForge.uplugin. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016dhxM43dnWvUu2B5Ph1iG1
This commit is contained in:
1 parent
82eb5b1c66
commit
b09728354d
243 files changed
+23019
-307
No files matched your search
@@ -125,11 +125,11 @@ RECIPE_RE = re.compile(
|
||||
|
||||
def owner_hash_baseline(recipe: str, style: int) -> tuple[Path, str]:
|
||||
if recipe == "surface-world" and style == 1:
|
||||
return (BASELINES / "owner-hash/canonical/owner-hash-surface-world-style1-v227.baseline",
|
||||
"L130-v227-reach-units")
|
||||
return (BASELINES / "owner-hash/canonical/owner-hash-surface-world-style1-v239.baseline",
|
||||
"L173-v239-combined-cave-planner")
|
||||
if recipe == "floating-islands" and style == 2:
|
||||
return (BASELINES / "owner-hash/canonical/owner-hash-floating-islands-style2-v227.baseline",
|
||||
"L130-v227-reach-units")
|
||||
return (BASELINES / "owner-hash/canonical/owner-hash-floating-islands-style2-v239.baseline",
|
||||
"L173-v239-combined-cave-planner")
|
||||
raise VerificationFailure(f"no pinned owner hash baseline for {recipe} style {style}")
|
||||
|
||||
|
||||
@@ -538,6 +538,19 @@ def run_density_dispatch_report(runner: VerificationRunner, binary: Path) -> Non
|
||||
voxel_size_um = int(strata[0]["voxel_size_um"])
|
||||
if voxel_size_um <= 0:
|
||||
raise ValueError(f"invalid voxel_size_um={voxel_size_um}")
|
||||
tunnel_network = strata[2]
|
||||
if (tunnel_network.get("generator_kind") != "TunnelNetwork"
|
||||
or tunnel_network.get("recipe_id") != "Core.Caves.PrimitiveField"
|
||||
or int(tunnel_network.get("recipe_version", 0)) != 1):
|
||||
failures.append(f"{name}: Tunnel Network did not bind Core cave recipe v1: "
|
||||
f"generator={tunnel_network.get('generator_kind')} "
|
||||
f"recipe={tunnel_network.get('recipe_id')} "
|
||||
f"version={tunnel_network.get('recipe_version')}")
|
||||
if dispatch.get(2) != ("Caves-native", "TunnelNetwork",
|
||||
"Core.Caves.PrimitiveField", 1,
|
||||
"FCavesFieldAdapter"):
|
||||
failures.append(f"{name}: Tunnel Network dispatch is not native caves: "
|
||||
f"{dispatch.get(2)}")
|
||||
except (OSError, json.JSONDecodeError, KeyError, TypeError, ValueError) as error:
|
||||
failures.append(f"{name}: cannot classify tiles from resolved layout: {error}")
|
||||
continue
|
||||
@@ -604,7 +617,8 @@ def run_density_dispatch_report(runner: VerificationRunner, binary: Path) -> Non
|
||||
failures.append("no tile centers were attributed to any bound path")
|
||||
runner.require("owner-density-dispatch-report", not failures,
|
||||
"; ".join(failures) if failures else
|
||||
"four owner poses reported per-strate bound paths and tile-center path shares")
|
||||
"four owner poses reported per-strate bound paths and tile-center path shares; "
|
||||
"TN binds Core.Caves.PrimitiveField v1 through FCavesFieldAdapter")
|
||||
|
||||
|
||||
def run_landmark_reachability(runner: VerificationRunner,
|
||||
@@ -1064,7 +1078,7 @@ def run_ore_vein_hash_controls(runner: VerificationRunner) -> None:
|
||||
def cavern_audit_cameras(layout_path: Path) -> list[tuple[float, float, float, float, float]]:
|
||||
layout = json.loads(layout_path.read_text(encoding="utf-8"))
|
||||
edges = layout.get("cavern_edges", [])
|
||||
if layout.get("cavern_graph_vocabulary_version") != 1 or len(edges) != 1:
|
||||
if layout.get("cavern_graph_vocabulary_version") not in (1, 2) or len(edges) != 1:
|
||||
raise VerificationFailure(f"missing one resolved cavern edge in {layout_path}")
|
||||
points = [[value / 1_000_000.0 for value in point]
|
||||
for point in edges[0]["control_points_um"]]
|
||||
@@ -1138,7 +1152,7 @@ def run_native_caves_field_audit(runner: VerificationRunner, binary: Path) -> tu
|
||||
r"false_all_air=REJECTED false_all_solid=REJECTED .*status=PASS$"),
|
||||
"brute-force interval proofs have zero misses and reject both false-proof controls")
|
||||
layout = json.loads(layout_path.read_text(encoding="utf-8"))
|
||||
graph_ok = (layout.get("cavern_graph_vocabulary_version") == 1
|
||||
graph_ok = (layout.get("cavern_graph_vocabulary_version") in (1, 2)
|
||||
and len(layout.get("cavern_rooms", [])) == 1
|
||||
and len(layout.get("cavern_edges", [])) == 2)
|
||||
runner.require(f"native-caves-field-{compiler}:resolved-graph", graph_ok,
|
||||
@@ -1221,7 +1235,7 @@ def run_native_lattice_field_audit(runner: VerificationRunner, binary: Path) ->
|
||||
rooms = layout.get("cavern_rooms", [])
|
||||
lattice_rows = [row for row in layout.get("strates", [])
|
||||
if row.get("strate_index") == 1]
|
||||
graph_ok = (layout.get("cavern_graph_vocabulary_version") == 1
|
||||
graph_ok = (layout.get("cavern_graph_vocabulary_version") in (1, 2)
|
||||
and len(edges) >= 9 and len(rooms) >= 8
|
||||
and len(lattice_rows) == 1
|
||||
and lattice_rows[0].get("generator_kind") == "Maze"
|
||||
@@ -1247,7 +1261,7 @@ def lattice_camera_positions(layout_path: Path, count: int = 4) -> list[tuple[fl
|
||||
edges = sorted(layout.get("cavern_edges", []), key=lambda edge: edge["stable_id"])
|
||||
helix = next((edge for edge in edges
|
||||
if edge["stable_id"] == "lattice/spine/01-helix-ramp-v1"), None)
|
||||
if layout.get("cavern_graph_vocabulary_version") != 1 or helix is None:
|
||||
if layout.get("cavern_graph_vocabulary_version") not in (1, 2) or helix is None:
|
||||
raise VerificationFailure(f"missing resolved lattice helix in {layout_path}")
|
||||
helix_points = [[value / 1_000_000.0 for value in point]
|
||||
for point in helix.get("polyline_um", [])]
|
||||
@@ -1400,7 +1414,7 @@ def run_lattice_performance(runner: VerificationRunner, binary: Path,
|
||||
def cave_camera_positions(layout_path: Path, count: int = 4) -> list[tuple[float, float, float, float, float]]:
|
||||
layout = json.loads(layout_path.read_text(encoding="utf-8"))
|
||||
edges = sorted(layout.get("cavern_edges", []), key=lambda edge: edge["stable_id"])
|
||||
if layout.get("cavern_graph_vocabulary_version") != 1 or len(edges) != 2:
|
||||
if layout.get("cavern_graph_vocabulary_version") not in (1, 2) or len(edges) != 2:
|
||||
raise VerificationFailure(f"missing two resolved cave spine edges in {layout_path}")
|
||||
rng = _SplitMix64(CAVES_CAMERA_SWEEP_SEED)
|
||||
cameras = []
|
||||
|
||||
Reference in new issue
Block a user