Files
VoxelForge/Standalone/Research/WorldAssemblerM3/Linux138/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

4.4 KiB
Raw Blame History

Linux138 — final cave planner speed pass

Source stamp: 9aade4e6cb33e86c36b89440644d9ef5d440288fb6ff0af03af128291c95f93f.

Result

The suspected column-cache regression is not present in the measured counters. Calls and formula evaluations per tile match assembler/world; the small miss deltas change sign between W8 and W12. The L77 CachedColumn and shared TryRead increases were normalized sample-share changes, not evidence of more cache calls.

I removed repeated route identity checks and added a fast path for prepared sweep samples that are stamped outside all passage influence. The path preserves the sample's flat distance in the union and skips wall/floor shell work whose bounds are positive. The speed bar is still missed on several near-ready cells, especially Vertical Shafts. No version bump or baseline update was needed: output audits remained green.

Before-change cache census

Means per near-ready LOD0–2 tile, averaged across the five measured L137 L80 runs per worker count. Each cell is assembler/world / L137 candidate.

Stratum / workers Point calls Local hits Local misses Shared hits Formula evaluations
Surface World / W8 6529.395 / 6529.396 5712.251 / 5720.303 817.144 / 809.092 570.207 / 562.158 246.937 / 246.934
Surface World / W12 6529.395 / 6529.396 5642.386 / 5641.558 887.009 / 887.838 639.976 / 640.851 247.033 / 246.987

Floating Islands, Tunnel Network, and Vertical Shafts had zero generic heightfield column calls and cache hits/misses per near-ready tile in both binaries. Floating Islands' separate local/shared cache counters were also zero in its profiled LOD0–2 tiles. The shared TryRead path is reached on local misses: W8 had about 8 fewer misses per tile on the candidate, while W12 had 0.83 more. Cache code, key, and window are unchanged versus assembler/world in WorldAssemblerInternal.h, SharedColumnCache.h, and FloatingIslandsInternal.h.

L77 reports each function's share of sampled worker ticks. A higher share can result when other work takes a smaller share; it is not a cache-call counter. The before-change census is in Saved/Linux/l138/prechange/column-cache-counts.json; the separate Floating Islands counters are in Saved/Linux/l138/prechange/island-cache/summary.json.

Change and timing

ShapeWorldInternal.h now reuses the already-computed Tunnel Network stratum predicate in the passage loop. For a swept sample with no exact contribution, it adds the same flat outside distance to the union, then skips relief, mouth, wall, and shell calculations. The influence bound is 1.053 m (0.75 m shell + 0.21 m relief + 0.083 m corner support + 0.01 m guard); the stamped sentinel is one subvoxel beyond it.

Final L80 used one warm-up and five interleaved runs per binary, at W8/W12 across all four strata. The quiet-host gate passed at load 1.34 and 98.9% CPU idle. Deltas are candidate medians versus assembler/world; the L137 A/A noise floor is ±1%.

Stratum Near-ready W8 / W12 Whole-view W8 / W12
Surface World +0.34% / +1.72% −0.48% / −0.93%
Floating Islands −4.34% / +2.87% −3.11% / −1.50%
Tunnel Network −2.54% / +2.86% −3.96% / −1.73%
Vertical Shafts +4.66% / +3.25% −1.73% / −2.06%

Only Surface World W8 is within ±1% near-ready. The per-LOD worker totals show LOD2 down 24–39% on Floating Islands, Tunnel Network, and Vertical Shafts, but Vertical Shafts LOD0/1 are up 5–22%; that remaining work keeps its near-ready medians outside the bar. Tunnel Network W8 is the closest of its two near-ready cells.

Checks

  • Fast tier: PASS, 273 checks, 286.0 s.
  • Composed sweep: PASS, 16/16 seeds, with passage, seam, shell, mouth-profile, naturalness, ripple, and blocked-route controls.
  • Clang/GCC W1/W8/W12: PASS, all 13 determinism hash lines match.
  • Linux VFHostEditor Development: PASS, 5 actions, 38.19 s with -NoUBA -MaxParallelActions=4; no prlimit.
  • The full verification tier and Windows UE build were not run. No Unreal Source/ files changed.

The first fast-tier invocation used the verifier's default l42 output directory and refused its stale binary. I reran it with --out Saved/Linux/l138; the final-source run passed.

Build, fast-tier, seed, determinism, cache-census, and timing logs are under Saved/Linux/l138/; the final timing matrix is Saved/Linux/l138/timing/summary.json. Changes are uncommitted.