wip(assembler): round S1 -- one Core voxel-size source; per-tile feature lists (islands)
AVoxelWorld::CoreVoxelSizeCm (default 25, 32 voxels/tile) flows through plan, field, mesher, content, water, atmosphere, edits and collision. Staged-owner BuildHost passes at 20 cm (SurfaceWorld + islands, W1/W8/W16, anchors, BP edits, collision) with a fixed-25cm negative control; default-size hashes match round 4; Core off stays legacy 12.5 cm. Reusable BuildWorldAssemblyFeatureTileListV1; wired into FloatingIslands only so far. 256-island stress: tile p95 112.5 -> 2.0 ms, 0 mismatches, dropped-feature control fails. Content placement measured (no populated cells): island ground search 7.25 ms/cell vs legacy 0.29 ms -- open. Outside-review evaluation in Round5/REPORT.md. 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
111cf3d262
commit
d6e69420e8
25 files changed
+2136
-250
No files matched your search
@@ -1077,3 +1077,64 @@ The staged owner settings did contain the old manifest, and the plan test retain
|
||||
One remaining fixture caveat is recorded in [`WorldAssemblerM3/Round4/REPORT.md`](../../WorldAssemblerM3/Round4/REPORT.md): the staged saved `DA_Settings` points to `DA_Strate4`, while the owner’s read-only Play log resolves the active single SurfaceWorld from `DA_Strate1`. The BuildHost commandlet therefore reconstructed that logged one-slot layout as a transient copy at the real `[0,-63]` bounds. No Season asset was assigned in the staged settings, so the season-seed path was not tested. The report includes this distinction, the full pass/fail ledger, crash check, and editor hand-off. No owner project/editor was touched, no `.uasset` was edited, and no commit, push, or stash was made.
|
||||
|
||||
No new source file was added. The post-change UHT/BuildHost compile and Core link audit passed at four actions; the Core-only Standalone rebuild/audit passed. No `0xC0000142` retry or new UECC folder occurred.
|
||||
|
||||
## World assembler M3 Round 5 / Round S1 — 2026-10-18
|
||||
|
||||
The assembler now builds stable per-tile candidate feature lists for Floating Islands. The generic
|
||||
list builder uses conservative inclusive bounds and can serve caves, shafts, pits and passages too.
|
||||
At the current four-island plan, sampled p95 was 0.919 ms full scan and 0.910 ms with lists; building
|
||||
72 lists took 0.0396 ms total. At 256 islands and 240 connectors, sampled tile p95 fell from
|
||||
112.458 ms to 1.972 ms (about 57x); building 3,280 lists took 95.133 ms total (0.0461 ms p95/list).
|
||||
Both dropped-feature controls were caught.
|
||||
|
||||
The first default island hash comparison caught a real bug: empty-list air tiles skipped a distant
|
||||
root because version-2 root lobes use scaled ellipsoid density, which is not the geometric distance
|
||||
assumed by the initial search bound. The bound now includes the validated root slope and smooth-min
|
||||
reductions. The staged owner plan's every-sample candidate/full comparison had zero mismatches, and
|
||||
the 2,802-tile default W1/W8/W16 aggregate now exactly matches Round 4 for density, mesh, payload and
|
||||
topology.
|
||||
|
||||
After removing the temporary comparison code, the clean production 25 cm island actor passed again
|
||||
in 3m48s at 3.16 GiB peak. Its density/mesh/payload/topology hashes were
|
||||
`4dcfb37585d7d986 / 725a18374c5623de / fb345d8cb319d18b / 76f2846be8efb5f4`, matching Round 4.
|
||||
|
||||
Core scale now comes from AVoxelWorld.CoreVoxelSizeCm, default 25 cm, with 32 voxels per tile.
|
||||
Core-off stays on 12.5 cm legacy scale. Staged-owner BuildHost checks at 20 cm passed for SurfaceWorld
|
||||
and Floating Islands, including W1/W8/W16, exact surface anchors, water/atmosphere, BP carve/fill,
|
||||
collision and travel/streaming. The 20 cm controls detect the old 25 cm tile conversion and stale
|
||||
brush strength. Default SurfaceWorld and Floating Islands hashes match Round 4. The 20 cm Floating
|
||||
Islands run generated 2,850 tiles; island ground matched exactly, the connector span was within
|
||||
0.349 cm, water and atmosphere followed the resolved scale, and capsule contacts and BP edits passed.
|
||||
The default V2 actor run passed in 11m57s with 3.67 GiB peak; fixture repeats, borders and 125
|
||||
doorway phases passed too.
|
||||
|
||||
I kept per-strate sizes deferred because they need a shared physical boundary field, deterministic
|
||||
transition LODs, edit rasterization across both grids and a stable size map in world identity. The
|
||||
placement-cost measurement found SurfaceWorld already uses its planned ground directly. Island ground
|
||||
marching is expensive, but the tested top-anchor shortcut was slower, so no shortcut was kept. The
|
||||
sample had no actual placements; the report calls that out.
|
||||
|
||||
The outside review's strongest implemented suggestion is per-tile feature filtering. Per-strate
|
||||
resolution and macro-only far LOD are promising but need seam, edit, silhouette and no-pop evidence.
|
||||
Heading priority already exists; visibility weighting must preserve collision readiness. Keep bridges
|
||||
as field geometry because player edits stay unrestricted. Separate meshes remain appropriate for
|
||||
self-contained dreamcore set pieces.
|
||||
|
||||
CoreVoxelSizeCm is the new per-world setting. In plain terms, it controls how many centimetres one
|
||||
Core voxel covers; at 20 cm, a 32-voxel tile is 640 cm wide, while the default 25 cm tile is 800 cm.
|
||||
Core-off continues using the legacy 12.5 cm world. Per-strate sizes remain deferred until boundary
|
||||
sampling, transition LODs, cross-boundary edits and size-map hashing have explicit contracts.
|
||||
|
||||
The outside review is evaluated in the report. Per-strate size and macro-only far LOD rank highest
|
||||
among deferred ideas; heading scheduling already exists, and rock bridges stay in the editable field
|
||||
because carve/fill remains unrestricted. Placement measurements found that SurfaceWorld already
|
||||
reads its planned height directly. Island density marching is expensive, but the tested top-anchor
|
||||
shortcut was slower, so I kept no shortcut. Sampled content cells had zero placements.
|
||||
|
||||
The full report, exact run ledger, compile spots, source list, M2 checks and owner setting note are in
|
||||
[WorldAssemblerM3/Round5/REPORT.md](../../WorldAssemblerM3/Round5/REPORT.md). New source files are
|
||||
the standalone tile-list audit and its PowerShell build/run script. UHT/BuildHost compile and Core
|
||||
link-safety passed. No 0xC0000142 retry or new UECC folder occurred. I did not open the owner's
|
||||
editor or build his project, edit any .uasset, create a link, commit, push or stash.
|
||||
|
||||
— Luna
|
||||
Reference in new issue
Block a user