# Changelog ## 1.1.0 - 2026-08-15 - Added the dedicated `tikzphysics.ramps` library with `ramp` and `curved-ramp` node shapes. Each ramp is a single closed geometry with one continuous contact line; the straight floor-to-incline corner remains sharp. - Added right- and left-facing ramp variants, angle- or rise-driven straight geometry, circular radius/sweep/back-extension controls, and detailed named structural anchors. - Added `surface-0..100` plus `.0..100` shorthand on both ramps, with `tangent-before-T`, `tangent-after-T`, and `normal-T` orientation helpers at every integer sample. - Added full straight- and curved-ramp systems, a variant gallery, regression coverage, quick-reference entries, and a detailed manual section explaining the uncommon geometry and block-placement method. - Added `\physicsrampangle` for a labeled acute-angle mark at the sharp straight-ramp foot. - Extended `curved-ramp` with a configurable horizontal floor before the arc. The full `surface-*` family follows floor plus curve, while `curve-*` and curve-specific tangent/normal helpers address the circular portion alone. - Added `spring` / `physicsspring` as a named mechanics node with exact attachment and coil-boundary anchors. Its total length uses native `minimum width`; the standard coil names `pre length`, `post length`, `amplitude`, `segment length`, and `aspect` work directly on the node, with collision-safe aliases also available. Amplitude and segment length both default to `4.5pt`. - Restyled the user manual with Fourier typography and compact Dracula-themed `minted` listings, and documented the shell-escape requirement for building the manual (not for using the package). - Extended `tikzphysics.optics` with symmetric `convex-lens` and `concave-lens` shapes, a rectangular `slab`, and an isosceles `prism`. - Corrected the original curved element's classification: it is now exposed as `concave-mirror`, with a reflected `convex-mirror` variant and `surface-0..100` anchors. - Added named and numeric optical-surface anchors, concise unit-aware keys, complete component and ray-composition examples, and debug registrations for every new optical shape. - Added `.0` through `.100` primary-surface shorthand anchors and complete converging/diverging ray diagrams for both lens and mirror types. - Corrected the lens ray examples so every non-axial ray refracts at both interfaces. The fixed $n=1.50$ panels use Snell-law-derived exit and focal coordinates; spherical-mirror panels are identified as paraxial diagrams. - Kept slabs and prisms as transparent outlines, and placed the convex mirror's reflecting arc on its left boundary. - Added concise public styles: `platform`, `platform-left`, `platform-right`, `platform-both`, `wedge`, `ground`, `ceiling`, `wall-left`, `wall-right`, `block`, `pulley`, `concave-mirror`, `convex-mirror`, `convex-lens`, `concave-lens`, `slab`, and `prism`. - Kept the `physics...` style names as collision-safe alternatives for documents that already define generic TikZ styles. - Added complete copy-paste documents for short-name platform/pulley and inclined-plane pulley compositions. - Added a complete wedge document covering native and convenience width, angle- and height-driven geometry, and the `br`, `bl`, and `top` modes. - Added concise wedge keys: `wedge width`, `wedge height`, `wedge angle`, and `wedge right angle at`; the `physics wedge ...` forms remain collision-safe aliases. ## 1.0.0 - 2026-08-12 First public release. ### Surface diagrams - Added `physicsplatform-left`, `physicsplatform-right`, and `physicsplatform-both`. - Platform floors and walls render as one closed patterned polygon, with exact sharp miters on the inner edge and no connection seam. - Added independent `physics left wall angle` and `physics right wall angle` controls. - Added `physicswedge` with bottom-left, bottom-right, and top right-angle modes. - Added `physicsground`, `physicsceiling`, `physicswall-left`, and `physicswall-right`. - Added named floor, wall, corner, wedge, and contact-surface anchors. ### Mechanics and optics - Added configurable `physicsblock` and `physicspulley` styles. - Added `\physicsstringoverpulley`, which joins its endpoint coordinates to a pulley through exact tangent segments and a circular contact arc. - Added a default `surface-right` string route and named `over`, `under`, and `shortest` presets, plus complete flat-plane, inclined-plane, bent-platform, and hanging-mass examples. Surface examples place the pulley so the block-side string is exactly parallel to its supporting surface and passes over the upper pulley rim; pulley supports are kept compact. - Added `physicslens`, with front/back surface anchors and parametric arc anchors. ### Shared facilities - Bare size values are interpreted as centimetres; explicit TeX units are preserved. - Invalid non-positive lengths and degenerate wedge/lens angles produce package errors close to the originating key. - Straight edges and lens arcs expose integer parametric anchors from 0 to 100. - Added `physics debug/anchors`, `physics debug/keys`, and `physics debug/all` overlays. - Debug key panels prefer native TikZ sizing names while package-specific keys and all unit-aware convenience aliases remain available. - Added an `l3build` regression suite and reproducible CTAN packaging. ### Public API - Package-specific configuration keys use a consistent `physics ...` prefix; native TikZ sizing keys are also supported directly. - The project intentionally makes no compatibility promise for pre-release prototypes distributed before version 1.0.0.