research(standalone): far-field round -- measured only; LOD8 1.35 s but unproven, LOD6 default 1.74 s

No source change kept. LOD8 changes a remote view (29k of 1.02 M pixels) and no check proves distant
strata survive; LOD7 renders the same remote view as LOD8. Default stays LOD6.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MmSoF64BbRFmk9C3p1VsBJ
This commit is contained in:
Fr0zkaandClaude Opus 5.5 committed 2026-10-04 19:26:11 +02:00
1 parent 9ffe296cd1
commit 5602a281b9
5 files changed
+44 -1

No files matched your search

@@ -1,5 +1,40 @@
# Shape world speed round — final half-load verification
## Round 5 — far-field LOD8 trial (2026-10-04)
### Result and decision
The coarse far-shell candidate meets the requested **under-1.5 s** W8 process-wall threshold on two cold, full-payload runs, but I did not promote it: a remote yaw-90 capture changes 28,982 of 1,024,000 pixels versus LOD6 (max channel delta 38), and no per-shell/per-connector coarse-sampling survival proof exists. The source and rebuilt default therefore remain at exported LOD6. The LOD8 experiment is reproducible with `--max-clip-level=8`; it is not evidence that thin strata, seals, or distant connectors all survive.
### Cold full-payload W8 measurements
All runs used `--force-generate`, 8 workers, full UVs/colors/material groups, no cache, BelowNormal priority and affinity `0xFF00`. Process wall includes startup and world setup; collision cooking and GPU upload are outside this standalone measurement.
| Max LOD | Process wall A/B (mean) | Shape stage A/B (mean) | Full-detail stream A/B | Full clipmap A/B (mean) | Tiles | Payload allocation | Cache hits |
| --- | ---: | ---: | ---: | ---: | ---: | ---: | ---: |
| 6, final exported default | 1.809 / 1.664 s (**1.737 s**) | 706 / 696 ms (**701 ms**) | 247 / 226 ms | 850 / 861 ms (**856 ms**) | 6,498 | 235.29 MiB | 0 |
| 8, candidate | 1.406 / 1.289 s (**1.348 s**) | 698 / 703 ms (**700 ms**) | 215 / 212 ms | 434 / 431 ms (**433 ms**) | 2,226 | 92.61 MiB | 0 |
The candidate cuts full clipmap wall by about 49% and reduces LOD6–8 samples from 32.717 M to 3.415 M (about 90%). It retains full payload channels. The full-payload logs are [default LOD6 A](round5_final_default6_full_payload_w8_a.stdout.log), [B](round5_final_default6_full_payload_w8_b.stdout.log), [candidate LOD8 A](round5_final_default_full_payload_w8_a.stdout.log), and [B](round5_final_default_full_payload_w8_b.stdout.log), with runner records alongside them. LOD6 remains 0.237 s above the process-wall target on this pair; the candidate is 0.152 s below it.
### Determinism and audits
The final LOD6 executable, [build log](round5_farfield/round5_default6_build.log), matches all 36 density/mesh/full-payload/oriented-topology fields across W1/W8 for full detail, whole clipmap, and LOD0–6: [comparison](round5_final_default6_hash_compare.log), [W1](round5_final_default6_hash_w1.stdout.log), [W8](round5_final_default6_hash_w8.stdout.log). The candidate LOD8 W1/W8 comparison matches all 44 fields across full detail, whole clipmap, and LOD0–8: [comparison](round5_lod8_default_hash_compare.log), [W1](round5_lod8_default_hash_w1.stdout.log), [W8](round5_lod8_default_hash_w8.stdout.log). Both workloads report 5,642/5,642 route samples open and zero cache hits. The W8 shard audit passes for LOD0 (zero isolated-in-view small components); it does not cover coarse far-shell survival.
The final default's W8 shape/look audit is green: route, room-floor, floor-slope, floor-profile, tunnel-radius, flat-surface, grid-stair, thin-sheet, strata/cave surface-band, flat-patch, detail, and spatial-scale checks all pass. See [audit output](round5_final_default6_shape_audit_w8.stdout.log). The LOD8 candidate audit is [here](round5_lod8_shape_audit_w8.stdout.log); these audits run the detailed shape checks in the near compiled region and are not the missing far-LOD survival check.
### Captures and far-field discrepancy
The six requested before/after capture pairs were taken after `[InitialClipmapReady]`. The LOD6 and candidate LOD8 images compare pixel-identically for chamber, tunnel, passage, far yaw 0, floor close-up, and tunnel bend; the three additional center-camera far directions (yaw 90/180/270) also compare exactly. [Pixel comparison](round5_default_capture_pixel_compare.stdout.log). Example: [LOD6 chamber](round5_farfield/lod6_fixed_chamber.png) / [LOD8 chamber](round5_farfield/default_fixed_chamber.png); [LOD6 far yaw 90](round5_farfield/lod6_far_yaw90.png) / [LOD8 far yaw 90](round5_farfield/default_far_yaw90.png).
I added a remote camera at X=500 m and swept four headings. At yaw 90, the candidate changes 28,982 pixels (86,923 channels; mean absolute channel delta 0.227); the changed region is concentrated in lower far silhouettes. Yaw 180 is identical; yaw 270 changes 143 pixels with max delta 1. Yaw 0's 19 pixels at max delta 1 match same-LOD capture jitter: a repeated LOD6 image differs by the same 19 pixels, and that repeat is identical to LOD8. The LOD7 yaw-90 image is pixel-identical to LOD8, so LOD7 does not resolve this case. See [remote sweep comparison](round5_remote_sweep_pixel_compare.stdout.log), [capture variance check](round5_remote_capture_variance_compare.stdout.log), [LOD6 yaw 90](round5_farfield/lod6_remote_x500_yaw90.png), [LOD8 yaw 90](round5_farfield/default_remote_x500_yaw90.png), [LOD7 yaw 90](round5_farfield/lod7_remote_x500_yaw90.png), and [scaled difference](round5_farfield/remote_yaw90_diff_x5.png). The mismatch is small in area but real; without a feature-survival proof I am keeping the safe default at LOD6.
### Builds and failed invocations
Both the temporary-default-LOD8 candidate and the restored-default-LOD6 executable built successfully with `/MP8` or less under the machine cap. The build logs contain the recurring French `vswhere.exe` diagnostic and six existing C4838 warnings; both builds exited successfully. Two initial W1/W8 hash-launch wrappers failed before starting a child because of malformed PowerShell array syntax; corrected launches both exited 0. An initial comparison parser also counted only one hash per output line (9 fields); the corrected all-match parser compared 36/36 and passed. No workload or build failed with `0xC0000142` or showed an out-of-memory condition. No viewer was closed.
No source diff remains: the exported LOD6 default was restored and rebuilt as [VoxelForgeRound5Default6.exe](../../../bin/VoxelForgeRound5Default6.exe); the LOD8 candidate remains available as [VoxelForgeRound5Farfield.exe](../../../bin/VoxelForgeRound5Farfield.exe). No commit, push, or stash was made. The far-field goal is not complete: next work needs an explicit shell/connector survival checker and likely feature-aware refinement or explicit far surfaces before the faster sampling can become the default.
## Round 3 update — measured payload path and current result
This update supersedes the earlier headline timings, hash values, and capture references below. The sections that follow retain the previous-round context. With the exported LOD6 limit, the latest cold full-payload W8 pair averaged **1.917 s**. The best tested opt-in LOD8 far-shell pair averaged **1.451 s**, still **0.451 s above** the under-one-second goal. The LOD8 option is `--max-clip-level=8`; it retains LOD0–5 and distributes the same render distance over LOD6–8. Cache hits were zero in every run.