From b8bf3f4c4731acc327a11aad23975ac0f4ab1795 Mon Sep 17 00:00:00 2001 From: Doxa Maps Date: Mon, 28 Sep 2026 16:53:33 +0000 Subject: [PATCH] The latitude ceiling belongs to extentFraction, not to a chart's extent gospel measured it across extents 100 / 228 / 260 / 1000 and I confirmed: |lat| is 52.070 at frac 0.17 for all four, identical to three decimals. K = extentFraction / extent and the outermost point sits at u = extent, so u*K = extentFraction whatever the extent is. It is worth the header because it kills the fix a reader would try first. Someone whose drawing hits the engines' ~85 degree clamp will reach for a smaller extent, and it buys nothing at all -- extent is a unit choice; the fraction is the whole ceiling. The corollary is the useful half: one assertion on extentFraction covers every consumer, so the shared module needs no per-chart latitude guard. --- library/maps/whiteboard-projection.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/library/maps/whiteboard-projection.js b/library/maps/whiteboard-projection.js index 98b59e85b..1e8fba659 100644 --- a/library/maps/whiteboard-projection.js +++ b/library/maps/whiteboard-projection.js @@ -46,6 +46,14 @@ * engines clamping around 85. So the parameter's usable range is bounded by how close to the pole the * outermost point lands, not by any deformation of shape. * + * ★ AND THAT CEILING BELONGS TO extentFraction ALONE — NOT to a chart's extent (gospel, measured, and + * it kills the fix someone would reach for first). K = extentFraction / extent and the outermost point + * sits at u = extent, so u*K = extentFraction whatever the extent is: |lat| is 52.070 at frac 0.17 for + * extents 100, 228, 260 and 1000 alike, identical to three decimals. A consumer whose drawing hits the + * clamp therefore gains NOTHING by choosing a smaller extent — extent is a unit choice, the fraction is + * the whole ceiling. The useful corollary is that one assertion on extentFraction covers every chart; + * no per-consumer latitude guard is needed. + * * ★ EXTRACTED, NOT WRITTEN. This was private inside library/scripts/build-language-tree.mjs and would * have been copied the moment a second chart needed it — gospel's set charts were about to scale * linearly by one number, which renders concentric rings as ovals, worst at the outer ring where the