Files
VoxelForge/Standalone/Research/WorldAssemblerM3/Linux135/REPORT.md
T
Fr0zkaandClaude Opus 5.5 b09728354d wip: cave planner squash-merged into wip/combined (L173, RED - not for main)
Five conflicts resolved (CURRENT-STATE, ResolvedLayoutInternal.h, StreamBenchmarkHeadless.cpp,
StreamBenchmarkPipeline.h, WorldAssemblyPrototype.h) keeping liminal + cave planner; L156 band fit only; evaluator v239
with v239 baselines (18/18 Clang/GCC W1/W8/W12). Fast tier FAILS (FI upper arrival: 40 unsupported chamber samples,
10 chamber-floor shell violations); TN and VS composed sweeps 0/16 (passage, seam, shell gates). Living plane loads at
PostConfigInit (UE smoke passes). Source/: VoxelForgeCoreAdapter.cpp; VoxelForge.uplugin.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016dhxM43dnWvUu2B5Ph1iG1
2026-11-03 02:28:34 +01:00

3.0 KiB
Raw Blame History

Linux135 — Tunnel Network planner

Source v236 (8dc4294ce0250a591ee4515471c3c547e796ffa4346ab44f0ae1740bbc3797f5) on wip/l134-cave-planner.

Route audits

Seeds 0–15 pass the composed passage, seam, shell, naturalness, mouth-profile, ripple, and blocked-route controls (16/16). The negative control still detects all three blocked routes. No audit threshold changed.

The mouth joint now takes its floor/profile from the resolved mouth geometry and carries that shared profile into the planner's first and last edges. This fixes seed 1's blocked arrival and seed 2's unsupported arrival. For seeds 0 and 3, the first 648 regular route candidates exceeded the grade bound; the bounded deterministic fallback finds a route. “No sweepable route candidates” was a planner search miss, not an empty cave.

Cost

L80 medians are near-ready / whole-view percent deltas. The serialized 144-run matrix started at load 0.81 / 98.4% CPU idle. Each cell gives assembler/world first, then exact L134 (a3c8e36).

Layer W8 W12
0 +3.88 / +0.27%; +1.79 / -0.21% +8.22 / +4.09%; +3.89 / +2.49%
1 +8.82 / +4.96%; +4.14 / +1.71% +11.83 / +5.35%; +4.10 / +2.09%
2 +13.33 / +3.77%; +2.34 / -0.09% +12.56 / +5.20%; +1.40 / +0.61%
3 +13.65 / +3.99%; -0.25 / +0.44% +12.71 / +5.14%; +2.97 / +2.12%

The two speed changes were bounded cave AABBs with a 1 mm float guard, and normalized edge-BVH bounds with one normalization per sample. This improves on L134, but misses the assembler/world target: near-ready remains 3.88–13.65% slower. Layers 1–3 overlap the native cave volume and spend time on roughly 4.95–5.76 million near-LOD cave samples per view; layer 0 has none at LOD0–3 and is still up 3.88% at W8, showing some generic composer/classification cost as well.

Planning is about 3.75–4.19 ms per view (cavern planning 0.46–0.49 ms). At LOD0–3, room/edge candidates average 0.39/0.23 per composer tile on layer 1, 0.47/0.27 on layer 2, and 0.06/0.04 on layer 3. Tile proofs skip work at LOD0–3; measured cave views have no tile skips at LOD4–8. The reported 180–320 ns density-call estimate includes all shape fields, not cave-only time. Profile: Saved/Linux/l135/profile-summary-speed2.json.

Gates and pictures

Fast tier passes in 301.7 s. Clang and GCC each match 13 hash lines at W1/W8/W12. Route seams and the negative controls pass; canonical baselines are v236. The post-timing VFHost Linux Development build succeeds: 27/27 actions, 77.70 s, using -NoUBA -MaxParallelActions=4.

The seven-view gallery has four planner views at the planned floor plus 1.6 m and three legacy views at legacy coordinates. Open captures/COMPARE.html; camera coordinates and renderer settings are in captures/capture-index.json.

Sweep: Saved/Linux/l135/optimized-seed-sweep.json. Timing: Saved/Linux/l135/timing/summary.json. Determinism: Saved/Linux/l135/determinism-summary.json. Host build log: Saved/Linux/l135/ubt-l135-console.log.