passages: floor profile by nearest centreline + metric distance outside voids (L114, v222) - WIP

Floor ribs are present in L109/L112/L113 rock tunnels too: the floor height comes from the
nearest segment, so it jumps (up to 5.9-7.3 cm) where the nearest segment switches. v222 reduces
them; faint ribs remain. Quiet-machine timing (load 0.64): near-ready 9-17% slower than L109
(FI W12 0.95 -> 1.10 s); candidate totals ~5x L109. Fast tier FAIL: 2 SW wall-shell probes of
31,381 read host air. Walk/grade audits pass; Clang/GCC deterministic; UE builds.

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-10-29 23:18:40 +01:00
1 parent 36d954cf2f
commit 5e875ae504
45 files changed
+3081 -53

No files matched your search

@@ -0,0 +1,12 @@
[PipelineFullDetailHash] tiles=960 density=0x91931a57a067fd92 mesh=0xa818654be89790ac payload=0x370ff80451105a39 topology=0x06e507557aa70173
[PipelineWholeViewHash] tiles=2370 density=0x6b7a252b16f4fb54 mesh=0x912d124579189efa payload=0x8abe8d1270377503 topology=0x19a5fe8c2962598c
[PipelineLODHash] lod=0 tiles=512 density=0x2fd4c78685a43cfe mesh=0x50478cff1c1f8ca0 payload=0x54e48e57e0af26de topology=0x860c011cfdb9833a
[PipelineLODHash] lod=1 tiles=448 density=0x4b8d9a6dcd2942ad mesh=0x17e89b7087bfe711 payload=0x2389c109eb780db6 topology=0x7eccd4cf560d0630
[PipelineLODHash] lod=2 tiles=320 density=0xdad28a7fa1b9766b mesh=0xf5263c751cc5af4f payload=0xb882e4c989d07b53 topology=0x874e27ae4e73ec39
[PipelineLODHash] lod=3 tiles=208 density=0x6e050028a242875e mesh=0x0b9d3d5662314869 payload=0x6722ab1369ea33b6 topology=0x63c9c29f4568f5e3
[PipelineLODHash] lod=4 tiles=240 density=0xfb11591772a3d18e mesh=0xebf2baee8764591b payload=0xe491d7ac9c0061ad topology=0xd618ac33b95ce494
[PipelineLODHash] lod=5 tiles=144 density=0x2f8b7b7fb1e67258 mesh=0x4cd508cbe97344fd payload=0x2b6e96a6050458c9 topology=0x4ff6d0eda8988573
[PipelineLODHash] lod=6 tiles=96 density=0x0114a34c8b8d6113 mesh=0xb1fec4d01ae1fa44 payload=0x3e50cfd429b8e950 topology=0x08090c96d15c1618
[PipelineLODHash] lod=7 tiles=96 density=0x3836ed8cfce73418 mesh=0x40bc6589c5fc1aac payload=0x677349bcae16790f topology=0x36e3aa53192e6a6b
[PipelineLODHash] lod=8 tiles=306 density=0x144f3c1fd722708b mesh=0xef77b28bf7fd9453 payload=0xe3f47b37fcd61489 topology=0x5a3c73e295494e04
[PipelineExactQueryHash] probes=9 density=0x7b7c50ac24ccadcc unclamped=0x7b7c50ac24ccadcc detail=0xefcba20c0c70c415 collision=0xe604823a249029bf path=direct-Core-queries
@@ -0,0 +1,12 @@
[PipelineFullDetailHash] tiles=960 density=0xace56c8f205238ad mesh=0xa9c603a1248de6b8 payload=0xea55f1f4fcc6a894 topology=0x5ea7bc78a1b678ae
[PipelineWholeViewHash] tiles=2370 density=0xfa232c4422e2e610 mesh=0xce56a238f93d6206 payload=0xcf7b1f5aeaaedf99 topology=0xad24679ddf040575
[PipelineLODHash] lod=0 tiles=512 density=0xcd6ab28cfa504aca mesh=0xf03dc80a669fca31 payload=0x397aded1c3d2d297 topology=0xb4a1dc84fabc1fe3
[PipelineLODHash] lod=1 tiles=448 density=0xce6e713828b2a20a mesh=0x1cf408c25d67d18c payload=0x8a2b5d20571c997e topology=0x51cd985fe8e7d100
[PipelineLODHash] lod=2 tiles=320 density=0x2047609972d09d73 mesh=0xae66aa3b34004b82 payload=0x8f81f605def21b18 topology=0xd9cef4942e0bc09e
[PipelineLODHash] lod=3 tiles=208 density=0x2ed5ccb4d6e39e53 mesh=0x896a64c1f3e2c360 payload=0x79325ad522c83de8 topology=0x49de5799ff8ea38e
[PipelineLODHash] lod=4 tiles=240 density=0x0be8798407724eaf mesh=0x131c303cbbe51434 payload=0x2a90ecf0a2411ca0 topology=0xe3e054a371152e08
[PipelineLODHash] lod=5 tiles=144 density=0xf20897ad272103a9 mesh=0x13d00b6253ae1f72 payload=0x0db3880693a962fa topology=0x462bd87a80f15e89
[PipelineLODHash] lod=6 tiles=96 density=0xc040fcac457d6313 mesh=0x1ed132eeb718fb62 payload=0xcd0214e35577c6e3 topology=0x2c56c69e6fdcfd64
[PipelineLODHash] lod=7 tiles=96 density=0xc2d419446355fdb8 mesh=0x4ea44452574fc84b payload=0xfd9779bedfc9ae0f topology=0x8948546e770c9b72
[PipelineLODHash] lod=8 tiles=306 density=0x62db31696f2da831 mesh=0xd373f9e9481532fe payload=0x540a60526e0e3e46 topology=0xc725cb901e6dc335
[PipelineExactQueryHash] probes=9 density=0xc949c4df2ce6f9d9 unclamped=0xc949c4df2ce6f9d9 detail=0x114c501e2d830d94 collision=0xe6011d3a248d4849 path=direct-Core-queries
+11 -8
View File
@@ -122,11 +122,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-v220.baseline",
"L113-v220-adaptive-spline-rounded-half-pipe")
return (BASELINES / "owner-hash/canonical/owner-hash-surface-world-style1-v222.baseline",
"L114-v222-local-passage-floor-profile")
if recipe == "floating-islands" and style == 2:
return (BASELINES / "owner-hash/canonical/owner-hash-floating-islands-style2-v220.baseline",
"L113-v220-adaptive-spline-rounded-half-pipe")
return (BASELINES / "owner-hash/canonical/owner-hash-floating-islands-style2-v222.baseline",
"L114-v222-local-passage-floor-profile")
raise VerificationFailure(f"no pinned owner hash baseline for {recipe} style {style}")
@@ -199,7 +199,8 @@ def validate_passage(runner: VerificationRunner, name: str, output: str,
wall_threshold = re.search(r"threshold_m=([-0-9.]+)", line)
floor = re.search(r"floor_amplitude_m=([-0-9.]+)", line)
floor_threshold = re.search(r"floor_threshold_m=([-0-9.]+)", line)
wall_coverage = parse_ratio(line, "coverage")
wall_window_count = parse_ratio(line, "wall_windows")
wall_window_coverage = parse_ratio(line, "wall_window_coverage")
floor_coverage = parse_ratio(line, "floor_coverage")
floor_coverage_pair = re.search(r"floor_coverage=(\d+)/(\d+)", line)
floor_overlap_skips = re.search(r"floor_overlap_skips=(\d+)", line)
@@ -211,15 +212,17 @@ def validate_passage(runner: VerificationRunner, name: str, output: str,
floor_measured = bool(
floor_mode and floor_mode.group(1) in ("measured", "measured_with_overlap")
and floor_coverage is not None and floor_coverage >= 0.75)
wall_measured = bool(wall_window_count is not None and wall_window_count > 0
and wall_window_coverage is not None and wall_window_coverage >= 0.75)
ripple_ok &= bool(
"status=PASS" in line and wall and wall_threshold and floor and floor_threshold
and wall_coverage is not None and floor_coverage is not None
and wall_measured and floor_coverage is not None
and float(wall.group(1)) <= float(wall_threshold.group(1))
and float(floor.group(1)) <= float(floor_threshold.group(1))
and wall_coverage >= 0.75 and (floor_measured or floor_overlap_only))
and (floor_measured or floor_overlap_only))
passed_all &= ripple_ok
detail = (f"profiles={len(rows)} wall/floor amplitudes under their thresholds; "
"wall coverage>=0.75 and floor measured coverage>=0.75 or all probes "
"measured wall windows cover>=0.75 and floor measured coverage>=0.75 or all probes "
"explicitly masked by overlapping tunnel interior air")
if defer:
defer_requirement(runner, f"{name}:wall-floor-ripple-and-coverage", ripple_ok, detail)