docs(simulation): update step_canvas row-space doc — T-1186 is fixed (PR #206 review)
Hoshe's review finding: the build_step_canvas row-space convention block still described region_centre_latitude_deg as pole-anchored/bugged and said 'T-1186 stays open' — both false after this PR's own first commit. Rewritten to reflect the fixed state; the deliberate signed-convention rationale and the layer_proxy deferral (still true, still T-1181's scope) are preserved. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -896,34 +896,29 @@ fn resolve_canvas_extent(
|
||||
/// origin-anchored — see the row-space convention note below); required for
|
||||
/// every fixed rung (the canvas centre in world metres).
|
||||
///
|
||||
/// **Row-space convention (T-1186 interaction — MUST READ):** the Global
|
||||
/// (rung-0) canvas uses **equator-anchored SIGNED region rows**
|
||||
/// **Row-space convention (T-1186 — resolved):** the Global (rung-0) canvas
|
||||
/// uses **equator-anchored SIGNED region rows**
|
||||
/// (`wy = (row - rows/2) * REGION_M`, negative = north), matching the canonical
|
||||
/// `derive_orbital_at_metres`/`derive_at_metres_with_riparian` convention
|
||||
/// (D-256(a): the ONE absolute-metre derive core; that core's own internal
|
||||
/// `district_pos` floor-division and `lat_frac` computation are both
|
||||
/// equator-anchored-signed). This is a DELIBERATE DEPARTURE from two
|
||||
/// existing non-negative pole-anchored row conventions already in this
|
||||
/// codebase: (1) `region_profile::region_centre_latitude_deg` (row 0 = north
|
||||
/// pole, `lat_frac` clamped to `[0, 1]`) — the exact function T-1186
|
||||
/// documents as bugged when fed the derive core's signed rows; (2)
|
||||
/// equator-anchored-signed). When this canvas was built, that was a
|
||||
/// DELIBERATE DEPARTURE from two non-negative pole-anchored row conventions
|
||||
/// then in the codebase — chosen because signed-equator rows are the only
|
||||
/// shape consistent with D-256(a)'s "one derive core, one inverse mapping"
|
||||
/// principle, and using either pole-anchored convention here would have
|
||||
/// reproduced T-1186's bug class in a third place. Since then: (1)
|
||||
/// `region_profile::region_centre_latitude_deg` — T-1186's actual bug, the
|
||||
/// baseline-latitude function this derive core reaches transitively via
|
||||
/// `region_baseline_at_district` — is **fixed** (PR #206) to the same
|
||||
/// equator-anchored signed inverse mapping, so the baseline latitude every
|
||||
/// canvas cell receives now agrees with these rows on every rung. (2)
|
||||
/// `layer_proxy::build_region_grid`/`LayerRegionOutput` (non-negative `ry`
|
||||
/// rows, `0..=max_region.1`) — the collapsed whole-body region layer D-256(f)
|
||||
/// explicitly deferred to THIS rebuild ("the overlay stays visibly stale
|
||||
/// until T-1181 replaces it — accepted, noted"). Signed-equator rows are the
|
||||
/// only choice consistent with D-256(a)'s "one absolute-metre derive core,
|
||||
/// one inverse mapping" principle — using either pre-existing non-negative
|
||||
/// convention here would reproduce T-1186's bug class in a THIRD place. This
|
||||
/// derive core does **not** fix T-1186 itself (the bug lives in
|
||||
/// `region_centre_latitude_deg`, called transitively via
|
||||
/// `region_baseline_at_district` inside `derive_orbital_at_metres`) — every
|
||||
/// Global-canvas cell at a genuinely northern (negative signed-row) position
|
||||
/// still receives T-1186's wrong (+90°, polar) baseline latitude today, same
|
||||
/// as the Region/District/Quarter/Block/Chunk rungs already do via the same
|
||||
/// shared derive core. T-1186 stays open, tracked separately, exactly as the
|
||||
/// ticket's KNOWN INTERACTION note requires — fixing it here would touch
|
||||
/// `region_centre_latitude_deg`'s shared convention, which is explicitly out
|
||||
/// of this ticket's scope (T-1186 is "a separate ruled convention change").
|
||||
/// rows, `0..=max_region.1`) remains the one pole-anchored outlier — the
|
||||
/// collapsed whole-body region layer D-256(f) explicitly deferred to THIS
|
||||
/// rebuild ("the overlay stays visibly stale until T-1181 replaces it —
|
||||
/// accepted, noted"); unifying it onto the signed convention is proposed
|
||||
/// for T-1181's scope, at which point one convention remains codebase-wide.
|
||||
#[allow(clippy::too_many_arguments)]
|
||||
pub fn build_step_canvas(
|
||||
seed: SeedChain,
|
||||
|
||||
Reference in New Issue
Block a user