# `mighty_miter.core` The portable layer: geometry and export, in millimeters and radians, with no CAD kernel attached. It must never import `adsk` (ADR-002). ```{eval-rst} .. automodule:: mighty_miter.core :no-index: ``` ## `core.linalg` ```{eval-rst} .. automodule:: mighty_miter.core.linalg :members: ``` ## `core.types` ```{eval-rst} .. automodule:: mighty_miter.core.types :members: ``` ## `core.protocols` ```{eval-rst} .. automodule:: mighty_miter.core.protocols :members: ``` ## `core.errors` ```{eval-rst} .. automodule:: mighty_miter.core.errors :members: ``` ## `core.datum` The datum frame: circumferential and axial zero. Derived from an explicit geometric direction and **never** from a reported parametric window (ADR-015, PRD 7.14). ```{eval-rst} .. automodule:: mighty_miter.core.datum :members: ``` ## `core.unroll` The unrolling tiers (PRD 6.0). Each maps a curve on a host face into template coordinates; which tier applies is decided by numerical classification, not by what the user says the shape is. ```{eval-rst} .. automodule:: mighty_miter.core.unroll :members: ``` ### `core.unroll.cylinder` Tier A — the exact cylinder unroller (PRD 6.2). ```{eval-rst} .. automodule:: mighty_miter.core.unroll.cylinder :members: ``` ## `core.export` Self-authored output files. The add-in never calls a Fusion export API, because those are licence-gated and that gate has already moved once (PRD 8.1, ADR-013). ```{eval-rst} .. automodule:: mighty_miter.core.export :members: ``` ### `core.export.pdf` A minimal, dependency-free PDF 1.4 writer (PRD 8.2), differentially tested against `pypdf` (PRD 13.3 T14). ```{eval-rst} .. automodule:: mighty_miter.core.export.pdf :members: ``` ## `core.template` Assembles an unrolled miter curve onto a printable 1:1 sheet, with the calibration geometry that makes the print verifiable before metal is cut (FR-6, PRD 8.4). ```{eval-rst} .. automodule:: mighty_miter.core.template :members: ```