wip(assembler): round L29 -- strate transitions honoured at the bedrock/ceiling interface
EVoxelStrateTransition from the upper strate shapes the bedrock(N)/ceiling(N+1) interface in the shared composition layer: Hard flat; Gradient = smooth 2D hash surface (16 m owner width, about 4 m measured undulation); Interleaved = 3D domain-warped fingered overlap within the width. Each band keeps >= 2 Core voxels solid; faces return to the seam near passage mouths. Interface audit over 512 m: 0 hole columns for all modes; wider-than-declared and too-thin controls rejected. All passage, route, proof and validator audits pass; deterministic Clang = GCC. Evaluator 15. Cost +4% SW, +1.3% FI vs L28. Open: ring-like artifact on the FI floor capture; transition look unverified. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CSFYgsdW8ejZSyiMf4qRSX
This commit is contained in:
1 parent
f23ab7b9fa
commit
63c7e563d0
16 files changed
+794
-42
No files matched your search
@@ -0,0 +1,110 @@
|
||||
# World Assembler L29 — bedrock/ceiling transitions
|
||||
|
||||
**Core now honors the upper strate's `EVoxelStrateTransition` at the shared interface.** The owner
|
||||
world's upper two-chunk Gradient resolves to 16 m at the 8 m layout chunk size. SurfaceWorld's
|
||||
one-chunk setting remains in the resolved strate record. Core does not blend unrelated generator
|
||||
parameters. `WorldAssemblyEvaluatorVersion` is 15; recipe versions and resolved-layout schema V3
|
||||
are unchanged.
|
||||
|
||||
## Appearance and safety
|
||||
|
||||
| Mode | Result |
|
||||
|---|---|
|
||||
| Hard | The original flat, touching boundary. No displacement or overlap. |
|
||||
| Gradient | Both faces follow one smooth 2D hash surface. On the 16 m interface, the measured peak-to-peak undulation is 3.988 m. |
|
||||
| Interleaved | A deterministic 3D domain-warped hash field moves both faces inward, producing fingered overlap. Measured peak crossing was 6.487 m in FloatingIslands and 6.952 m in SurfaceWorld, within the declared 16 m. |
|
||||
|
||||
Each boundary band keeps at least **two Core voxels** of solid thickness: 0.5 m at the default
|
||||
25 cm voxel size. The owner bands measured 0.5–1.0 m on the upper side and 6.25 m on the lower
|
||||
side. Interleaved is capped by both the declared width and the bands' combined thickness, so the
|
||||
solid intervals still touch or overlap.
|
||||
|
||||
The strict interface audit covers a 512 m square: 4,221 columns per interface, with four passage
|
||||
columns excluded from the hole sweep. Hard, Gradient and Interleaved each report zero hole columns
|
||||
and zero air samples. Both negative controls reject as expected: crossing one micrometre wider than
|
||||
declared, and either band one micrometre thinner than the minimum. All six recipe/mode runs pass.
|
||||
|
||||
Transition faces return to the nominal seam near passage mouths: the protected radius is the mouth
|
||||
radius plus 1 m, followed by a 2 m smooth fade. This kept the style-2 FI landing supported; its
|
||||
final capsule/support audit passes.
|
||||
|
||||
## Passage and parity audits
|
||||
|
||||
The final matrix has 4 styles × 2 recipes × 2 compilers (16 runs). Capsule and walkability,
|
||||
open-air, naturalness, no-long-bridge, route bindings, strict-validator controls, L13 route parity,
|
||||
and L9 proof audits pass. Open-air reports zero violations; validator controls reject 10/10;
|
||||
route-parity and proof audits report zero mismatches/violations. The L23/L24/L26 negative controls
|
||||
are detected.
|
||||
|
||||
The L28 `FloorProfileBlend` diagnostic still exceeds its 2-voxel threshold in styles 1 and 3:
|
||||
2.544 and 3.645 voxels. L28 records the same values on both compilers, so this is inherited and
|
||||
unchanged.
|
||||
|
||||
## Hashes
|
||||
|
||||
The L25 W1/W8/W12 hash matrix is identical across Clang and GCC for both recipes: full-detail,
|
||||
whole-view, all LOD rows and exact-query hashes match. Hash order below is density / mesh / payload /
|
||||
topology.
|
||||
|
||||
| Recipe | Full detail (960 tiles) | Whole view (2,370 tiles) | Exact-query density / detail / collision |
|
||||
|---|---|---|---|
|
||||
| SurfaceWorld | `ace56c8f205238ad / a9c603a1248de6b8 / ea55f1f4fcc6a894 / 5ea7bc78a1b678ae` | `0e8c5af01df96b14 / 70099e89b77811ed / dbce0fdcf6764126 / ddaf81a1228f9b4b` | `c949c4df2ce6f9d9 / 114c501e2d830d94 / e6011d3a248d4849` |
|
||||
| FloatingIslands | `ed550e0c8b182695 / 0e410a8e80a3e7f7 / 0751926f0c67d8a4 / f01208bc2f7841ec` | `a492eefa4f534975 / 141f00f3e411a0df / 93f50c569526c5cb / d83b53c8e53df81c` | `7b7c50ac24ccadcc / efcba20c0c70c415 / e604823a249029bf` |
|
||||
|
||||
The 24 m moving crossing processed 314 entering tiles per recipe; Clang/GCC crossing hashes match.
|
||||
SurfaceWorld's away-from-interface probe at z = −400 m also matches L28: all 960 full-detail
|
||||
tiles and the exact-query density/detail/collision hashes are identical. The broader whole-view
|
||||
hash differs because its far-LOD coverage also includes the changed interface.
|
||||
|
||||
## Cost
|
||||
|
||||
Five clean, alternating W12 pairs against
|
||||
`Saved/Linux/bin/VoxelForgeCoreHeadless-linux28-clang-r28`, hashing off:
|
||||
|
||||
| Recipe | L28 whole-view ready | L29 whole-view ready | Change |
|
||||
|---|---:|---:|---:|
|
||||
| SurfaceWorld | 1.581 s | 1.644 s | +3.97% |
|
||||
| FloatingIslands | 16.605 s | 16.814 s | +1.26% |
|
||||
|
||||
FloatingIslands is within the ~3% target. SurfaceWorld is about one percentage point above it.
|
||||
|
||||
## Captures
|
||||
|
||||
All are 1280×720 JPEGs, each under 21 KB (well below 300 KB):
|
||||
|
||||
- `captures/fi-floor-gradient-above.jpg` — FI floor from above, inside FI.
|
||||
- `captures/sw-ceiling-gradient-below.jpg` — SW ceiling from below, inside SW.
|
||||
- `captures/interface-hard-side-cutaway.jpg`
|
||||
- `captures/interface-gradient-side-cutaway.jpg`
|
||||
- `captures/interface-interleaved-side-cutaway.jpg`
|
||||
|
||||
## Changes and run history
|
||||
|
||||
Core transition evaluation/validation and the shared composition path changed, along with the
|
||||
headless transition audit, architecture/codemap, and the two Unreal files
|
||||
`Source/VoxelForge/Public/VoxelStrateTypes.h` and
|
||||
`Source/VoxelForge/Private/VoxelForgeCoreAdapter.cpp`. Unreal was unavailable here, so those edits
|
||||
were not compiled. No commit, push or stash was made.
|
||||
|
||||
Failed or retried runs:
|
||||
|
||||
- An early Clang build used a nonexistent dispatch helper; corrected to the current query method and rebuilt with Clang and GCC.
|
||||
- The first Interleaved overlap used the full sum of band thicknesses and opened gaps (1,085 columns / 20,313 air samples). Capping overlap to `min(declared width, combined thickness)` removed the gaps.
|
||||
- An initial hole sweep sampled a half-open band edge and reported 752 boundary-rounding holes. Sampling half a voxel inside each band removed those edge artifacts; final sweeps report zero holes.
|
||||
- The first FI style-2 passage audit had 11 unsupported probes after Gradient moved the mouth face. The local mouth taper fixed it; all 16 final passage runs pass.
|
||||
- A resolved-layout-only command initially omitted required pipeline flags and exited 2; rerun with the required flags passed. Early cutaway camera/clip settings produced blank framing; the final orientation and clip plane produced the captures above.
|
||||
- One cost folder contained a duplicated timing sequence and was discarded. The five-pair clean run above was sequential. A cache experiment did not improve cost and was removed. A cost-extraction `sed` typo was rerun with Python; benchmark logs were unaffected.
|
||||
|
||||
No build or audit exceeded 30 minutes, and no step remained stuck for 15 minutes. All builds and runs
|
||||
used CPUs 0–11, at most 12 workers, normal priority, and the 6 GiB address-space cap.
|
||||
|
||||
## Orchestrator review (Claude)
|
||||
|
||||
- Merged: transitions honoured safely (0 holes over 4,221 columns per interface, negative controls reject, all
|
||||
passage audits pass, deterministic).
|
||||
- **The look is not verified by the captures:** `interface-interleaved-side-cutaway.jpg` shows flat faces
|
||||
(black = uncapped solid between faces), with no visible fingers; `sw-ceiling-gradient-below.jpg` is a flat
|
||||
plane; `fi-floor-gradient-above.jpg` shows **concentric dashed rings** on the FI floor, which looks like an
|
||||
artifact (possibly the passage-mouth protected-radius fade, or quantised undulation), not a smooth Gradient.
|
||||
- Cumulative SW cost vs L24 is now ~+8% (L28 +3.7% plus L29 +4%). L30 covers the ring artifact, readable
|
||||
transition captures, and cost recovery.
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 16 KiB |
BIN
Binary file not shown.
|
After Width: | Height: | Size: 20 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 18 KiB |
BIN
Binary file not shown.
|
After Width: | Height: | Size: 19 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 13 KiB |
Reference in new issue
Block a user