wip(assembler): M1 round 4 -- cap rebuilt (no hiding), sub-voxel audit, routes + mesh-free queries
Luna, M1 round 4 (resumed after the night stop): - Cliff: sub-voxel audit (29,929 half-voxel XY columns, min run 3.75 voxels, 0 subvoxel runs; old taper control exposes 20,963) and a root-line shelf at the two-voxel minimum. - Horizon slab = aliased LOD8 cap ceiling. The first fix hid the ceiling at LOD8 (challenged: enclosed, interior-lit strates); now the LOD8 cap is rebuilt deterministically from the native heightfield, skirts preserved; looking up and out shows the cap present. - Routes: review manifest with 33 stable-ID route points + capsule/support constraints; capsule sweep 0 blocked samples / 0 unsupported centres, negative control detected. - Server path: World::densityAt answers without render meshes. Physics cooking not available standalone. - Hashes (evaluator + 2,226-tile stream) identical at W1/W8/W16. LOD8: 4.446 s for 529 tiles, 14.25 M field calls, 165 unknown tiles. - Captures at 60 fps cap + vsync (owner's GPU coil whine). One cliff probe crossed the ~8 GB guard (7.69 GiB) and was stopped before capturing. My review: cap view matches legacy closely, no slab; native cliff is a clean attached ledge (cleaner than legacy); a few small spikes on the ridge top. 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
20c6d86f0e
commit
2d0cec90e4
164 files changed
+7503
-31
No files matched your search
@@ -392,21 +392,128 @@ trail. The JPEGs are the inspection copies; raw back buffers remain under `captu
|
||||
BuildHost-compatible viewer was built. No new source files were added, and no commit, push or
|
||||
stash was made.
|
||||
|
||||
## Round 4 results — cap geometry, route and query readiness
|
||||
|
||||
### Far cap and horizon
|
||||
|
||||
The LOD8 horizon slab came from the 3D marching-cubes surface being sampled at 256-voxel steps;
|
||||
the broad triangles aliased the cap and hung below its native height. The LOD8 ceiling classifier
|
||||
also used the legacy owner height query while the mesh used the native `Heightfield2D` plan. I
|
||||
replaced the LOD8 ceiling geometry from that same native plan on a deterministic 128-voxel XY
|
||||
grid. The generated cap is clipped to `cap >= ground` and the tile's Z interval. It replaces the
|
||||
old unmasked ceiling triangles and preserves masked skirt triangles, so this repair rebuilds the
|
||||
ceiling instead of omitting it. The cap normals face down into the enclosed strate.
|
||||
|
||||
The up-and-out pair was captured from the surface at `(0, -35, -487.943)`, yaw `0°`, pitch `25°`.
|
||||
It shows a continuous far-cap silhouette in both owner and native views. This checks the visible
|
||||
ceiling geometry in the standalone viewer; Unreal's interior lighting and light-leak behavior still
|
||||
need owner validation. The surface pair was captured at the same position with pitch `-22°`.
|
||||
|
||||
In the 2,226-tile run, 153 LOD8 tiles received cap refinement on a 128-voxel grid, covering
|
||||
626,308 cells and generating 1,252,688 triangles. The LOD8 tile extent is 8,192 voxels (2,048 m);
|
||||
cap tile keys span x `-7..5`, y `-6..6`, z `-1`. The 529-tile cliff-site cost run refined 165 tiles
|
||||
and generated 1,351,118 cap triangles.
|
||||
|
||||
| View | Owner reference | Native Core |
|
||||
|---|---|---|
|
||||
| Surface | [surface-owner.jpg](Research/WorldAssemblerM1/round4/final/captures/thumbs/surface-owner.jpg) | [surface-native.jpg](Research/WorldAssemblerM1/round4/final/captures/thumbs/surface-native.jpg) |
|
||||
| Cliff overlook, pitch -34° | [cliff-final4-overlook-owner.jpg](Research/WorldAssemblerM1/round4/final/captures/thumbs/cliff-final4-overlook-owner.jpg) | [cliff-final4-overlook-native.jpg](Research/WorldAssemblerM1/round4/final/captures/thumbs/cliff-final4-overlook-native.jpg) |
|
||||
| Looking up and outward at the cap, pitch 25° | [cap-upout-owner.jpg](Research/WorldAssemblerM1/round4/final/captures/thumbs/cap-upout-owner.jpg) | [cap-upout-native.jpg](Research/WorldAssemblerM1/round4/final/captures/thumbs/cap-upout-native.jpg) |
|
||||
|
||||
The fresh final4 cliff pair uses an overlook camera at `(-168, 0, -380)`, yaw `0°`, pitch `-34°`.
|
||||
It is camera-matched, but still shows a visible owner/native shape difference; it is not evidence of
|
||||
cliff parity. The native frame has no broad fanned-plate trail in this view. The route's analytic
|
||||
field audit and the type-4 shelf negative control pass independently. Raw 640×400 viewer images and per-run logs are under
|
||||
[`round4/final`](Research/WorldAssemblerM1/round4/final/). All viewer/capture runs used VSync and an
|
||||
explicit 60 FPS cap.
|
||||
|
||||
### Finite-strate route and deterministic plan
|
||||
|
||||
The review manifest is [`world_assembly.json`](Research/WorldAssemblerM1/round4/world_assembly.json).
|
||||
It contains one finite strate (chunk Z `-79..-16`), a type-4 shelf with stable ID
|
||||
`09812c26310b90c9` and 33 route points, each with its own stable feature ID. The capsule constraints
|
||||
are radius `348/256` voxel (0.34 m), height
|
||||
`1802/256` voxel (1.76 m), maximum grade `17560/65536`, half-voxel sweep spacing, five support
|
||||
probes with at least three required, one-voxel support search depth, and a four-voxel route corridor.
|
||||
The serializer produced 7,565 bytes with canonical round-trip equality. Recipe, plan and manifest
|
||||
hashes are `c37de78b759c0a4c`, `1ca84619c8600ee5` and `8933693d9560ba9f`.
|
||||
|
||||
The generator considered 648 route candidates, rejected 366 for grade, rejected none in the sweep,
|
||||
and accepted 33. The actual capsule sweep sampled 530 centers / 143,630 field points: zero blocked
|
||||
samples, unsupported centers or grade failures; minimum clearance was 63/256 voxel. Its deliberately
|
||||
unsupported route control was detected at all 530 centers. Automatic generation and scripted changes
|
||||
must preserve the swept route; player carve/fill remains unrestricted. Seasonal water remains fixed.
|
||||
|
||||
### Readiness, determinism and LOD8 cost
|
||||
|
||||
| Area | Result |
|
||||
|---|---|
|
||||
| Local field query | Ready without render meshes. `World::densityAt` compiled in 36.514 ms and matched all 78 audit samples, including all 33 route waypoints; zero render meshes generated. |
|
||||
| Analytic route/collision validation | Ready. The capsule sweep above validates clearance/support against the composed field. |
|
||||
| Physics collision cooking | Not provided by standalone Core; deferred to the Unreal adapter and owner build. |
|
||||
| Render mesh | Separately exercised by the matched viewer captures and stream hashes below. |
|
||||
|
||||
The 4,096-point native query benchmark took 13.882/16.125/32.117 ms at W1/W8/W16 (point evaluation
|
||||
only). Evaluator hash was `c5e0371612e927af` at all three worker counts. The 2,226-tile stream hashes
|
||||
also match at W1/W8/W16:
|
||||
|
||||
| Hash | W1, W8 and W16 |
|
||||
|---|---|
|
||||
| Density | `e88539dde9407b0e` |
|
||||
| Mesh | `c0495d0e5f3f6443` |
|
||||
| Payload | `ea807397aa2d01f0` |
|
||||
| Topology | `a0243e20433c69f5` |
|
||||
|
||||
The bounds audit passed 298 boxes / 8,046 samples with zero misses or unknown ranges and detected
|
||||
its deliberately wrong-bound control. The cliff shelf audit examined 29,929 half-voxel XY columns,
|
||||
found no sub-voxel runs (minimum observed thickness 2 voxels), and detected the legacy taper control
|
||||
with 20,963 sub-voxel runs.
|
||||
|
||||
The matched 529-tile LOD8 cost run still had 165 unknown tiles and no whole-tile skips. LOD8 used
|
||||
14,254,137 field calls and 11,678,652 column-cache misses; column computation summed to 54.040 s
|
||||
across workers and meshing to 1.944 s. Against round 3's 13,271,956 calls, 10,879,199 misses and
|
||||
1.847 s meshing sum, this is about 7.4% more calls, 7.3% more misses and 5.3% more mesher worker
|
||||
time. The full 529-tile stream completed in 4.446 s wall time. Full per-worker hashes and LOD8
|
||||
profiles are in `round4/final/logs/mesh-hash-final-w{1,8,16}.stdout.txt` and
|
||||
`round4/final/logs/lod8-cost-cliff-final-w16.stdout.txt`.
|
||||
|
||||
### Round 4 run log
|
||||
|
||||
- Four isolated BuildHost-compatible standalone builds (`final` through `final4`) passed in under
|
||||
40 seconds each, including Core link-safety checks. Builds continued to report the existing
|
||||
missing `vswhere.exe` lookup and C4838 conversions at `VoxelStrateManager.cpp:3974-3975`.
|
||||
No `0xC0000142` retry or compiler crash occurred.
|
||||
- The first 64-voxel cap-grid capture completed but was superseded because its clipmap mesh was too
|
||||
large. A later build labeled its 128-voxel grid diagnostic as 64; that log was discarded and the
|
||||
label was corrected. A pitch-70 cap capture was black and excluded. An owner capture wrapper had
|
||||
a PowerShell type-scope error and was rerun successfully. An initial overlook pair used the older
|
||||
`WorldAssemblerM1Round4.exe` and was excluded; the owner/native pair linked above was recaptured
|
||||
with `VoxelForgeAssemblerM1_round4_final4.exe`. The earlier pitch-34 and tight side-view frames
|
||||
were poor comparisons and excluded. The final4 overlook captures exited in 26.4/6.9 s with peak
|
||||
working sets 0.983/1.154 GB; both logged the explicit 60 FPS limiter and VSync.
|
||||
- A focused native cliff probe crossed the approximately 8 GB process-memory guard (last external
|
||||
sample 8.257 GB decimal / 7.69 GiB). The guard stopped the run before capture; its output is
|
||||
excluded. This is the only process to cross the requested approximate cap. No run crashed and no
|
||||
build, compile or audit exceeded 15 minutes.
|
||||
- All successful viewer captures and stream benchmarks had VSync enabled and the frame limiter set
|
||||
to 60 FPS; viewers exited after capture. The highest successful capture working set was about
|
||||
1.52 GiB. No owner editor/project or `.uasset` was touched, and no new source files were added.
|
||||
No commit, push or stash was made.
|
||||
|
||||
### Remaining work by round
|
||||
|
||||
- **Round 3:** The two visible defects are repaired and the native path is faster on both the matched
|
||||
120-tile and 529-tile workloads. Residual owner mismatch, rendered-water gap, and the 1.57 s aim
|
||||
remain open; LOD8 is the measured cost center.
|
||||
- **Round 4:** Add the finite-strate capsule route and support constraints, sweep it against the final
|
||||
composed field, and reject or repair any failing automatic plan. Verify full-evaluator W1/W8/W16
|
||||
hashes. Measure collision readiness separately from query and mesh readiness; demonstrate a
|
||||
headless/server field query without render meshes. Keep the route valid during all automatic
|
||||
changes, leave player edits unrestricted, and keep seasonal water fixed.
|
||||
- **Round 5:** Wire the reviewed manifest into the season asset/content-hash path and connect Core
|
||||
behind `bUseVoxelForgeCore`; prove the flag-off legacy path is unchanged. Build only the isolated
|
||||
BuildHost target here. The owner builds and reviews the in-game surface and walkable route.
|
||||
Re-run the matched 23.085 s workload, report full-view and local query/collision readiness
|
||||
separately, and assess the ~1.57 s aim with valid captures.
|
||||
- **Round 4:** Complete. The route and cap are in the research manifest; field sweep, negative
|
||||
controls, bounds, determinism, headless query and matched captures are recorded above. Physics
|
||||
collision cooking and Unreal light-leak behavior remain owner-build checks.
|
||||
- **Round 5 — before Unreal delivery:** Integrate the reviewed manifest into the season asset/content
|
||||
hash path and connect Core behind `bUseVoxelForgeCore`; prove that flag-off behavior remains
|
||||
unchanged. The owner builds and reviews the in-game two-biome surface, enclosed cap lighting and
|
||||
capsule-walkable route. Run the matched 23.085 s workload, report full-view and local query/
|
||||
collision readiness separately, and assess the approximately 1.57 s aim. No BuildHost or owner
|
||||
project build was done here.
|
||||
|
||||
### Run log
|
||||
|
||||
|
||||
Reference in new issue
Block a user