wip(assembler): round S4 -- continuous far ceiling at the strate's upper boundary
S3's far cap sat up to 8.2 m above the near roof and read as floating pieces. The far render cap now projects onto the owning strate's upper boundary (density unchanged), on a global XY lattice, LOD4 16-voxel grid + LOD5-8 128-voxel. Cap agreement 0.05 cm (100 cm control detected), 2520/2520 upward rays hit roof on the owner walk. Far recipe v2; LOD0-3 hashes equal S2/S3. Tile p95 flat; cold clipmap +4.4%. Far-cliff fluting left open (coarse MC step). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MmSoF64BbRFmk9C3p1VsBJ
This commit is contained in:
1 parent
d0f97bf79a
commit
9d3c50ca95
14 files changed
+1376
-34
No files matched your search
@@ -1395,6 +1395,46 @@ measure eight warmed keys per LOD and compare the shared LOD7/8 surface lattice
|
||||
density roots, including a 100 cm datum-offset negative control. See
|
||||
`Standalone/Research/WorldAssemblerM3/Round7/REPORT.md` for results and the visual evidence limits.
|
||||
|
||||
### 8.25 Continuous planar ceiling — World Assembler S4 / M3 Round 8
|
||||
|
||||
The cap remains a family declaration in `WorldAssemblyPlanV1::strates` and is evaluated by the shared
|
||||
Core heightfield path. `Heightfield2D::farSurfaceCapHeightSubvoxels()` clips only the rendered far
|
||||
surface to `(topChunkZ + 1) * 32` voxels, the owning strate's upper boundary; it leaves
|
||||
`Heightfield2D::point()` and its density values unchanged. `capHeightBounds()` reports conservative
|
||||
bounds for that clipped surface. Evaluator v5 opts into this render-surface contract; older serialized
|
||||
evaluators keep their recorded cap behavior. The clip joins the exact near density root at the owning
|
||||
boundary without changing LOD0–3 density hashes. Future families with planar roofs must declare their
|
||||
cap height and bounds through the family plan/provider contract; the shared tile generator consumes
|
||||
that declaration. FloatingIslands declares no planar roof, so open sky above a surface island is the
|
||||
expected view.
|
||||
|
||||
For each requested far SurfaceWorld XY column at LOD4–8, desired-tile selection adds cap-height
|
||||
bands only when they do not overlap an existing or already accepted 3D clipmap tile. The original
|
||||
clipmap remains a non-overlapping partition. Cap samples use a global XY lattice, are clipped to the
|
||||
owned strate boundary, tile Z bounds and `cap >= ground`, and share edges across tiles. LOD4 uses a 16-voxel cap step;
|
||||
LOD5–8 use 128 voxels. Core-off stays on its legacy path, and edits continue through the authoritative
|
||||
edited field. Runtime material sections are explicitly created/updated from their ground/cap index
|
||||
ranges so a cap-only far tile cannot rely on an auto-created section being present.
|
||||
|
||||
The far recipe version is 2. It salts mesh, payload and topology hashes for LOD4–8; density hashes
|
||||
and LOD0–LOD3 identities do not change. The owner audit counts requested cap bands and emitted
|
||||
positive-area bands, compares 128 shared cap points with the near density root at 2 cm tolerance,
|
||||
checks a 100 cm datum-offset negative control, and traces upward rays from route and camera points
|
||||
against emitted triangles. Round 8 records these counters, the matched captures, warmed BuildHost
|
||||
timings, clipmap overlap validation and remaining failures in
|
||||
`Standalone/Research/WorldAssemblerM3/Round8/REPORT.md`.
|
||||
|
||||
The Round 8 owner walk audit emitted every requested cap band at LOD4–8 (385/385), agreed with 128
|
||||
near roots to 0.0504 cm (2 cm gate), detected a 100 cm offset control, and hit the cap on all 2,520
|
||||
upward rays from 35 walk/camera points. No route ray missed the cap or clipmap boundary.
|
||||
|
||||
The far-cliff fluting is coarse marching-cubes geometry on steep faces: with 16 coarse cells per tile,
|
||||
LOD7 samples every 256 voxels (64 m at 25 cm) and LOD8 every 512 voxels (128 m). The native ground
|
||||
replacement removes only upward-facing coarse faces; near-vertical faces remain on that lattice.
|
||||
LOD7/8 shell repair is skipped for certified SurfaceWorld tiles, the renderer does not cull
|
||||
backfaces, and the strips predate S4 in S2/S3. Refining all steep faces would multiply far mesh work;
|
||||
S4 leaves that cost/quality tradeoff open.
|
||||
|
||||
## 9. Multiplayer model (listen-server first, dedicated-friendly)
|
||||
|
||||
> **Status: transport is DESIGN ONLY — nothing is networked in-tree yet** (no `Replicated`/`HasAuthority`/RPCs; a
|
||||
|
||||
Reference in new issue
Block a user