Skip to content

axiolid-curve-evaluate-contract ​

Portable curve evaluation capability contract: point, tangent and oriented frame at a distance.

Latest release0.3.9 (2026-11-07)
crates.ioaxiolid-curve-evaluate-contract
Layercontracts (contract.operation)
API documentationrustdoc · docs.rs
Sourcecrates/contracts/operations/curve-evaluate/

Overview ​

The curve-evaluation capability as a contract: point, tangent and oriented frame at a place on a Curve3, plus a conformance suite every provider must pass. A caller says whether its number is a distance or a native parameter (CurveMeasure), and a provider says which distance it measures for each curve (DistanceConvention) or that it cannot. Frames are reference-up, not Frenet: x tangent, y up, z right. The *_on queries read a seam side (SeamSide) by the station seam rule of ADR 0082; a provider that does not implement them refuses Incoming by name. The path_* queries read a CurvePath, pieces of curves laid end to end (a composite, a trim, segments placed at stations), as a composite station basis is read; a provider that does not implement them refuses them by name. A piece's open end is resolved by the provider with its own length of the curve. path_joint_distances certifies where a path's joints lie, each a DistanceInterval containing its true distance, or is refused by name; path_joint_distances_within certifies only the joints that can fall within a window, so a piece whose length cannot be certified after the window does not refuse them. This crate evaluates nothing itself; axiolid-evaluate provides the scalar implementation. See ADR 0063.

Depends on ​

Changes ​

Latest release, 0.3.9 (2026-11-07):

Added ​

  • The package now ships LICENSE and LICENSE-COMMERCIAL (symlinks to the repository root), so the licence texts travel with the archive (#358).

Full history: crates/contracts/operations/curve-evaluate/CHANGELOG.md

Released under the Mozilla Public License 2.0.