# Owner shape world: standalone results The standalone path now builds the owner world from its room, tunnel, passage, landing, floor, ceiling, and seal shapes. It does not read or write the mesh cache. The active voxel lattice remains 25 cm; rock detail is evaluated only in the surface band. `V` switches between the current owner density and the shape world in the viewer. ## Method - `Source/StandaloneShapeWorld.h` compiles the known shapes into column intervals, combines their signs in packed words, and locates surface cells with bit operations. Round and winding tunnels use line-solved/approximated shape primitives; protected passage air is applied after solid overlays. - The coherent rock detail has a proven maximum amplitude of 3.20 voxels and a 4-voxel evaluation band. Detail outside that band cannot change the base sign. The far field is compiled from parent shapes and meshed coarsely. - Existing marching-cubes meshing runs on worker threads. Benchmark runs use `--force-generate`; shape-world mode also bypasses cache loading. The reports below show zero cache hits. - Builds are serial (no `/MP` flag). The build host sets BelowNormal priority and affinity `0xFF00`; launched viewers use BelowNormal and `0xFF00` too. ## Cold generation timings Each timing is shape compilation plus uncached mesh generation. The full-detail area is the 64 m cube with 960 LOD0–1 tiles. The full clipmap contains 6,498 tiles through LOD6. Hashing is off for these timing runs. | Cold job | Shape stage | Mesh generation wall | Total | Result | | --- | ---: | ---: | ---: | --- | | Full detail, 8 workers | 668.566 ms | 290 ms | **0.959 s** | 960/960 tiles; cache hits 0 | | Full clipmap, 8 workers | 870.418 ms, including far parents | 1.398 s | **2.268 s** | 6,498/6,498 tiles; cache hits 0 | Full-detail stage breakdown: local shapes 53.892 ms, intervals/signs 196.326 ms, surface band 417.952 ms. Full-clipmap breakdown: local shapes 53.281 ms, intervals/signs 195.162 ms, surface band 424.921 ms, far parents 196.578 ms. The measured full-detail total is close to the 1 s limit; the full clipmap has more margin under 5 s. Logs: `final/full_detail_cold_w8_final.stdout.log` and `final/full_clipmap_cold_w8_final.stdout.log`. ## Similarity and captures The viewer captures use explicit positions and yaws. Owner and shape images are paired at the same camera settings. The far owner image is the existing cold baseline capture at the default start view; its matching shape capture was made at the same position and yaw. | View | Owner capture | Shape capture | | --- | --- | --- | | Chamber, yaw 0° | `final/chamber_fixed_owner.png` | `final/chamber_fixed_shape.png` | | Tunnel, yaw 90° | `final/tunnel_fixed_owner.png` | `final/tunnel_fixed_shape.png` | | Passage, yaw 63° | `final/passage_fixed_owner.png` | `final/passage_fixed_shape.png` | | Far view, yaw 0° | `final/far_owner.png` | `final/far_fixed_shape.png` | Comparison results: | View/LOD | Tiles | Lattice samples | Changed signs | Share changed | Mean / max surface distance* | Unmatched surface samples | | --- | ---: | ---: | ---: | ---: | ---: | ---: | | Chamber, LOD0–1 | 960 | 35,103,600 | 4,165,142 | 11.8653% | 1.1763 m / 6.5210 m | 69,626 | | Tunnel, LOD0–1 | 960 | 35,103,600 | 4,165,142 | 11.8653% | 1.1763 m / 6.5210 m | 69,626 | | Passage, LOD0–1 | 960 | 37,240,000 | 2,352,343 | 6.3167% | 1.0102 m / 6.7059 m | 35,520 | | Far view, outer LOD6 | 4,770 | 9,470,835 | 856,305 | 9.0415% | 3.5551 m / 5.7456 m | 475,722 | \* Surface distance samples every fourth mesh vertex. The mean and maximum include matched samples only; unmatched samples are listed separately. The distance check searches neighboring 1 m buckets, so treat it as a sampled comparison rather than a continuous Hausdorff distance. Chamber and tunnel share the same camera position and tile set; only yaw differs. The captures show that the shape world retains broad passage structure, but they also show a visible change in chamber profiles and rock relief. In particular, this does not reproduce the painterly cave reference image. The sign shares and sampled distances quantify that gap; the current result should be treated as a fast, coherent alternate world rather than a visual match. ## Detail, walkability, and determinism The final coherent detail audit reports `supremum=3.20 vox`, `band=4`, 476,494 surface sign flips, adjacent correlation 0.9899, and both detail checks PASS. Two deliberately bad variants were also run: | Variant | Surface-detail check | Spatial-scale check | Process result | | --- | --- | --- | --- | | Coherent detail | PASS | PASS | exit 0 | | Smoothed detail | **FAIL** | PASS | exit 7, expected | | Per-voxel noise | PASS | **FAIL** | exit 7, expected | The route audit samples packed lattice signs along every exported passage centerline: **5,642/5,642 samples remain open**, with native landing floors retained. This is a centerline/sign check, not a character-capsule collision simulation. Three cold hash runs at the passage camera agree across two 6-worker runs and one 1-worker run: | Hash | 6 workers, run A | 6 workers, run B | 1 worker | | --- | --- | --- | --- | | Full detail | `0x88e5818a444c1ab3` | `0x88e5818a444c1ab3` | `0x88e5818a444c1ab3` | | LOD0 | `0x3d37fc984f0ee55b` | `0x3d37fc984f0ee55b` | `0x3d37fc984f0ee55b` | | LOD1 | `0xc314a1f6457f8a31` | `0xc314a1f6457f8a31` | `0xc314a1f6457f8a31` | This confirms repeatability and worker-count independence on this machine; a second hardware/architecture was not available for a cross-machine hash run. ## Viewer and evidence files Press `V` in the standalone viewer to swap owner density and shape intervals; the viewer rebuilds the resident field. The control is handled in `Source/StandaloneViewer.cpp` near the keyboard input handler. The logs under `final/` include the cold timings, audits, comparisons, captures, and determinism runs. In particular: - `audit_coherent_final.stdout.log`, `audit_smooth_bad_final.stdout.log`, `audit_per_voxel_bad_final.stdout.log` - `chamber_compare_final.stdout.log`, `tunnel_compare_final.stdout.log`, `passage_compare_landingbox.stdout.log`, `far_compare_lod6.stdout.log` - `determinism_final_w6_a.stdout.log`, `determinism_final_w6_b.stdout.log`, `determinism_final_w1.stdout.log` The LOD6 similarity command took 101.3 s because it also sampled nearest-surface distances over the entire outer tile set. That is comparison-analysis time, not world-generation time. ## Failed and abandoned attempts - The original build script could print success after failing to leave an executable. `Build.ps1` now invokes `cl.exe` directly, propagates its exit code, and checks the output file. A launcher attempt before that correction failed with Windows `CreateProcess error 2` because the executable was absent. - The first checked compile then found an `FIntVector` to `FVector` conversion error in the optional tile-sort path. The type was corrected; the final serial build succeeded. Visual Studio setup still emits a `vswhere.exe`-not- recognized diagnostic, but `cl.exe` runs and produces the binary. - An earlier smooth-detail audit passed before its gate was tightened. The final smooth variant now exits 7 on the surface-detail check, as shown above. - A fresh owner far-view capture was stopped after 55 s because the existing uncached owner clipmap run takes about 183 s. The existing owner capture was reused; the shape far capture completed in 2.65 s. No viewer started by someone else was closed. No commit, push, or stash was made.