derive_district_profile is now a thin wrapper over the shared derive_at_metres_with_riparian core at survey-cell-centre world metres — one derive core, two position sets. The batch pseudo-grid and the true D-243 district grid were two coordinate systems sharing one bare (i32,i32) type; the new SurveyCellPos newtype re-keys every batch product (BodyWorldState.districts, Layer1Output.survey_basin_dirs) so the compiler rejects cross-namespace passing. Fixes two latent same-position divergences the T-1174 investigation surfaced: three inconsistent latitude conventions collapse into the core's single inverse mapping, and the region-climate baseline now floor-divides true world metres instead of collapsing the whole body onto region (0,0)'s baseline — batch climate becomes latitude/region graded (D-245 direction: every changed believability metric increased). Binding preservations per D-256(c): basin_direction rides a post-call override with the true L1 D8 survey-cell aggregate (layer1's map re-keyed to SurveyCellPos, identity lookup — a floor-divide lookup against the pseudo-keyed map would have silently defaulted every cell North); the riparian verdict comes from near_perennial_water_at, never the empty-slice default (which would have flipped riverside vegetation_class). Quarter-skeleton morphology_zone now resolves at the settlement's exact world position via derive_at_metres at work-item execution (where TerrainAnalysisCache lives), replacing the survey-cell-centre map lookup (D-256(d)); settlement_district_pos fixed to true-district floor-division in passing (same doc/impl mismatch class). Second pixel-vs-metre conflation fixed in aliveness_probe's anchor-walk math. Window path byte-unchanged (window_derivation_golden 6/6 byte- identical); derivation_harness golden untouched; believability golden regenerated. Full lib + integration suites green. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
85 lines
1.7 KiB
JSON
85 lines
1.7 KiB
JSON
[
|
|
{
|
|
"body_id": "GJ338Bd",
|
|
"world_seed": 13200299156134074780,
|
|
"district_count": 2048,
|
|
"voxel_sampled_districts": 64,
|
|
"contrast": {
|
|
"moisture_q": {
|
|
"min": 17,
|
|
"max": 97,
|
|
"distinct": 74
|
|
},
|
|
"elev_q": {
|
|
"min": 0,
|
|
"max": 100,
|
|
"distinct": 101
|
|
},
|
|
"slope_q": {
|
|
"min": 0,
|
|
"max": 31,
|
|
"distinct": 31
|
|
},
|
|
"ocean_fraction_q": {
|
|
"min": 0,
|
|
"max": 100,
|
|
"distinct": 44
|
|
},
|
|
"morphology_zones": 9,
|
|
"vegetation_classes": 4,
|
|
"terrain_materials": 4,
|
|
"voxel_relief_m": 27,
|
|
"micro_habitat_distinct": 2
|
|
},
|
|
"coherence": {
|
|
"water_districts": 46,
|
|
"water_districts_wet": 46,
|
|
"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": 24,
|
|
"distinct": 25
|
|
},
|
|
"elev_q": {
|
|
"min": 0,
|
|
"max": 100,
|
|
"distinct": 101
|
|
},
|
|
"slope_q": {
|
|
"min": 0,
|
|
"max": 15,
|
|
"distinct": 15
|
|
},
|
|
"ocean_fraction_q": {
|
|
"min": 0,
|
|
"max": 100,
|
|
"distinct": 36
|
|
},
|
|
"morphology_zones": 6,
|
|
"vegetation_classes": 2,
|
|
"terrain_materials": 2,
|
|
"voxel_relief_m": 22,
|
|
"micro_habitat_distinct": 0
|
|
},
|
|
"coherence": {
|
|
"water_districts": 19,
|
|
"water_districts_wet": 19,
|
|
"drainage_samples": 0,
|
|
"drainage_monotonic": 0,
|
|
"vegetation_samples": 64,
|
|
"vegetated_districts": 0
|
|
}
|
|
}
|
|
]
|