Files
VoxelForge/CURRENT-STATE.md
T
Fr0zkaandClaude Opus 5.5 0065ee68e6 tools: per-strate density dispatch report in the fast tier (L132)
--density-dispatch-report prints each strate's bound path and tile shares. Owner world: SW native heightfield;
FI, TN, VS on compiled-analytic legacy fallback (FI lacks an imported FloatingIslandPlan; TN/VS have legacy recipes).
A native FI candidate broke the composed owner walk/shell gates, so the owner stays on its path. Output unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016dhxM43dnWvUu2B5Ph1iG1
2026-10-31 02:40:58 +01:00

9.7 KiB
Raw Blame History

VoxelForge current state

As of 2026-10-31. L131 is on assembler/world as 8107196; this L132 worktree is on wip/l132-dispatch-truth, starting at ebae71b. Current-state claims below point to their code or measured report.

What ships today

  • Core: evaluator version 227. Unreal's AVoxelWorld::bUseVoxelForgeCore is opt-in and defaults to false; the legacy generator remains the default runtime path. Core version, runtime switch, L130 report.
  • Verified owner4 generator dispatch (L132): SW binds SurfaceWorld-native because the owner export contains a matching SurfaceWorld.Heightfield2D v2 plan. FI binds compiled-analytic/FloatingIslands because its FloatingIslands.ClusterField v0 layout has no matching native island plan. TN and VS bind compiled-analytic/TunnelNetwork and compiled-analytic/VerticalShafts; their legacy recipe IDs provide neither a NativeCaves/NativeLattice graph recipe nor native field capability. The L132 fast-tier report prints the binding and generated tile-center share at each owner strate. Dispatch, adapter recipe checks, L132 report.
  • Passages: continuous smooth swept tubes with a continuous floor profile. L125 stamps conservative route slabs and outside sentinels into the tile cache; exact route geometry is still evaluated. All 21,425 route samples passed the open-air walk check; the nine-station floor probe's maximum root offset was 7.884 mm. L130 sets the shared influence reach to 1.0533 m (0.75 m shell + 0.21 m relief + 0.50 m smooth-max support / 6 + 0.01 m margin), converted once from metres to Core voxels for the proof, feature, fallback, and off-grid bounds. L125, L130.
  • Streaming: arrival uses a bounded startup apply burst: voxel.StreamingStartupApplyBoost=1 by default, up to 24 visible meshes or 14 ms per frame for at most 30 seconds, until the initial desired set and walkable ring are ready. voxel.StreamingFarApplySupplement=1 is also default-on: after the normal visible apply cap, at most one far result applies when under half the apply-time budget; it is inactive during the startup burst. Dynamic near reserve defaults on; coarse-first remains off; the legacy pending-result cap defaults off. The far-apply lane is Unreal-only. CVar source, L121 report, architecture.
  • Determinism: proven on Linux with Clang and GCC at W1/W8/W12. L131's unchanged-output comparison covers owner4's SW/FI/TN/VS views in 24 compiler/worker cases; the canonical owner4/owner2 recipe matrix also passes. Windows determinism is unverified. L131 checks, v227 canonical hashes.

Current performance references

Headless medians in seconds, five interleaved L80-style measurements per version in each cell. Near-ready means the complete LOD0–2 set; whole-view is the full requested view. Values below are the edited L131 binary; the paired pre-cleanup comparison is in the L131 report and timing summary.

Stratum Near-ready W8 / W12 Whole-view W8 / W12
S0 0.804 / 0.848 1.811 / 1.832
S1 1.014 / 1.002 1.993 / 1.886
S2 1.060 / 1.012 1.960 / 1.865
S3 0.917 / 0.884 1.887 / 1.782

Across 40 paired runs per metric, the mean relative change from pre-cleanup L130 was −0.22% near-ready (95% CI −1.02% to +0.57%) and −0.29% whole-view (−1.04% to +0.46%); neither indicates a measurable slowdown. The machine gate was load 0.81 and 99.2% idle. L80 protocol, runner and raw runs.

The latest recorded Linux Unreal start-to-LOD0–2 values are L127's one run per stratum: S0 2.456 s, S1 2.231 s, S2 2.514 s, S3 2.221 s. L130 did not rerun UE startup or movement. Five L127 runs at 30 m/s, 12 s moving plus 5 s dwell, had median moving near coverage 40.22%, far holes 3.46%, tick p99 10.80 ms, and worst tick 13.27 ms. After stopping, near coverage reached 100% and far holes reached 0%. These are the latest UE references, not v227 UE measurements. L127 report, L127 movement summary, L127 start summaries.

Open gaps

  • Multiplayer world lifecycle is unfinished: seed/layout replication, authoritative modification RPCs, and serialized diff replay for late join are still open. See ARCHITECTURE §9.5 and §9.7.
  • Determinism has not been verified on Windows. Linux Clang/GCC agreement does not establish MSVC agreement.
  • NullRHI measures residency and apply timing, not the first presented pixel or rendered enclosure. L127 also found four low-contrast views among 23 otherwise verified captures. L121, L127.
  • UE startup/movement numbers above predate L130's v227 reach change; there is no L130/L131 UE movement comparison.

How to verify

  • Build standalone Clang or GCC with Standalone/BuildLinux.sh, for example bash Standalone/BuildLinux.sh --compiler=clang++-19 --variant=l132-clang --fp-contract=off --jobs=4. The script pins CPUs 0–11 and applies prlimit --as=6442450944 itself.
  • Fast tier: python3 Standalone/Tools/verify/verify.py fast --out Saved/Linux/l132 --overall-timeout 1740. It includes the L132 four-pose owner density-dispatch report; per-run logs and the summary stay under Saved/Linux/l132.
  • Canonical output baselines are the v227 files in Standalone/Tools/verify/baselines/owner-hash/canonical/. L131 also provides reproducible pre-cleanup identity matrices for owner4 tile hashes and owner4/owner2 canonical hashes under Standalone/Research/WorldAssemblerM3/Linux131/.
  • Timing follows L80: quiet machine, no overlapping build, one warm-up per version, five interleaved runs per stratum and worker count, W8/W12. Each headless run uses taskset -c 0-11, prlimit --as=6442450944, and a 1,740 s timeout. See RunL131Timing.py.
  • Linux host build: /home/jahni/UnrealEngine/Engine/Build/BatchFiles/Linux/Build.sh VFHostEditor Linux Development -Project=/home/jahni/VFHost/VFHost.uproject -NoUBA -MaxParallelActions=4 -Log=/home/jahni/VoxelM/Plugins/VoxelForge/Saved/Linux/l131/ubt.log. Run Unreal without prlimit.

Closed experiments

These rejected speed/streaming proposals stay closed unless new evidence changes their measured failure. Reports and surviving patches are linked in the L131 inventory.

Line Result
L116 tunnel chord bound and z cache Pair count fell 20.8%, but stayed 1.96× L109 and readiness was 15–30% slower. Patch: chord-bound-zcolumn-not-merged.patch, commit 89504ec; see report.
L118 pair pruning / deferred floor work Pruned 17–18% of candidate pairs but remained 17.2–25.7% behind L109 near-ready. Report; patch: l118-designs.patch.
L126 floor-call filters Cut floor calls 20–23% without reducing pair counts; all eight cells missed L109. Candidate source was restored and no standalone patch was kept; see report and commit 01a5094.
L128 half-open slab ownership Ownership audit passed, but readiness was 14.8–28.0% behind L109 and moving coverage dropped. Report and patch l128-slab-ownership.patch are in archived commit 7022d02.
L129 2 m physical reach v225's metre/Core-voxel bounds mismatch made the correctly bounded candidate do more work; it was slower and failed UE movement gates. Report and patch l129-reach-2m.patch are in archived commit 0d1140c.
L120 priority split / extra worker slots Neither met coverage and tick gates; 10 slots reached a 16.67 ms worst tick against 15.43 ms baseline. Report; no production patch retained.
L122 admission relaxation Early admission missed p99 or far-hole gates; no behavior retained. Report; patch: l122-trace.patch.
L123 lookahead / completion gate Lookahead failed p99 and worsened near/far coverage; queue-only also failed p99. Report; patch: l123-queue-lookahead.patch.
L124 early LOD0 pages Optimistic gain stayed below 100 ms except negative cases; no publication/scheduling implementation was made. Report.