Completes the GenerateSkeleton dispatch T-1022 wired (which only carried
founding_orientation). build_skeleton_work_item now also threads:
T-1039:
- political_archetype — real value from CityPlacement, replacing the Commission stub.
- morphology_zone — looked up from the covering DistrictProfile via new
scale::heightmap_pixel_to_district (exported HEIGHTMAP_CELLS_PER_DISTRICT;
cascade.rs drops its local CELLS_PER_REGION literal for the shared const).
- arrangement_pattern — RE-DERIVED at L4 (option b) via the single pure fn
attractor_matching::arrangement_pattern(&archetype, &economic_role); both
inputs already at L4. No CityGenerationContext field, no stored derived state
(DB-as-cache). Parity test asserts L4 re-derivation == L3-stored value.
T-1043:
- road_entry_directions — derived from T-1038's BodyWorldState.road_graph:
octant = bearing of each incident road edge, deduped per octant, ordered by
MaintenanceAuthority rank (the AdminFacing prestige-edge consumer). Feeds
derive_access_points -> AccessKind::QuarterEdge; BlockJunction fallback now
fires only for genuinely isolated settlements.
Acceptance covered: Corporate+Fjord -> Ribbon topology (not mesh+Commission);
settlement with a road -> QuarterEdge on the correct octant. 11 new tests.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
First phase of the D-243 re-scale. Adds server/src/atlas/scale.rs as the
single source of truth for the metric containment ladder (voxel 1m -> chunk
64m -> block 128m -> quarter 512m -> district 2048m -> region 204.8km), the
fixed integer addressing (ChunkPos -> DistrictPos -> RegionPos), and the
elastic seam regions_per_equator(R). Compile-time const asserts enforce the
nesting so the rungs cannot silently drift again — the structural fix for the
Q-110 failure mode (three files, three different region sizes).
Wires body_radius_km (D-204) through BodyParams + the reader: the single
body-specific input to the elastic seam.
No behavior change — foundation only. The rename/re-scale of the carrier
(RegionProfile -> DistrictProfile) and on-demand district derivation follow.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>