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.
This commit is contained in:
Doxa Maps 2026-09-28 16:53:33 +00:00
parent edcc31d36e
commit b8bf3f4c47

View file

@ -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