pub fn lower_masks(
data: &EdgeFeatureData,
child: &DynamicObject,
) -> (LoweredMasks, LowerReport)Expand description
The masks for data against child, in the child’s frame.
Unresolvable/unsupported edges are skipped and counted.
Edges resolve against the unfeatured child (inner chamfers/fillets stripped): a sibling feature’s cut must not trim a stored edge’s surviving run, or the mask stops short of shared corners and a sliver of the original sharp edge pokes through where mixed-kind features meet. Full-length masks simply overlap at corners, matching the same-kind merge behavior.