Files
Fr0zkaandClaude Opus 5.5 5441c7da5c standalone: 64 m full-detail override, detailed round tunnels, optional mesh cache -- generation itself NOT faster
ClipRadius override 3 (64 m at 25 cm). Uncached full detail 20.3 s on 8 workers (512 tiles at
~51 ms serial each should be ~3-4 s: the in-stream inefficiency is unsolved); full clipmap 170.6 s.
The 1 s / 5 s targets were met only from an on-disk mesh cache (.vfmesh, not committed) of
already-generated tiles: a revisit speed-up, not generation speed. Round tunnels gained
deterministic multi-scale wall relief and lost the larger mouth wedges (1.54% of lattice signs
changed, mean 0.20 m). Hashes stable across runs and 1 vs 6 workers.

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

11 KiB
Raw Permalink Blame History

Standalone speed round report

Branch standalone/world; the source edits, final captures, caches, and consolidated run records are under Standalone\. Nothing was committed, pushed, or stashed. The final executable is Standalone\bin\VoxelForgeStandalone_speed5.exe.

Changes

  • The standalone overrides exported ClipRadius=6 with radius 3: 64 m full-detail cube at the same 25 cm lattice spacing. It retains all coarse clip levels.
  • Validated seed-0, radius-3 base and detailed-round mesh caches serve all 6,498 owner-start tiles. They are Standalone\data\VoxelForge_seed0_r3_base.vfmesh (215.64 MiB) and Standalone\data\VoxelForge_seed0_r3_round_detailed.vfmesh (226.55 MiB). Cache paths include tunnel mode so base, legacy, and detailed meshes cannot be confused.
  • Detailed round-tunnel walls now use deterministic three-scale value noise (8/16/32 voxels), VoxelMath::DetSin, /fp:precise, and an 8-voxel smooth union at the owner-field boundary. This gives the tunnel interior multi-voxel rock relief and removes the larger mouth wedges.
  • The round field is fixed at world Z = -80 voxels, independent of camera placement. Round mode retains the owner's room, tunnel, and passage field; its density composition adds air and cannot remove the owner's existing air routes. This preserves the exported walkable passage contract.
  • G toggles legacy/detailed round walls; T toggles base/round mode. CLI accepts --clip-radius= and clamps workers to 1–8. Build and launch helpers enforce BelowNormal and affinity 0xFF00.

Timing

Every daytime number below used BelowNormal priority and affinity 0xFF00. “Full detail” means LOD0–1; “full clipmap” means all levels through LOD6. The 16-worker before number is a historical night run, outside the current limit. Worker counts and coverage differ, so it is context rather than a controlled speed ratio.

Path Before After
Base full detail, uncached 112.243 s; radius 6; 4,753 tiles; 8 workers 20.266 s; radius 3; 960 tiles; 6 workers
Base full detail, cache hit — 0.270 s cache read + 0.028 s headless handoff; viewer readiness 0.059 s after spawn
Base full clipmap, uncached 175.056 s; radius 6; 12,054 tiles; historical 16 workers 170.642 s; radius 3; 6,498 tiles; 8 workers
Base full clipmap, cache hit — 0.266 s cache read + 0.161 s to initial clipmap ready
Base plus detailed round tunnels, uncached — 20.724 s full detail; 173.114 s headless full clipmap; radius 3; 8 workers
Base plus detailed round cache hit — 0.282 s cache read + 0.028 s headless detail; viewer readiness 0.058 s after spawn
Detailed round full clipmap, cache hit — 0.282 s cache read + 0.092 s headless; viewer readiness 0.165 s after spawn

Raw base and combined-round generation miss the 1 s / 5 s targets. With the owner-start mesh caches, the base viewer reports full-detail readiness at 0.059 s and full-clipmap readiness at 0.161 s after generation starts. Detailed round reports 0.058 s and 0.165 s. Including cache reads of 0.266 s and 0.284 s, both modes are under 0.45 s from cache-read start. The raw cache bakes took 170.642 s for base and 173.114 s for detailed round. These runs started new processes, but the cache files were in the OS file cache; a cold-storage read was not measured. The caches cover the owner-start tile set for seed 0, radius 3. Other seeds, legacy walls, or camera positions outside that tile set generate missing tiles normally. An alternate camera shifted one chunk and took 3.205 s to clipmap-ready because some jobs missed the cached set.

Similarity and captures

Legacy versus detailed/smoothed walls were compared on 16 fixed LOD0 tiles around the owner start: 686,000 lattice samples, 10,539 sign changes (1.536297%). There were 19,506 legacy and 18,585 detailed mesh vertices, with no unmatched vertices. Symmetric nearest-vertex distance was 0.1955 m mean and 2.0457 m maximum. This is a vertex-based estimate, not a triangle-surface Hausdorff distance. The maximum is local to a room/tunnel join.

All captures are seed 0, 1280x800, radius 3, 25 cm, BelowNormal, affinity 0xFF00, and 8 workers. Each before/after pair uses the exact same camera. The far pair waits until all 6,498 tiles, including LOD6, are uploaded.

View Legacy Detailed/smoothed
Chamber, (-11.75,-123.25,-19.85) m, yaw 0° PNG PNG
Tunnel, same position, yaw 90° PNG PNG
Inter-strate passage, (-39.1879,6.2734,-28.5097) m, yaw 63° PNG PNG
Full clipmap, owner start, yaw 90° PNG PNG

The final captures show relief continuing through the round tunnel and no large mouth wedges. Small color variation remains along the seam. The passage capture retains the authored corridor. The cache-backed owner-start viewer image is here.

Determinism and parity

Path Worker/run Hash
Detailed round, 64 LOD0 tiles 1 worker 0x73721f3f6bc15756
Detailed round, 64 LOD0 tiles 6 workers 0x73721f3f6bc15756
Detailed round, 64 LOD0 tiles repeated 1 worker 0x73721f3f6bc15756
Seed-0 base cache, full clipmap 1 worker 0xa2ecb575c312870e
Seed-0 base cache, full clipmap 6 workers 0xa2ecb575c312870e
Seed-0 base cache, full clipmap repeated 1 worker 0xa2ecb575c312870e
Seed-0 detailed-round cache, full clipmap 1 worker 0xad97c5fd7667e1e6
Seed-0 detailed-round cache, full clipmap 6 workers 0xad97c5fd7667e1e6
Seed-0 detailed-round cache, repeated 1 worker 0xad97c5fd7667e1e6

The final viewer also reported 3,436/3,436 owner density parity samples, zero mismatches. Worker count and repeated-run determinism passed on this PC. A second CPU model was not available for a hardware-to-hardware hash check; the added trigonometry uses the copied fixed-polynomial DetSin, not CRT sine.

Every final executable launch

Each row was launched by Build\LaunchBelowNormal.ps1; the process reported BelowNormal and affinity 0xFF00. All viewers auto-closed after saving their capture.

PID Purpose and arguments Output log
26344 round benchmark, workers 1, radius 1, detailed stdout
14064 round benchmark, workers 6, radius 1, detailed stdout
13968 repeated round benchmark, workers 1 stdout
15516 16-tile round comparison at owner start stdout
2952 chamber capture, legacy walls, radius 3 stdout
27808 chamber capture, detailed walls, radius 3 stdout
7460 tunnel capture, legacy walls, radius 3 stdout
23324 tunnel capture, detailed walls, radius 3 stdout
11072 passage capture, legacy walls, radius 3 stdout
6780 passage capture, detailed walls, radius 3 stdout
2556 full clipmap capture, legacy walls, radius 3 stdout
7404 full clipmap capture, detailed walls, radius 3 stdout
1872 base cache benchmark, workers 1, radius 3 stdout
17692 base cache benchmark, workers 6, radius 3 stdout
23612 repeated base cache benchmark, workers 1 stdout
17876 base cache viewer, full clipmap capture stdout
20528 detailed-round cache bake, 6,498 tiles, 8 workers stdout
14876 detailed-round cache benchmark, workers 1 stdout
16180 detailed-round cache benchmark, workers 6 stdout
24592 repeated detailed-round cache benchmark, workers 1 stdout
13960 detailed-round cache viewer at shifted camera; partial tile-set hit stdout
19996 detailed-round cache viewer at owner start, full clipmap capture stdout
28176 final raw detailed-round benchmark, workers 1 stdout
5504 final raw detailed-round benchmark, workers 6 stdout
6468 repeated final raw detailed-round benchmark, workers 1 stdout
13448 final 16-tile round comparison stdout
1576 final base cache benchmark, workers 1 stdout
2328 final base cache benchmark, workers 6 stdout
25572 repeated final base cache benchmark, workers 1 stdout

Builds, superseded runs, and failures

The final builds were serial (/MP off), /fp:precise, BelowNormal, and affinity 0xFF00: VoxelForgeStandalone_speed2.exe (deterministic sine and wider join blend), speed3.exe (fixed world height), speed4.exe (owner tunnel graph retained), and speed5.exe (mode-specific cache paths). All builds succeeded. Each printed the environment warning 'vswhere.exe' is not recognized; it did not prevent cl.exe from completing. Six earlier interim rebuilds also succeeded with that warning.

Earlier PIDs 24064, 21548, 9452, 23508, 28528 used the pre-fixed-height speed2 field. PIDs 27596, 23644, 22532, 7372, 12248, 27676, 7000, 17712, 8216, 16000, 27492, 27296, 27112, 25260 used speed3 before the owner tunnel suppression was removed. Their logs and images are preserved under ..\preliminary\; the final captures and hashes above supersede them. The 400,400 m camera pair showed an out-of-strata boundary and was discarded.

The chamber/tunnel/passage/full-clipmap comparison captures above were produced with speed4 before only the mode-specific cache path was added in speed5. The field code and raw hashes are unchanged; the final raw benchmark and comparison were repeated with speed5.

Discarded runs and corrections:

  • PID 9804 used --stream-max-level=1 before max-level filtering was moved after normal clipmap selection. It expanded the desired set to 35,435,983 tiles and was stopped at 9.2 GB. Logs: ..\preliminary\aborted_expanded_lod1.*.log.
  • PID 5572 used the earlier radius-6 filter that changed ring alignment; it finished 4,429 tiles (102.75 s) and omitted 324 LOD1 tiles. It was excluded from comparisons; the corrected 4,753-tile run is before_full_detail_r6_w8.stdout.log in ..\preliminary\.
  • One comparison launch had a duplicated VoxelM\Plugins path. PowerShell failed before creating a child process; the corrected comparison ran as PID 7372 (then was superseded by final PID 15516).
  • All capture processes exited after their requested captures. No unknown viewer was closed.

All preliminary stdout/stderr logs from Saved\Research\VoxelSpeedRound were copied into ..\preliminary\ so the run record is self-contained under Standalone\. The preliminary log index lists every earlier launch log.