The voxel tier read flat (the D-245 "0–3 m, no hills to navigate by" bug): family generators set elevation from elev_q at a compressed scale plus only ±4 m micro-scatter, and detail-scatter's mid-scale relief (D-243 §2) only ever reached the district tier (elev_q), never per-voxel elevation_m. - detail_scatter.rs: extract the enveloped-fBm core; add `voxel_relief` at the 0.25–2 km octave band (vs the district 4–40 km band). - voxel.rs: add the mid-scale relief post-dispatch in derive_voxel_column, body-global SeedDomain::VoxelRelief seed (position-keyed), f64 truncated to integer metres (D-010). Envelope = slope_q*3 + elev_q — the coarse heightmap gives slope_q ≈ 0 even on high ground (Arbour max 13), so elevation must drive ruggedness. Flat families only (Alluvial/Lava/BraidedDelta/Dune/Meander); the dramatic families already carry strong internal relief and WaterBody stays at sea level. - seed.rs: SeedDomain::VoxelRelief (D-224 domain separation). - believability.rs: new `contrast.voxel_relief_m` metric — mean within-district elevation range over a 2 km transect (a single 64 m sample chunk is narrower than the relief band) + a "voxel relief" criterion. Arbour @ yolo: voxel relief 5 m → 59 m, 6/8 → 7/8 criteria (remaining fail = the Q-123 vegetation-denominator item). Edict 59 m. Golden regenerated; 1586 lib tests + believability harness (determinism) pass; clippy -D warnings clean. D-239 amended (T-1081); Q-123 item 4 updated. Deferred to Q-123/follow-up: the provisional span + threshold, and a per-body hypsometric absolute-elevation model. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
83 lines
1.7 KiB
JSON
83 lines
1.7 KiB
JSON
[
|
|
{
|
|
"body_id": "GJ338Bd",
|
|
"world_seed": 13200299156134074780,
|
|
"district_count": 2048,
|
|
"voxel_sampled_districts": 64,
|
|
"contrast": {
|
|
"moisture_q": {
|
|
"min": 32,
|
|
"max": 80,
|
|
"distinct": 49
|
|
},
|
|
"elev_q": {
|
|
"min": 0,
|
|
"max": 98,
|
|
"distinct": 99
|
|
},
|
|
"slope_q": {
|
|
"min": 0,
|
|
"max": 13,
|
|
"distinct": 14
|
|
},
|
|
"ocean_fraction_q": {
|
|
"min": 0,
|
|
"max": 100,
|
|
"distinct": 65
|
|
},
|
|
"morphology_zones": 9,
|
|
"vegetation_classes": 3,
|
|
"terrain_materials": 4,
|
|
"voxel_relief_m": 49
|
|
},
|
|
"coherence": {
|
|
"water_districts": 49,
|
|
"water_districts_wet": 44,
|
|
"drainage_samples": 0,
|
|
"drainage_monotonic": 0,
|
|
"vegetation_samples": 64,
|
|
"vegetated_districts": 8
|
|
}
|
|
},
|
|
{
|
|
"body_id": "GJ244Ad",
|
|
"world_seed": 13200299156134074780,
|
|
"district_count": 2048,
|
|
"voxel_sampled_districts": 64,
|
|
"contrast": {
|
|
"moisture_q": {
|
|
"min": 0,
|
|
"max": 20,
|
|
"distinct": 21
|
|
},
|
|
"elev_q": {
|
|
"min": 0,
|
|
"max": 99,
|
|
"distinct": 100
|
|
},
|
|
"slope_q": {
|
|
"min": 0,
|
|
"max": 6,
|
|
"distinct": 7
|
|
},
|
|
"ocean_fraction_q": {
|
|
"min": 0,
|
|
"max": 100,
|
|
"distinct": 65
|
|
},
|
|
"morphology_zones": 9,
|
|
"vegetation_classes": 1,
|
|
"terrain_materials": 4,
|
|
"voxel_relief_m": 45
|
|
},
|
|
"coherence": {
|
|
"water_districts": 25,
|
|
"water_districts_wet": 22,
|
|
"drainage_samples": 0,
|
|
"drainage_monotonic": 0,
|
|
"vegetation_samples": 64,
|
|
"vegetated_districts": 0
|
|
}
|
|
}
|
|
]
|