Files
VoxelForge/Standalone/Research/WorldAssemblerM3/Linux148/REPORT.md
T
Fr0zkaandClaude Opus 5.5 f21aab775f research: passage exclusion envelope at plan time (L148, 7/16; kept as patch)
Seed-2 shell carver measured: vertical-shafts route-edge-0, the layer's own connection edge from the 2-3 lower
mouth. Connection edges legitimately run beside the passage 12-20 m from the mouth, so an 8 m mouth-sphere exclusion
rejects 9/16 otherwise valid plans. Points to one continuous tube across the mouth instead of two overlapping ones.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016dhxM43dnWvUu2B5Ph1iG1
2026-11-01 14:18:19 +01:00

3.7 KiB
Raw Blame History

Linux148 — passage exclusion envelope

Result: The shared plan-time bounds audit and its negative control work, and the L147 seed-2 carver is identified. The 8 m mouth joint is too small for the existing route candidates: both composed matrices pass only 7/16 seeds. Per the three-failure stop rule, this round stops without another planner adjustment and is not ready to promote.

Root cause and rule

The L147 Vertical Shafts seed-2 wall sample at (-21.678, -1.714, -888.614) m is carved by vertical-shafts/strate-3/route-edge-0. At that point its native tube/floor SDF combines to about -0.553 m, predicting +2.21 Core voxels of air; the observed native density is +2.341949. No other cave primitive has a negative native SDF there. The edge's start anchor is passage/2-3/0/lower-mouth, confirming this sample lies in its passage connection.

The shared gate samples the resolved passage spline, expands it by the 1.053 m shell/influence reach, and checks each layer primitive's conservative AABB against that envelope. It permits overlap only for a named passage mouth, within an 8 m sphere (the planner's 2 m overlap plus 6 m lead). Other overlap rejects the graph before it is written into the layout. A forced AABB at a passage centerline is rejected as the negative control.

The shared Core API is generic; this round wires it through PlanResolvedCavernNetworkV1, used by Tunnel Network and Vertical Shafts. Other layer planners must call it when they resolve their primitive bounds.

The mouth radius is the limiting assumption. Existing route-edge bounds in Tunnel Network seeds 0, 1, 4, and 7 meet passage 1-2 at 12.5–19.6 m from the mouth; seed 8 also has room bounds at 17.5–20.5 m. These are connected route candidates, but they fall outside the 8 m sphere. In seed 10, vertical-shafts/strate-3/shaft-1/primitive-0 also overlaps passage 2-3; it has no mouth association and remains a separate candidate to resolve.

Measurements and checks

  • Clang 19 and GCC builds passed with source stamp 593551a985ec0d1acc271260e4c8f15a5261c90edb60e33a56ed6df27e269ffb.
  • Tunnel Network: 7/16; full runs were seeds 2, 3, 5, 6, 9, 11, and 12. Vertical Shafts: 7/16, the same seeds. The other nine seeds in each matrix were rejected by the plan-time exclusion audit. The run logs and per-seed layouts are under Saved/Linux/l148/seeds/.
  • Across the seven full runs in each matrix: 2,186,289 passage-interior capsule samples, zero solid; 53,262 shell wall samples, zero violations. Passage, ripple, and negative-control gates passed on those runs. Seed 2's passage 2-3 had zero wall samples outside the mouth joint, so its shell result has no wall coverage beyond that joint.
  • The passing layouts match their L147 stable identities. Seed 2 is resolved-layout-v3-fnv64:64988eac83c0220c.
  • Fast tier passed in 362.6 s: Saved/Linux/l148/fast/fast-summary.json.
  • Clang/GCC W1/W8/W12 passed on seed 2: 13 pipeline hash lines and the resolved-layout identity matched across all six runs. Summary: Saved/Linux/l148/determinism/summary.json.
  • git diff --check and Python syntax checks passed. No Unreal build was run.

The successful outputs remain evaluator v237 and layout-identical to L147. No baselines or captures were added. The nine rejected seeds produced no resolved layout, so there is no accepted before/after scene to capture. This is an incomplete, unpromoted planner change.

Remaining risk

The audit catches conservative-bounds conflicts, but the current mouth sphere does not cover the existing connected-route bounds, and the optional shaft collision needs a deterministic candidate decision. The 16/16 requirement is unmet. No Unreal Source/ files changed.