trace: Unreal timing traces run without hash capture (L71); verify baselines tracked
The L70 "2x SurfaceWorld GenerateTile in Unreal" was the instrument: the trace enabled bCaptureVoxelForgeCoreHashesForValidation, which disables the native heightfield-band shortcut and whole-tile skips (W1 same keys: 9.00 s hash-off vs 28.46 s hash-on). With hashing off, Unreal and headless match at W8 within 1.2-2.5% (Core 14.42 s vs 14.26 s) on identical tile keys. LOD0 p95 tail = real cost of non-empty passage tiles near the spawn mouth (p50/p95 18.8/105 ms); most LOD0 tiles are empty. verify.py reads its baselines from Standalone/Tools/verify/baselines/ instead of untracked Saved/Linux. The 11 .vfmesh control meshes (~78 MB) are not committed yet (to be stored compressed). Fast tier green. 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
018c0e1ec8
commit
971206c2ea
37 files changed
+1626
-42
No files matched your search
@@ -22,6 +22,7 @@ import zlib
|
||||
|
||||
ROOT = Path(__file__).resolve().parents[3]
|
||||
VERIFY_DIR = ROOT / "Standalone/Tools/verify"
|
||||
BASELINES = VERIFY_DIR / "baselines"
|
||||
LINUX37 = ROOT / "Standalone/Research/WorldAssemblerM3/Linux37"
|
||||
LINUX47 = ROOT / "Standalone/Research/WorldAssemblerM3/Linux47"
|
||||
LINUX53 = ROOT / "Standalone/Research/WorldAssemblerM3/Linux53"
|
||||
@@ -105,10 +106,10 @@ RECIPE_RE = re.compile(
|
||||
|
||||
def owner_hash_baseline(recipe: str, style: int) -> tuple[Path, str]:
|
||||
if recipe == "surface-world" and style == 1:
|
||||
return (LINUX67 / "hash-baselines" / "owner-hash-surface-world-style1-v212.log",
|
||||
return (BASELINES / "owner-hash/canonical/owner-hash-surface-world-style1-v212.baseline",
|
||||
"L67-v212")
|
||||
if recipe == "floating-islands" and style == 2:
|
||||
return (LINUX70 / "hash-baselines" / "owner-hash-floating-islands-style2-v214.log",
|
||||
return (BASELINES / "owner-hash/canonical/owner-hash-floating-islands-style2-v214.baseline",
|
||||
"L70-v214")
|
||||
raise VerificationFailure(f"no pinned owner hash baseline for {recipe} style {style}")
|
||||
|
||||
@@ -549,7 +550,7 @@ def run_stamp_and_input_controls(runner: VerificationRunner) -> None:
|
||||
runner.require("stale-build-source-edit-control", rejected,
|
||||
"runner refused the binary after a Core source edit; original bytes restored")
|
||||
|
||||
fixture = ROOT / "Saved/Linux/l33/fixtures/sw-upper-tunnel-network-style0.json"
|
||||
fixture = BASELINES / "fixtures/l33/sw-upper-tunnel-network-style0.json"
|
||||
mislabelled = OUT / "controls/mislabelled-owner/owner_world.json"
|
||||
mislabelled.parent.mkdir(parents=True, exist_ok=True)
|
||||
shutil.copyfile(fixture, mislabelled)
|
||||
@@ -599,9 +600,9 @@ def run_regression_controls(runner: VerificationRunner) -> None:
|
||||
run_stamp_and_input_controls(runner)
|
||||
controls = (
|
||||
("l35-wall-ribs", "wall-ribs",
|
||||
ROOT / "Saved/Linux/l35/failed/passage-audit-cascade-cosine-owner-fi-style3-clang.log"),
|
||||
BASELINES / "historical-controls/l35-passage-audit-cascade-cosine-owner-fi-style3-clang.baseline"),
|
||||
("l36-floor-washboard", "floor-washboard",
|
||||
ROOT / "Saved/Linux/l36/audit-nearest-fi-style0.log"),
|
||||
BASELINES / "historical-controls/l36-audit-nearest-fi-style0.baseline"),
|
||||
)
|
||||
script = VERIFY_DIR / "historical_controls.py"
|
||||
for name, kind, log in controls:
|
||||
@@ -609,7 +610,7 @@ def run_regression_controls(runner: VerificationRunner) -> None:
|
||||
binary=CLANG, data=None, recipe=None, style=None,
|
||||
env=env_for(), script_inputs=[log])
|
||||
|
||||
l38 = ROOT / "Saved/Linux/l38/owner-fi-real-final.log"
|
||||
l38 = BASELINES / "historical-controls/l38-owner-fi-real-final.baseline"
|
||||
step_script = VERIFY_DIR / "owner_step.py"
|
||||
runner.run_stage("control-l38-owner-step", step_script,
|
||||
[str(l38), "--expect-fail"], binary=CLANG, data=None,
|
||||
@@ -633,7 +634,7 @@ def run_hash_pairs(runner: VerificationRunner,
|
||||
runner.require(f"{name}:hash-count", len(values) == 12,
|
||||
f"hashes={len(values)}/12")
|
||||
same = hashes[1] == hashes[12]
|
||||
l52_baseline = ROOT / "Saved/Linux/l52" / f"owner-hash-{recipe}-style{style}-w12.log"
|
||||
l52_baseline = BASELINES / "owner-hash/l52" / f"owner-hash-{recipe}-style{style}-w12.baseline"
|
||||
l52_hashes = tuple(HASH_RE.findall(l52_baseline.read_text(
|
||||
encoding="utf-8", errors="replace")))
|
||||
expected_baseline, expected_label = owner_hash_baseline(recipe, style)
|
||||
@@ -649,7 +650,7 @@ def run_hash_pairs(runner: VerificationRunner,
|
||||
"the v212 generated-route change has its own pinned baseline"}
|
||||
runner.steps.append(diagnostic)
|
||||
print(f"[{runner.tier}] {diagnostic['name']} {diagnostic['detail']}", flush=True)
|
||||
baseline = ROOT / "Saved/Linux/l46" / f"owner-hash-{recipe}-style{style}-w12.log"
|
||||
baseline = BASELINES / "owner-hash/l46" / f"owner-hash-{recipe}-style{style}-w12.baseline"
|
||||
old_hashes = tuple(HASH_RE.findall(baseline.read_text(encoding="utf-8", errors="replace")))
|
||||
same_l46 = hashes[12] == old_hashes and len(old_hashes) == 12
|
||||
runner.require(f"owner-hash-{recipe}-w1-w12", same,
|
||||
@@ -660,7 +661,7 @@ def run_hash_pairs(runner: VerificationRunner,
|
||||
f"baseline_hashes={len(old_hashes)}; worker determinism is gated"}
|
||||
runner.steps.append(diagnostic)
|
||||
print(f"[{runner.tier}] {diagnostic['name']} {diagnostic['detail']}", flush=True)
|
||||
l53_baseline = ROOT / "Saved/Linux/l53" / f"owner-hash-{recipe}-style{style}-w12.log"
|
||||
l53_baseline = BASELINES / "owner-hash/l53" / f"owner-hash-{recipe}-style{style}-w12.baseline"
|
||||
l53_hashes = tuple(HASH_RE.findall(l53_baseline.read_text(
|
||||
encoding="utf-8", errors="replace")))
|
||||
same_l53 = hashes[12] == l53_hashes and len(l53_hashes) == 12
|
||||
@@ -1377,12 +1378,12 @@ def run_caves_surface_evidence(runner: VerificationRunner, fixture: Path,
|
||||
f"views={capture_rows}")
|
||||
|
||||
script = LINUX54 / "AuditWholeSurfaceL54.py"
|
||||
audit_layout = ROOT / "Saved/Linux/l48/layouts/landmark-reachability-clang.json"
|
||||
audit_layout = BASELINES / "landmarks/plain-native-control-layout.json"
|
||||
controls = (
|
||||
("L45-ramp-control", ROOT / "Saved/Linux/l45/landmark-l45.vfmesh", "fail"),
|
||||
("L46-entrance-control", ROOT / "Saved/Linux/l46/landmark-l46.vfmesh", "fail"),
|
||||
("L47-wall-foot-control", ROOT / "Saved/Linux/l47/landmark-l47.vfmesh", "fail"),
|
||||
("plain-native-control", ROOT / "Saved/Linux/l48/control-plain-native.vfmesh", "pass"),
|
||||
("L45-ramp-control", BASELINES / "landmarks/l45-ramp-control.vfmesh", "fail"),
|
||||
("L46-entrance-control", BASELINES / "landmarks/l46-entrance-control.vfmesh", "fail"),
|
||||
("L47-wall-foot-control", BASELINES / "landmarks/l47-wall-foot-control.vfmesh", "fail"),
|
||||
("plain-native-control", BASELINES / "landmarks/plain-native-control.vfmesh", "pass"),
|
||||
)
|
||||
mesh = OUT / "caves-meshes" / "caves-whole-view.vfmesh"
|
||||
cases = [("caves-base", mesh, layout_path, "measure", "whole")]
|
||||
@@ -1447,13 +1448,13 @@ def run_lattice_surface_evidence(runner: VerificationRunner, fixture: Path,
|
||||
f"views={[(row[0], int(row[2])) for row in capture_rows]}")
|
||||
|
||||
surface_script = LINUX58 / "AuditLatticeSurfaceL58.py"
|
||||
audit_layout = ROOT / "Saved/Linux/l48/layouts/landmark-reachability-clang.json"
|
||||
audit_layout = BASELINES / "landmarks/plain-native-control-layout.json"
|
||||
candidate_mesh = OUT / "lattice-meshes" / "lattice-whole-view.vfmesh"
|
||||
controls = (
|
||||
("L45-ramp-control", ROOT / "Saved/Linux/l45/landmark-l45.vfmesh", "fail"),
|
||||
("L46-entrance-control", ROOT / "Saved/Linux/l46/landmark-l46.vfmesh", "fail"),
|
||||
("L47-wall-foot-control", ROOT / "Saved/Linux/l47/landmark-l47.vfmesh", "fail"),
|
||||
("plain-native-control", ROOT / "Saved/Linux/l48/control-plain-native.vfmesh", "pass"),
|
||||
("L45-ramp-control", BASELINES / "landmarks/l45-ramp-control.vfmesh", "fail"),
|
||||
("L46-entrance-control", BASELINES / "landmarks/l46-entrance-control.vfmesh", "fail"),
|
||||
("L47-wall-foot-control", BASELINES / "landmarks/l47-wall-foot-control.vfmesh", "fail"),
|
||||
("plain-native-control", BASELINES / "landmarks/plain-native-control.vfmesh", "pass"),
|
||||
)
|
||||
args = ["--json", str(OUT / "whole-surface-lattice-l58.json"),
|
||||
"--svg-dir", str(artifact_dir), "--case", "lattice-whole",
|
||||
@@ -1610,7 +1611,9 @@ def run_ring(runner: VerificationRunner, *, full: bool) -> None:
|
||||
script = LINUX37 / "RunRingAuditsL37.py"
|
||||
audit_inputs = [script,
|
||||
ROOT / "Standalone/Research/WorldAssemblerM3/Linux32/AuditRingTerraceL32.py",
|
||||
ROOT / "Standalone/Research/WorldAssemblerM3/Linux32/AuditRingSetL32.py"]
|
||||
ROOT / "Standalone/Research/WorldAssemblerM3/Linux32/AuditRingSetL32.py",
|
||||
BASELINES / "ring/l31-fi-floor-v19.vfmesh",
|
||||
BASELINES / "ring/l32-fi-floor-l30-camera-negative.vfmesh"]
|
||||
for label, recipe, style in (("fi-floor", "floating-islands", 2),
|
||||
("sw-ceiling", "surface-world", 1)):
|
||||
args = ["--scene", label]
|
||||
@@ -1628,10 +1631,10 @@ def style_override_matrix(runner: VerificationRunner, binary: Path) -> None:
|
||||
sources: list[tuple[str, Path, str]] = []
|
||||
for recipe in ("floating-islands", "surface-world"):
|
||||
for style in range(4):
|
||||
source = ROOT / f"Saved/Linux/linux25-owner-{recipe}-style{style}.json"
|
||||
source = BASELINES / f"fixtures/linux25-owner-{recipe}-style{style}.json"
|
||||
sources.append((f"{recipe}-style{style}", source, recipe))
|
||||
for style in range(4):
|
||||
source = ROOT / f"Saved/Linux/l33/fixtures/sw-upper-tunnel-network-style{style}.json"
|
||||
source = BASELINES / f"fixtures/l33/sw-upper-tunnel-network-style{style}.json"
|
||||
sources.append((f"upper-sw-fixture-style{style}", source, "floating-islands"))
|
||||
|
||||
for fixture_name, source, recipe in sources:
|
||||
@@ -2245,7 +2248,8 @@ def run_transitions_and_invariants(runner: VerificationRunner,
|
||||
def run_captures_and_mesh_audits(runner: VerificationRunner) -> None:
|
||||
capture_script = LINUX37 / "CapturePassageStandardSetL37.py"
|
||||
capture_inputs = [capture_script, VERIFY_DIR / "capture_quality.py",
|
||||
ROOT / "Standalone/Research/WorldAssemblerM3/Linux32/AuditRingTerraceL32.py"]
|
||||
ROOT / "Standalone/Research/WorldAssemblerM3/Linux32/AuditRingTerraceL32.py",
|
||||
BASELINES / "capture/l34-standard-set-cameras.baseline"]
|
||||
capture_rows: dict[str, tuple[dict, str]] = {}
|
||||
for scene, recipe, style in (("owner-fi", "floating-islands", 2),
|
||||
("owner-sw", "surface-world", 1)):
|
||||
@@ -2265,17 +2269,20 @@ def run_captures_and_mesh_audits(runner: VerificationRunner) -> None:
|
||||
capture_rows[scene] = (row, output)
|
||||
|
||||
shape_script = LINUX37 / "AuditMouthShapeL37.py"
|
||||
baseline = ROOT / "Saved/Linux/l37/no-tread-control"
|
||||
controls = [ROOT / "Saved/Linux/l36/owner-fi-ground-mouth.vfmesh"]
|
||||
baseline = BASELINES / "mouth/l37-no-tread"
|
||||
controls = [BASELINES / "mouth/l36/owner-fi-ground-mouth.vfmesh"]
|
||||
no_tread_baselines = [BASELINES / "mouth/l37-no-tread" / name for name in (
|
||||
"owner-fi-ground-mouth.vfmesh", "owner-sw-ground-mouth.vfmesh",
|
||||
"upper-sw-fixture-ground-mouth.vfmesh")]
|
||||
for scene, recipe, style in (("owner-fi", "floating-islands", 2),
|
||||
("owner-sw", "surface-world", 1)):
|
||||
name = f"mouth-shape-{scene}-style{style}"
|
||||
runner.run_stage(name, shape_script,
|
||||
[f"--out={OUT}", f"--baseline-out={baseline}",
|
||||
"--control-out=Saved/Linux/l36", "--scene", scene],
|
||||
f"--control-out={BASELINES / 'mouth/l36'}", "--scene", scene],
|
||||
binary=CLANG, data=OWNER, recipe=recipe, style=style,
|
||||
layout_path=OUT / f"layout-{scene}.json", env=env_for(),
|
||||
script_inputs=[shape_script, *controls])
|
||||
script_inputs=[shape_script, *controls, *no_tread_baselines])
|
||||
|
||||
crease_script = LINUX37 / "RunMouthCreaseAuditL37.py"
|
||||
sw_capture_log = OUT / "capture-standard-owner-sw-style1.log"
|
||||
@@ -2284,7 +2291,7 @@ def run_captures_and_mesh_audits(runner: VerificationRunner) -> None:
|
||||
f"--candidate-sw={OUT / 'owner-sw-ground-mouth.vfmesh'}",
|
||||
f"--layout-sw={OUT / 'layout-owner-sw.json'}",
|
||||
f"--capture-log-sw={sw_capture_log}"]
|
||||
control_meshes = [ROOT / f"Saved/Linux/{round_name}/owner-fi-ground-mouth.vfmesh"
|
||||
control_meshes = [BASELINES / f"mouth/{round_name}/owner-fi-ground-mouth.vfmesh"
|
||||
for round_name in ("l35", "l36")]
|
||||
runner.run_stage("mouth-crease-fragments-owner-fi2-sw1", crease_script,
|
||||
crease_args, binary=CLANG, data=OWNER, recipe="floating-islands", style=2,
|
||||
@@ -2312,7 +2319,9 @@ def run_captures_and_mesh_audits(runner: VerificationRunner) -> None:
|
||||
script_inputs=[landmark_script, LINUX47 / "MeasureEntranceL47.py",
|
||||
VERIFY_DIR / "capture_quality.py",
|
||||
LINUX37 / "AuditMouthShapeL37.py",
|
||||
ROOT / "Standalone/Research/WorldAssemblerM3/Linux32/AuditRingTerraceL32.py"])
|
||||
ROOT / "Standalone/Research/WorldAssemblerM3/Linux32/AuditRingTerraceL32.py",
|
||||
BASELINES / "landmarks/l46-entrance-control.vfmesh",
|
||||
BASELINES / "landmarks/l46-entrance-control-layout.json"])
|
||||
|
||||
|
||||
def verify_determinism_cell(runner: VerificationRunner, binary: Path,
|
||||
@@ -2349,7 +2358,7 @@ def run_30_cell_determinism(runner: VerificationRunner) -> None:
|
||||
workers, references)
|
||||
count += 1
|
||||
|
||||
fixture_source = ROOT / "Saved/Linux/l33/fixtures/sw-upper-tunnel-network-style0.json"
|
||||
fixture_source = BASELINES / "fixtures/l33/sw-upper-tunnel-network-style0.json"
|
||||
fixture = OUT / "fixtures/style-override-upper-sw-fixture-style0.json"
|
||||
fixture.parent.mkdir(parents=True, exist_ok=True)
|
||||
shutil.copyfile(fixture_source, fixture)
|
||||
|
||||
Reference in new issue
Block a user