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
+14
-2
@@ -847,8 +847,9 @@ settings or assets.
|
||||
When enabled, `AVoxelWorld` uses Core desired keys and priorities, compiles/generates through Unreal
|
||||
tasks, carries `Epoch` through the existing MPSC result queues, and uploads converted payloads through
|
||||
RealtimeMesh and its collision cook. Core voxel coordinates use 25 cm per voxel; Core tile keys are
|
||||
retained, and Core mesh vertices are already in centimetres. High-level legacy brush dimensions are
|
||||
scaled from 12.5 cm voxel units to Core units so their physical size stays the same. Edits use
|
||||
retained, and Core mesh vertices are already in centimetres. High-level legacy brush dimensions and
|
||||
density strength are scaled from 12.5 cm voxel units to Core units so their physical effect stays the
|
||||
same. Edits use
|
||||
sequenced `applyEditTransaction` calls after in-flight Core work drains, then regenerate Core's
|
||||
affected keys under a new epoch. Existing streaming anchors participate; the headless move proof
|
||||
covers `CollisionOnly` policy.
|
||||
@@ -882,6 +883,17 @@ content hash. The collision gate defers out-of-desired-set Core support tiles un
|
||||
compilation admits them, so collision work cannot publish a competing tile before the native
|
||||
surface region snapshot. Existing cave Core strates still use the no-manifest snapshot path.
|
||||
|
||||
Round 6 corrects the Core 25 cm ↔ legacy 12.5 cm boundary in `VoxelWorld.cpp`,
|
||||
`VoxelContentManager.cpp`, and `VoxelAtmosphereManager.cpp`. `VoxelMarchingCubesMesher` now exposes
|
||||
`GeometryVoxelSizeCm` so Core geometry is emitted at 25 cm while legacy stays at its 12.5 cm
|
||||
default. The Core bridge adapts carve/fill signs and scales Blueprint brush radius, extent, falloff
|
||||
and strength. `Standalone/Core/src/FarShellsInternal.h` subdivides LOD7+ far-stratum repairs, and
|
||||
`Standalone/Core/src/VoxelForgeCore.cpp` enables a guarded heightfield Z-band path for unhashed
|
||||
native tiles, combining ground/cap heights with intersecting bounded 3D feature extents; overlapping
|
||||
edits keep the full mesh path. The BuildHost commandlet adds height-anchor agreement, brush
|
||||
sign/size, geometry and per-tile-kind pawn-lag checks; see round 6 in
|
||||
[`Standalone/ASSEMBLER_M1_REPORT.md`](Standalone/ASSEMBLER_M1_REPORT.md).
|
||||
|
||||
[OwnerWorldLoader.h](Standalone/Source/OwnerWorldLoader.h) now reads SlabParams, MazeParams,
|
||||
VerticalShaftParams, and FloatingIslandParams. The shape-world evaluator still lacks their native
|
||||
terrain fields: FlatPlain, CrystalChamber, Maze, VerticalShafts, FloatingIslands, and water
|
||||
|
||||
Reference in new issue
Block a user