Files
VoxelForge/Standalone/Research/WorldAssemblerM3/Linux139/REPORT.md
T
Fr0zkaandClaude Opus 5.5 318c5cf4f2 core: Vertical Shafts on the shared Core cave planner (L139, v237; 15/16 seeds)
Shaft mode reuses PlanResolvedCavernNetworkV1 with a capped full-height cylinder primitive (shapeKind=1), ledges,
access bores and cross links; 11 VerticalShaftParams fields mapped. Basal law: arrival 2-3 to a walkable terminal
landing; drops/climbs stay reporting tiers. Seed 2 fails shell/seams at the 2-3 arrival mouth (3 variants tried,
stopped per AGENTS.md). Whole view faster than assembler/world in 8/8 cells; near-ready slower in 7/8.
Source/: VoxelForgeCoreAdapter.cpp.

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

7.2 KiB
Raw Blame History

Linux139 — Vertical Shafts on the Core planner

Result

S3 now reports Core.Caves.PrimitiveField / Caves-native, using the shared Tunnel Network planner. The composed acceptance gate is not green: 15/16 seeds pass; seed 2 fails the passage shell and tile seam checks at the arrival from passage 2–3. This worktree is not promoted as an accepted Vertical Shafts generator.

The basal primordial route law means arrival passage 2–3 to a walkable terminal landing above the bedrock seal. There is no departure mouth at the bottom of the owner world. The shared planner builds that walk-only spine, its access tunnels, and landings within the existing grade contract. The full-height open shafts and their ledges are an exploration tier: a drop or climb is not walk-only traversal, and climb or mine access stays in the reporting tiers. Core.Lattice was not used because L58's VerticalShafts lattice route looked like a corkscrew, not an open shaft.

Plan and parameter mapping

PlanResolvedCavernNetworkV1 is reused without a planner fork. Core.Caves.PrimitiveField is the shared evaluator, extended with shapeKind=1: the existing room/tunnel shapes do not represent a capped, full-height vertical bore, and the L58 lattice route was a corkscrew. Shaft records use that cylinder primitive with ledges, short access bores, and cross-shaft links. Generic cave branches are disabled in shaft mode.

FVerticalShaftParams field(s) Core setting
ShaftSpacing Shared planner room spacing; owner voxels convert to integer micrometres.
ShaftDensity roomDensityQ16, controlling shaft placement; a nonzero setting guarantees the route's initial shaft.
ShaftMinRadius, ShaftMaxRadius Minimum and maximum shaft radii.
CrossConnectChance tunnelDensityQ16 for links between shafts.
ConnectorRadius Equal minimum/maximum radius for access and connector bores.
LedgeSpacing, LedgeDepth Vertical shelf interval and intrusion; zero spacing disables shelves and zero depth makes them nonintrusive.
SurfaceRoughness Roughness amplitude; frequency derives as max(0.5 m, 4 owner voxels) because no frequency field exists.
BoundarySealThickness, BaseDensity Existing resolved top/basal boundary bands via sealAndDensity, outside planner settings.

Measurements

The final source stamp was b8603b6cb3975ca0f9669759e4e2464561c557fdb7aa6836acef123ecf0b99d1. The composed sweep covered seeds 0–15 with one run per seed (reported process time 320.485 s in total; individual runs 10.296–34.015 s). Seeds 0, 1, and 3–15 passed passages, route, seams, shell, and blocked-route controls. Seed 2's route grades/support, naturalness, mouth profile, ripple, dispatch, and negative controls passed; its composed passage, seam, and shell summaries failed. The shell audit reported eight wall_missing samples on passage/2-3/0, at route stations 489.627–490.321 m. The final log records positive native density at those samples and negative wall-shell margins. See Saved/Linux/l139/seeds/seed2-final.log and Saved/Linux/l139/seeds/summary.json.

Three geometry variants were tried against this same shell gate: starting passage clearance at 12 m, adding a guarded cubic lateral bow, and starting clearance at 8 m. The first and third still failed wall checks; the bow failed floor checks. Per the three-failure stop rule, these were discarded. The final binary retains the successful Q16 endpoint-normalization correction needed for seed 1 and no seed-2 geometry patch.

L80 ran after the seed sweep. The host gate was load 1.31, CPU idle 99.4%. It used one warm-up per build and stratum/worker cell, then five interleaved measured runs for each of three builds at W8 and W12 across all four strata: 120 measured runs total. Comparisons use fa4417a, assembler/world, and the L139 binary; the established L137 A/A noise floor is ±1% (A/A report). Times are medians in seconds; deltas are L139 relative to each comparison build. Paired values in each cell are W8 / W12.

Stratum LOD0–2 L139 Δ vs fa4417a Δ vs assembler/world Whole-view L139 Δ vs fa4417a Δ vs assembler/world
S0 Surface World 0.838 / 0.886 +1.71% / +3.97% +2.92% / +5.06% 1.862 / 1.804 +2.42% / +1.63% −0.11% / −0.33%
S1 Floating Islands 1.036 / 1.038 +4.72% / +4.61% +2.09% / +5.35% 1.842 / 1.830 +0.11% / +1.16% −6.73% / −1.24%
S2 Tunnel Network 1.105 / 1.078 +2.44% / +3.07% +3.57% / +7.57% 1.876 / 1.808 −1.11% / +0.00% −4.33% / −1.15%
S3 Vertical Shafts 0.899 / 0.884 −3.81% / −0.94% −0.95% / +2.00% 1.706 / 1.657 −6.57% / −2.53% −6.21% / −4.77%

Whole-view medians are numerically lower than assembler/world in all eight cells; the S0 W8 and W12 differences are within the ±1% noise floor. Seven of eight LOD0–2 cells are slower than assembler/world; the remaining cell is within the noise floor. This is characterization of an unaccepted build, not a promotion claim. Raw runs and medians are in Saved/Linux/l139/timing/summary.json.

Checks and captures

  • Fast tier: PASS, 284.0 s; the S3 dispatch line is VerticalShafts → Core.Caves.PrimitiveField v1 / Caves-native / FCavesFieldAdapter.
  • Clang and GCC determinism: PASS, W1/W8/W12 (six cases), 13 hash lines and resolved-layout identity matched. Both compilers built the final source stamp above.
  • Canonical v237 baselines added for Surface World and Floating Islands; both match their v236 values.
  • Five eye-height views were captured before and after: arrival mouth, shaft access landing, looking down, looking up from a ledge, and basal terminal landing. All five L139 views pass the existing quality threshold. Two L138 baseline views fail it: the old layer has no shaft at the selected site, so the down-shaft view is flat, and the upward view is low contrast. The threshold was not relaxed. Images and camera details are in captures/.
  • The outside views are captures/after-whole-layer-density-cutaway.jpg (coarse LOD density-mesh slice at y=−5 m) and captures/after-whole-layer-side-elevation.svg (resolved-plan projection that labels the walk route and all 53 shaft primitives). The cutaway passes the unchanged image-quality threshold; its plan companion makes the full shaft layout clearer.
  • Linux VFHostEditor Development build: PASS, 27 actions, 72.58 s, run after timing with -NoUBA -MaxParallelActions=4 and no prlimit. It emitted three pre-existing deprecated RealtimeMesh API warnings from VoxelWorld.cpp; that file was not changed.
  • git diff --check and Python bytecode compilation of the L139 runners passed. Windows build and Windows determinism were not run.

Logs and source-stamped binaries are under Saved/Linux/l139/. The only changed Unreal Source/ file is Source/VoxelForge/Private/VoxelForgeCoreAdapter.cpp.

Remaining risk

The passage shell and seam break at the incoming mouth on seed 2 remain unresolved. The local clearance/heading premise failed three geometry attempts; a new route-to-mouth design premise is needed before another geometry change. Walk-only connectivity stays guaranteed by construction; vertical drops, climbs, and mine access remain reporting tiers.