diag: passage-disabled ceiling (L86); readiness unchanged without passages

Environment-only diagnostic hook disables passage composition (never a world setting).
Cold LOD0-2 / whole @W12 WITHOUT passages: SW 1.12/2.25, FI 2.18/3.34, TN 2.15/3.15, VS 1.12/2.03 s
- the same as with passages (FI 2.16 s). Passages are ~58% of sampled CPU but not the
readiness bottleneck. A lazy exact passage-result cache was +47% slower (24% hit rate, ~700 MB)
and was removed. No world change.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016dhxM43dnWvUu2B5Ph1iG1
This commit is contained in:
Fr0zkaandClaude Opus 5.5 committed 2026-10-28 02:13:43 +01:00
1 parent 06f558dc91
commit 4f5f6667ae
4 files changed
+312 -12

No files matched your search

@@ -0,0 +1,28 @@
# Linux 86 — passage ceiling and cache falsifier
## Passage-disabled ceiling
L80 protocol: one warmup per stratum and worker count, followed by three interleaved W8/W12 pairs. Values are median seconds to LOD0–2 ready / whole view ready. The diagnostic removes route carving, support composition, transition-mouth passage fade, and per-tile passage feature lists.
| Stratum | W8 | W12 |
|---|---:|---:|
| SurfaceWorld | 1.008 / 2.194 | 1.122 / 2.253 |
| FloatingIslands | 2.343 / 3.589 | 2.179 / 3.337 |
| TunnelNetwork | 2.343 / 3.451 | 2.153 / 3.151 |
| VerticalShafts | 1.327 / 2.289 | 1.123 / 2.026 |
The FI/TN ceiling remains more than two seconds. In representative W12 profiles without passage composition, marching-cubes grid fill used 15.7 worker-seconds for FI and 14.8 for TN across LOD0–2; skirts used another 0.72 worker-seconds in each. The mesh grid work is the main remaining cost. Shape compilation was about 0.24–0.25 s wall time.
Logs and raw runs are in `Saved/Linux/l86/ceiling/`.
## Prototype and decision
I tried a sparse, lazy world-coordinate map keyed by the exact float coordinate and incoming density bits. A miss ran the existing full passage composer and stored its exact post-composition output; a repeat became a lookup. This preserves carve ordering, support restoration, deferred support, and floors without interpolation. Miss computation ran inside tile generation, so it overlapped generation and remained in cold readiness.
One FI W8 falsification smoke took **3.353 / 5.621 s**, versus L85’s normal-field W8 medians of **2.286 / 3.469 s** (+47% / +62%). It recorded 4.67M hits and 14.57M misses (24.3% hits), about **699 MB** estimated map storage, and **9.996 worker-seconds** of miss computation. That CPU time ran inside tile generation; the measured 5.621 s whole-view readiness includes it. I stopped at this clear regression; the three-pair W8/W12 prototype matrix was not run. Smoke log: `Saved/Linux/l86/logs/cache-smoke-fi-w8.log`.
The result cache prototype was removed from source. It used no interpolation, but max/mean displacement was not measured. Post-prototype support, capsule, grade, ripple, naturalness, mouth-profile, and three-interface audits; before/after captures; Clang/GCC peer determinism; and fast tier were not run after the speed gate failed. The exact-key design was not treated as a substitute for those gates. No hashes were repinned or version bumped.
## Files and failed runs
The only retained Core change is the L86 environment-only ceiling hook in `Standalone/Core/src/ShapeWorldInternal.h`; it is diagnostic and not a world setting. No `Source/` files changed, so no Unreal build was needed. The cache smoke exited successfully but failed the speed gate. No run exceeded 30 minutes. No commit, push, or stash was made.