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.