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:
Fr0zkaandClaude Opus 5.5 committed 2026-11-03 02:28:34 +01:00
1 parent 82eb5b1c66
commit b09728354d
243 files changed
+23019 -307

No files matched your search

+24 -10
View File
@@ -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 = []