The shared marching-cubes mesher applies its 8-cell block proofs at step 2 for standalone shape contexts and skips density-grid fills outside certified-uniform blocks (plus a one-sample normal halo); mixed and unknown blocks still sample exactly. FI certified-air boxes 1,959 -> 14,119; FI LOD1 samples -63%. FI whole view 7.08 -> 5.61 s (-21%), moving p50 about -33%; SW unchanged. Geometry hashes identical (no version bump); proof audit 36.9 M samples, 0 violations, Clang and GCC. Source stamp now covers the standalone mesher copy. Research R21 (deepened): native Core cave generator design. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016dhxM43dnWvUu2B5Ph1iG1
6.7 KiB
Linux 52 — shared proof-driven meshing
Date: 2026-10-24. Branch: assembler/world.
Critical path and profile
Profiles used --profile-lod-work --mesh-coverage with 12 workers. In the FI profile, shape setup took 0.887 s, first tile was ready at 1.186 s, the near ring at 1.351 s, and the whole view at 5.194 s. After the ring, the remaining tile drain took 3.843 s. LOD0/1 meshing remains the largest work pool. LOD7/8 together still cost about 7.66 worker-seconds, but those jobs overlap with other workers and are not a 7.66 s wall-time stage.
SW took 0.437 s for shape setup, 0.510 s to first tile, 0.524 s to the near ring, and 1.572 s for the whole view. Its post-ring tail is 1.048 s. LOD6 connector evaluation and LOD8 meshing have the largest remaining worker sums. The trace shows the serial shape prefix followed by the outstanding-tile drain; it does not include queue-wait timestamps, so it cannot separate scheduler saturation from far-tile ordering.
Shape-stage timings (before → candidate, ms):
| Recipe | Local shapes | Intervals/signs | Surface band | Far parents | Total |
|---|---|---|---|---|---|
| FI | 35.1 → 37.3 | 84.8 → 85.8 | 689.2 → 706.6 | 50.4 → 49.9 | 866.5 → 886.9 |
| SW | 34.4 → 36.5 | 82.7 → 78.1 | 261.1 → 259.2 | 52.3 → 53.8 | 438.2 → 436.2 |
W12 worker sums per LOD (seconds; before → candidate):
| LOD | FI | SW |
|---|---|---|
| 0 | 30.214 → 28.633 | 1.994 → 2.032 |
| 1 | 17.079 → 2.829 | 1.034 → 1.075 |
| 2 | 1.977 → 2.092 | 1.014 → 1.078 |
| 3 | 1.647 → 1.683 | 0.729 → 0.783 |
| 4 | 1.952 → 2.004 | 1.299 → 1.368 |
| 5 | 0.777 → 0.792 | 0.502 → 0.531 |
| 6 | 2.677 → 2.650 | 1.817 → 1.896 |
| 7 | 2.045 → 1.972 | 1.046 → 1.098 |
| 8 | 5.665 → 5.684 | 2.723 → 2.884 |
FI LOD0 density samples fell 18.951 M → 17.883 M (−5.6%); LOD1 fell 12.948 M → 4.802 M (−62.9%). SW LOD0/1 sample counts were unchanged at 21.952 M and 19.208 M.
Change and gain
The shared mesher now applies its existing 8-cell block proofs at Step 2 for standalone shape contexts. It omits density-grid fills outside certified uniform blocks and their one-sample normal halo. Mixed and unknown blocks still use exact sampling. FI certified-air boxes rose from 1,959 to 14,119; mixed boxes stayed at 18,857 and unknown boxes at 240. FI meshing worker time fell 46.44 s → 30.60 s, while proof classification rose 6.53 s → 22.47 s. These are overlapping worker sums, not wall time.
The full-tier five-pair medians show FI whole-view readiness 7.080 s → 5.614 s (−20.7%), with first tile 1.273 s → 1.264 s and near ring 1.448 s → 1.441 s. SW measured 1.720 s → 1.718 s (−0.1%), first tile 0.535 s → 0.533 s, near ring 0.552 s → 0.549 s. A separate direct five-pair set measured FI 6.800 s → 5.430 s and SW 1.642 s → 1.649 s.
Moving submit-to-completion p50/p95 (ms; one before/after paired sweep per recipe and distance):
| Recipe / step | Before | Candidate |
|---|---|---|
| FI / 8 m | 418.3 / 631.7 | 279.4 / 463.7 |
| FI / 24 m | 790.1 / 1,406.4 | 535.1 / 898.8 |
| SW / 8 m | 24.8 / 45.9 | 23.3 / 46.5 |
| SW / 24 m | 54.9 / 99.2 | 57.1 / 101.4 |
The moving percentiles use 144 entering tiles at 8 m and 314 at 24 m. The direct static timings ran five pairs per recipe; the full verifier also ran its own five cost pairs per recipe. Moving measurements were not repeated five times.
An earlier broad Core experiment classified every fine tile. All 62,400 SW boxes were unknown; it added 11.7 classifier worker-seconds and about 20 ms of wall time, so that change was reverted. The retained shared mesher path benefits FI with negligible SW classifier work and no SW sample-count change. The source-stamp helper now hashes nested Standalone/Source/VoxelForge sources, fixing the previous blind spot that let a mesher rebuild carry an L51 stamp.
Proofs, hashes, version, and tiers
The brute-force uniform-block audit checked 27,727 blocks and 36,904,637 samples under both Clang and GCC: zero fallbacks, unknowns, or violations. Clang/GCC W1/W8/W12, random-camera sweeps, and the 30-cell matrix passed. Fast, medium, and full also passed capture, walkability, passage, transition, hole, and ring gates.
Owner full-detail signatures match L51 for both recipes (density / mesh / payload / topology):
- FI:
1feaa7bd5d80b60d / a818654be89790ac / 370ff80451105a39 / 06e507557aa70173 - SW:
ace56c8f205238ad / a9c603a1248de6b8 / ea55f1f4fcc6a894 / 5ea7bc78a1b678ae
No geometry hash changed, so farHorizonVersion remains 5; no version bump was needed. Final source stamp and manifest SHA-256: 5c2acf01030d994d5983bc6390664f049b9945a95316da747e131b126c51b041. Mesher SHA-256: 927e41985b13941fe538da7fc81ae136dabf970218a4bf76a022a81a71e17024. Stamp-helper SHA-256: 205a4c0fa4d19679f5f2e201e40efcb9aee0b1320991030404d54d781aea31f4. Final headless binary SHA-256: Clang cd10303927bdc64179e8c395089ffc86be75d03844170c6be8e1b2ac39b6e152; GCC 5838c8192900a2930adf162ac360863578509b117ef6f5d5b5b1dbad8b8d5824. Both builds used FP contraction off.
| Tier | Result | Elapsed |
|---|---|---|
| Fast | PASS, 136 checks | 150.7 s |
| Medium | PASS, 484 checks | 634.3 s |
| Full | PASS, 1,084 checks; 30/30 cells | 1,421.5 s |
Failed runs and remaining work
The first full run with GCC's default FP contraction failed SW W1 LOD2 hash stability. Rebuilding GCC with FP contraction off made the Clang/GCC peer matrix pass; the final tier summaries now use identical binary hashes. An initial timing attempt had no timing directory and launched no process. The first mesher build also exposed the source-stamp blind spot; it was discarded and rebuilt after fixing the manifest.
FI remains 5.61 s whole-view with a 1.44 s near ring; shape setup alone is 0.89 s and LOD0 still costs 28.63 worker-seconds. SW remains 1.72 s with a 0.55 s near ring. Reaching about 1 s needs a much cheaper or overlapped shape stage, less LOD0 mixed-surface work, and scheduler/LOD-drain tracing to improve far-tile completion without slowing the near ring.
Orchestrator review (Claude)
Accepted. The stamp matches the final Clang and GCC builds (5c2acf01…). FI whole view 7.08 → 5.61 s (−21%); FI
moving p50 is about −33% at 8 m and 24 m; SW is unchanged. Geometry hashes are identical, so there's no version bump.
The proof audit covered 36.9 M samples with 0 violations. Two process fixes come with it:
- the stamp now covers the standalone mesher copy (
Standalone/Source/VoxelForge), which had let a mesher rebuild carry the old stamp; - GCC must build with FP contraction off, or SW W1 LOD2 diverges. That's the L2 lesson, enforced again.
Cumulative across L51 and L52: FI 16.74 → 5.61 s. Next measured bottlenecks: shape setup (0.89 s, serial), LOD0 mixed-surface work, and far-tile drain ordering.