From cf40a3e6c67f0e13a8137fe0c4cfbef698451fbd Mon Sep 17 00:00:00 2001 From: jyviko <2501648+jyviko@users.noreply.github.com> Date: Fri, 30 Oct 2026 08:30:32 -0400 Subject: [PATCH] Boolean regression test: the raked wedge's R4 rounds the four edges the issue picked raked_wedge (#1617, test from 7f2ae11a0 on 2026-10-17) rounds four end edges R4. Since 84bd2daad (2026-10-22) solid.fillet carries each picked edge round its tangent chain by default, so the R4 now ran on round the end outline onto the R1.2 round's end arc, where the round's rail on the end face would be an arc of radius 1.2 - 4 < 0, and it is refused as too large. The issue's R4 rounds those four edges alone: the step says tangent_chain: false. The test still fails, one step later, on SMLib: the issue's R0.854 round of both ends' outline is refused by SMLib's own check (SmBSplineSurface Test #5, "close to singular at boundary"), reported for the SMLib batch. Co-Authored-By: Claude Opus 5.5 --- crates/engine/src/boolean_regression_tests.rs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/crates/engine/src/boolean_regression_tests.rs b/crates/engine/src/boolean_regression_tests.rs index 69cb1f5c3a..8731e71cbb 100644 --- a/crates/engine/src/boolean_regression_tests.rs +++ b/crates/engine/src/boolean_regression_tests.rs @@ -682,7 +682,7 @@ fn ring_notch() -> f64 { } /// The wedge of #1617: a side profile in (y, z) extruded 138 mm along x, its back face leaning -/// by `lean` (the tangent of its angle), with the issue's rounds. The last one runs along the +/// by `lean` (the tangent of its angle), with the issue's rounds, each on the edges it picked. The last one runs along the /// outline of both ends. The issue asked for R1 with `fit: reduce`, which reduces it to 0.854 mm; /// that radius is asked for here directly, which builds the same body without the fit's search /// (about a minute). @@ -700,7 +700,14 @@ fn raked_wedge(lean: f64) -> Session { ("solid.fillet", json!({"body": "Wedge", "radius": 1.2, "edges": [[0, -60, 22]]})), ("solid.fillet", json!({"body": "Wedge", "radius": 1.5, "edges": [[0, -22, 22]]})), ("solid.fillet", json!({"body": "Wedge", "radius": 1.5, "edges": [[0, 38, 60]]})), - ("solid.fillet", json!({"body": "Wedge", "radius": 4, "edges": [[-69, -60, 12], [69, -60, 12], [-69, back, 30], [69, back, 30]]})), + // The issue's R4 rounds these four end edges alone: carried on round the end outline + // (tangent propagation, the feature's default since 84bd2daad, after this test), it would + // run onto the R1.2 round's end arc, where its rail on the end face would be an arc of + // radius 1.2 - 4 < 0. + ( + "solid.fillet", + json!({"body": "Wedge", "radius": 4, "tangent_chain": false, "edges": [[-69, -60, 12], [69, -60, 12], [-69, back, 30], [69, back, 30]]}), + ), ("solid.fillet", json!({"body": "Wedge", "radius": 0.854, "edges": ends})), ]; for (command, params) in steps {