svg_path/intersections2
Experimental window-preserving curve intersection search.
Unlike svg_path/intersections, this module treats parameter rectangles as
the search state. It discards a rectangle only when exact curve-piece
bounds separate, and uses chord crossing as positive evidence for a
transverse root. The implementation is intentionally separate while its
contracts and tangency behavior are evaluated.
Types
Values
pub fn segment(
left: svg_path.Segment,
right: svg_path.Segment,
) -> Result(List(svg_path.SegmentIntersection), svg_path.Error)
Find intersections while preserving parameter windows.
Transverse roots are seeded by chord crossings and refined by tangent-line Newton steps. Nontransverse contacts remain discoverable through exact curve-piece bounding-box subdivision and coincident terminal samples.
pub fn segment_with(
left: svg_path.Segment,
right: svg_path.Segment,
tolerance tolerance: Float,
max_depth max_depth: Int,
) -> Result(List(svg_path.SegmentIntersection), svg_path.Error)
Find intersections with explicit geometric tolerance and subdivision depth.