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:
1 parent
36d954cf2f
commit
5e875ae504
45 files changed
+3081
-53
No files matched your search
@@ -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)
|
||||
|
||||
Reference in new issue
Block a user