Module profile

Source
Expand description

Profile -> 2D polygon rings, then triangles.

Curved boundaries are flattened to chords under an explicit TessellationOptions-style budget; nothing here invents a default tolerance.

Triangulation of rings-with-holes is delegated to earcut (MIT/Apache-2.0, pure Rust). ADR 0015 records why: hole bridging is a solved problem and a hand-rolled version failed its own area gate on the two-hole case. axiolid_reference::triangulate_simple is retained as the differential oracle for the hole-free case, so the adopted implementation is audited, not trusted.

Structs§

Rings
Outer ring plus holes, all CCW/CW normalised by the caller’s contract: outer counter-clockwise, holes clockwise.

Functions§

profile_rings
Flatten a profile into rings under an explicit chord budget.
triangulate
Triangulate rings into a flat index buffer over a single vertex list.