pub struct Arc {
pub nodes: [NodeId; 2],
pub sources: [EdgeId; 2],
}Expand description
An edge of the skeleton graph: a straight segment traced by one wavefront vertex as it moved.
§Provenance
Every arc separates the faces of exactly two input edges — the two in
Arc::sources — and every point along it is equidistant from those two
edges’ supporting lines. This is not an approximation or a post-hoc lookup:
it is what an arc is. A wavefront vertex exists precisely where two
shrinking edges meet, and it carries those two edge ids with it as it sweeps
the arc out.
So tracing an arc back to the input it came from is a field access, at zero
cost. See Node::sources for the one caveat: on a non-convex polygon
these are the edges whose faces meet here, which is not always the same as
the Euclidean-nearest edges.
Fields§
§nodes: [NodeId; 2]The arc’s two endpoints. nodes[0] is always the lower-offset end, so
arcs point “uphill”, away from the boundary.
sources: [EdgeId; 2]The two input edges whose faces this arc separates.