diff --git a/tests/kernel-cases/fillets/KNOWN_FAILING b/tests/kernel-cases/fillets/KNOWN_FAILING index bd35422c8c..625d4b98c5 100644 --- a/tests/kernel-cases/fillets/KNOWN_FAILING +++ b/tests/kernel-cases/fillets/KNOWN_FAILING @@ -16,12 +16,10 @@ cov-chamfer-concave-edge-through-up-down-joined-squares SMLib status 1001 on the concave chamfer's tangent chain cov-chamfer-outer-corner-edge-of-a-shelled-box-with-a-lip SMLib's chamfer result is not a closed solid where it ends on the lip cov-fillet-arc-edge-on-an-oblique-cut-of-a-bar SMLib's check refuses the round: internal coincident control points in a B-spline curve -cov-fillet-g2-default-corner-beside-a-cylinder the default fillet is the circular (G1) round, not yet the curvature-continuous one: its seams with the faces jump in curvature by 1/r (0.5 / mm) -cov-fillet-g2-default-five-edge-apex-corner the default fillet is the circular (G1) round, not yet the curvature-continuous one: and the apex patch meets two rounds at 8.45 degrees (G0) near (0.708, 1.556, 26.824) -cov-fillet-g2-default-four-edge-apex-corner the default fillet is the circular (G1) round, not yet the curvature-continuous one: the apex patch meets the rounds G1 only (curvature jump 6.6 / mm) -cov-fillet-g2-default-mixed-corner the default fillet is the circular (G1) round, not yet the curvature-continuous one: its seams with the faces jump in curvature by 1/r (0.5 / mm) -cov-fillet-g2-default-oblique-three-edge-corner the default fillet is the circular (G1) round, not yet the curvature-continuous one: its seams jump in curvature by 1/r (0.5 / mm) -cov-fillet-g2-default-pocket-corner the default fillet is the circular (G1) round, not yet the curvature-continuous one: its seams jump in curvature by 1/r (0.5 / mm) +cov-fillet-g2-corner-beside-a-cylinder not supported yet: the curvature fillet builds its sections only between planar faces ("a picked edge is not on the face beside it" on the cylinder's arc) +cov-fillet-g2-five-edge-apex-corner refused: the default setback is shorter than where the rounds' contact lines meet (3.5056 mm from the apex); the corner should take a setback that works +cov-fillet-g2-four-edge-apex-corner refused: the default setback is shorter than where the rounds' contact lines meet (3.9027 mm from the apex); the corner should take a setback that works +cov-fillet-g2-mixed-corner not supported yet: SMLib sets back a corner only where its edges are all convex or all concave every-block-cylinder-crease-top-edge-after-arc-round-r1 the r1 round's contact seam with the block's side face reads 60 degrees (the cylinder wall's normal) at its end on the crease (8.660, 5, 15.284): G0 where the round is built tangent every-hole-top-rim-r12-past-plate-bottom SMLib status 1001: a convex round past its face on the tangent side is not yet built by subtraction report-drafted-peg-front-and-concave-rounds-together-r2 not supported yet: SMLib refuses the corner where the drafted front top edge runs tangent into the concave arc (on the cone) as of no kind its blend corners take diff --git a/tests/kernel-cases/fillets/cov-fillet-g2-default-corner-beside-a-cylinder/expected.json b/tests/kernel-cases/fillets/cov-fillet-g2-corner-beside-a-cylinder/expected.json similarity index 70% rename from tests/kernel-cases/fillets/cov-fillet-g2-default-corner-beside-a-cylinder/expected.json rename to tests/kernel-cases/fillets/cov-fillet-g2-corner-beside-a-cylinder/expected.json index a0dad095ce..93379d7152 100644 --- a/tests/kernel-cases/fillets/cov-fillet-g2-default-corner-beside-a-cylinder/expected.json +++ b/tests/kernel-cases/fillets/cov-fillet-g2-corner-beside-a-cylinder/expected.json @@ -1,7 +1,7 @@ { - "what": "the corner of a half cylinder's top (the top's arc, its straight edge and the upright seam where the flat face meets the cylinder) filleted 2 with the default type", + "what": "the corner of a half cylinder's top (the top's arc, its straight edge and the upright seam where the flat face meets the cylinder) filleted 2 as a curvature-continuous (G2) fillet", "source": "invariants", - "method": "a half disc R10 (the arc from (10, 0) round to (-10, 0) and its diameter) extruded 10; the three edges at (10, 0, 10); the fillet's default section and corner are curvature-continuous (owner, 2026-10-31: G2 by default, tangent rounds an option): every seam of a round and of the corner patch with its neighbours G2, one valid body", + "method": "a half disc R10 (the arc from (10, 0) round to (-10, 0) and its diameter) extruded 10; the three edges at (10, 0, 10); the fillet type curvature (G2 sections and G2 corner patches): every seam of a round and of the corner patch with its neighbours G2, one valid body", "body_count": 1, "continuity": { "order": "g2" diff --git a/tests/kernel-cases/fillets/cov-fillet-g2-default-corner-beside-a-cylinder/recipe.json b/tests/kernel-cases/fillets/cov-fillet-g2-corner-beside-a-cylinder/recipe.json similarity index 95% rename from tests/kernel-cases/fillets/cov-fillet-g2-default-corner-beside-a-cylinder/recipe.json rename to tests/kernel-cases/fillets/cov-fillet-g2-corner-beside-a-cylinder/recipe.json index 8ac71bf29d..723c9a5170 100644 --- a/tests/kernel-cases/fillets/cov-fillet-g2-default-corner-beside-a-cylinder/recipe.json +++ b/tests/kernel-cases/fillets/cov-fillet-g2-corner-beside-a-cylinder/recipe.json @@ -70,7 +70,8 @@ 5 ] ], - "radius": 2 + "radius": 2, + "type": "curvature" } } ] diff --git a/tests/kernel-cases/fillets/cov-fillet-g2-default-five-edge-apex-corner/expected.json b/tests/kernel-cases/fillets/cov-fillet-g2-default-five-edge-apex-corner/expected.json deleted file mode 100644 index 27b3ae1b0f..0000000000 --- a/tests/kernel-cases/fillets/cov-fillet-g2-default-five-edge-apex-corner/expected.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "what": "the 5 slant edges of a 5-sided pyramid filleted 2 with the default type: a convex corner of 5 edges at the apex", - "source": "invariants", - "method": "a regular 5-gon of circumradius 20 lofted to the apex (0, 0, 30); its 5 slant edges; the fillet's default section and corner are curvature-continuous (owner, 2026-10-31: G2 by default, tangent rounds an option): every seam of a round and of the corner patch with its neighbours G2, one valid body", - "body_count": 1, - "continuity": { - "order": "g2" - } -} diff --git a/tests/kernel-cases/fillets/cov-fillet-g2-default-four-edge-apex-corner/expected.json b/tests/kernel-cases/fillets/cov-fillet-g2-default-four-edge-apex-corner/expected.json deleted file mode 100644 index 1ca8f7f992..0000000000 --- a/tests/kernel-cases/fillets/cov-fillet-g2-default-four-edge-apex-corner/expected.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "what": "the 4 slant edges of a 4-sided pyramid filleted 2 with the default type: a convex corner of 4 edges at the apex", - "source": "invariants", - "method": "a regular 4-gon of circumradius 20 lofted to the apex (0, 0, 30); its 4 slant edges; the fillet's default section and corner are curvature-continuous (owner, 2026-10-31: G2 by default, tangent rounds an option): every seam of a round and of the corner patch with its neighbours G2, one valid body", - "body_count": 1, - "continuity": { - "order": "g2" - } -} diff --git a/tests/kernel-cases/fillets/cov-fillet-g2-five-edge-apex-corner/expected.json b/tests/kernel-cases/fillets/cov-fillet-g2-five-edge-apex-corner/expected.json new file mode 100644 index 0000000000..a359951cf9 --- /dev/null +++ b/tests/kernel-cases/fillets/cov-fillet-g2-five-edge-apex-corner/expected.json @@ -0,0 +1,9 @@ +{ + "what": "the 5 slant edges of a 5-sided pyramid filleted 2 as a curvature-continuous (G2) fillet: a convex corner of 5 edges at the apex", + "source": "invariants", + "method": "a regular 5-gon of circumradius 20 lofted to the apex (0, 0, 30); its 5 slant edges; the fillet type curvature (G2 sections and G2 corner patches): every seam of a round and of the corner patch with its neighbours G2, one valid body", + "body_count": 1, + "continuity": { + "order": "g2" + } +} diff --git a/tests/kernel-cases/fillets/cov-fillet-g2-default-five-edge-apex-corner/recipe.json b/tests/kernel-cases/fillets/cov-fillet-g2-five-edge-apex-corner/recipe.json similarity index 98% rename from tests/kernel-cases/fillets/cov-fillet-g2-default-five-edge-apex-corner/recipe.json rename to tests/kernel-cases/fillets/cov-fillet-g2-five-edge-apex-corner/recipe.json index 2b3e8bdb3f..9b2f724166 100644 --- a/tests/kernel-cases/fillets/cov-fillet-g2-default-five-edge-apex-corner/recipe.json +++ b/tests/kernel-cases/fillets/cov-fillet-g2-five-edge-apex-corner/recipe.json @@ -167,7 +167,8 @@ 15.0 ] ], - "radius": 2 + "radius": 2, + "type": "curvature" } } ] diff --git a/tests/kernel-cases/fillets/cov-fillet-g2-four-edge-apex-corner/expected.json b/tests/kernel-cases/fillets/cov-fillet-g2-four-edge-apex-corner/expected.json new file mode 100644 index 0000000000..230618e4ab --- /dev/null +++ b/tests/kernel-cases/fillets/cov-fillet-g2-four-edge-apex-corner/expected.json @@ -0,0 +1,9 @@ +{ + "what": "the 4 slant edges of a 4-sided pyramid filleted 2 as a curvature-continuous (G2) fillet: a convex corner of 4 edges at the apex", + "source": "invariants", + "method": "a regular 4-gon of circumradius 20 lofted to the apex (0, 0, 30); its 4 slant edges; the fillet type curvature (G2 sections and G2 corner patches): every seam of a round and of the corner patch with its neighbours G2, one valid body", + "body_count": 1, + "continuity": { + "order": "g2" + } +} diff --git a/tests/kernel-cases/fillets/cov-fillet-g2-default-four-edge-apex-corner/recipe.json b/tests/kernel-cases/fillets/cov-fillet-g2-four-edge-apex-corner/recipe.json similarity index 97% rename from tests/kernel-cases/fillets/cov-fillet-g2-default-four-edge-apex-corner/recipe.json rename to tests/kernel-cases/fillets/cov-fillet-g2-four-edge-apex-corner/recipe.json index 46ea158dd7..1ee088fb22 100644 --- a/tests/kernel-cases/fillets/cov-fillet-g2-default-four-edge-apex-corner/recipe.json +++ b/tests/kernel-cases/fillets/cov-fillet-g2-four-edge-apex-corner/recipe.json @@ -147,7 +147,8 @@ 15.0 ] ], - "radius": 2 + "radius": 2, + "type": "curvature" } } ] diff --git a/tests/kernel-cases/fillets/cov-fillet-g2-default-mixed-corner/expected.json b/tests/kernel-cases/fillets/cov-fillet-g2-mixed-corner/expected.json similarity index 60% rename from tests/kernel-cases/fillets/cov-fillet-g2-default-mixed-corner/expected.json rename to tests/kernel-cases/fillets/cov-fillet-g2-mixed-corner/expected.json index fe1fae049a..97c718469d 100644 --- a/tests/kernel-cases/fillets/cov-fillet-g2-default-mixed-corner/expected.json +++ b/tests/kernel-cases/fillets/cov-fillet-g2-mixed-corner/expected.json @@ -1,7 +1,7 @@ { - "what": "a step's corner (the concave step edge, the lower box's convex front top edge, the upper box's convex upright edge) filleted 2 with the default type", + "what": "a step's corner (the concave step edge, the lower box's convex front top edge, the upper box's convex upright edge) filleted 2 as a curvature-continuous (G2) fillet", "source": "invariants", - "method": "a 30 x 20 x 10 box with a 15 x 20 x 10 box joined on its top at x 0..15; the three edges at (15, 0, 10); the fillet's default section and corner are curvature-continuous (owner, 2026-10-31: G2 by default, tangent rounds an option): every seam of a round and of the corner patch with its neighbours G2, one valid body", + "method": "a 30 x 20 x 10 box with a 15 x 20 x 10 box joined on its top at x 0..15; the three edges at (15, 0, 10); the fillet type curvature (G2 sections and G2 corner patches): every seam of a round and of the corner patch with its neighbours G2, one valid body", "body_count": 1, "continuity": { "order": "g2" diff --git a/tests/kernel-cases/fillets/cov-fillet-g2-default-mixed-corner/recipe.json b/tests/kernel-cases/fillets/cov-fillet-g2-mixed-corner/recipe.json similarity index 93% rename from tests/kernel-cases/fillets/cov-fillet-g2-default-mixed-corner/recipe.json rename to tests/kernel-cases/fillets/cov-fillet-g2-mixed-corner/recipe.json index 824e1ca94b..319838eb03 100644 --- a/tests/kernel-cases/fillets/cov-fillet-g2-default-mixed-corner/recipe.json +++ b/tests/kernel-cases/fillets/cov-fillet-g2-mixed-corner/recipe.json @@ -48,7 +48,8 @@ 15 ] ], - "radius": 2 + "radius": 2, + "type": "curvature" } } ] diff --git a/tests/kernel-cases/fillets/cov-fillet-g2-default-oblique-three-edge-corner/expected.json b/tests/kernel-cases/fillets/cov-fillet-g2-oblique-three-edge-corner/expected.json similarity index 57% rename from tests/kernel-cases/fillets/cov-fillet-g2-default-oblique-three-edge-corner/expected.json rename to tests/kernel-cases/fillets/cov-fillet-g2-oblique-three-edge-corner/expected.json index c125731f80..8f83897b15 100644 --- a/tests/kernel-cases/fillets/cov-fillet-g2-default-oblique-three-edge-corner/expected.json +++ b/tests/kernel-cases/fillets/cov-fillet-g2-oblique-three-edge-corner/expected.json @@ -1,7 +1,7 @@ { - "what": "the three edges at a top corner of a block drafted 15 deg (an oblique convex corner) filleted 2 with the default type", + "what": "the three edges at a top corner of a block drafted 15 deg (an oblique convex corner) filleted 2 as a curvature-continuous (G2) fillet", "source": "invariants", - "method": "a 30 x 20 rectangle extruded 10 with a 15 deg inward taper; the top front edge, the top left edge and the drafted edge between them at the corner near (0, 0, 10); the fillet's default section and corner are curvature-continuous (owner, 2026-10-31: G2 by default, tangent rounds an option): every seam of a round and of the corner patch with its neighbours G2, one valid body", + "method": "a 30 x 20 rectangle extruded 10 with a 15 deg inward taper; the top front edge, the top left edge and the drafted edge between them at the corner near (0, 0, 10); the fillet type curvature (G2 sections and G2 corner patches): every seam of a round and of the corner patch with its neighbours G2, one valid body", "body_count": 1, "continuity": { "order": "g2" diff --git a/tests/kernel-cases/fillets/cov-fillet-g2-default-oblique-three-edge-corner/recipe.json b/tests/kernel-cases/fillets/cov-fillet-g2-oblique-three-edge-corner/recipe.json similarity index 96% rename from tests/kernel-cases/fillets/cov-fillet-g2-default-oblique-three-edge-corner/recipe.json rename to tests/kernel-cases/fillets/cov-fillet-g2-oblique-three-edge-corner/recipe.json index 11f1046395..5298f8c5aa 100644 --- a/tests/kernel-cases/fillets/cov-fillet-g2-default-oblique-three-edge-corner/recipe.json +++ b/tests/kernel-cases/fillets/cov-fillet-g2-oblique-three-edge-corner/recipe.json @@ -99,7 +99,8 @@ 5 ] ], - "radius": 2 + "radius": 2, + "type": "curvature" } } ] diff --git a/tests/kernel-cases/fillets/cov-fillet-g2-default-pocket-corner/expected.json b/tests/kernel-cases/fillets/cov-fillet-g2-pocket-corner/expected.json similarity index 64% rename from tests/kernel-cases/fillets/cov-fillet-g2-default-pocket-corner/expected.json rename to tests/kernel-cases/fillets/cov-fillet-g2-pocket-corner/expected.json index c56a8327ee..24d3e17ffb 100644 --- a/tests/kernel-cases/fillets/cov-fillet-g2-default-pocket-corner/expected.json +++ b/tests/kernel-cases/fillets/cov-fillet-g2-pocket-corner/expected.json @@ -1,7 +1,7 @@ { - "what": "a pocket's corner (its two floor edges and the upright edge between them, all concave) filleted 2 with the default type", + "what": "a pocket's corner (its two floor edges and the upright edge between them, all concave) filleted 2 as a curvature-continuous (G2) fillet", "source": "invariants", - "method": "a 60 x 40 x 10 plate less a 30 x 20 pocket 5 deep from (15, 10); the floor edges and the upright edge at (15, 10); the fillet's default section and corner are curvature-continuous (owner, 2026-10-31: G2 by default, tangent rounds an option): every seam of a round and of the corner patch with its neighbours G2, one valid body", + "method": "a 60 x 40 x 10 plate less a 30 x 20 pocket 5 deep from (15, 10); the floor edges and the upright edge at (15, 10); the fillet type curvature (G2 sections and G2 corner patches): every seam of a round and of the corner patch with its neighbours G2, one valid body", "body_count": 1, "continuity": { "order": "g2" diff --git a/tests/kernel-cases/fillets/cov-fillet-g2-default-pocket-corner/recipe.json b/tests/kernel-cases/fillets/cov-fillet-g2-pocket-corner/recipe.json similarity index 93% rename from tests/kernel-cases/fillets/cov-fillet-g2-default-pocket-corner/recipe.json rename to tests/kernel-cases/fillets/cov-fillet-g2-pocket-corner/recipe.json index fa40fc1f3a..32c2459d11 100644 --- a/tests/kernel-cases/fillets/cov-fillet-g2-default-pocket-corner/recipe.json +++ b/tests/kernel-cases/fillets/cov-fillet-g2-pocket-corner/recipe.json @@ -47,7 +47,8 @@ 7.5 ] ], - "radius": 2 + "radius": 2, + "type": "curvature" } } ]