Retry a face's parameter boundary leniently (#970)

Cutting one lofted round tube from another failed in truck's divide_face ("parameter boundary") for some section counts: the intersection points lie on the loft's seam, the previous point's parameter can sit a hair outside the range, and the Newton search from there fails.

The boundary is built as before; only when that returns None is it built again leniently, starting each search from the hint clamped into the parameter range and, as a last resort, searching the whole surface. Nothing that succeeds today changes. The boolean-retry guards are untouched.

Fixes 5 of the 6 failing hollow-elbow cases in #968 (new test crates/engine/src/tests/loft_cut.rs, volumes within 0.3% of exact). 90 degrees / 14 sections still fails in a later step and stays open in #968.
This commit is contained in:
Giovanni authored and GitHub committed 2026-10-14 01:50:00 -04:00
1 parent 4687e3b073
commit 9c51f9d433
3 files changed
+88 -8

No files matched your search

+1
View File
@@ -254,6 +254,7 @@ fn join_of_two_overlapping_rings_is_not_refused() {
mod boolean_diagnostics;
mod component_frames;
mod loft_cut;
mod mirror_planes;
mod path_scope;
mod primitive_points;