Owner shapes compile per stratum on the Core parallel scheduler and merge in owner-layout order; far-parent ellipsoids/connectors generate in parallel and merge canonically; 512-unit far bins. Base compile 239 -> 203 ms, far-parent build 128 -> 33 ms. Near-ready @W12: SW 0.84 -> 0.75, FI 1.51 -> 1.42, TN 1.38 -> 1.30, VS 0.92 -> 0.85 s. All hashes equal L104 (Clang/GCC W1/W8/W12). Fast tier PASS; Linux UE builds; 6/6 Unreal arrival traces pass. R45 (read-only, owner's "are we overcomplicating?"): next simplifications = tunnel floor/mouth support inside the bounded passage field; boundary bands once per XY column; certified early SW tiles. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016dhxM43dnWvUu2B5Ph1iG1
17 KiB
Ranked proposals
The tunnel lesson has already been applied to the bore itself: the route is swept into a tile-local field. The strongest remaining opportunity is the floor/support work around that bore. Two lower-confidence targets are boundary-band evaluation and the full-shape startup barrier.
The cost figures below are worker CPU allocations from the reports, not predicted wall-time savings. [MEASURED] The older Astra review included a “75%” passage-cost claim that it later identified as wrong; I use the newer census instead. Astra1:3
1. Put tunnel floors and mouth support into the bounded passage field
Today. [CODE] The passage sweep already visits a tile-local grid, bounds work to a 4 m influence region, and min-combines tube distances. ShapeWorldInternal.h:14395 Support remains a separate per-sample path: it projects onto route segments, checks capsule clearance, can defer support until later bores are considered, and restores native ground near mouths. ShapeWorldInternal.h:2619 ShapeWorldInternal.h:2936 ShapeWorldInternal.h:2998 Mouth shaping is partly in the sweep already; native-ground restoration still has its own path. ShapeWorldInternal.h:3006
Cost. [MEASURED] Support accounts for an estimated 1.864 worker-seconds in FI and 1.623 in TN near LOD0–2. Linux103:14 L101 counted 10.6M / 8.37M support visits and 4.09M / 3.38M capsule checks for FI / TN. Linux101:28 Linux101:29
Simpler construction. [INFERENCE] Prototype a local floor ribbon or lofted cross-section as part of the per-tile passage field. Let route data describe the floor profile and mouth transition; write that bounded contribution alongside the tube. Keep the exact off-grid fallback: L100 showed that a missing lattice sample cannot prove a mesh query is outside the tunnel. Linux100:9
World and risk. [INFERENCE] Reusing the existing support formulas and order could preserve the same density field. A simpler cross-section will likely move floor geometry, especially at helical overlaps, short spans, and mouths. It must preserve native-ground support, headroom, and the checks that keep neighboring coils from becoming shelves. ShapeWorldInternal.h:2944
Effort: medium-high. Falsifier: Prototype one ordinary passage tile and one overlapping-coil tile. Compare lattice density, mesh crossings, and capsule clearance to the current field. Reject the approach if support depends on pointwise native-solid or neighboring-bore checks that the local profile cannot encode, or if any crossing or walkability result changes.
[PRIOR ART] OpenVDB’s tube tools construct narrow-band tube and capsule SDFs, which supports the local-write pattern; it does not establish that VoxelForge’s floor and mouth semantics can be replaced unchanged. OpenVDB LevelSetTubes OpenVDB narrow-band documentation
2. Compute boundary-band geometry once per XY column
Today. [CODE] Boundary-band composition already has tile and Z-range culls. Inside the active window, it evaluates displaced transition bands from X/Y and applies the resulting vertical signed distance at the queried Z. ShapeWorldInternal.h:1485 ShapeWorldInternal.h:1549 ShapeWorldInternal.h:1612
Cost. [MEASURED] The census allocates about 0.773 worker-seconds to bands for FI and 0.781 for TN. Linux103:16
Simpler construction. [INFERENCE] For each tile column, evaluate the transition bands and passage fade once, then reuse those bounds for the affected Z samples. This turns repeated XY-dependent work into a column-local operand without changing the band’s Z formula.
World and risk. [INFERENCE] This can be same-world if it preserves the current fixed-point rounding, native-rock preservation rule, FI air-gap exception, and composition order. The main risk is a subtly different band at an interface or passage mouth.
Effort: low-medium. Falsifier: Compare exact lattice densities for hard and displaced transitions, an FI air gap, and a passage-faded mouth. Reject on any density mismatch or lost surface crossing.
3. Let certified SurfaceWorld tiles start before the full shape is ready
Today. [CODE] World::compile publishes the shape as ready only after the complete shape build succeeds; tile-region compilation also requires a built base shape. VoxelForgeCore.cpp:1442 VoxelForgeCore.cpp:1582 The L10 SurfaceWorld fixture’s first tile uses the native heightfield before packed-shape lookup, but the API still waits for the full build. Linux10:39
Cost. [MEASURED] That fixture spent 222.59 ms wall time and 856.79 ms process CPU compiling the shape; its first tile began at 299.62 ms. The report gives 222.6 ms as the maximum first-tile delay this could remove for that case. Linux10:18 Linux10:21 Linux10:58
Simpler construction. [INFERENCE] Publish immutable shape pages by capability, and allow only tile requests whose dependency set proves they cannot read unfinished shape data. Keep the full readiness gate for other paths.
World and risk. [INFERENCE] Correct dependency classification would leave generated density unchanged. Partial publication could expose unwritten signs, proxies, bins, or far fields; the proof must cover fallback and seam queries too.
Effort: high. Falsifier: Trace every field read from a candidate SurfaceWorld tile. Reject if it can touch unfinished data, or if the measured first-tile start does not move earlier enough to justify the readiness state.
4. Reduce repeated far-shell crossing refinement only where the boundary field defines the surface
Today. [CODE] Missing far-shell faces are patched with local geometry, but the patch validates candidate positions against the source field. FindFarStratumCrossings samples at 1 m intervals and binary-refines crossings; nearest-crossing refinement also makes repeated density queries. FarShellsInternal.h:1069 FarShellsInternal.h:1098 FarShellsInternal.h:1270
Cost. [MEASURED] L103 counted about 1.13M / 1.15M far-shell stratum-refinement queries per FI / TN whole-view run. Linux103:57 This is a query count, not an isolated time. The separate hit-search cost was already reduced by L104’s 3D bins, from estimated 1.73 / 1.85 to 0.37 / 0.34 worker-seconds. Linux104:20
Simpler construction. [INFERENCE] Where a patch crosses a resolved boundary band, construct its local surface directly from the band’s XY boundary formula and reserve exact source-field refinement for ambiguous columns. Do not skip the patch: the report says near tiles still need boundary patches. Linux104:7
World and risk. [INFERENCE] The patch may change or omit a surface where the actual crossing is controlled by host-rock density, passage fade, or another field rather than the boundary formula. Effort is high because the optimization must preserve coverage.
Falsifier: Compare all patched crossing positions and coverage against the current source-field refinement. Reject if any face disappears, moves beyond the existing tolerance, or if query time does not materially fall.
5. Compact sign-distance proxies only if active memory use is actually large
Today. [CODE] Shape compilation reserves one int16 proxy slot per shape node, while candidate bits decide which positions have usable proxy values. ShapeWorldInternal.h:3810 ShapeWorldInternal.h:12889
Cost. [MEASURED] L10 reports 263.57 MiB of proxy address capacity and 610.3 MiB peak RSS for the fixture. The report does not establish that the whole proxy allocation is resident or how many entries are active. Linux10:37 Linux10:5
Simpler construction. [INFERENCE] If most slots are inactive and resident, store active proxy entries compactly behind the candidate mask. This is a memory proposal, not a demonstrated generation-speed win.
Effort: medium. Falsifier: First measure active entries and resident pages. Stop if the array is mostly nonresident or compact lookup costs more than it saves in memory pressure or readiness.
What I would leave alone for now
-
Columns. [MEASURED] L101 counted 11,804 column-distance calls for FI and zero for TN, far below millions of support visits. Linux101:28 Linux101:29 They are already constrained to prepared passage crossings and Z overlap. [CODE] Their separate cost does not justify folding them into the support change yet. ShapeWorldInternal.h:2000
-
Cavern graphs and caps. [CODE] Legacy and native cavern evaluation are selected by stratum;
ApplyResolvedCavernGraphdispatches to the native evaluator when the stratum advertises that field. ShapeWorldInternal.h:10182 ShapeWorldInternal.h:10339 Native caves combine floor support with the void; the final floor-cap path is retained for legacy. ShapeWorldInternal.h:10512 [MEASURED] Graph, caps, and edits together are only 0.084 s FI / 0.053 s TN in the current census. Linux103:18 Consolidating these means a migration between generation contracts, not removing duplicate work from each query. -
Island roots and connectors. [CODE] Island and connector bounds already produce tile-local feature lists. FloatingIslandsInternal.h:2318 The implementation explicitly chooses a full scan for the measured four-island plan and candidate grouping for larger plans. FloatingIslandsInternal.h:2323 Replacing that structure with one primitive risks changing the island silhouette without an identified hot cost.
-
Sign-edge repair. [CODE]
CompleteSignEdgeDistancessupplies exact distances at missing sign edges and corrects packed signs when they disagree with the analytic field. ShapeWorldInternal.h:12872 ShapeWorldInternal.h:12900 [MEASURED] L94’s parallel repair preserved hashes and cut SW repair from 1,753.9 ms to 86.4 ms headless; FI had zero endpoint corrections. Linux94:30 Linux94:32 Removing the repair risks wrong mesh signs; it is already parallelized. -
Skirts. [CODE] Production emits simple extruded boundary curtains. VoxelMarchingCubesMesher.cpp:1499 The standalone research mesher adds density clipping and recursive refinement, so its L103 skirt timing is not a production Unreal skirt cost. VoxelMarchingCubesMesher.cpp:2543 [MEASURED] That standalone stage is about 0.656 / 0.661 worker-seconds FI / TN. Linux103:20 [INFERENCE] If replacing curtains, pilot transition cells only on certified 2:1 LOD interfaces; Transvoxel is prior art for local 2:1 transitions, but does not cover every boundary the current skirts cover. Transvoxel Falsify that pilot if it introduces cracks at a 2:1 interface or changes wall/floor collision.
-
Route planners and schedulers. [CODE] The adapter’s
BuildFiniteSurfaceRoutesearches supported surface routes over a heightfield; Core’sPlanResolvedLayoutPassagesV1plans inter-stratum passages. VoxelForgeCoreAdapter.cpp:248 ResolvedLayoutInternal.h:2237 They solve different route problems. Likewise, Unreal’s Core scheduler wraps intra-buildParallelFor, while streaming admission schedules tile tasks. VoxelWorld.cpp:116 VoxelWorld.cpp:235 [MEASURED] L97’s hard cap of seven tasks roughly doubled near-settle time; keep the scheduling layers separate unless a specific queue cost is measured. Linux97:17 Linux97:21 -
More caches. [MEASURED] The exact result cache regressed FI readiness by 47–62% and estimated 699 MB of storage; the trilinear cache also regressed FI/TN readiness and increased route visits. Linux86:22 Linux88:27 [INFERENCE] Prefer constructing a bounded operand once in the tile’s generation pass over memoizing repeated global queries.
Read-only review only: no edits, builds, tests, or benchmarks were run.