pub fn fillet_edges_reported(
solid: &BrepSolid,
edge_points: &[Vec3],
edge_names: Option<&[String]>,
radius: f64,
chamfer: bool,
name: Option<&str>,
) -> Result<(BrepSolid, BlendSelection), String>Expand description
fillet_edges with the selection outcome reported rather than refused.
The result is the same solid fillet_edges would build; the difference is
that an incomplete selection comes back as Ok with the misses named,
which is the explicit partial-result contract. Every named refusal that
applies to the WHOLE selection — mixed concavity, a radius the local wall
cannot hold, a mixed-convexity corner — is still an Err: dropping edges
cannot rescue those, so a partial answer would be a different defect.