diff --git a/render-wasm/src/math/bools.rs b/render-wasm/src/math/bools.rs index 0215e50dca..ef9748f673 100644 --- a/render-wasm/src/math/bools.rs +++ b/render-wasm/src/math/bools.rs @@ -83,7 +83,7 @@ pub fn split_intersections(segment: Bezier, intersections: &[f64]) -> Vec (Vec, Vec ); intersects_b[j].extend(intersections_a.iter().map(|t_a| { - segment_b.project( - segment_a.evaluate(TValue::Parametric(*t_a)), - Some(PROJECT_OPTS), - ) + segment_b + .project( + segment_a.evaluate(TValue::Parametric(t_a.clamp(0.0, 1.0))), + Some(PROJECT_OPTS), + ) + .clamp(0.0, 1.0) })); - intersects_a[i].extend(intersections_a); + intersects_a[i].extend(intersections_a.iter().map(|t| t.clamp(0.0, 1.0))); } }