Files
VoxelForge/Standalone/Research/WorldAssemblerM3/Linux118/REPORT.md
T
Fr0zkaandClaude Opus 5.5 6e52fb48b2 research: L118 passage-tile designs (hash-exact, no readiness gain; kept as patch)
Tagged the passage bucket: per-tile prepareSweptTubeBase dominates (0.47-0.92 s summed per view),
smooth-min second. Segment lower-bound pruning (-17% pairs) and deferred fallback floor work stayed
hash-exact but moved near-ready <3%. Still +17..+26% vs L109.

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

59 lines
4.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Linux118 — passage tile cost
## Result
The L115 output is exact: owner4 hashes match at W1/W8/W12 under Clang and GCC. Walk audits passed, and the fast tier passed with 259 checks plus 5 diagnostic-only baseline comparisons.
The near-ready target was not met. The final candidate is 17.2–25.7% slower than L109 across the eight W8/W12 cells; whole-view readiness is 9.4–13.9% slower. Both designs leave readiness close to L115.
## Field tags
One W1 probe per stratum, summed over LOD0–2 passage-feature tiles. `SmoothMinDistance` time is estimated from 1/128 sampled calls. Point time contains `CachedColumn`; cache read time is inside `CachedColumn`, so those columns overlap.
| Stratum | Feature tiles | Prepare ms | Smooth-min calls / ms est. | Point / CachedColumn ms est. | Shared reads ms est. (initial / locked) |
| --- | ---: | ---: | ---: | ---: | ---: |
| S0 | 158 | 467 | 7.14M / 137 | 404 / 226 | 24 / 4 |
| S1 | 195 | 919 | 15.60M / 289 | 0 / 0 | 0 / 0 |
| S2 | 187 | 848 | 13.93M / 249 | 0 / 0 | 0 / 0 |
| S3 | 182 | 567 | 2.62M / 49 | 0 / 0 | 0 / 0 |
The Heightfield2D/cache tags occur in S0; the other three strata do not use that path in these views.
## Designs and passage counters
Design 1 added a conservative segment-to-sample lower bound in `prepareSweptTubeBase`. It skips distance, floor, and shell work when a segment cannot improve the sample. Hashes stayed exact. It pruned 17–18% of candidate pairs, but the readiness matrix remained near L115.
Design 2 deferred floor-profile interpolation in exact fallbacks until a segment could improve the nearest route or floor result. It also stayed hash-exact, with only a small timing change. Restricting fallbacks to prepared feature spans changed hashes, so that restriction was removed.
W8 passage-feature tile totals, averaged over two profiles per stratum. L118 pairs show evaluated plus bound-pruned counts; their sum equals L115's candidate-pair total.
| Stratum | Sweep pairs: L109 → L115; L118 evaluated + pruned | Fallbacks: L109 → L115 → L118 | Visits: L109 → L115 → L118 |
| --- | ---: | ---: | ---: |
| S0 | 3.36M → 7.56M; 6.25M + 1.31M | 0.241M → 0.413M → 0.413M | 1.19M → 3.41M → 3.41M |
| S1 | 6.19M → 16.22M; 13.25M + 2.97M | 0.369M → 0.719M → 0.719M | 1.91M → 7.60M → 7.59M |
| S2 | 6.15M → 15.52M; 12.69M + 2.83M | 0.315M → 0.634M → 0.634M | 1.66M → 6.88M → 6.87M |
| S3 | 4.09M → 9.63M; 7.98M + 1.64M | 0.074M → 0.131M → 0.131M | 0.48M → 1.41M → 1.41M |
## Readiness
Five interleaved measured runs per version, stratum, and worker count, after one warm-up per version. Values are median seconds: near LOD0–2 / whole view.
| Stratum | Workers | Near L109 → L115 → L118 (Δ vs L109) | Whole L109 → L115 → L118 (Δ vs L109) |
| --- | ---: | ---: | ---: |
| S0 | 8 | 0.771 → 0.941 → 0.939 (+21.8%) | 1.731 → 1.968 → 1.938 (+12.0%) |
| S0 | 12 | 0.781 → 0.927 → 0.932 (+19.4%) | 1.716 → 1.878 → 1.897 (+10.6%) |
| S1 | 8 | 0.964 → 1.235 → 1.212 (+25.7%) | 1.886 → 2.122 → 2.088 (+10.7%) |
| S1 | 12 | 0.908 → 1.166 → 1.136 (+25.1%) | 1.754 → 2.022 → 1.997 (+13.8%) |
| S2 | 8 | 0.991 → 1.257 → 1.241 (+25.2%) | 1.863 → 2.136 → 2.121 (+13.8%) |
| S2 | 12 | 0.929 → 1.172 → 1.143 (+23.1%) | 1.736 → 1.989 → 1.976 (+13.8%) |
| S3 | 8 | 0.830 → 0.981 → 0.997 (+20.1%) | 1.726 → 1.918 → 1.912 (+10.8%) |
| S3 | 12 | 0.780 → 0.933 → 0.914 (+17.2%) | 1.625 → 1.795 → 1.778 (+9.4%) |
The timing gate recorded one-minute load 0.65 and 99.2% CPU idle. Each headless run used CPUs 0–11, the 6 GiB address-space limit, and a 1,740 s timeout. Design 1 timings are preserved in `Saved/Linux/l118/timing-design1/`; final timings are in `Saved/Linux/l118/timing/`.
## Unreal and workspace
The post-timing Linux `VFHostEditor` build passed (27/27 actions, 71.13 s) with `-NoUBA -MaxParallelActions=4`; it compiled `VFCore_Core_src_VoxelForgeCore_cpp.cpp`. Unreal ran without `prlimit`. Three existing RealtimeMesh deprecation warnings remain.
Work stayed on `wip/l111-halfpipe-spline` at `c2b8d39`. No commit, push, or stash was made. Logs and summaries are under `Saved/Linux/l118/`.