core: coarser smooth-route tolerance + shell support bound (L119, evaluator v224)
Chord error 2.5 -> 10 cm, shell work skipped outside the 0-0.75 m band. Sweep pairs -39%, prepare -60%, near-ready 3-8% faster than L115 but still +13..+22% vs L109. Floor offset 7.88 mm; captures match L115 by eye; fast tier, walk audits, Clang/GCC W1/W8/W12 determinism green. Not for merge yet. 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
6e52fb48b2
commit
707bc61553
40 files changed
+2352
-54
No files matched your search
@@ -0,0 +1,54 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Render the L115 view set with the L119 candidate binaries."""
|
||||
from __future__ import annotations
|
||||
|
||||
import importlib.util
|
||||
import json
|
||||
from pathlib import Path
|
||||
|
||||
ROOT = Path(__file__).resolve().parents[4]
|
||||
RESEARCH = Path(__file__).resolve().parent
|
||||
SPEC = importlib.util.spec_from_file_location(
|
||||
"l115_capture_runner", ROOT / "Standalone/Research/WorldAssemblerM3/Linux115/RunL115Captures.py")
|
||||
if SPEC is None or SPEC.loader is None:
|
||||
raise SystemExit("cannot load the L115 capture view definitions")
|
||||
RUNNER = importlib.util.module_from_spec(SPEC)
|
||||
SPEC.loader.exec_module(RUNNER)
|
||||
|
||||
# Reuse L115's exact camera and station definitions, while rendering through L119.
|
||||
RUNNER.CAPTURES = RESEARCH / "captures/L119"
|
||||
RUNNER.SAVED = ROOT / "Saved/Linux/l119/captures"
|
||||
RUNNER.HELPERS.RESEARCH = RESEARCH
|
||||
RUNNER.BINARIES = {
|
||||
"L115": ROOT / "Saved/Linux/l119/bin/VoxelForgeCoreHeadless-l119-clang"}
|
||||
RUNNER.RENDERERS = {
|
||||
"L115": ROOT / "Saved/Linux/l119/bin/VoxelForgeOffscreenCapture-l119-clang"}
|
||||
RUNNER.HELPERS.BINARIES = RUNNER.BINARIES
|
||||
RUNNER.HELPERS.RENDERERS = RUNNER.RENDERERS
|
||||
|
||||
|
||||
def main() -> int:
|
||||
result = RUNNER.main()
|
||||
if result != 0:
|
||||
return result
|
||||
index = RUNNER.CAPTURES / "capture-index.json"
|
||||
document = json.loads(index.read_text(encoding="utf-8"))
|
||||
for row in document["captures"]:
|
||||
row["variant"] = "L119"
|
||||
index.write_text(json.dumps(document, indent=2) + "\n", encoding="utf-8")
|
||||
markdown = RUNNER.CAPTURES / "INDEX.md"
|
||||
lines = ["# L119 captures (L115 view set)", "",
|
||||
"The 23 L115 camera poses were rendered with the L119 binary. Floor anchors "
|
||||
"require an upward normal alignment of at least 0.85, target-to-floor distance "
|
||||
"at most 0.25 m, and camera-to-floor distance between 2.0 and 3.2 m. Open-air "
|
||||
"sections have outside and interior wall close-ups at 4 m.", ""]
|
||||
for row in document["captures"]:
|
||||
image = row["capture"].removeprefix("captures/L119/")
|
||||
lines.append(f"- [{row['passage']} {row['station']}]({image}) — "
|
||||
f"{row['kind']}; {row.get('drawn_triangles', 0)} triangles; "
|
||||
f"{row['pixel_quality_status']}")
|
||||
markdown.write_text("\n".join(lines) + "\n", encoding="utf-8")
|
||||
return 0
|
||||
|
||||
if __name__ == "__main__":
|
||||
raise SystemExit(main())
|
||||
Reference in new issue
Block a user