Background¶
Why the package works the way it does. None of this is needed to use the API, but it explains the refusals and the design choices behind them.
Architecture: the two workflows, build time and runtime, and what each package is responsible for.
Design guarantees: what plain PROJ does and what this package does instead, and why.
Axis order: declared axis order versus value order, and the PROJ gap that is worked around.
Bound CRSs: early binding, how a bound CRS is stored, and collapsing a chain into one step.
Provenance: what a result records, and how a custom database is traced back to its inputs.
Known issues and workarounds: every defect or gap this package works around, with the condition for removing each workaround.