Skip to content

evaluate: certify lengths of planar 3D intrinsic curves (zero torsion), as the 2D case is #302

Closed

Description

@GeneralPawz

A Curve3::Intrinsic (a curve given by its curvature law) is refused as UNCERTIFIED_LENGTH when used as a station basis or a curve-path piece, even far from any joint. The #294 certified-length code certifies 2D intrinsic curves (and the plans of elevated curves) by the midpoint rule with curvature-law derivative bounds, but treats every 3D intrinsic curve as uncertifiable. A planar 3D intrinsic, with zero torsion and lying in a known plane, is as certifiable as the 2D case. One example: an offset of a stand-alone composite of curve segments containing a clothoid, which lowers to a planar Curve3::Intrinsic.

Needed

  • Recognise a planar Curve3::Intrinsic exactly from its stored data (zero torsion law, or whatever the representation says makes it planar), and certify its length and its offsets' lengths as the 2D case does, in its own plane.
  • Keep refusing by name the non-planar ones that cannot be certified.

Done when

  • Stations and path_joint_distances on a planar 3D clothoid, and on an offset of it, give certified intervals that contain an independent high-precision reference.
  • A non-planar intrinsic is still refused by name.
  • A mutation probe on the shared runner covers the planarity test.

Lower priority: the consumer has no real file with this yet.

Activity

  1. GeneralPawz commented on Oct 12, 2026

    @GeneralPawz
    ContributorAuthor

    Triage: accepted, low. Deferred until a consumer has a real file that needs it; it does not block anything today.

  2. GeneralPawz commented on Oct 14, 2026

    @GeneralPawz
    ContributorAuthor

    Fixed in 9e86fbf, released in axiolid-evaluate 0.3.16..

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions