wip(assembler): round S5 -- streaming gates + trace; coarse-first order kept opt-in (no win)

Walkable/enclosed/refined gates defined; JSONL trace joins request, worker start,
build/apply and discards. Coarse-first + dynamic near reserve behind
voxel.StreamingCoarseFirst / voxel.StreamingDynamicNearReserve (default 0 =
S4 order): matched runs showed no walkability or full-view win and slower
LOD0/1 refinement. Instruments settled: 3.1 s standalone reproduced (16.7 s was
another generation route); black early captures were clear-only frames.
Hashes equal S4; Core-off, M2, SurfaceWorld/FloatingIslands BuildHost pass.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MmSoF64BbRFmk9C3p1VsBJ
This commit is contained in:
Fr0zkaandClaude Opus 5.5 committed 2026-10-19 04:42:41 +02:00
1 parent 9d3c50ca95
commit c0596c5f24
32 files changed
+1049 -65

No files matched your search

@@ -1237,3 +1237,31 @@ occurred. I did not open the owner's editor, build his project or edit assets, a
push or stash.
— Luna
## World assembler S5 / M3 Round 9 — 2026-10-19
I separated walkable collision, rendered enclosure, and per-LOD refinement rather than using the
moving full-clipmap resident count as a gate. The old standalone order queued and started LOD0 first;
the owner-camera trace shows LOD8 queue-wait p95 at 16.290 s and LOD8 build p95 at 365.8 ms. A
five-second 60 m/s capture crossed 37 centers and logged 5,006 new requests / 3,211 queued cancels.
This establishes queue churn, but not a visual-gap duration or proof that the Unreal actor starves.
The source candidate gives the shared actor scheduler a collision-ring → coarse-shell → LOD0/1
refinement order, retains the authored near reserve while moving, and adds request/start ordinals and
discard tracing. Standalone mirrors the order and has a legacy-order control. I did not add an LOD8
placeholder because initial overlapping parents do not have an all-descendants swap gate. The loaded
full-view capture still shows a large sky region; do not call enclosure passed from tile counts.
The S4-to-current standalone timing mismatch is unresolved: both report 2,553 tiles, but the current
cold CPU run is 16.685 s versus Round 8's 3.107 s. The default-camera first run built only 2,226
tiles and was rerun with the owner camera. Spawn samples through 2.0 s and the 60 m/s mid-flight
sample are black. No candidate BuildHost, after captures, negative-control run, or S5 hash matrix is
available yet.
I stopped before compiling because plugin-root `CLAUDE.md` §#1 explicitly says never build/compile
and to hand off at “ready to build.” The report lists the exact outstanding checks, compile spots,
and every failed or corrected run in [WorldAssemblerM3/Round9/REPORT.md](../../WorldAssemblerM3/Round9/REPORT.md).
No owner editor/project or asset was touched; no commit, push or stash was made.
— Luna