L99 treated a missing exact-grid sweep sample as "no route here", so off-grid queries exposed the FI/TN boundary band inside passage 1-2 (flat ceiling/floor). In-bound misses now evaluate the exact route; a conservative route-feature bound still skips out-of-extent misses. Composition order unchanged (graph -> bands -> passage -> stamps -> floor caps). Comparison now counts added/removed crossings and triangles: 0/0 crossings on all four strates (FI +56 triangles). 1-2 mid-tunnel: L98->L100 changes 32k px (L99 changed 1.14M). Near-ready @W12 (L98/L99/L100): FI 2.62/1.78/2.05, TN 2.36/1.55/1.80, SW 1.17/0.95/1.04, VS 1.16/1.03/1.08 s. All walk audits pass; 24/24 Clang/GCC W1/W8/W12 determinism; fast tier PASS. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016dhxM43dnWvUu2B5Ph1iG1
3.7 KiB
L100 passage captures
Each route has paired L98 and L100 views at both mouths and at 25%, 50%, and 75% stations. The camera gate decodes each PNG and requires visible geometry (>3,000 pixels after excluding the dominant background color, with at least two RGB colors). Changed pixels count RGB pixels with any channel difference between a matched pair.
L100 source stamp: 7224bf6e668d06ed71a92f0857820e3ae2b0eca40574a491331ab5979a88f698.
| View | L98 geometry px | L100 geometry px | Changed px | Images |
|---|---|---|---|---|
0-1 · upper-mouth |
1,063,522 | 1,063,522 | 41,441 | L98 / L100 |
0-1 · lower-mouth |
1,420,316 | 1,420,316 | 23,644 | L98 / L100 |
0-1 · mid-25 (27.5%); station +50 m to surface; surface-target fallback |
422,920 | 422,935 | 706 | L98 / L100 |
0-1 · mid-50 (50.0%) |
1,375,241 | 1,375,118 | 20,082 | L98 / L100 |
0-1 · mid-75 (75.0%) |
1,368,802 | 1,368,801 | 12,919 | L98 / L100 |
1-2 · upper-mouth |
1,425,620 | 1,426,619 | 292,188 | L98 / L100 |
1-2 · lower-mouth |
223,508 | 223,508 | 57,795 | L98 / L100 |
1-2 · mid-25 (25.0%) |
1,409,914 | 1,409,907 | 15,713 | L98 / L100 |
1-2 · mid-50 (50.0%) |
1,407,415 | 1,407,415 | 32,217 | L98 / L100 |
1-2 · mid-75 (75.0%) |
1,261,589 | 1,264,705 | 263,048 | L98 / L100 |
2-3 · upper-mouth |
60,506 | 60,506 | 0 | L98 / L100 |
2-3 · lower-mouth |
60,257 | 60,257 | 0 | L98 / L100 |
2-3 · mid-25 (25.0%); surface-target fallback |
631,345 | 631,345 | 0 | L98 / L100 |
2-3 · mid-50 (50.0%); surface-target fallback |
629,698 | 629,698 | 4,208 | L98 / L100 |
2-3 · mid-75 (75.0%) |
1,163,903 | 1,163,903 | 0 | L98 / L100 |
Same-camera 1–2 regression check
The L99 and L100 midpoint records have identical focus, camera, target, yaw, and pitch. This three-version check decodes every image and passes the same geometry gate.
| Version | Image | Visible geometry px | Changed px from L98 |
|---|---|---|---|
| L98 | before | 1,407,415 | — |
| L99 | flat-tunnel capture | 1,206,362 | 1,135,959 |
| L100 | fixed capture | 1,407,415 | 32,217 |
L99→L100 changed 1,134,150 pixels. The L100 view returns to the L98 image at this camera (L98→L100: 32,217).
All 30 L98/L100 PNGs passed the geometry gate. Capture logs, camera coordinates, exports, and raw metadata are under Saved/Linux/l100/captures/.