wip(assembler): M1 round 6 -- owner walk fixes: 25 cm geometry scale, one height datum, carve/fill sign, faster relief meshing
Owner saw content floating above native terrain, spiky triangles, reversed carve/fill and late relief. Causes: shared mesher placed Core tiles on a 12.5 cm grid; content/atmosphere asked strate ranges in 12.5 cm voxels; Core edits add density where the legacy diff subtracts. Horizon LOD8 bridge edge 5.657 -> 2.265 cells. Relief mesh p95 60.8 -> 42.0 ms (LOD0). New BuildHost checks for scale, height, blueprint carve/fill and per-kind streaming lag. 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
f67b519e75
commit
61633cb492
18 files changed
+1708
-142
No files matched your search
+30
-2
@@ -1085,8 +1085,9 @@ tasks. Preserve §8.10 streaming, cancellation, epoch, collision-handoff, and pe
|
||||
Core `Vec3d` positions and tile keys are in voxel space, one voxel is 25 cm, and Core mesh vertex
|
||||
positions are already in centimetres. The bridge copies those mesh positions directly; player,
|
||||
anchor, query, and edit inputs convert world centimetres using the Core scale. High-level brushes
|
||||
that historically express dimensions in the plugin's 12.5 cm voxels scale radius, extent, and falloff
|
||||
by 12.5/25 to preserve physical dimensions. The low-level `ApplyModification` path expects active
|
||||
that historically express dimensions and density strength in the plugin's 12.5 cm voxels scale
|
||||
radius, extent, falloff, and strength by 12.5/25 to preserve their physical effect. The low-level
|
||||
`ApplyModification` path expects active
|
||||
voxel units. Tile keys remain Core keys; only legacy material lookup maps Core tile spans into the
|
||||
existing strate chunk layout.
|
||||
|
||||
@@ -1241,6 +1242,33 @@ in [`Standalone/ASSEMBLER_M1_REPORT.md`](Standalone/ASSEMBLER_M1_REPORT.md). Bui
|
||||
replace the owner's project build or visual walk; cap lighting and the pointed native ridge peaks
|
||||
remain owner review items.
|
||||
|
||||
### 8.21 Native SurfaceWorld height, brush and far-mesh corrections — integration round 6
|
||||
|
||||
Core tile keys and density coordinates use 25 cm voxels; the shared plugin mesher and
|
||||
`UVoxelStrateManager` retain the legacy 12.5 cm scale. The Core bridge now maps Core-local height
|
||||
queries to manager coordinates by 0.5 and maps returned bounds back by 2.0. Native content, water,
|
||||
landmark, decoration and atmosphere anchors use the same manifest `Heightfield2D` ground/cap data
|
||||
as the terrain. These conversions are gated by `bUseVoxelForgeCore`; the legacy branch keeps its
|
||||
prior units and behavior. `UVoxelMarchingCubesMesher` has an explicit geometry voxel size: Core sets
|
||||
25 cm, while legacy callers retain the 12.5 cm default. Material and biome lookups remain in their
|
||||
legacy coordinate space.
|
||||
|
||||
Blueprint-callable carve/fill and high-level brush dimensions cross the scale boundary at 0.5,
|
||||
including strength. Legacy diff modifications subtract their strength; Core edit evaluation adds its
|
||||
density offset, so the adapter negates the legacy strength once. Public carve forces the airward sign
|
||||
and fill forces the solidward sign. Low-level active-Core modification units remain Core units.
|
||||
|
||||
LOD8 far-stratum boundary repairs now sample crossings across a subdivided 4×4 coarse patch and only
|
||||
emit a patch when each sample has a source-field crossing. This replaces the former broad single
|
||||
quad. The BuildHost geometry audit keeps a two-cell maximum edge at LOD0/1 and allows four coarse
|
||||
cells at LOD7+ to include shallow far-LOD transitions while still rejecting the prior 5.66-cell
|
||||
horizon slab. It checks near-LOD normal direction and unit normals at every audited LOD. The mesher
|
||||
emits reversed triangle order (`0,2,1`) for RealtimeMesh; the audit reports that expected order
|
||||
separately from normal direction. The opt-in native heightfield path narrows vertical mesher rows to
|
||||
sampled ground/cap heights plus the Z bounds of intersecting type-2/type-4 manifest features. Hash captures and tiles
|
||||
with overlapping player edits or another strate keep the full mesh range. See round 6 of the M1
|
||||
report for per-kind streaming results and validation limits.
|
||||
|
||||
## 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