Files
VoxelForge/Standalone/Research/OwnerShapeWorld/round2/REPORT.md
T
Fr0zkaandClaude Opus 5.5 97c0455939 standalone: shape-world look round 2 -- shards gone, calmer layered relief, still 0.72 s / 1.6 s cold
- Removed the thin automatic room-support slabs that left floating caps (in-view detached thin
  sheets 9 -> 0; the audit now also fails on isolated small components).
- Bounded 16-voxel floor/wall blend (18 rejected: it created a sub-voxel sheet), 3-voxel
  strata/cave blend, C1 tunnel radius profile (0 radius/slope steps at joins).
- Surface relief: broad octave with amplitude modulation instead of uniform bumps.
- Cold, no cache: 64 m full detail 0.924 s (8 workers) / 0.715 s (16); whole view 2.016 / 1.605 s.
- 1-worker and 6-worker hashes match; 5,642/5,642 passage samples open.
Not solved: regular bands in the narrow passage shafts, a few slivers on tile boundaries, faint
wall/floor plates; close-view mean surface distance to the owner field got worse (see REPORT.md).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MmSoF64BbRFmk9C3p1VsBJ
2026-10-04 04:09:59 +02:00

16 KiB

Shape world round 2 — final measurements and visual status

Status

The exact final source builds, meets both cold-generation targets, preserves all 5,642 passage-centerline samples, and is deterministic across repeat runs and 1/6 workers. The final mesh audit finds no sub-voxel sheets in the view and no isolated small components. Tunnel radius and slope values agree at shared joins.

The visual target is not fully met. The floor-to-wall transition is softer, and the large floating shards from the earlier capture are gone, but the fixed chamber still has a few plate-like lips/slivers. The passage close-up still shows repeated annular bands. The final pictures are visibly different from the owner's field, especially in relief hierarchy and tunnel profile. The flat-patch and grid-stair tests also miss some of the visible chamber detail; their pass results are not a visual sign-off.

Final source and build

All source/build changes are under Standalone/:

  • Source/StandaloneShapeWorld.h evaluates hierarchical relief with a broad 32-voxel octave, a modulated 16-voxel octave, and a 6-voxel octave at 0.18 amplitude. The coherent detail remains bounded to an 8-voxel surface band. Tunnel and passage radii use a nine-control-point low-pass profile plus cubic Hermite interpolation, matching radius and slope at shared control points. Floor profiles are C1 blended; the floor-clip blend radius is 16 voxels. Thin positive support overlays were removed.
  • Source/StandaloneViewer.cpp includes the surface, grid-stair, route, owner comparison, and mesh-component/sheet audits. The temporary skirt-disable probe switch was removed.
  • Source/StreamingWorld.h and Build.ps1 allow 16 workers; the build uses /MP16.

The final exact-source build is final_build_exact.log and produced bin/VoxelForgeStandalone.exe. It succeeded. The compiler still emits the existing six C4838 double-to-float warnings in VoxelStrateManager.cpp; the setup script also prints that vswhere.exe is not recognized, but that diagnostic did not prevent the build.

Timing, determinism, comparison, and capture processes used Normal priority and affinity 0xFFFF, one heavy process at a time. Cold timing, determinism, and capture runs used --force-generate; timing runs report zero mesh-cache hits. The 8-worker numbers are for comparison with earlier rounds; the 16-worker numbers use the full machine. Times below are shape-build stage plus uncached mesh-generation wall time.

Cold job Workers Local shapes Signs/intervals Surface band Far parents Shape stage Mesh wall Total
64 m full-detail area, 960 tiles 8 58.3 ms 136.0 ms 558.8 ms — 754.5 ms 170 ms 0.924 s
64 m full-detail area, 960 tiles 16 58.1 ms 124.9 ms 389.2 ms — 573.5 ms 141 ms 0.715 s
Whole view, 6,498 tiles through LOD6 8 58.5 ms 133.3 ms 538.7 ms 188.7 ms 923.7 ms 1.092 s 2.016 s
Whole view, 6,498 tiles through LOD6 16 57.3 ms 126.0 ms 407.8 ms 190.0 ms 785.8 ms 819 ms 1.605 s

Both targets are met: <=1 s for the full-detail area and <=5 s for the whole view. Peak process memory reported by RunMachine.ps1 was 0.21/0.17 GB for the 8/16-worker full-detail runs and 0.32/0.37 GB for the 8/16-worker whole-view runs. Fresh timing logs: final_recheck_full_detail_w8.stdout.log, final_recheck_full_detail_w16.stdout.log, final_recheck_whole_view_w8.stdout.log, and final_recheck_whole_view_w16.stdout.log. Total time is shape-stage time plus cold stream wall time; each run reported zero cache hits.

Defect checks

Check Before Final source Result and limitation
In-view disconnected/sheet candidates 9 sheets, 149 triangles under 1 voxel; failed 0 sheets, 0 sheet triangles, 0 isolated small components; 5 small components touch tile boundaries Pass. The audit now exits nonzero for either a thin sheet or an isolated small component. Boundary components remain separately reported because per-tile meshes do not establish whether they connect across neighbors.
Tunnel radius joins Earlier extension/profile trial reached 0.0077-voxel endpoint mismatch; legacy control-radius step was 2.9156 voxels 0.000000-voxel endpoint delta and 0.00000000 slope delta at 280 shared joins; smoothed adjacent-control step 1.7487 voxels Numeric join check passes. The annular bands in the close-up show that C1 continuity alone does not remove the visible profile rhythm.
Tunnel grid-stair index Correct baseline tunnel scan without --round-tunnels: relative join step 0.434; it fails at the final 0.400 threshold 0.028 at threshold 0.400 Pass on the fixed tunnel view.
Chamber grid-stair index 0.041; below the 0.400 threshold 0.003 at threshold 0.400 Numeric improvement, but the baseline already passed. The audit does not catch every plate visible in the chamber image.
Passage grid-stair index 0.276; below the 0.400 threshold 0.205 at threshold 0.400 Numeric improvement, but the baseline already passed.
Detail/flat-patch audit, chamber Detail standard deviation 1.0056 voxels; flat-patch share 0.1% in the baseline audit Detail standard deviation 0.6683 voxels; flat-patch share 5.0%, largest patch 433 samples The audit reports PASS, but these results do not establish that the visible join plates were removed.
Passage routes 5,642/5,642 open 5,642/5,642 open in chamber, tunnel, and passage audits Pass. This is a centerline sign test, not a character-capsule collision test.

The final full-view sheet check is final_recheck_whole_view_shard_audit_v2.stdout.log. The selected 16-voxel floor blend came after an 18-voxel probe that introduced one boundary sheet (20 triangles, estimated thickness 0.497 voxel) and failed with exit 13. That probe is recorded in final18_whole_view_shard_audit_w16.stdout.log; radius 18 was reverted.

The grid-stair detector does not satisfy the original request on every view: it fails on the pre-fix tunnel view and passes after, but the pre-fix chamber and passage metrics already passed its threshold. The images still show why that check needs better targeting.

Owner-field comparison

Before and after use the same scan settings: 8 workers, 960 full-resolution tiles for chamber/tunnel/passage, 4-sample mesh-vertex stride, and the same fixed cameras. The far comparison uses 4,770 LOD6 tiles. “Changed signs” is the share of lattice samples where the shape field differs from the owner field; surface distances are sampled symmetric nearest-vertex distances, not a continuous Hausdorff distance. Unmatched samples are listed separately.

View Lattice samples Changed signs before → after Mean surface distance before → after Max distance before → after Unmatched samples before → after
Chamber 35,103,600 2,098,617 (5.978%) → 2,069,214 (5.895%) 1.0325 m → 1.0826 m 6.4677 m → 6.4840 m 9,393 → 8,832
Tunnel 35,103,600 2,098,617 (5.978%) → 2,069,214 (5.895%) 1.0325 m → 1.0826 m 6.4677 m → 6.4840 m 9,393 → 8,832
Passage 37,240,000 1,232,883 (3.311%) → 1,230,337 (3.304%) 0.9814 m → 1.0292 m 6.3422 m → 6.3750 m 12,602 → 12,520
Far view, LOD6 9,470,835 856,305 (9.041%) → 856,305 (9.041%) 2.1667 m → 2.1588 m 5.3070 m → 5.3070 m 783,976 → 783,967

The changed-sign share improves slightly in the close views; surface distance gets worse on average there. The far field changes almost not at all. Taken together, these numbers do not show a material increase in owner similarity. Final logs are final16_compare_baseline_{chamber,tunnel,passage}_w8, fine18_compare_after_{chamber,tunnel,passage}_w8, final16_compare_baseline_far_lod6_w8, and fine18_compare_after_far_lod6_w8.

Determinism

Two cold 6-worker runs and one cold 1-worker run at the passage camera produced the same hashes, with zero cache hits and 5,642/5,642 route samples open:

Field All three runs
Full detail 0x0c985b329e1aaf79
LOD0 0x778716fa053056c1
LOD1 0x49e560dbbca29f45

Fresh matching runs are final_recheck_determinism_w6_a.stdout.log, final_recheck_determinism_w6_b.stdout.log, and final_recheck_determinism_w1.stdout.log. The exact final-source rebuild is recorded in final_build_exact.log.

Captures and visual review

The final after captures were made from the exact 16-voxel floor-blend and 0.18-fine-amplitude source with fresh generation. The before_*.png captures use the saved pre-fix executable; owner references are the fixed captures under ../final/.

View Camera Before Final after Owner
Chamber (-11.75,-123.25,-19.85), yaw 0° before_chamber.png final_after_chamber.png ../final/chamber_fixed_owner.png
Tunnel (-11.75,-123.25,-19.85), yaw 90° before_tunnel.png final_after_tunnel.png ../final/tunnel_fixed_owner.png
Passage (-39.19,6.27,-28.51), yaw 63° before_passage.png final_after_passage.png ../final/passage_fixed_owner.png
Far view (-11.61244,-118.2212,-19.8452), yaw 0° before_far.png final_after_far.png ../final/far_owner.png
Passage-floor close-up (-39.19,6.27,-25.51), yaw 63°, pitch -25° before_passage_floor_closeup.png final_after_passage_floor_closeup.png No separate owner close-up was supplied
Tunnel bend (-198.97,-99.57,-45.58), yaw 33.59°, pitch 23.17° before_tunnel_bend.png final_after_tunnel_bend.png No separate owner close-up was supplied

I reviewed the four fixed after/owner pairs and both close-ups. The chamber transition is softer than before, but small plate-like lips and dark slivers remain. The tunnel still has a visible wedge and its forms repeat more regularly than the owner's. The passage view has broad horizontal shelves and large dark cutouts; its landing alone is present in the owner image, but the surrounding shape differs. The close-up shows conspicuous concentric bands. The far view reads as cloudy relief, while the owner image has larger, connected cave forms with finer detail. Overall, this is a fast coherent alternate field, but the final images are not visibly close to the owner's field and the wall/floor plates and tunnel bands remain.

Failed and rejected builds/runs

The failures below are retained in the logs; none is presented as a successful final check.

  • build_hardjoin.stderr.log failed with MSVC D8022 because it looked for standalone.rsp in the wrong working directory. build_hardjoin_retry and the final exact-source build succeeded.
  • resume2_before_tunnel_audit.stdout.log is the invalid baseline audit that included --round-tunnels; it failed the stair audit at 0.768. Keep it as a failed run, not as the baseline measurement. The corrected run without that option is resume2_before_tunnel_audit_correct.stdout.log (0.434 at the older 0.450 threshold); the same corrected baseline scan under the tightened 0.400 threshold is resume2_before_tunnel_diagnostics.stdout.log and fails at 0.434.
  • Baseline mesh sheet audit resume2_before_mesh_shard_audit_8.stdout.log failed with 9 sheets/149 triangles. Earlier candidates also failed: resume2_trial_mesh_shard_audit_8.stdout.log (1 sheet/8 triangles) and resume2_bounded_mesh_shard_audit_16.stdout.log (1 sheet/20 triangles). The separate radius-18 trial failed with 1 sheet/20 triangles and was reverted; radius 16 passes.
  • resume2_curvefloor_tunnel_audit_8.stdout.log is the rejected whole-segment curve trial: only 3,279/5,642 route samples stayed open. The current route test passes 5,642/5,642.
  • Failed floor/detail trial gates include resume2_after_tunnel_audit_8.stdout.log (smoothed floor-slope delta 1.082 and flat-patch share 21.8%), resume2_floorrelief_tunnel_audit_16.stdout.log (slope delta 2.383), the resume2_familyblend12_* logs (0.807), the resume2_profile_baked_relief_* logs (0.807/2.373), and resume2_trial_smoothlow_capture.stdout.log (slope delta 1.082). The no-floor-bridge trial resume2_no_floorbridges_tunnel_audit_16.stdout.log failed its flat-patch gate at 20.2%. These variants were discarded.
  • Earlier join trials in passage_fixed_after_extensions.stdout.log and tunnel_overlap_floor_audit.stdout.log reported 0.0077-voxel endpoint mismatch against a 0.005 threshold. The final radius-profile join audit is 0.000000 voxels.
  • The first 18-voxel capture used a repository-root-relative output path while the runner's working directory was Standalone/. Capture failed repeatedly; I stopped only that viewer process and reran with the correct path. The corrected 18-voxel captures succeeded, but the 18-voxel mesh audit failed as described above.
  • The 13-control-point radius-filter probe built and captured successfully, but the close-up and bend images showed no visible improvement over the nine-point filter, so the source was restored and rebuilt.
  • The 6-voxel smooth-union probe did not remove the shaft bands; the 12-voxel union added lumpy ledges. Both were rejected. Disabling skirts also produced no visible change and its temporary CLI switch was removed.
  • The first floor close-up camera probe was below the surface and was rejected as invalid framing; final_after_passage_floor_closeup.png is the raised replacement.
  • During this resume, candidate_chamber.png and candidate_tunnel.png tested a continuous combined SDF for roughness with a weaker floor-detail boost. The wall became too smooth, so the candidate was rejected.
  • Candidate 2 used broader, quieter relief and a reduced floor boost. candidate2_whole_view_shard_audit.stdout.log failed with one 48-triangle sheet at 0.459 voxel thickness; its chamber flat-patch share rose to 13.7%.
  • Candidate 3 reduced only the floor boost. Its grid and sheet checks passed, but the fixed captures stayed too quiet and still showed the floor join. Candidate 4 increased the broad octave; its one-voxel sheet check passed, but the tunnel capture still showed floating plates and boundary components.
  • Candidate 5 added an independent broad amplitude envelope. candidate5_whole_view_shard_audit.stdout.log failed with one 18-triangle sheet at 0.678 voxel thickness. The fixed captures still showed plates and shards.
  • Candidate 6 moved floor clipping after the primitive union. candidate6_chamber_audit.stdout.log and candidate6_tunnel_audit.stdout.log failed the grid-surface audit; candidate6_whole_view_shard_audit.stdout.log found one isolated small component, and candidate6_chamber.png / candidate6_tunnel.png showed severe lattice stairs and shards. Its first shard-audit run printed status=FAIL but exited 0 because the exit condition ignored isolated components. The final source corrects that exit condition; its shard audit passes with zero isolated components and zero sub-voxel sheets.

Other retained GridStairAudit status=FAIL logs from the exploratory sequence are after_chamber_grid, after_csg_chamber_grid, after_csg_tunnel_grid, after_fade12_chamber_grid, after_floor_metadata_chamber_grid, after_floor_metadata_tunnel_grid, after_floorblend_chamber_grid, after_floorblend_tunnel_grid, after_scan16_chamber_grid, after_tunnel_grid, critical_shapecontains_tunnel_audit, final_compare_baseline_passage_w8, final16_compare_baseline_passage_w8, final_grid_tunnel, floor_profile_tunnel_audit, floor_slope_tunnel_audit, proxy_fade_tunnel_audit, resume2_familyblend12_tunnel_capture, resume2_no_roomclips_chamber_capture, resume2_no_roomclips_tunnel_capture, smooth_capsule_union_tunnel_audit, and union_width3_tunnel_audit. They record failed or rejected variants/baselines, not the final 16-voxel source.

The corrected grid detector still does not meet the requested before/after criterion on every fixed view: the baseline chamber (0.041) and passage (0.276) metrics were already below the 0.400 threshold, while the baseline tunnel (0.434) fails and the final tunnel (0.028) passes. The final captures also still show wall/floor plates and repeated tunnel bands, so these checks and images do not justify a visual-completion claim.

No commit, push, or stash was made.