standalone: cheap chunk crossings -- exact-tile slab compile, nearest tiles first (~1.2 s -> 121 ms peak)

- Core compiles exact-tile analytic slabs for entering tiles; a Z-column sampler reuses the coherent
  noise context along each tile column; the viewer keeps residents and prioritises nearby tiles.
- 30-crossing straight flight: nearest tile ready 15.8 ms median / 27.6 ms max; full crossing wall
  121 ms peak; worker CPU per crossing 545 ms median, 834 ms max.
- W1/W8 hashes equal; routes 5642/5642; look, passage, stair, thin-sheet, coarse-panel and far
  audits pass; bad-shell control fails; path-hash audit kept.
Cold whole view, measured by me interleaved (busy machine): 1.242 s vs 1.255 s for 3b37d57, parity.
Still open from the owner (LOD0): fins along a strata seam, choppy stair facets.

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-05 20:12:51 +02:00
1 parent 3b37d5702e
commit 08ceed200d
7 files changed
+614 -86

No files matched your search

+14 -9
View File
@@ -64,15 +64,20 @@ for (const auto& key : entering) {
world.retainTileRegions(entering);
```
The Core groups fine tiles into pages using absolute tile coordinates, so a page's contents do not
depend on the camera or the order in which the player reaches it. Pages cover a 128-voxel cube (or
one larger coarse tile), with an 8-voxel sampling apron. `compileTileRegion` skips LODs at or above
`fullResolutionLodCount`, keys covered by the initial `ShapeBuildRequest`, and pages already
resident. Its optional output counts requested fine tile keys that needed a newly compiled page;
it does not count the page's internal lattice samples. After all pages needed by the next desired
set compile, call `retainTileRegions` with that set to release pages no longer needed. The Core
owns page lifetime and mesh data; the host keeps still-visible meshes resident until replacement
tiles are generated and uploaded.
By default, the Core groups missing keys by LOD and builds one analytic primitive/bin region for
each entering LOD slab. The region bounds come from the requested absolute tile coordinates, with
an 8-voxel sampling apron; no dense lattice is allocated for unused parts of the slab. A tile's
samples therefore depend on its world coordinates and the world snapshot, not the camera path or
the order in which tiles arrive. `compileTileRegion` skips LODs at or above
`fullResolutionLodCount`, keys covered by the initial `ShapeBuildRequest`, and keys already
resident. Its optional output counts requested keys that received a new region. After the regions
needed by the next desired set compile, call `retainTileRegions` with that set to release regions
that are no longer needed. The Core owns region lifetime and mesh data; the host keeps still-visible
meshes resident until replacement tiles are generated and uploaded.
Pass `analyticOnly = false` to retain the reference packed-page compiler. Packed pages use absolute
parent-cell coordinates and an 8-voxel apron; each covers a 128-voxel cube or one larger coarse
tile. This path remains available for parity checks and workloads that need the packed lattice.
## Queries and tiles