research: smooth-tunnel merge verification (L127)
Builds, fast tier, walk 21425/21425, seams bit-identical, floor 7.884 mm, 18/18 hashes = v225, captures 23/23. Headless near-ready vs pre-merge: SW +11..14%, other six cells faster. UE start->LOD0-2 2.23-2.73 -> 2.22-2.51 s. 30 m/s UE: near coverage 43.4 -> 40.2%, far holes 3.14 -> 3.46%, p99 11.25 -> 10.80 ms, worst 13.97 -> 13.27 ms. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016dhxM43dnWvUu2B5Ph1iG1
No files matched your search
@@ -0,0 +1,15 @@
|
|||||||
|
# Linux127 — smooth-tunnel merge
|
||||||
|
|
||||||
|
Target: `aeb60bb` on `merge/smooth-tunnels`.
|
||||||
|
|
||||||
|
Build, fast-tier, walkability, seam, floor, determinism, and capture checks pass. The UE moving comparison shows a repeatable coverage drop and is the item to review before landing.
|
||||||
|
|
||||||
|
- Clang and GCC headless builds pass. UE builds pass: c743 baseline 157/157 actions; merge 29/29, using `-NoUBA -MaxParallelActions=4`.
|
||||||
|
- Fast tier passes (259 checks; 5 diagnostic checks). Walkability is 21,425/21,425. Four seam pairs (4,900 shared samples) are bit-identical. Floor probe maximum is 7.884 mm.
|
||||||
|
- All 18 owner4/owner2 Clang/GCC W1/W8/W12 hash runs match the L125 v225 baselines.
|
||||||
|
- L80 timing protocol on a quiet machine (load 0.69, CPU idle 99.4%): five interleaved measurements per cell, W8/W12 across all four strates. Merge vs L125 is within -4.05% to +2.83% near-ready and -4.58% to +0.95% whole-view. Vs c743, S0 is slower (+10.90% to +14.33% near, +1.26% to +3.52% whole); the other six cells are faster.
|
||||||
|
- UE startup reaches full LOD0–2 in all four strates: c743 2.232–2.726 s; merge 2.221–2.514 s. Far-apply CVar reads back as 1 and produces applies in every start and moving run.
|
||||||
|
- Five 30 m/s movement runs per build: median near coverage 43.36% → 40.22%; far holes 3.14% → 3.46%; tick p99 11.25 → 10.80 ms; worst tick 13.97 → 13.27 ms. Both builds reach 100% near coverage and zero far holes after stopping. The lane works; moving coverage remains lower on the merge.
|
||||||
|
- 23/23 L125 poses rendered and verified from the merge binary; 19 pass pixel quality, 4 show visible low-contrast geometry. See [`captures/INDEX.md`](captures/INDEX.md) and [`captures/COMPARE.html`](captures/COMPARE.html).
|
||||||
|
|
||||||
|
No source fix was made. Logs and summaries are in `Saved/Linux/l127`. An early probe wrapper wrote to the L125 probe output; the L125 binary regenerated it, with restoration checksums recorded in `Saved/Linux/l127/restore-l125-probe.log`.
|
||||||
@@ -0,0 +1,103 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
"""Render the exact 23 L119 camera views with the L127 merge candidate."""
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
import importlib.util
|
||||||
|
import json
|
||||||
|
import math
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
from pathlib import Path
|
||||||
|
|
||||||
|
sys.dont_write_bytecode = True
|
||||||
|
|
||||||
|
ROOT = Path(__file__).resolve().parents[4]
|
||||||
|
RESEARCH = Path(__file__).resolve().parent
|
||||||
|
CAPTURES = RESEARCH / "captures"
|
||||||
|
SAVED = ROOT / "Saved/Linux/l127/captures"
|
||||||
|
BASELINE_INDEX = (ROOT / "Standalone/Research/WorldAssemblerM3/Linux119"
|
||||||
|
/ "captures/L119/capture-index.json")
|
||||||
|
LAYOUT = ROOT / "Saved/Linux/l127/hashes/owner4-surface-world-w12-clang.layout.json"
|
||||||
|
CLANG = ROOT / os.environ.get("L127_CAPTURE_CLANG",
|
||||||
|
"Saved/Linux/l127/bin-clang/VoxelForgeCoreHeadless-l127-clang")
|
||||||
|
RENDERER = ROOT / os.environ.get("L127_CAPTURE_RENDERER",
|
||||||
|
"Saved/Linux/l127/bin-clang/VoxelForgeOffscreenCapture-l127-clang")
|
||||||
|
HELPER_PATH = ROOT / "Standalone/Research/WorldAssemblerM3/Linux113/RunL113Captures.py"
|
||||||
|
|
||||||
|
SPEC = importlib.util.spec_from_file_location("l113_capture_helpers", HELPER_PATH)
|
||||||
|
if SPEC is None or SPEC.loader is None:
|
||||||
|
raise SystemExit("cannot load the verified L113 capture helpers")
|
||||||
|
HELPERS = importlib.util.module_from_spec(SPEC)
|
||||||
|
SPEC.loader.exec_module(HELPERS)
|
||||||
|
HELPERS.RESEARCH = RESEARCH
|
||||||
|
HELPERS.CAPTURES = CAPTURES
|
||||||
|
HELPERS.SAVED = SAVED
|
||||||
|
HELPERS.BINARIES = {"L127": CLANG}
|
||||||
|
HELPERS.RENDERERS = {"L127": RENDERER}
|
||||||
|
|
||||||
|
|
||||||
|
def main() -> int:
|
||||||
|
if any(not path.is_file() for path in (BASELINE_INDEX, LAYOUT, CLANG, RENDERER)):
|
||||||
|
raise SystemExit("missing L119 camera set, L127 layout, or capture binary")
|
||||||
|
baseline = json.loads(BASELINE_INDEX.read_text(encoding="utf-8"))
|
||||||
|
layout = json.loads(LAYOUT.read_text(encoding="utf-8"))
|
||||||
|
rows = []
|
||||||
|
CAPTURES.mkdir(parents=True, exist_ok=True)
|
||||||
|
SAVED.mkdir(parents=True, exist_ok=True)
|
||||||
|
for view in baseline["captures"]:
|
||||||
|
row = HELPERS.capture("L127", view, layout)
|
||||||
|
row["variant"] = "L127-merge-v225"
|
||||||
|
if view["kind"] == "rock-floor-close":
|
||||||
|
scene = ROOT / row["scene"]
|
||||||
|
anchor = HELPERS.nearest_surface_anchor(scene, view["target"], margin_m=5.0,
|
||||||
|
preferred_normal=(0.0, 0.0, 1.0), minimum_alignment=0.85)
|
||||||
|
alignment = HELPERS.dot(anchor["normal"], (0.0, 0.0, 1.0))
|
||||||
|
camera_distance = math.dist(row["camera_actual_m"], anchor["position_m"])
|
||||||
|
row.update({"floor_anchor_position_m": anchor["position_m"],
|
||||||
|
"floor_anchor_normal": anchor["normal"],
|
||||||
|
"closeup_camera_to_floor_distance_m": camera_distance,
|
||||||
|
"closeup_floor_normal_alignment": alignment,
|
||||||
|
"verified_upward_floor_normal": alignment >= 0.85})
|
||||||
|
if (not row["verified"] or not 2.0 <= camera_distance <= 3.2
|
||||||
|
or anchor["distance_m"] > 0.25 or alignment < 0.85
|
||||||
|
or row["drawn_triangles"] <= 0
|
||||||
|
or row["pixel_quality_status"] not in
|
||||||
|
("pass", "low_contrast_geometry_visible")):
|
||||||
|
raise RuntimeError(f"L127 floor close-up failed at {view['name']}")
|
||||||
|
rows.append(row)
|
||||||
|
if len(rows) != len(baseline["captures"]) or len(rows) != 23:
|
||||||
|
raise RuntimeError(f"expected all 23 L119 views, captured {len(rows)}")
|
||||||
|
index = CAPTURES / "L127" / "capture-index.json"
|
||||||
|
index.parent.mkdir(parents=True, exist_ok=True)
|
||||||
|
index.write_text(json.dumps({"captures": rows}, indent=2) + "\n",
|
||||||
|
encoding="utf-8")
|
||||||
|
|
||||||
|
html = ["<!doctype html><meta charset='utf-8'>",
|
||||||
|
"<title>L119 / L127 tunnel capture comparison</title>",
|
||||||
|
"<style>body{font:14px system-ui;margin:24px;background:#17191d;color:#eee}"
|
||||||
|
"section{margin:28px 0}h2{font-size:18px}div{display:grid;"
|
||||||
|
"grid-template-columns:1fr 1fr;gap:12px}img{width:100%;height:auto}"
|
||||||
|
"p{color:#bbb}</style>",
|
||||||
|
"<h1>L119 / L127 merge: identical views</h1>"]
|
||||||
|
old_by_name = {Path(row["capture"]).name: row for row in baseline["captures"]}
|
||||||
|
for row in rows:
|
||||||
|
name = Path(row["capture"]).name
|
||||||
|
old = old_by_name[name]
|
||||||
|
old_path = os.path.relpath(ROOT / "Standalone/Research/WorldAssemblerM3/Linux119"
|
||||||
|
/ old["capture"], CAPTURES)
|
||||||
|
new_path = os.path.relpath(RESEARCH / row["capture"], CAPTURES)
|
||||||
|
html.extend(["<section>", f"<h2>{row['passage']} — {row['station']}</h2>",
|
||||||
|
f"<p>{row['kind']} · L119 {old['pixel_quality_status']} · "
|
||||||
|
f"L127 {row['pixel_quality_status']}</p>", "<div>",
|
||||||
|
f"<figure><figcaption>L119</figcaption><img src='{old_path}'></figure>",
|
||||||
|
f"<figure><figcaption>L127 merge</figcaption><img src='{new_path}'></figure>",
|
||||||
|
"</div>", "</section>"])
|
||||||
|
(CAPTURES / "COMPARE.html").write_text("\n".join(html) + "\n",
|
||||||
|
encoding="utf-8")
|
||||||
|
print(f"[L127Captures] rendered={len(rows)} views index={index.relative_to(ROOT)}",
|
||||||
|
flush=True)
|
||||||
|
return 0
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
raise SystemExit(main())
|
||||||
@@ -0,0 +1,188 @@
|
|||||||
|
<!doctype html><meta charset='utf-8'>
|
||||||
|
<title>L119 / L127 tunnel capture comparison</title>
|
||||||
|
<style>body{font:14px system-ui;margin:24px;background:#17191d;color:#eee}section{margin:28px 0}h2{font-size:18px}div{display:grid;grid-template-columns:1fr 1fr;gap:12px}img{width:100%;height:auto}p{color:#bbb}</style>
|
||||||
|
<h1>L119 / L127 merge: identical views</h1>
|
||||||
|
<section>
|
||||||
|
<h2>passage/0-1/0 — rock-floor/401.7m</h2>
|
||||||
|
<p>rock-floor-close · L119 pass · L127 pass</p>
|
||||||
|
<div>
|
||||||
|
<figure><figcaption>L119</figcaption><img src='../../Linux119/captures/L119/L115/L115/passage-0-1-0-rock-floor-station-1.png'></figure>
|
||||||
|
<figure><figcaption>L127 merge</figcaption><img src='L127/passage-0-1-0-rock-floor-station-1.png'></figure>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<h2>passage/0-1/0 — rock-floor/792.8m</h2>
|
||||||
|
<p>rock-floor-close · L119 pass · L127 pass</p>
|
||||||
|
<div>
|
||||||
|
<figure><figcaption>L119</figcaption><img src='../../Linux119/captures/L119/L115/L115/passage-0-1-0-rock-floor-station-2.png'></figure>
|
||||||
|
<figure><figcaption>L127 merge</figcaption><img src='L127/passage-0-1-0-rock-floor-station-2.png'></figure>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<h2>passage/0-1/0 — rock-floor/1634.5m</h2>
|
||||||
|
<p>rock-floor-close · L119 pass · L127 pass</p>
|
||||||
|
<div>
|
||||||
|
<figure><figcaption>L119</figcaption><img src='../../Linux119/captures/L119/L115/L115/passage-0-1-0-rock-floor-station-3.png'></figure>
|
||||||
|
<figure><figcaption>L127 merge</figcaption><img src='L127/passage-0-1-0-rock-floor-station-3.png'></figure>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<h2>passage/1-2/0 — rock-floor/27.0m</h2>
|
||||||
|
<p>rock-floor-close · L119 pass · L127 pass</p>
|
||||||
|
<div>
|
||||||
|
<figure><figcaption>L119</figcaption><img src='../../Linux119/captures/L119/L115/L115/passage-1-2-0-rock-floor-station-1.png'></figure>
|
||||||
|
<figure><figcaption>L127 merge</figcaption><img src='L127/passage-1-2-0-rock-floor-station-1.png'></figure>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<h2>passage/1-2/0 — rock-floor/52.9m</h2>
|
||||||
|
<p>rock-floor-close · L119 pass · L127 pass</p>
|
||||||
|
<div>
|
||||||
|
<figure><figcaption>L119</figcaption><img src='../../Linux119/captures/L119/L115/L115/passage-1-2-0-rock-floor-station-2.png'></figure>
|
||||||
|
<figure><figcaption>L127 merge</figcaption><img src='L127/passage-1-2-0-rock-floor-station-2.png'></figure>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<h2>passage/1-2/0 — rock-floor/78.9m</h2>
|
||||||
|
<p>rock-floor-close · L119 pass · L127 pass</p>
|
||||||
|
<div>
|
||||||
|
<figure><figcaption>L119</figcaption><img src='../../Linux119/captures/L119/L115/L115/passage-1-2-0-rock-floor-station-3.png'></figure>
|
||||||
|
<figure><figcaption>L127 merge</figcaption><img src='L127/passage-1-2-0-rock-floor-station-3.png'></figure>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<h2>passage/2-3/0 — rock-floor/323.4m</h2>
|
||||||
|
<p>rock-floor-close · L119 low_contrast_geometry_visible · L127 low_contrast_geometry_visible</p>
|
||||||
|
<div>
|
||||||
|
<figure><figcaption>L119</figcaption><img src='../../Linux119/captures/L119/L115/L115/passage-2-3-0-rock-floor-station-1.png'></figure>
|
||||||
|
<figure><figcaption>L127 merge</figcaption><img src='L127/passage-2-3-0-rock-floor-station-1.png'></figure>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<h2>passage/2-3/0 — rock-floor/333.4m</h2>
|
||||||
|
<p>rock-floor-close · L119 pass · L127 pass</p>
|
||||||
|
<div>
|
||||||
|
<figure><figcaption>L119</figcaption><img src='../../Linux119/captures/L119/L115/L115/passage-2-3-0-rock-floor-station-2.png'></figure>
|
||||||
|
<figure><figcaption>L127 merge</figcaption><img src='L127/passage-2-3-0-rock-floor-station-2.png'></figure>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<h2>passage/2-3/0 — rock-floor/343.4m</h2>
|
||||||
|
<p>rock-floor-close · L119 pass · L127 pass</p>
|
||||||
|
<div>
|
||||||
|
<figure><figcaption>L119</figcaption><img src='../../Linux119/captures/L119/L115/L115/passage-2-3-0-rock-floor-station-3.png'></figure>
|
||||||
|
<figure><figcaption>L127 merge</figcaption><img src='L127/passage-2-3-0-rock-floor-station-3.png'></figure>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<h2>passage/0-1/0 — section-1/4m-outside</h2>
|
||||||
|
<p>open-air-close · L119 pass · L127 pass</p>
|
||||||
|
<div>
|
||||||
|
<figure><figcaption>L119</figcaption><img src='../../Linux119/captures/L119/L115/L115/passage-0-1-0-openair-1-4m-outside.png'></figure>
|
||||||
|
<figure><figcaption>L127 merge</figcaption><img src='L127/passage-0-1-0-openair-1-4m-outside.png'></figure>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<h2>passage/0-1/0 — section-1/4m-interior-wall</h2>
|
||||||
|
<p>open-air-close · L119 low_contrast_geometry_visible · L127 low_contrast_geometry_visible</p>
|
||||||
|
<div>
|
||||||
|
<figure><figcaption>L119</figcaption><img src='../../Linux119/captures/L119/L115/L115/passage-0-1-0-openair-1-4m-interior-wall.png'></figure>
|
||||||
|
<figure><figcaption>L127 merge</figcaption><img src='L127/passage-0-1-0-openair-1-4m-interior-wall.png'></figure>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<h2>passage/0-1/0 — section-2/4m-outside</h2>
|
||||||
|
<p>open-air-close · L119 pass · L127 pass</p>
|
||||||
|
<div>
|
||||||
|
<figure><figcaption>L119</figcaption><img src='../../Linux119/captures/L119/L115/L115/passage-0-1-0-openair-2-4m-outside.png'></figure>
|
||||||
|
<figure><figcaption>L127 merge</figcaption><img src='L127/passage-0-1-0-openair-2-4m-outside.png'></figure>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<h2>passage/0-1/0 — section-2/4m-interior-wall</h2>
|
||||||
|
<p>open-air-close · L119 pass · L127 pass</p>
|
||||||
|
<div>
|
||||||
|
<figure><figcaption>L119</figcaption><img src='../../Linux119/captures/L119/L115/L115/passage-0-1-0-openair-2-4m-interior-wall.png'></figure>
|
||||||
|
<figure><figcaption>L127 merge</figcaption><img src='L127/passage-0-1-0-openair-2-4m-interior-wall.png'></figure>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<h2>passage/0-1/0 — section-3/4m-outside</h2>
|
||||||
|
<p>open-air-close · L119 pass · L127 pass</p>
|
||||||
|
<div>
|
||||||
|
<figure><figcaption>L119</figcaption><img src='../../Linux119/captures/L119/L115/L115/passage-0-1-0-openair-3-4m-outside.png'></figure>
|
||||||
|
<figure><figcaption>L127 merge</figcaption><img src='L127/passage-0-1-0-openair-3-4m-outside.png'></figure>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<h2>passage/0-1/0 — section-3/4m-interior-wall</h2>
|
||||||
|
<p>open-air-close · L119 pass · L127 pass</p>
|
||||||
|
<div>
|
||||||
|
<figure><figcaption>L119</figcaption><img src='../../Linux119/captures/L119/L115/L115/passage-0-1-0-openair-3-4m-interior-wall.png'></figure>
|
||||||
|
<figure><figcaption>L127 merge</figcaption><img src='L127/passage-0-1-0-openair-3-4m-interior-wall.png'></figure>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<h2>passage/1-2/0 — section-1/4m-outside</h2>
|
||||||
|
<p>open-air-close · L119 pass · L127 pass</p>
|
||||||
|
<div>
|
||||||
|
<figure><figcaption>L119</figcaption><img src='../../Linux119/captures/L119/L115/L115/passage-1-2-0-openair-1-4m-outside.png'></figure>
|
||||||
|
<figure><figcaption>L127 merge</figcaption><img src='L127/passage-1-2-0-openair-1-4m-outside.png'></figure>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<h2>passage/1-2/0 — section-1/4m-interior-wall</h2>
|
||||||
|
<p>open-air-close · L119 pass · L127 pass</p>
|
||||||
|
<div>
|
||||||
|
<figure><figcaption>L119</figcaption><img src='../../Linux119/captures/L119/L115/L115/passage-1-2-0-openair-1-4m-interior-wall.png'></figure>
|
||||||
|
<figure><figcaption>L127 merge</figcaption><img src='L127/passage-1-2-0-openair-1-4m-interior-wall.png'></figure>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<h2>passage/1-2/0 — section-2/4m-outside</h2>
|
||||||
|
<p>open-air-close · L119 pass · L127 pass</p>
|
||||||
|
<div>
|
||||||
|
<figure><figcaption>L119</figcaption><img src='../../Linux119/captures/L119/L115/L115/passage-1-2-0-openair-2-4m-outside.png'></figure>
|
||||||
|
<figure><figcaption>L127 merge</figcaption><img src='L127/passage-1-2-0-openair-2-4m-outside.png'></figure>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<h2>passage/1-2/0 — section-2/4m-interior-wall</h2>
|
||||||
|
<p>open-air-close · L119 pass · L127 pass</p>
|
||||||
|
<div>
|
||||||
|
<figure><figcaption>L119</figcaption><img src='../../Linux119/captures/L119/L115/L115/passage-1-2-0-openair-2-4m-interior-wall.png'></figure>
|
||||||
|
<figure><figcaption>L127 merge</figcaption><img src='L127/passage-1-2-0-openair-2-4m-interior-wall.png'></figure>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<h2>passage/2-3/0 — section-1/4m-outside</h2>
|
||||||
|
<p>open-air-close · L119 low_contrast_geometry_visible · L127 low_contrast_geometry_visible</p>
|
||||||
|
<div>
|
||||||
|
<figure><figcaption>L119</figcaption><img src='../../Linux119/captures/L119/L115/L115/passage-2-3-0-openair-1-4m-outside.png'></figure>
|
||||||
|
<figure><figcaption>L127 merge</figcaption><img src='L127/passage-2-3-0-openair-1-4m-outside.png'></figure>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<h2>passage/2-3/0 — section-1/4m-interior-wall</h2>
|
||||||
|
<p>open-air-close · L119 low_contrast_geometry_visible · L127 low_contrast_geometry_visible</p>
|
||||||
|
<div>
|
||||||
|
<figure><figcaption>L119</figcaption><img src='../../Linux119/captures/L119/L115/L115/passage-2-3-0-openair-1-4m-interior-wall.png'></figure>
|
||||||
|
<figure><figcaption>L127 merge</figcaption><img src='L127/passage-2-3-0-openair-1-4m-interior-wall.png'></figure>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<h2>passage/2-3/0 — section-2/4m-outside</h2>
|
||||||
|
<p>open-air-close · L119 pass · L127 pass</p>
|
||||||
|
<div>
|
||||||
|
<figure><figcaption>L119</figcaption><img src='../../Linux119/captures/L119/L115/L115/passage-2-3-0-openair-2-4m-outside.png'></figure>
|
||||||
|
<figure><figcaption>L127 merge</figcaption><img src='L127/passage-2-3-0-openair-2-4m-outside.png'></figure>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<h2>passage/2-3/0 — section-2/4m-interior-wall</h2>
|
||||||
|
<p>open-air-close · L119 pass · L127 pass</p>
|
||||||
|
<div>
|
||||||
|
<figure><figcaption>L119</figcaption><img src='../../Linux119/captures/L119/L115/L115/passage-2-3-0-openair-2-4m-interior-wall.png'></figure>
|
||||||
|
<figure><figcaption>L127 merge</figcaption><img src='L127/passage-2-3-0-openair-2-4m-interior-wall.png'></figure>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
# L127 merge captures
|
||||||
|
|
||||||
|
These are the 23 L125 camera poses, rendered from the merge binary.
|
||||||
|
|
||||||
|
[Open the L119/L127 side-by-side comparison](COMPARE.html).
|
||||||
|
|
||||||
|
- [passage/0-1/0 — rock-floor/401.7m (pass)](L127/passage-0-1-0-rock-floor-station-1.png)
|
||||||
|
- [passage/0-1/0 — rock-floor/792.8m (pass)](L127/passage-0-1-0-rock-floor-station-2.png)
|
||||||
|
- [passage/0-1/0 — rock-floor/1634.5m (pass)](L127/passage-0-1-0-rock-floor-station-3.png)
|
||||||
|
- [passage/1-2/0 — rock-floor/27.0m (pass)](L127/passage-1-2-0-rock-floor-station-1.png)
|
||||||
|
- [passage/1-2/0 — rock-floor/52.9m (pass)](L127/passage-1-2-0-rock-floor-station-2.png)
|
||||||
|
- [passage/1-2/0 — rock-floor/78.9m (pass)](L127/passage-1-2-0-rock-floor-station-3.png)
|
||||||
|
- [passage/2-3/0 — rock-floor/323.4m (low_contrast_geometry_visible)](L127/passage-2-3-0-rock-floor-station-1.png)
|
||||||
|
- [passage/2-3/0 — rock-floor/333.4m (pass)](L127/passage-2-3-0-rock-floor-station-2.png)
|
||||||
|
- [passage/2-3/0 — rock-floor/343.4m (pass)](L127/passage-2-3-0-rock-floor-station-3.png)
|
||||||
|
- [passage/0-1/0 — section-1/4m-outside (pass)](L127/passage-0-1-0-openair-1-4m-outside.png)
|
||||||
|
- [passage/0-1/0 — section-1/4m-interior-wall (low_contrast_geometry_visible)](L127/passage-0-1-0-openair-1-4m-interior-wall.png)
|
||||||
|
- [passage/0-1/0 — section-2/4m-outside (pass)](L127/passage-0-1-0-openair-2-4m-outside.png)
|
||||||
|
- [passage/0-1/0 — section-2/4m-interior-wall (pass)](L127/passage-0-1-0-openair-2-4m-interior-wall.png)
|
||||||
|
- [passage/0-1/0 — section-3/4m-outside (pass)](L127/passage-0-1-0-openair-3-4m-outside.png)
|
||||||
|
- [passage/0-1/0 — section-3/4m-interior-wall (pass)](L127/passage-0-1-0-openair-3-4m-interior-wall.png)
|
||||||
|
- [passage/1-2/0 — section-1/4m-outside (pass)](L127/passage-1-2-0-openair-1-4m-outside.png)
|
||||||
|
- [passage/1-2/0 — section-1/4m-interior-wall (pass)](L127/passage-1-2-0-openair-1-4m-interior-wall.png)
|
||||||
|
- [passage/1-2/0 — section-2/4m-outside (pass)](L127/passage-1-2-0-openair-2-4m-outside.png)
|
||||||
|
- [passage/1-2/0 — section-2/4m-interior-wall (pass)](L127/passage-1-2-0-openair-2-4m-interior-wall.png)
|
||||||
|
- [passage/2-3/0 — section-1/4m-outside (low_contrast_geometry_visible)](L127/passage-2-3-0-openair-1-4m-outside.png)
|
||||||
|
- [passage/2-3/0 — section-1/4m-interior-wall (low_contrast_geometry_visible)](L127/passage-2-3-0-openair-1-4m-interior-wall.png)
|
||||||
|
- [passage/2-3/0 — section-2/4m-outside (pass)](L127/passage-2-3-0-openair-2-4m-outside.png)
|
||||||
|
- [passage/2-3/0 — section-2/4m-interior-wall (pass)](L127/passage-2-3-0-openair-2-4m-interior-wall.png)
|
||||||
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 98 KiB |
|
After Width: | Height: | Size: 63 KiB |
|
After Width: | Height: | Size: 111 KiB |
|
After Width: | Height: | Size: 225 KiB |
|
After Width: | Height: | Size: 177 KiB |
|
After Width: | Height: | Size: 125 KiB |
|
After Width: | Height: | Size: 112 KiB |
|
After Width: | Height: | Size: 116 KiB |
|
After Width: | Height: | Size: 50 KiB |
|
After Width: | Height: | Size: 184 KiB |
|
After Width: | Height: | Size: 34 KiB |
|
After Width: | Height: | Size: 121 KiB |
|
After Width: | Height: | Size: 111 KiB |
|
After Width: | Height: | Size: 163 KiB |
|
After Width: | Height: | Size: 132 KiB |
|
After Width: | Height: | Size: 37 KiB |
|
After Width: | Height: | Size: 55 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 67 KiB |
|
After Width: | Height: | Size: 21 KiB |
|
After Width: | Height: | Size: 146 KiB |
|
After Width: | Height: | Size: 106 KiB |