docs/kernel-cases.md: the rig on both kernels at c65fc91a

cargo xtask kernel-cases --kernel both, solidcraft-cli built with smlib
at c65fc91a (fork bf7c272), SMLib through SOLIDCRAFT_KERNEL=smlib. 372
cases: default 235 pass, smlib 269. SMLib's gains are booleans (50 to
66), fillets (32 to 41), shell (5 to 11) and STEP import (13 to 17, its
solids now SMLib bodies); its losses are sweeps (54 to 51 pass, 15 not
supported yet on SMLib) and threads (17 fail, of which the default kernel
hangs on 4).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Brennen Herbruck
2026-10-21 12:39:31 -04:00
committed by jyviko
parent a89c67adf9
commit 45f8e2916e
+387 -387
View File
@@ -2,21 +2,21 @@
Generated by `cargo xtask kernel-cases`. Every geometry case the old kernel (truck) got wrong, as an issue, a PR or a crash report recorded it, is a use case in [`tests/kernel-cases/`](../tests/kernel-cases/) with its own right answer: numbers from analysis or a hand calculation (**analytic**) where the geometry has them, and otherwise the invariants (**invariants**): the operation succeeds, or refuses cleanly where that is the right answer; each body is one closed shell that passes the record's structure and geometry checks and, in builds with SMLib, SMLib's own check; the expected face, edge and vertex counts. Never a kernel's output, and never a commercial kernel's.
Each kernel is graded against the case, never against the other kernel. **default** is the kernel SolidCraft ships today; **smlib** runs with `SOLIDCRAFT_BOOLEANS=smlib`. A failing case stays failing until its kernel is fixed; there is no workaround on SolidCraft's side. See [`tests/kernel-cases/README.md`](../tests/kernel-cases/README.md) for the format.
Each kernel is graded against the case, never against the other kernel. **default** is the kernel SolidCraft ships today; **smlib** runs with `SOLIDCRAFT_KERNEL=smlib`. A failing case stays failing until its kernel is fixed; there is no workaround on SolidCraft's side. See [`tests/kernel-cases/README.md`](../tests/kernel-cases/README.md) for the format.
## Coverage
| Area | Cases | default | smlib |
|---|---|---|---|
| booleans | 89 | 32 fail, 1 hang, 50 pass, 6 unsupported | 89 unsupported |
| crashes | 10 | 3 fail, 2 hang, 5 pass | 10 unsupported |
| fillets | 50 | 9 fail, 32 pass, 9 unsupported | 50 unsupported |
| import | 23 | 1 crash, 9 fail, 13 pass | 23 unsupported |
| sheet-metal | 57 | 1 fail, 56 pass | 57 unsupported |
| shell | 18 | 12 fail, 6 pass | 18 unsupported |
| sweeps | 83 | 23 fail, 5 hang, 55 pass | 83 unsupported |
| tessellation | 14 | 2 fail, 12 pass | 14 unsupported |
| threads | 28 | 23 fail, 2 hang, 3 pass | 28 unsupported |
| booleans | 89 | 32 fail, 2 hang, 50 pass, 5 unsupported | 18 fail, 2 hang, 66 pass, 3 unsupported |
| crashes | 10 | 3 fail, 2 hang, 5 pass | 2 fail, 2 hang, 6 pass |
| fillets | 50 | 9 fail, 32 pass, 9 unsupported | 8 fail, 41 pass, 1 unsupported |
| import | 23 | 1 crash, 9 fail, 13 pass | 4 fail, 17 pass, 2 unsupported |
| sheet-metal | 57 | 2 fail, 55 pass | 3 fail, 54 pass |
| shell | 18 | 13 fail, 5 pass | 6 fail, 11 pass, 1 unsupported |
| sweeps | 83 | 1 crash, 22 fail, 6 hang, 54 pass | 1 crash, 15 fail, 1 hang, 51 pass, 15 unsupported |
| tessellation | 14 | 3 fail, 11 pass | 1 fail, 13 pass |
| threads | 28 | 14 fail, 4 hang, 10 pass | 17 fail, 1 hang, 10 pass |
372 cases from 473 sources; answers: 324 analytic, 48 invariants.
@@ -24,385 +24,385 @@ Each kernel is graded against the case, never against the other kernel. **defaul
| Case | Sources | What went wrong | Answer | default | smlib |
|---|---|---|---|---|---|
| booleans/1107-join-hollow-hub-with-nine-blades | [tangency-labs/solidcraft#1107](https://github.com/tangency-labs/solidcraft/issues/1107) | a hollow hub (tube r 21.5..23) joined with nine disjoint blades whose roots lie wholly in the wall: one valid solid, the cavity stays the hub's. Blades here are r1 round bars (the report's are lofted fan blades) | analytic | **FAIL**: record_valid the operation failed: pcurve of loop 4 use 0 (Some([17.082163710380097, -15.401288354283027, 9.42459 (want ok); smlib_check the operation failed: pcurve of loop 4 use 0 (Some([17.082163710380097, -15.401288354283027, 9.42459 (want ok) | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/114-extrude-join-on-curved-body-coincident-wall | [tangency-labs/solidcraft#114](https://github.com/tangency-labs/solidcraft/issues/114) | extruding a profile onto a cylinder with zero taper: the new wall is the old wall continued (coincident cylindrical faces), join failed | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/1140-hollow-lofted-tube-cut-in-half-and-joined | [tangency-labs/solidcraft#1140](https://github.com/tangency-labs/solidcraft/issues/1140) | a spiral round tube (radius growing 76 to 210 mm over one turn, 12 mm wall) built as 8 lofted bands, each minus a lofted bore, cut in half through the axis plane z=0 and the halves joined: must give one body | invariants | **FAIL**: record_valid the operation failed: pcurve of loop 0 use 1 (Some([95.80000016013133, -3.428471146999651e-8, 75.786 (want ok); smlib_check the operation failed: pcurve of loop 0 use 1 (Some([95.80000016013133, -3.428471146999651e-8, 75.786 (want ok) | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/1195-text-cut-into-plate | [tangency-labs/solidcraft#1195](https://github.com/tangency-labs/solidcraft/issues/1195) | text cut into a plate: a boundary curve's end meeting a point whatever its parameter (glyph outlines through a text cut) | invariants | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/1279-cut-with-tool-cylinder-coaxial-with-hole | [tangency-labs/solidcraft#1279](https://github.com/tangency-labs/solidcraft/issues/1279) | a corner piece (square column minus a quarter disc r1.5, 0.0003 off the axis) cut out of a part with a blind r1.6 hole on the same axis: the tool's r1.5 face sits 0.1 mm inside the hole wall; 'no result' | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/13-split-body-by-a-plane | [tangency-labs/solidcraft#13](https://github.com/tangency-labs/solidcraft/issues/13) | split a body by a plane (the split-by-a-face path tripped a debug assertion, 'Two same vertices cannot construct an edge') | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/1355-concentric-hole-through-drilled-recess | [tangency-labs/solidcraft#1355](https://github.com/tangency-labs/solidcraft/issues/1355) [tangency-labs/solidcraft#1736](https://github.com/tangency-labs/solidcraft/issues/1736) | a drilled O8.5 recess (118 deg drill point) in a plate, then a O4 hole through its centre: the second cut 'does not work' | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/1647-box-cylinder-general-intersect | [tangency-labs/solidcraft#1647](https://github.com/tangency-labs/solidcraft/issues/1647) | a box and a cylinder in general position (nothing coincident or tangent): Intersect refused as an implausible volume | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/1649-crossing-cylinders-union-far-from-origin | [tangency-labs/solidcraft#1649](https://github.com/tangency-labs/solidcraft/issues/1649) | union of two crossing cylinders, both moved (1000,-700,300) mm: volume lost with position | analytic | **FAIL**: record_valid geometry: portable B-rep: edge 8: curve end misses its end vertex by 0.0023531882294339375 mm (toler (want ok) | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/168-rim-touching-coin-along-a-circle-only | [tangency-labs/solidcraft#168](https://github.com/tangency-labs/solidcraft/issues/168) | a rim on a coin's top face that meets the coin along one circle only (no shared area, no shared volume): it must not be joined into it | analytic | **FAIL**: body_count 1 (want 2) | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/1717-two-overlapping-sphere-cuts | [tangency-labs/solidcraft#1717](https://github.com/tangency-labs/solidcraft/issues/1717) [tangency-labs/solidcraft#2158](https://github.com/tangency-labs/solidcraft/issues/2158) | a second sphere cut overlapping an earlier sphere cut on a box edge: 'no result' | analytic | **FAIL**: step 3 (solid.sphere): boolean Cut: the operation failed: no result | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/1730-cut-short-of-far-face-keeps-skin | [tangency-labs/solidcraft#1730](https://github.com/tangency-labs/solidcraft/issues/1730) | an extrude cut whose profile stops 0.25 mm short of a wall's far face must leave that skin (it was grown through) | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/1858-shallow-cuts-after-earlier-pocket | [tangency-labs/solidcraft#1765](https://github.com/tangency-labs/solidcraft/issues/1765) [tangency-labs/solidcraft#1858](https://github.com/tangency-labs/solidcraft/issues/1858) | two 1.5 mm circular cuts overlapping an earlier 0.75 mm pocket (timeline roll-back, insert, redefine): the cut came out empty | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/1865-tube-and-sector-meeting-along-cylinder-walls | [tangency-labs/solidcraft#1865](https://github.com/tangency-labs/solidcraft/issues/1865) [tangency-labs/solidcraft#1910](https://github.com/tangency-labs/solidcraft/issues/1910) [tangency-labs/solidcraft#1983](https://github.com/tangency-labs/solidcraft/issues/1983) [tangency-labs/solidcraft#2034](https://github.com/tangency-labs/solidcraft/issues/2034) | a union of two solids that meet along cylindrical faces: a tube (r10..12, z 0..20) and a 90 deg ring sector (same radii, z 10..30) whose curved faces are the tube's own, overlapping it axially; refused ('planar faces only') or, by the faceted fallback, left 1710 faceted faces | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/1910-coaxial-cylinders-intersect | [tangency-labs/solidcraft#1910](https://github.com/tangency-labs/solidcraft/issues/1910) [tangency-labs/solidcraft#1865](https://github.com/tangency-labs/solidcraft/issues/1865) | intersection of two cylinders of one radius on one axis (z 0..30 and 22..46) whose round sides lie in each other over the shared 8 mm | analytic | not supported yet: step 3 (solid.combine): boolean Intersect: the operation failed: no result; the operation failed: not supported yet: the exact fallback for where the bodies mee | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/1927-delete-pocket-face-restores-plate | [tangency-labs/solidcraft#1927](https://github.com/tangency-labs/solidcraft/issues/1927) | Delete Face on the 0.5 mm deep O15 recess of a plate: the face around the gap must keep its surface | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/1949-extrude-side-drawn-in-collinear-pieces | [tangency-labs/solidcraft#1949](https://github.com/tangency-labs/solidcraft/issues/1949) | a profile side drawn as two collinear lines extrudes into one flat face, not two with an edge between them | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/1949-tapered-extrude-side-in-collinear-pieces | [tangency-labs/solidcraft#1949](https://github.com/tangency-labs/solidcraft/issues/1949) | with a taper too, a side drawn in two collinear pieces is one face | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/1984-near-coaxial-pin-overlaps-bore-wall | [tangency-labs/solidcraft#1984](https://github.com/tangency-labs/solidcraft/issues/1984) | the overlap of a pin 0.00056 mm off the axis of a bore of its own radius (r=3, 9.65 long): a thin crescent. The report's STEP round trip is left out; this is the geometry | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/1984-rivet-with-flush-heads-a-hair-off-its-hole | [tangency-labs/solidcraft#1984](https://github.com/tangency-labs/solidcraft/issues/1984) | a rivet (shank r=2, heads r=4 flat on both faces of a 1.5 mm sheet) 0.004 mm off the axis of its hole: overlap with the sheet is the shank's crescent; the heads touch the sheet faces over an area but add no volume | analytic | **FAIL**: body_count 0 (want 1); volume_mm3 0 (want 0.024) | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/2003-mirror-feature-join-flush-with-mirror-plane | [tangency-labs/solidcraft#2003](https://github.com/tangency-labs/solidcraft/issues/2003) | mirror a feature with Join: the image meets its original along the mirror plane and the join was refused for its volume | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/2008-coaxial-cylinders-join-one-wall | [tangency-labs/solidcraft#2008](https://github.com/tangency-labs/solidcraft/issues/2008) [tangency-labs/solidcraft#1986](https://github.com/tangency-labs/solidcraft/issues/1986) | a join of coaxial cylinders of one radius whose walls overlap leaves one cylindrical wall in one face (it came out as a stack of faces, so a later chamfer on its top edge refused) | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/2055-countersink-holes-from-several-sketch-points | [tangency-labs/solidcraft#2055](https://github.com/tangency-labs/solidcraft/issues/2055) | a countersunk hole at two sketch points at once, in a design with several bodies: 'there is no body to cut or intersect' (one point works) | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/2076-rectangular-pattern-of-cylinder-join | [tangency-labs/solidcraft#2076](https://github.com/tangency-labs/solidcraft/issues/2076) | a rectangular pattern of a cylinder join (pin-fin plate) scales quadratically in time | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/2464-extrude-join-leaves-hidden-body-alone | [tangency-labs/solidcraft#2464](https://github.com/tangency-labs/solidcraft/issues/2464) [tangency-labs/solidcraft#2465](https://github.com/tangency-labs/solidcraft/issues/2465) | an Extrude Join onto a plate with a hidden coincident copy: the hidden body must not be joined in | analytic | **FAIL**: body_count 1 (want 2); volume_mm3 8816 (want 16816) | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/2524-circular-pattern-of-bore-cut | [tangency-labs/solidcraft#2524](https://github.com/tangency-labs/solidcraft/issues/2524) | a circular pattern (count 2, 360 deg, about Y) of a cut made off-axis: 'boolean Cut: no result' | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/2564-joined-side-run-wrapping-past-loop-start | [tangency-labs/solidcraft#2564](https://github.com/tangency-labs/solidcraft/issues/2564) [tangency-labs/solidcraft#1949](https://github.com/tangency-labs/solidcraft/issues/1949) | an extrude of an outline whose bottom side is drawn as two collinear pieces that wrap past the loop's first segment ((10,0)->(20,0) ... (0,0)->(10,0)): the bottom is one face | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/2580-clip-round-small-hole-of-long-plate | [tangency-labs/solidcraft#2580](https://github.com/tangency-labs/solidcraft/issues/2580) [tangency-labs/solidcraft#2579](https://github.com/tangency-labs/solidcraft/issues/2579) | a 16 mm box cut out round a small (r 1.8) hole of a 3 m long, 2 mm plate keeps the hole in both faces | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/2583-taper-side-drawn-in-collinear-pieces | [tangency-labs/solidcraft#2583](https://github.com/tangency-labs/solidcraft/issues/2583) | a tapered extrude of a 20x10 rectangle whose bottom side is drawn as two collinear pieces: the sloped side is one face | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/2601-taper-with-start-offset | [tangency-labs/solidcraft#2601](https://github.com/tangency-labs/solidcraft/issues/2601) | a tapered extrude whose start is offset along the sketch normal (the app says: not supported yet: taper with two-sided, symmetric or offset extents) | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/2754-taper-extrude-line-arc-corner | [tangency-labs/solidcraft#2754](https://github.com/tangency-labs/solidcraft/issues/2754) | a tapered extrude of a profile in which an arc meets a line at a corner (a half disc) | analytic | not supported yet: step 5 (solid.extrude): not supported yet: tapered profiles where an arc meets another edge at a corner | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/2755-mirror-copy-keeps-seed-targets | [tangency-labs/solidcraft#2755](https://github.com/tangency-labs/solidcraft/issues/2755) | the mirror copy of a primitive cut changes only the seed's targets, not a body the seed was told to leave alone | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/2755-pattern-copies-keep-seed-targets | [tangency-labs/solidcraft#2755](https://github.com/tangency-labs/solidcraft/issues/2755) | copies of a primitive cut made with a rectangular pattern change only the seed's targets, not a body the seed was told to leave alone | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/2801-prism-edge-in-round-cornered-slab-end-face | [tangency-labs/solidcraft#2801](https://github.com/tangency-labs/solidcraft/issues/2801) | a join of a triangular prism and a thin slab with rounded corners (r 4.9) that share their bottom plane, the prism's edge in that plane lying in the slab's end face | analytic | **FAIL**: record_valid the operation failed: pcurve of loop 0 use 3 (Some([5.099999999999999, -67.0, 2.220446049250313e-16] (want ok); smlib_check the operation failed: pcurve of loop 0 use 3 (Some([5.099999999999999, -67.0, 2.220446049250313e-16] (want ok) | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/2810-taper-extrude-arcs-meeting-at-corners | [tangency-labs/solidcraft#2810](https://github.com/tangency-labs/solidcraft/issues/2810) [tangency-labs/solidcraft#2813](https://github.com/tangency-labs/solidcraft/issues/2813) | a tapered extrude of a loop of arcs on three circles meeting at sharp corners (a circle with a lobe on each side); the walls must meet at the corners | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/2826-cut-up-to-face-leaves-no-skin | [tangency-labs/solidcraft#2826](https://github.com/tangency-labs/solidcraft/issues/2826) [tangency-labs/solidcraft#2827](https://github.com/tangency-labs/solidcraft/issues/2827) | a cut that ends exactly in a face of its target (the plate's top face) must open the hole, not leave a zero-thickness skin over it | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/2896-join-arm-end-into-ring-wall | [tangency-labs/solidcraft#2896](https://github.com/tangency-labs/solidcraft/issues/2896) | a join of a ring (R30/R24, 6 tall) and an arm with a convex R5 end whose tip runs 0.1 mm into the ring's outer wall (curved faces that nearly graze) | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/2896-join-arm-end-near-ring-wall-gap | [tangency-labs/solidcraft#2896](https://github.com/tangency-labs/solidcraft/issues/2896) | a join of a ring and an arm whose R5 convex tip stops 0.01 mm short of the ring's outer wall: nothing overlaps, so nothing fuses | analytic | **FAIL**: shells Ring: 2 (want 1); body_count 1 (want 2) | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/2904-countersunk-hole-with-distant-body | [tangency-labs/solidcraft#2904](https://github.com/tangency-labs/solidcraft/issues/2904) | a countersunk hole in a small plate, near a rounded corner, while an unrelated body sits 120 mm away: only the plate may change, and the countersink must be complete | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/2928-join-cap-touching-lips-with-offset-walls | [tangency-labs/solidcraft#2928](https://github.com/tangency-labs/solidcraft/issues/2928) | two half-annulus lips (r 4..5, from z=2 to 20) joined onto a stadium-ring base (z 0..2, r 3..5 arcs, centres 20 apart) with their cylinder walls 0.0001 mm off the base's: the lip cap touches the base top, leaving a 0.0001 mm crescent overhang. Layout is a hand-built variant of the PR's public reproduction | analytic | not supported yet: step 22 (solid.extrude): boolean Union: the operation failed: no result; the operation failed: boolean Union: the operation failed: no result; the operation fai | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/3027-pin-seated-line-to-line-in-bore | [tangency-labs/solidcraft#3027](https://github.com/tangency-labs/solidcraft/issues/3027) | a pin (r4) seated line to line in a bore (r4, exactly coaxial) of a bush: the two cylinder walls coincide | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/307-tangent-hole-contacts-ring-against-grid | [tangency-labs/solidcraft#307](https://github.com/tangency-labs/solidcraft/issues/307) | four pairs of through holes whose circles touch at exactly one point (ring holes at (+-25,0),(0,+-25) against grid holes at (+-15,0),(0,+-15)); the symmetric contacts must be treated alike and split no cylinder face | analytic | **FAIL**: smlib_check SMLib check: 4 failed tests: SmFace::Test #32 Face has Coincident Vertices: Face has Coincient Verti (want ok) | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/308-blind-cut-ending-inside-a-cylinder | [tangency-labs/solidcraft#308](https://github.com/tangency-labs/solidcraft/issues/308) | a hinge leaf (40x30x3) with a joined r4 knuckle cylinder along X and a O4 pin hole, then a 3.3 mm blind cut of x 12..28, y 29..40 ending inside the cylinder: the result grew a sphere and a freeform face | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/3092-ring-on-perforated-plate | [tangency-labs/solidcraft#3092](https://github.com/tangency-labs/solidcraft/issues/3092) [tangency-labs/solidcraft#2844](https://github.com/tangency-labs/solidcraft/issues/2844) | a ring (r 19.6/20.8, 20 tall) joined onto the top of an 80x80x1.2 plate with a 9x9 grid of 6.4 mm square holes: the ring's foot crosses many hole edges | analytic | **FAIL**: smlib_check SMLib check: 1 failed tests: SmFace::Test #38 Intersecting Face Loops: Face Loops must be disjoint i (want ok) | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/3175-cut-beside-sealed-void | [tangency-labs/solidcraft#3175](https://github.com/tangency-labs/solidcraft/issues/3175) | a cut over the bottom edge of a revolved cylinder that holds a sealed spherical void on its axis: the body must not come out empty or refused | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/3243-rim-and-rounded-tooth-join | [tangency-labs/solidcraft#3243](https://github.com/tangency-labs/solidcraft/issues/3243) | a join of a cylindrical rim (r 15.27..16.65, to z=5) and a rounded tooth trimmed to the same two cylinders that overlaps it by 0.01 mm in Z | invariants | **FAIL**: step 10 (solid.combine): boolean Union: the operation failed: no result | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/3303-inward-cut-of-frustum-top-face | [tangency-labs/solidcraft#3303](https://github.com/tangency-labs/solidcraft/issues/3303) [tangency-labs/solidcraft#3309](https://github.com/tangency-labs/solidcraft/issues/3309) | cutting the complete circular top face of a widening conical frustum inward: the cylindrical tool touches the cone only at its rim | analytic | not supported yet: step 8 (solid.extrude): boolean Cut: the operation failed: no result; the operation failed: coincident faces were left in place: pushing them apart would change | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/3327-cut-ending-flush-with-side-wall | [tangency-labs/solidcraft#3327](https://github.com/tangency-labs/solidcraft/issues/3327) [tangency-labs/solidcraft#2963](https://github.com/tangency-labs/solidcraft/issues/2963) | a cut whose end face lies exactly in a side wall of its target (a window notch): the cut must open the wall, with no skin left in it | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/3378-circular-pattern-of-join-that-merged-targets | [tangency-labs/solidcraft#3378](https://github.com/tangency-labs/solidcraft/issues/3378) | a circular pattern of a join whose two targets (rim and hub) were merged into one body by that join | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/3379-circular-pattern-of-thin-spoke-on-ring | [tangency-labs/solidcraft#3379](https://github.com/tangency-labs/solidcraft/issues/3379) | a circular pattern (count 5) of a spoke thinner than the ring it joins (faces 0.5 mm inside the rim and hub faces) | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/3383-combine-tool-into-rotated-occurrence | [tangency-labs/solidcraft#3383](https://github.com/tangency-labs/solidcraft/issues/3383) | a root body joined into a body inside a component whose occurrence is turned a quarter turn: the tool must stay where it is in the world | analytic | **FAIL**: shells Plate: 2 (want 1); volume_mm3 17000 (want 16750); bbox.min [-20, -10, -20] (want [-20, -10, -25]); bbox.max [20, 25, 20] (want [20, 5, 20]) | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/3447-split-along-plane-of-a-face | [tangency-labs/solidcraft#3447](https://github.com/tangency-labs/solidcraft/issues/3447) [tangency-labs/solidcraft#2979](https://github.com/tangency-labs/solidcraft/issues/2979) | split body where the splitting plane contains an end face (with a boss on it and an R1 fillet on the face's edge) | analytic | **FAIL**: step 4 (solid.split_body): the section through the body does not close | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/3455-join-of-64-separate-pegs | [tangency-labs/solidcraft#3455](https://github.com/tangency-labs/solidcraft/issues/3455) | one combine of 64 separate pegs that do not touch: 36 s on truck, growing 4-9x per doubling; must finish in seconds | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/3456-deep-cut-through-drilled-taper-leaves-base | [tangency-labs/solidcraft#3456](https://github.com/tangency-labs/solidcraft/issues/3456) [tangency-labs/solidcraft#3497](https://github.com/tangency-labs/solidcraft/issues/3497) | a deep cut that removes everything above z=2 of a tapered body with nine through-bores, leaving the 2 mm drilled base | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/3460-cut-by-lid-with-coincident-walls-and-half-moon-tabs | [tangency-labs/solidcraft#3460](https://github.com/tangency-labs/solidcraft/issues/3460) | Combine cut (keep tools) of an enclosure by its lid whose insert is flush with the inner walls and carries four small half-moon tabs that cross them; the cut must not return the target unchanged | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/3485-boss-joined-on-rod-top-keeps-side-whole | [tangency-labs/solidcraft#3485](https://github.com/tangency-labs/solidcraft/issues/3485) [tangency-labs/solidcraft#3062](https://github.com/tangency-labs/solidcraft/issues/3062) | a boss joined on a rod's top face (the join runs the boss on into the rod); the rod's side must stay one face, not seamed at the boss's foot | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/3497-collinear-cylinders-partial-height-intersection | [tangency-labs/solidcraft#3497](https://github.com/tangency-labs/solidcraft/issues/3497) [tangency-labs/solidcraft#3456](https://github.com/tangency-labs/solidcraft/issues/3456) | intersection of two collinear R2 H12 cylinders offset by 0.75 along the axis (curved walls coincide over part of the height) | analytic | not supported yet: step 3 (solid.combine): boolean Intersect: the operation failed: no result; the operation failed: not supported yet: the exact fallback for where the bodies mee | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/3497-pin-overlapping-bore-by-20-microns | [tangency-labs/solidcraft#3497](https://github.com/tangency-labs/solidcraft/issues/3497) [tangency-labs/solidcraft#3456](https://github.com/tangency-labs/solidcraft/issues/3456) | a pin r=3.02 intersected with a tube whose bore is r=3: a thin annulus (0.02 mm overlap on a curved wall) | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/3526-intersect-keeps-every-lump | [tangency-labs/solidcraft#3526](https://github.com/tangency-labs/solidcraft/issues/3526) [tangency-labs/solidcraft#3888](https://github.com/tangency-labs/solidcraft/issues/3888) | intersect of a two-lump target (two spheres joined while apart) with a box holding the bottom half of each | analytic | **FAIL**: body_count 0 (want 1); shells 0 (want 2); volume_mm3 0 (want 268.0826) | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/3604-cut-with-g2-swept-tool-along-projected-edge | [tangency-labs/solidcraft#3604](https://github.com/tangency-labs/solidcraft/issues/3604) [tangency-labs/solidcraft#3613](https://github.com/tangency-labs/solidcraft/issues/3613) | cut of a box by a swept G2 corner-removal tool along a projected edge chain (left-rear corner; the symmetric front-left chain works) | invariants | **FAIL**: step 13 (solid.combine): boolean Cut: the operation failed: no result | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/3612-circular-pattern-of-spoke-tangent-to-hub | [tangency-labs/solidcraft#3612](https://github.com/tangency-labs/solidcraft/issues/3612) [tangency-labs/solidcraft#3379](https://github.com/tangency-labs/solidcraft/issues/3379) | a spoke whose inner face x=12 is exactly tangent to the hub cylinder r=12 (line contact), joined to the rim, patterned 5 times around the hub's axis | analytic | **FAIL**: step 5 (solid.pattern.circular): lumps: shell boundaries intersect or touch; cavity ownership is ambiguous | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/3633-sphere-intersect-pyramid-apex-at-centre | [tangency-labs/solidcraft#3633](https://github.com/tangency-labs/solidcraft/issues/3633) [tangency-labs/solidcraft#3682](https://github.com/tangency-labs/solidcraft/issues/3682) | a sphere r=10 intersected with a square pyramid whose apex is the sphere's centre and whose sides lie in the planes of the sphere primitive's patch edges | analytic | **FAIL**: step 9 (solid.combine): boolean Intersect: the operation failed: no result | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/3652-mirror-of-a-mirror-feature | [tangency-labs/solidcraft#3652](https://github.com/tangency-labs/solidcraft/issues/3652) | mirror a Mirror feature (the first mirror's hole) about a second plane: 'Mirror1 cannot be patterned or mirrored yet' | analytic | **FAIL**: step 7 (solid.mirror): Mirror1 cannot be patterned or mirrored yet | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/3665-join-extrude-column-on-floor-and-curved-walls | [tangency-labs/solidcraft#3665](https://github.com/tangency-labs/solidcraft/issues/3665) [tangency-labs/solidcraft#3666](https://github.com/tangency-labs/solidcraft/issues/3666) | a join extrude of a column standing on a channel's flat floor and lying along both its curved walls (column circle tangent to both walls) | analytic | **FAIL**: smlib_check SMLib check: 2 failed tests: SmFace::Test #32 Face has Coincident Vertices: Face has Coincient Verti (want ok) | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/3671-intersect-tool-in-top-face-beside-rib | [tangency-labs/solidcraft#3671](https://github.com/tangency-labs/solidcraft/issues/3671) | intersect with a tapered pocket tool whose top face lies in the block's top face, 0.5 mm short of a rib | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/3702-board-in-cavity-of-filleted-rim-case | [tangency-labs/solidcraft#3702](https://github.com/tangency-labs/solidcraft/issues/3702) | a 0.2 mm board lying in the open cavity of a case with a filleted circular rim: cutting it from the case must leave the case unchanged (it was taken for wholly inside) | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/3703-two-face-extrudes-join-keep-the-step | [tangency-labs/solidcraft#3703](https://github.com/tangency-labs/solidcraft/issues/3703) | two joined face extrudes on one box (top face, then the right side face): the stepped shape must stay | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/3729-extrude-to-point-on-step-edge | [tangency-labs/solidcraft#3729](https://github.com/tangency-labs/solidcraft/issues/3729) | extrude `to` a point lying exactly on the top edge of a step: must end at the plane z=20 through the point | analytic | **FAIL**: volume_mm3 5089.982614 (want 5070.6858); bbox.max [10, 10, 22.732051] (want [10, 10, 20]) | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/3782-emboss-on-cylinder-pick-on-far-half | [tangency-labs/solidcraft#3782](https://github.com/tangency-labs/solidcraft/issues/3782) [tangency-labs/solidcraft#3425](https://github.com/tangency-labs/solidcraft/issues/3425) | emboss on a cylinder with the face pick on the half of the wall opposite the sketch | invariants | **FAIL**: step 5 (solid.emboss): invalid input: cylinder emboss: saved selection no longer identifies the sketch's cylindrical face | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/3816-circular-pattern-of-body-about-offset-axis | [tangency-labs/solidcraft#3816](https://github.com/tangency-labs/solidcraft/issues/3816) | circular pattern of a body about an axis {origin,dir} that does not pass through the world origin | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/3830-split-cup-by-extended-spline-surface | [tangency-labs/solidcraft#3830](https://github.com/tangency-labs/solidcraft/issues/3830) | split a thin-walled cup (shell of a d30 cylinder) with a surface body: an extruded spline surface, extended at both ends | analytic | **HANG**: no result after 180 s | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/3841-join-touching-along-one-circle-only | [tangency-labs/solidcraft#3841](https://github.com/tangency-labs/solidcraft/issues/3841) [tangency-labs/solidcraft#168](https://github.com/tangency-labs/solidcraft/issues/168) | Join of a ring (r10..15) onto a coin (r10) that touch only along a circle: no fusion that moves the ring | invariants | **FAIL**: body_count 1 (want 2) | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/3850-cross-cut-touching-round-side | [tangency-labs/solidcraft#3850](https://github.com/tangency-labs/solidcraft/issues/3850) [tangency-labs/solidcraft#3741](https://github.com/tangency-labs/solidcraft/issues/3741) | a O50 x 50 cylinder with a 25 mm square through-hole, then a cross cut by a O40 circle split into two halves by a line (both halves picked, merged into one round tool whose end face x=25 touches the cylinder's side along y=0): the result must be one shell, not a good shell plus a zero-area one | analytic | **FAIL**: record_valid the operation failed: lumps: cannot mesh a complete shell boundary (want ok); smlib_check the operation failed: lumps: cannot mesh a complete shell boundary (want ok); shells 2 (want 1) | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/3850-hole-through-wall-after-cross-cut | [tangency-labs/solidcraft#3850](https://github.com/tangency-labs/solidcraft/issues/3850) [tangency-labs/solidcraft#3741](https://github.com/tangency-labs/solidcraft/issues/3741) | the O10 through-all hole across the wall of the body from the cross-cut case (the report's failing step: 'lumps: cannot mesh a complete shell boundary') | analytic | **FAIL**: step 17 (solid.extrude): lumps: cannot mesh a complete shell boundary | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/3887-ring-standing-on-perforated-plate | [tangency-labs/solidcraft#3887](https://github.com/tangency-labs/solidcraft/issues/3887) [tangency-labs/solidcraft#2844](https://github.com/tangency-labs/solidcraft/issues/2844) | a ring (r19.6/20.8, 20 tall) joined onto an 80x80x1.2 plate with a 9x9 grid of 6.4 mm square holes; the ring's foot crosses the holes | analytic | **FAIL**: smlib_check SMLib check: 1 failed tests: SmFace::Test #38 Intersecting Face Loops: Face Loops must be disjoint i (want ok) | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/3968-hole-as-wide-as-a-cones-top | [tangency-labs/solidcraft#3968](https://github.com/tangency-labs/solidcraft/issues/3968) | a hole of diameter 10 drilled into the top of a truncated cone whose top is also diameter 10 (the hole wall meets the cone at the top rim) | analytic | **FAIL**: step 5 (solid.hole): boolean Cut: the operation failed: no result | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/4008-symmetric-revolve-cut-ends-in-side-face | [tangency-labs/solidcraft#4008](https://github.com/tangency-labs/solidcraft/issues/4008) | symmetric 180 deg revolve cut about a vertical edge of a block, the tool's end faces lying in the block's side face | analytic | **FAIL**: step 8 (solid.revolve): the cut could not be computed reliably: it would change the body away from the tool, at (-1.557, 12.991, 16.000) (outside the tool's reg | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/4011-mirror-of-cut-under-wall | [tangency-labs/solidcraft#4011](https://github.com/tangency-labs/solidcraft/issues/4011) | a blind hole mirrored to a spot where half its top disc lies under a wall's foot | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/4058-walls-joined-flush-round-a-floor | [tangency-labs/solidcraft#4058](https://github.com/tangency-labs/solidcraft/issues/4058) [tangency-labs/solidcraft#4059](https://github.com/tangency-labs/solidcraft/issues/4059) | a 10 mm ring (rounded corners) extruded 40 mm as a Join round a floor's outline: it touches the floor back to back on its flat sides and rounded corners | analytic | **FAIL**: step 14 (solid.extrude): boolean Union: the operation failed: no result | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/4095-slab-cut-standing-off-a-bore-r10 | [tangency-labs/solidcraft#4095](https://github.com/tangency-labs/solidcraft/issues/4095) | a slab cut whose +x face stands 6.73e-05 mm (0.90 x the coincidence tolerance 7.48e-05) off a through-bore's wall (R=10), beside the bore | analytic | **FAIL**: record_valid the operation failed: pcurve of loop 0 use 0 (Some([-10.0000673497, -8.0, 20.0]) to Some([-10.000067 (want ok); smlib_check the operation failed: pcurve of loop 0 use 0 (Some([-10.0000673497, -8.0, 20.0]) to Some([-10.000067 (want ok) | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/4095-slab-cut-standing-off-a-bore-r15 | [tangency-labs/solidcraft#4095](https://github.com/tangency-labs/solidcraft/issues/4095) | a slab cut whose +x face stands 6.60e-05 mm (0.60 x the coincidence tolerance 1.10e-04) off a through-bore's wall (R=15), beside the bore | analytic | **FAIL**: record_valid the operation failed: pcurve of loop 0 use 0 (Some([-15.000066, -8.0, 20.0]) to Some([-15.000066, -8 (want ok); smlib_check the operation failed: pcurve of loop 0 use 0 (Some([-15.000066, -8.0, 20.0]) to Some([-15.000066, -8 (want ok) | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/423-through-all-cut-must-not-reach-behind-sketch-plane | [tangency-labs/solidcraft#423](https://github.com/tangency-labs/solidcraft/issues/423) | a one-sided Through All cut from a sketch plane at x=98 toward -x, with its wall 0.0022 mm from a face of a notch beyond the plane: the cut must remove nothing at x > 98 | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/451-cut-block-crossing-hollow-sphere-tool | [tangency-labs/solidcraft#451](https://github.com/tangency-labs/solidcraft/issues/451) | a 12x8x8 block (x 8..20) crossing the inner sphere r=18.5 of a hollow spherical-shell tool: the cut keeps the part inside r=18.5 | analytic | **FAIL**: step 9 (solid.combine): boolean Cut: the operation failed: no result | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/451-cut-block-inside-hollow-sphere-tool | [tangency-labs/solidcraft#451](https://github.com/tangency-labs/solidcraft/issues/451) | a block wholly inside the void of a hollow spherical-shell tool (r 18.5 to 40): cutting leaves it untouched, the tool never reaches it | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/500-coaxial-cylinder-cut-from-thin-disc | [tangency-labs/solidcraft#500](https://github.com/tangency-labs/solidcraft/issues/500) | a radius 20 cylinder cut out of a coaxial radius 40 disc spanning x -1..1 lost about 2.6% of the volume | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/559-through-hole-into-shelled-box-rim | [tangency-labs/solidcraft#559](https://github.com/tangency-labs/solidcraft/issues/559) | a 1 mm through-all hole straight down into the 2 mm rim of a shelled box: 'implausible volume' / no result | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/562-press-pull-floor-beside-rounds | [tangency-labs/solidcraft#562](https://github.com/tangency-labs/solidcraft/issues/562) | Press Pull of a floor whose neighbours are rounds (vertical corner fillets): 'a neighbouring edge is not straight' | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/831-tapered-extrude-d-shape-arc-meets-line | [tangency-labs/solidcraft#831](https://github.com/tangency-labs/solidcraft/issues/831) | tapered extrude of a D shape (an arc meeting a line at a sharp corner): refused as 'tapered profiles where an arc meets another edge at a corner' | analytic | not supported yet: step 5 (solid.extrude): not supported yet: tapered profiles where an arc meets another edge at a corner | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/831-tapered-extrude-text-glyph | [tangency-labs/solidcraft#831](https://github.com/tangency-labs/solidcraft/issues/831) | tapered extrude of a text glyph (Bezier outline): refused with a misleading 'mixing lines and arcs' error | invariants | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| crashes/1219-bore-fillet-then-grooves-cut | [tangency-labs/solidcraft#1219](https://github.com/tangency-labs/solidcraft/issues/1219) | 24 small grooves cut into a bore whose top edge has an unrelated 1 mm fillet: 73 s and 24 boolean retries instead of 0.2 s | analytic | **FAIL**: record_valid the operation failed: pcurve of loop 0 use 1 (Some([-68.19934052346665, 0.29992031010887626, 19.0003 (want ok); smlib_check the operation failed: pcurve of loop 0 use 1 (Some([-68.19934052346665, 0.29992031010887626, 19.0003 (want ok) | not supported yet: this build runs booleans on the default kernel, not smlib |
| crashes/140-join-pad-hanging-past-the-edge | [tangency-labs/solidcraft#140](https://github.com/tangency-labs/solidcraft/issues/140) | a join whose tool face lies flat on the target but only half backed by it (the pad hangs 10 mm past the edge) must not add material | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| crashes/1985-step-export-enclosure-screw-hole | [tangency-labs/solidcraft#1985](https://github.com/tangency-labs/solidcraft/issues/1985) [tangency-labs/solidcraft#2243](https://github.com/tangency-labs/solidcraft/issues/2243) | a small enclosure (rounded box, inner cut, corner gusset with a screw hole, two standoffs, USB cut-out) whose STEP export never finished (the export meshes its own file back) | invariants | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| crashes/2243-step-export-flanged-enclosure | [tangency-labs/solidcraft#2243](https://github.com/tangency-labs/solidcraft/issues/2243) [tangency-labs/solidcraft#1985](https://github.com/tangency-labs/solidcraft/issues/1985) | a flanged enclosure with two standoffs and no screw hole whose STEP export also never finished | invariants | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| crashes/2357-join-ring-of-90-cylinder-segments | [tangency-labs/solidcraft#2357](https://github.com/tangency-labs/solidcraft/issues/2357) | one join of a ring of 90 straight cylinder segments, each overlapping its neighbour at a 4 degree joint: a caught truck panic, then a refusal after 21 minutes | invariants | **HANG**: no result after 180 s | not supported yet: this build runs booleans on the default kernel, not smlib |
| crashes/2992-join-disk-and-36-twisted-loft-blades | [tangency-labs/solidcraft#2992](https://github.com/tangency-labs/solidcraft/issues/2992) | join of a disk and a circular pattern of 36 twisted lofted blades (embedded 2.54 mm in the disk): blocks for minutes | invariants | **HANG**: no result after 180 s | not supported yet: this build runs booleans on the default kernel, not smlib |
| crashes/3540-cut-with-coincident-cylinder-face | [tangency-labs/solidcraft#3540](https://github.com/tangency-labs/solidcraft/issues/3540) | a groove cut whose r33 arcs lie exactly on the r33 cylinder of an earlier slot cut and overlap it in Z: minutes of CPU | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| crashes/3685-delete-fillet-face-beside-seam | [tangency-labs/solidcraft#1559](https://github.com/tangency-labs/solidcraft/issues/1559) [tangency-labs/solidcraft#3685](https://github.com/tangency-labs/solidcraft/issues/3685) | Delete Face on a fillet face next to a face whose edge a boolean/fillet rebuilt as an intersection curve: must never panic (truck: not implemented: intersection curve cannot connect by homotopy) | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| crashes/4092-loft-ribs-rounded-pad-union-panics | [tangency-labs/solidcraft#4092](https://github.com/tangency-labs/solidcraft/issues/4092) | join extrude of a rounded pad over a lofted body with ring and ribs: repeated truck intersection_curve panics, then 'boolean Union: no result' | invariants | **FAIL**: step 50 (solid.extrude): boolean Union: the operation failed: no result | not supported yet: this build runs booleans on the default kernel, not smlib |
| crashes/4092-loft-ribs-rounded-pad-union-reduced | [tangency-labs/solidcraft#4092](https://github.com/tangency-labs/solidcraft/issues/4092) | the same without the top flange: the join fails with 'boolean Union: no result' | invariants | **FAIL**: step 40 (solid.extrude): boolean Union: the operation failed: no result | not supported yet: this build runs booleans on the default kernel, not smlib |
| fillets/1008-fillet-tray-floor-and-three-of-four-corners | [tangency-labs/solidcraft#1008](https://github.com/tangency-labs/solidcraft/issues/1008) | an R10 round on the four inside floor edges and three of the four inside vertical corners of an open tray, so one corner keeps a sharp vertical edge where two floor rounds meet (rebuilt from the report's edge picks: the original design is not in the report) | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| fillets/1080-chamfer-beside-openings-fits | [tangency-labs/solidcraft#1080](https://github.com/tangency-labs/solidcraft/issues/1080) [tangency-labs/solidcraft#1124](https://github.com/tangency-labs/solidcraft/issues/1124) | a 4 mm chamfer on the top front edge of a cube with three square openings stays clear of the openings (they start 5 mm in) | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| fillets/1080-chamfer-runs-into-openings-refused | [tangency-labs/solidcraft#1080](https://github.com/tangency-labs/solidcraft/issues/1080) [tangency-labs/solidcraft#1124](https://github.com/tangency-labs/solidcraft/issues/1124) | a 9 mm chamfer on the top front edge of a cube with square openings 5 mm in must be refused: it would cut through the rims of the openings | invariants | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| fillets/1191-fillet-both-rims-of-a-tube-top | [tangency-labs/solidcraft#1191](https://github.com/tangency-labs/solidcraft/issues/1191) | an R2 round on the outer and inner rim circles of a tube's top face (the report's ten picks on a ring-shaped top: the round failed after 0.10.1; rebuilt as a plain tube since the design is not in the report) | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| fillets/1207-fillet-concave-arc-at-boss | [tangency-labs/solidcraft#1207](https://github.com/tangency-labs/solidcraft/issues/1207) | an R2 round on the concave arc where a bar top meets a boss that only partly sits on it | analytic | not supported yet: step 3 (solid.fillet): not supported yet: a vertex of the edge chain where other faces meet (the operation failed: not supported yet: only straight edges can be | not supported yet: this build runs booleans on the default kernel, not smlib |
| fillets/1207-fillet-straight-edge-ending-on-boss | [tangency-labs/solidcraft#1207](https://github.com/tangency-labs/solidcraft/issues/1207) | an R2 round along the straight top edge of a bar that runs out against a cylindrical boss | analytic | **FAIL**: record_valid the operation failed: pcurve of loop 0 use 3 (Some([15.19868415359896, 12.999999999966905, 10.0]) to (want ok); smlib_check the operation failed: pcurve of loop 0 use 3 (Some([15.19868415359896, 12.999999999966905, 10.0]) to (want ok) | not supported yet: this build runs booleans on the default kernel, not smlib |
| fillets/1213-round-end-circle-of-bent-tube | [tangency-labs/solidcraft#1213](https://github.com/tangency-labs/solidcraft/issues/1213) [tangency-labs/solidcraft#1291](https://github.com/tangency-labs/solidcraft/issues/1291) | an R3 round on the end circle of a lofted tube whose axis bends (a 60 degree torus section) | analytic | **FAIL**: record_valid the operation failed: pcurve of loop 0 use 0 (Some([2.999961609466277, 0.03799226106586362, 20.00000 (want ok); smlib_check the operation failed: pcurve of loop 0 use 0 (Some([2.999961609466277, 0.03799226106586362, 20.00000 (want ok) | not supported yet: this build runs booleans on the default kernel, not smlib |
| fillets/1262-fillet-boss-bottom-arc | [tangency-labs/solidcraft#1262](https://github.com/tangency-labs/solidcraft/issues/1262) | a 0.8 mm round on the exposed half circle at the bottom of a cylindrical boss joined to a box side | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| fillets/1390-chamfer-hole-rim-touching-bottom | [tangency-labs/solidcraft#1390](https://github.com/tangency-labs/solidcraft/issues/1390) [tangency-labs/solidcraft#1574](https://github.com/tangency-labs/solidcraft/issues/1574) [tangency-labs/solidcraft#1428](https://github.com/tangency-labs/solidcraft/issues/1428) | a 3 mm chamfer on the rim of a hole that is tangent to the bottom face runs off that face and must not add material below the part | invariants | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| fillets/1488-fillet-slab-end-after-nudged-loft-join | [tangency-labs/solidcraft#1488](https://github.com/tangency-labs/solidcraft/issues/1488) [tangency-labs/solidcraft#1517](https://github.com/tangency-labs/solidcraft/issues/1517) | an R1 fillet on the end edge of a 3.5 mm slab after a pleated loft was joined flush with its inner face (the join needs a tool retry; later fillets must still work) | invariants | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| fillets/1557-fillet-vertical-corners-after-bottom-rounds | [tangency-labs/solidcraft#1557](https://github.com/tangency-labs/solidcraft/issues/1557) [tangency-labs/solidcraft#1581](https://github.com/tangency-labs/solidcraft/issues/1581) | vertical corner fillets R2 on a 25x25x10 box whose four bottom edges are already rounded R2 (the round meets the earlier mitre) | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| fillets/1667-fillet-rim-line-beside-quarter-turns | [tangency-labs/solidcraft#1667](https://github.com/tangency-labs/solidcraft/issues/1667) [tangency-labs/solidcraft#1702](https://github.com/tangency-labs/solidcraft/issues/1702) | an R5 round of the top rim of a 297 mm long box whose corners are R5 (a 287 mm line beside 7.85 mm quarter turns) | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| fillets/1668-fillet-both-sides-of-thin-wall | [tangency-labs/solidcraft#1668](https://github.com/tangency-labs/solidcraft/issues/1668) [tangency-labs/solidcraft#1720](https://github.com/tangency-labs/solidcraft/issues/1720) | an R5 round on an outer top edge and the matching inner (concave) edge of a 2 mm wall in one feature fits, as it does one after the other | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| fillets/190-fillet-rim-as-tall-as-wall | [tangency-labs/solidcraft#190](https://github.com/tangency-labs/solidcraft/issues/190) [tangency-labs/solidcraft#318](https://github.com/tangency-labs/solidcraft/issues/318) | an R2 round of the top edge of a disc 2 mm high (the round is as tall as the wall, so it meets the bottom face) | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| fillets/193-paste-copies-the-fillets | [tangency-labs/solidcraft#193](https://github.com/tangency-labs/solidcraft/issues/193) [tangency-labs/solidcraft#214](https://github.com/tangency-labs/solidcraft/issues/214) [tangency-labs/solidcraft#363](https://github.com/tangency-labs/solidcraft/issues/363) [tangency-labs/solidcraft#613](https://github.com/tangency-labs/solidcraft/issues/613) | a block with two R2 top edges rounded, copied and pasted 40 mm over: the copy must carry its own fillets | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| fillets/1986-chamfer-arc-edge-of-joined-sectors | [tangency-labs/solidcraft#1986](https://github.com/tangency-labs/solidcraft/issues/1986) | a 3 mm chamfer on the outer top arc of a 120 degree annular sector joined to a lower inner sector (the joined outer wall must not limit the chamfer) | analytic | not supported yet: step 15 (solid.chamfer): not supported yet: the blend is larger than the neighbouring faces (site 1853) (the operation failed: not supported yet: only straight | not supported yet: this build runs booleans on the default kernel, not smlib |
| fillets/199-fillet-uses-up-end-face | [tangency-labs/solidcraft#199](https://github.com/tangency-labs/solidcraft/issues/199) [tangency-labs/solidcraft#317](https://github.com/tangency-labs/solidcraft/issues/317) | an R3 round on the four vertical edges of a 14x6x10 box: the two rounds on each 6 mm end face meet exactly (the face is used up) | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| fillets/219-pattern-of-filleted-pockets | [tangency-labs/solidcraft#219](https://github.com/tangency-labs/solidcraft/issues/219) | a plate with 6 pockets made by patterning one pocket and the R3.2 round of its four corner edges, the pocket height set by a parameter | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| fillets/2341-pattern-of-chamfered-bosses | [tangency-labs/solidcraft#2341](https://github.com/tangency-labs/solidcraft/issues/2341) [tangency-labs/solidcraft#2774](https://github.com/tangency-labs/solidcraft/issues/2774) [tangency-labs/solidcraft#2775](https://github.com/tangency-labs/solidcraft/issues/2775) [tangency-labs/solidcraft#2342](https://github.com/tangency-labs/solidcraft/issues/2342) | a 2 x 2 grid made by a feature pattern of a boss and its two chamfers (a concave root chamfer and a convex tip chamfer) | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| fillets/237-fillet-concave-edge-between-two-cylinders | [tangency-labs/solidcraft#237](https://github.com/tangency-labs/solidcraft/issues/237) [tangency-labs/solidcraft#238](https://github.com/tangency-labs/solidcraft/issues/238) | an R6 round on the vertical edge where two cylinder walls meet (the concave corner of two merged discs), the two walls meeting at an angle | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| fillets/2498-fillet-tiny-end-edges-rounded-rectangle | [tangency-labs/solidcraft#2498](https://github.com/tangency-labs/solidcraft/issues/2498) [tangency-labs/solidcraft#2506](https://github.com/tangency-labs/solidcraft/issues/2506) | an R2 round of the top loop of a 26.4x8.6x8.4 rounded rectangle whose end edges are only 0.02 mm long (corner radius 4.29) | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| fillets/2672-chamfer-one-pick-large-plate | [tangency-labs/solidcraft#2672](https://github.com/tangency-labs/solidcraft/issues/2672) [tangency-labs/solidcraft#3295](https://github.com/tangency-labs/solidcraft/issues/3295) | one pick on a stadium boss top rim chamfers the whole tangent loop, also when the part is more than 200 mm across | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| fillets/2708-fillet-curvature-continuous-angled-ends | [tangency-labs/solidcraft#2708](https://github.com/tangency-labs/solidcraft/issues/2708) [tangency-labs/solidcraft#2739](https://github.com/tangency-labs/solidcraft/issues/2739) | a curvature-continuous (G2) fillet of size 5 on a straight edge that ends on two slanted planar faces | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| fillets/2719-chamfer-as-wide-as-corner-round | [tangency-labs/solidcraft#2719](https://github.com/tangency-labs/solidcraft/issues/2719) | a 1 mm chamfer round a bottom loop whose corners are R1 rounds: each corner cone closes to a point on the bottom face | analytic | **FAIL**: record_valid the operation failed: pcurve of loop 0 use 0 (Some([-18.99999999999999, -19.0, 0.0]) to Some([-19.0, (want ok); smlib_check the operation failed: pcurve of loop 0 use 0 (Some([-18.99999999999999, -19.0, 0.0]) to Some([-19.0, (want ok) | not supported yet: this build runs booleans on the default kernel, not smlib |
| fillets/2752-fillet-rim-of-flat-cut-on-sphere | [tangency-labs/solidcraft#2752](https://github.com/tangency-labs/solidcraft/issues/2752) [tangency-labs/solidcraft#2787](https://github.com/tangency-labs/solidcraft/issues/2787) | an R1 round round the rim of a radius-2 sphere cut flat at z=1 | analytic | not supported yet: step 3 (solid.fillet): not supported yet: the ball doesn't fit along the resampled spine (the operation failed: not supported yet: only straight edges can be bl | not supported yet: this build runs booleans on the default kernel, not smlib |
| fillets/2797-chamfer-two-distances-circular-rim | [tangency-labs/solidcraft#2797](https://github.com/tangency-labs/solidcraft/issues/2797) [tangency-labs/solidcraft#3300](https://github.com/tangency-labs/solidcraft/issues/3300) [tangency-labs/solidcraft#2893](https://github.com/tangency-labs/solidcraft/issues/2893) | a Two Distances chamfer (1 mm on the top face, 0.5 mm down the wall) on the circular rim between a plane and a cylinder | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| fillets/2811-fillet-rib-roots | [tangency-labs/solidcraft#2811](https://github.com/tangency-labs/solidcraft/issues/2811) | an R1.5 fillet of the 32 vertical root edges of 8 ribs between two walls of a grille tray (a performance case: the time must not blow up) | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| fillets/2852-fillet-outer-round-concentric-with-inner | [tangency-labs/solidcraft#2852](https://github.com/tangency-labs/solidcraft/issues/2852) | an R18 round on the outside top edges of a 3 mm thick upside-down U, concentric with the R15 round of its inside edges | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| fillets/2907-chamfer-two-end-outlines-rounded-top | [tangency-labs/solidcraft#2907](https://github.com/tangency-labs/solidcraft/issues/2907) [tangency-labs/solidcraft#3861](https://github.com/tangency-labs/solidcraft/issues/3861) | a 1.5 mm chamfer of both end outlines (sides, top and the two top arcs) of a prism with rounded top corners, bottom edges left alone | analytic | **FAIL**: record_valid the operation failed: pcurve of loop 0 use 1 (Some([0.0, 26.0, 18.5]) to Some([0.6931089443069371, 2 (want ok); smlib_check the operation failed: pcurve of loop 0 use 1 (Some([0.0, 26.0, 18.5]) to Some([0.6931089443069371, 2 (want ok) | not supported yet: this build runs booleans on the default kernel, not smlib |
| fillets/324-fillet-over-hole-overlap | [tangency-labs/solidcraft#324](https://github.com/tangency-labs/solidcraft/issues/324) [tangency-labs/solidcraft#1885](https://github.com/tangency-labs/solidcraft/issues/1885) | a 4 mm fillet on a top edge whose round overlaps the rim of a through hole (the hole breaks into the round) | analytic | **FAIL**: step 6 (solid.fillet): fillet: the rounds would leave openings in the surface (they overlap where a wall or a face is narrower than both); the largest radius th | not supported yet: this build runs booleans on the default kernel, not smlib |
| fillets/3276-chamfer-edge-of-1mm-protrusion-on-joined-l | [tangency-labs/solidcraft#3276](https://github.com/tangency-labs/solidcraft/issues/3276) | three extrudes joined into an L-shaped body with a 1 mm protrusion, then a chamfer on the protrusion's outer edge (the report: the corners are no longer 90 degrees and the chamfer fails) | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| fillets/334-fillet-top-outline-after-concave-rounds | [tangency-labs/solidcraft#334](https://github.com/tangency-labs/solidcraft/issues/334) [tangency-labs/solidcraft#335](https://github.com/tangency-labs/solidcraft/issues/335) | an R2 round on the whole top outline of two merged cylinders after their two concave vertical edges were rounded R5 | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| fillets/3369-fillet-edge-ends-on-tangent-seam | [tangency-labs/solidcraft#3369](https://github.com/tangency-labs/solidcraft/issues/3369) [tangency-labs/solidcraft#3922](https://github.com/tangency-labs/solidcraft/issues/3922) | an R2 round on a straight edge whose ends sit on the tangent seam between a flat top and a rounded end | analytic | not supported yet: step 9 (solid.fillet): not supported yet: the faces at the edge ends must be planar | not supported yet: this build runs booleans on the default kernel, not smlib |
| fillets/3435-fillet-larger-than-top-ring | [tangency-labs/solidcraft#3435](https://github.com/tangency-labs/solidcraft/issues/3435) [tangency-labs/solidcraft#3441](https://github.com/tangency-labs/solidcraft/issues/3441) | a fillet of radius 6.9 on a cylinder rim whose flat top ring (round the joined boss) is only 4.3 mm wide must be refused, not grow the part | invariants | **FAIL**: succeeded where the case expects a refusal | not supported yet: this build runs booleans on the default kernel, not smlib |
| fillets/3655-chamfer-edge-order-box | [tangency-labs/solidcraft#3655](https://github.com/tangency-labs/solidcraft/issues/3655) [tangency-labs/solidcraft#3660](https://github.com/tangency-labs/solidcraft/issues/3660) | a plain box with all 12 edges chamfered, the edges listed in an order that was refused | analytic | not supported yet: step 5 (solid.chamfer): not supported yet: the blend is larger than the neighbouring faces | not supported yet: this build runs booleans on the default kernel, not smlib |
| fillets/3753-circular-pattern-of-hole-and-its-rim-chamfer | [tangency-labs/solidcraft#3753](https://github.com/tangency-labs/solidcraft/issues/3753) | a circular pattern (6 copies about Y) of a through hole and the 1 mm chamfer on its rim (the report: the pattern is refused because the copied chamfer 'would grow the part'); rebuilt as a hole in a disc, the original design is not in the report | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| fillets/3779-chamfer-all-spline-spans | [tangency-labs/solidcraft#3779](https://github.com/tangency-labs/solidcraft/issues/3779) [tangency-labs/solidcraft#3804](https://github.com/tangency-labs/solidcraft/issues/3804) | a 0.1 mm chamfer on all eight top-rim spans of a 20 x 20 pillow whose four sides are fit splines (two cubic spans each) | invariants | not supported yet: step 8 (solid.chamfer): not supported yet: the blend is larger than the neighbouring faces (site 1853) (the operation failed: not supported yet: only straight e | not supported yet: this build runs booleans on the default kernel, not smlib |
| fillets/3779-fillet-all-spline-spans | [tangency-labs/solidcraft#3779](https://github.com/tangency-labs/solidcraft/issues/3779) [tangency-labs/solidcraft#3804](https://github.com/tangency-labs/solidcraft/issues/3804) | a 0.1 mm fillet on all eight top-rim spans of a 20 x 20 pillow whose four sides are fit splines (two cubic spans each) | invariants | not supported yet: step 8 (solid.fillet): not supported yet: the blend is larger than the neighbouring faces | not supported yet: this build runs booleans on the default kernel, not smlib |
| fillets/3868-chamfer-concave-edge-adds-material | [tangency-labs/solidcraft#3868](https://github.com/tangency-labs/solidcraft/issues/3868) | a chamfer of an inside (concave) edge fills the corner and adds material, one on the outside edge removes it | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| fillets/4055-chamfer-bar-edge-over-joined-pin | [tangency-labs/solidcraft#4055](https://github.com/tangency-labs/solidcraft/issues/4055) | a 3 mm chamfer on the bottom long edge of a bar joined on top of a pin, where the chamfer is wider than the 2 mm gap between that edge and the pin | analytic | **FAIL**: smlib_check SMLib check: 1 failed tests: SmFace::Test #38 Intersecting Face Loops: Face Loops must be disjoint i (want ok); volume_mm3 35528.57632 (want 35581.857895) | not supported yet: this build runs booleans on the default kernel, not smlib |
| fillets/4101-chamfer-tapered-plug-corners | [tangency-labs/solidcraft#4101](https://github.com/tangency-labs/solidcraft/issues/4101) | the four edges of a block end face chamfered where the block sides are 1 degree off square: exact volume of the plane-clipped prism (the corner edges of about 0.0001 mm are real geometry) | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| fillets/4141-fillet-corner-after-wedge-cut-beside-bspline | [tangency-labs/solidcraft#4141](https://github.com/tangency-labs/solidcraft/issues/4141) | an R5 round on the corner edge left by a wedge cut through a body vertex next to a B-spline face | invariants | not supported yet: step 11 (solid.fillet): not supported yet: the blend is larger than the neighbouring faces | not supported yet: this build runs booleans on the default kernel, not smlib |
| fillets/4143-fillet-notch-rim-on-bspline-ramp | [tangency-labs/solidcraft#4143](https://github.com/tangency-labs/solidcraft/issues/4143) | an R4 round on the rim of an R5 notch where its cylinder meets an extruded B-spline ramp, both ends running into a square wall | invariants | not supported yet: step 13 (solid.fillet): not supported yet: the blend is larger than the neighbouring faces | not supported yet: this build runs booleans on the default kernel, not smlib |
| fillets/485-fillet-d-prism-top-outline-arc-and-flat | [tangency-labs/solidcraft#485](https://github.com/tangency-labs/solidcraft/issues/485) [tangency-labs/solidcraft#604](https://github.com/tangency-labs/solidcraft/issues/604) | an R0.5 round on both top perimeter edges (the arc and the flat) of a D-shaped prism, the two edges meeting at sharp 90 degree corners | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| fillets/556-fillet-edge-ending-on-curved-boss | [tangency-labs/solidcraft#556](https://github.com/tangency-labs/solidcraft/issues/556) [tangency-labs/solidcraft#646](https://github.com/tangency-labs/solidcraft/issues/646) | an R0.5 round on a single straight bottom edge of a box whose end runs out against a cylindrical boss wall | analytic | **FAIL**: record_valid the operation failed: pcurve of loop 0 use 0 (Some([39.5, 8.010421183869017, 0.0]) to Some([49.81441 (want ok); smlib_check the operation failed: pcurve of loop 0 use 0 (Some([39.5, 8.010421183869017, 0.0]) to Some([49.81441 (want ok) | not supported yet: this build runs booleans on the default kernel, not smlib |
| fillets/783-fillet-pick-far-from-any-edge-refused | [tangency-labs/solidcraft#783](https://github.com/tangency-labs/solidcraft/issues/783) [tangency-labs/solidcraft#820](https://github.com/tangency-labs/solidcraft/issues/820) | a fillet whose edge pick is 15 mm from the nearest edge must be refused, not applied to some other edge | invariants | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| fillets/814-chamfer-hex-hole-corners | [tangency-labs/solidcraft#814](https://github.com/tangency-labs/solidcraft/issues/814) [tangency-labs/solidcraft#1067](https://github.com/tangency-labs/solidcraft/issues/1067) | a 2 mm chamfer on the six vertical corners of a hexagonal hole: one bevel each, not a notch | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| fillets/851-fillet-three-edges-at-knife-edge-arc-corner | [tangency-labs/solidcraft#851](https://github.com/tangency-labs/solidcraft/issues/851) [tangency-labs/solidcraft#854](https://github.com/tangency-labs/solidcraft/issues/854) [tangency-labs/solidcraft#926](https://github.com/tangency-labs/solidcraft/issues/926) [tangency-labs/solidcraft#935](https://github.com/tangency-labs/solidcraft/issues/935) [tangency-labs/solidcraft#1294](https://github.com/tangency-labs/solidcraft/issues/1294) | three edges meeting at the front corner of a plate with a concave arc wall that runs out in a knife-edge tip: top front edge, arc top edge and front upright, R2 together | invariants | **FAIL**: record_valid the operation failed: pcurve of loop 0 use 1 (Some([62.16666666666963, -5.480541191988027e-7, 7.9999 (want ok); smlib_check the operation failed: pcurve of loop 0 use 1 (Some([62.16666666666963, -5.480541191988027e-7, 7.9999 (want ok) | not supported yet: this build runs booleans on the default kernel, not smlib |
| fillets/862-fillet-curvature-continuous-box-edge | [tangency-labs/solidcraft#862](https://github.com/tangency-labs/solidcraft/issues/862) | a curvature-continuous (G2) fillet of size 6 on one edge of a 20 mm cube | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| fillets/896-fillet-smooth-seam-refused | [tangency-labs/solidcraft#896](https://github.com/tangency-labs/solidcraft/issues/896) [tangency-labs/solidcraft#936](https://github.com/tangency-labs/solidcraft/issues/936) | a fillet picked on the seam where a rounded edge runs tangent into the flat top has no corner to round and is refused as an invalid pick | invariants | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| import/1721-closed-bspline-tube-face | [tangency-labs/solidcraft#1721](https://github.com/tangency-labs/solidcraft/issues/1721) [tangency-labs/solidcraft#3880](https://github.com/tangency-labs/solidcraft/issues/3880) | a cylinder r=10 h=30 whose side is a closed (rational B-spline) tube face wrapping all the way round a closed non-periodic surface: it must mesh and measure as the full tube | analytic | **FAIL**: record_valid geometry: portable B-rep: face 1 loop 0 use 0: pcurve starts 1 from the end of the use before it, on (want ok); smlib_check SMLib check: 1 failed tests: SmTrimmingTools::Test #1 UVEdge/UVEdge Gap: too large U Dir gap between (want ok) | not supported yet: this build runs booleans on the default kernel, not smlib |
| import/2043-outer-bound-opposing-surface-sense | [tangency-labs/solidcraft#1974](https://github.com/tangency-labs/solidcraft/issues/1974) [tangency-labs/solidcraft#2043](https://github.com/tangency-labs/solidcraft/issues/2043) | a block whose every plane's axis points into the part and whose faces say same_sense .F. while their FACE_OUTER_BOUND loops run counter-clockwise about the outward normal: the loops are outer bounds, not holes | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| import/258-cone-point-vertex | [tangency-labs/solidcraft#258](https://github.com/tangency-labs/solidcraft/issues/258) | the same STEP cone with a VERTEX_LOOP at the apex: the mesh stopped 30 mm short of the apex | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| import/258-cone-to-point | [tangency-labs/solidcraft#258](https://github.com/tangency-labs/solidcraft/issues/258) | a STEP cone 20 mm across coming to a point 30 mm up (no vertex at the apex): the cone face was meshed flat at its base, so the measured shape was far off | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| import/258-tiny-pin | [tangency-labs/solidcraft#258](https://github.com/tangency-labs/solidcraft/issues/258) | a STEP pin 0.5 mm across, 2 mm long: meshed 1.16 mm off at a 0.5 mm tolerance | analytic | **FAIL**: record_valid geometry: portable B-rep: face 1 loop 0 use 0: pcurve starts 6.283185307179586 from the end of the u (want ok) | not supported yet: this build runs booleans on the default kernel, not smlib |
| import/3098-bspline-edges-over-tiny-knot-span | [tangency-labs/solidcraft#3098](https://github.com/tangency-labs/solidcraft/issues/3098) | a block whose 12 straight edges are degree-1 B-spline curves over a knot span of 1e-7 (as NX writes short edges); the faces must be kept | analytic | **FAIL**: step 1 (file.insert_step): tests/kernel-cases/import/3098-bspline-edges-over-tiny-knot-span/input.step: the operation failed: STEP import: no bodies (solid 'blo | not supported yet: this build runs booleans on the default kernel, not smlib |
| import/3208-extruded-ellipse-face-over-parameter-seam | [tangency-labs/solidcraft#3120](https://github.com/tangency-labs/solidcraft/issues/3120) [tangency-labs/solidcraft#3208](https://github.com/tangency-labs/solidcraft/issues/3208) | a prism over a circular segment whose curved side lies on a SURFACE_OF_LINEAR_EXTRUSION of an ELLIPSE (a = b = 10) and spans the ellipse's parameter origin (-60 to +60 degrees): the face must cover only the narrow segment side, not wrap the ellipse | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| import/3352-vertex-off-its-edge-curve | [tangency-labs/solidcraft#3351](https://github.com/tangency-labs/solidcraft/issues/3351) [tangency-labs/solidcraft#3352](https://github.com/tangency-labs/solidcraft/issues/3352) | a 300 mm square surface whose corner vertex sits 0.19 mm off the end of its edge's curve (the file declares 0.01 mm accuracy): the face must be kept, the vertex snapped onto the curve | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| import/3359-iges-trim-pieces-written-end-to-start | [tangency-labs/solidcraft#3358](https://github.com/tangency-labs/solidcraft/issues/3358) [tangency-labs/solidcraft#3359](https://github.com/tangency-labs/solidcraft/issues/3359) | a box of six trimmed planes whose composite trim curves have their 2nd and 4th pieces written end to start: every loop must still close | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| import/3730-void-oriented-shell-false | [tangency-labs/solidcraft#3730](https://github.com/tangency-labs/solidcraft/issues/3730) [tangency-labs/solidcraft#3872](https://github.com/tangency-labs/solidcraft/issues/3872) | a block with a closed cavity written as BREP_WITH_VOIDS whose void shell (outward-facing faces) is turned by ORIENTED_CLOSED_SHELL .F.; the cavity must be taken out, not added | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| import/3806-iges-revolved-arc-spherical-cap-dome | [tangency-labs/solidcraft#3806](https://github.com/tangency-labs/solidcraft/issues/3806) [tangency-labs/solidcraft#3813](https://github.com/tangency-labs/solidcraft/issues/3813) | a dome: an IGES surface of revolution (120) of a 60-to-90 degree circular arc (100) of radius 50 centred on the axis, trimmed by a circle at the rim, over a flat base disc; the cap must be 50 mm across and 6.7 mm tall, not a whole sphere | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| import/3845-iges-trim-pieces-miss-by-a-gap | [tangency-labs/solidcraft#3845](https://github.com/tangency-labs/solidcraft/issues/3845) [tangency-labs/solidcraft#3846](https://github.com/tangency-labs/solidcraft/issues/3846) | a box of six trimmed planes where the edge (0,0,0)-(0,20,0) stops 0.01 mm short of its end corner in both faces that use it: the small gap must be closed, giving a closed box instead of two dropped faces | analytic | **FAIL**: faces 4 (want 6); area_mm2 1400 (want 2200) | not supported yet: this build runs booleans on the default kernel, not smlib |
| import/3871-cone-base-circle-with-vertex-loop | [tangency-labs/solidcraft#3871](https://github.com/tangency-labs/solidcraft/issues/3871) [tangency-labs/solidcraft#3901](https://github.com/tangency-labs/solidcraft/issues/3901) | the same cone with a VERTEX_LOOP at its point on the cone face: the point must still be reached, not read as a flat disc | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| import/3871-cone-bounded-only-by-its-base-circle | [tangency-labs/solidcraft#3871](https://github.com/tangency-labs/solidcraft/issues/3871) [tangency-labs/solidcraft#3901](https://github.com/tangency-labs/solidcraft/issues/3901) [tangency-labs/solidcraft#3880](https://github.com/tangency-labs/solidcraft/issues/3880) | a cone whose face is bounded only by its base circle (no vertex at the point) must reach its point, not come in as a flat disc | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| import/3880-cylinder-seam-edge | [tangency-labs/solidcraft#3880](https://github.com/tangency-labs/solidcraft/issues/3880) | a cylinder r=10 h=30 whose side face is written with a seam edge: one closed solid with 3 faces | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| import/3880-nurbs-hemisphere-dome | [tangency-labs/solidcraft#3880](https://github.com/tangency-labs/solidcraft/issues/3880) | a hemisphere r=20 whose curved face is a rational B-spline surface, flat disc below | analytic | **FAIL**: record_valid geometry: portable B-rep: face 1 loop 0 use 0: pcurve starts 1 from the end of the use before it, on (want ok); smlib_check SMLib check: 1 failed tests: SmTrimmingTools::Test #1 UVEdge/UVEdge Gap: too large U Dir gap between (want ok) | not supported yet: this build runs booleans on the default kernel, not smlib |
| import/3886-iges-bspline-curve-over-tiny-knot-span | [tangency-labs/solidcraft#3885](https://github.com/tangency-labs/solidcraft/issues/3885) [tangency-labs/solidcraft#3886](https://github.com/tangency-labs/solidcraft/issues/3886) | a box of six trimmed planes with one edge written as a B-spline curve (126) over a knot span of 1e-7: both faces it bounds must be kept | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| import/3912-iges-hole-trim-first-piece-reversed | [tangency-labs/solidcraft#3912](https://github.com/tangency-labs/solidcraft/issues/3912) | a 10 x 10 trimmed patch with a 4 x 4 square hole whose composite trim curve starts with a reversed piece: the hole stays a hole | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| import/3913-iges-trim-curve-first-piece-reversed | [tangency-labs/solidcraft#3912](https://github.com/tangency-labs/solidcraft/issues/3912) [tangency-labs/solidcraft#3913](https://github.com/tangency-labs/solidcraft/issues/3913) | a box of six trimmed planes whose composite trim curves start with a piece written end to start (1st and 3rd pieces reversed): every loop must still close | analytic | **FAIL**: step 1 (file.insert_step): tests/kernel-cases/import/3913-iges-trim-curve-first-piece-reversed/input.igs: the operation failed: STEP import: no bodies (solid 'B | not supported yet: this build runs booleans on the default kernel, not smlib |
| import/3963-closed-spline-edge-vertex-past-start | [tangency-labs/solidcraft#3963](https://github.com/tangency-labs/solidcraft/issues/3963) | a 20 mm square face bounded by one closed degree-1 B-spline edge whose only vertex sits at parameter 2e-7, just past the curve's start: the face must be kept, not dropped or crashed on | analytic | **CRASH**: step 1 (file.insert_step): tests/kernel-cases/import/3963-closed-spline-edge-vertex-past-start/input.step: the operation failed: STEP import: no bodies (solid ' | not supported yet: this build runs booleans on the default kernel, not smlib |
| import/3972-iges-two-separate-closed-boxes | [tangency-labs/solidcraft#3928](https://github.com/tangency-labs/solidcraft/issues/3928) [tangency-labs/solidcraft#3972](https://github.com/tangency-labs/solidcraft/issues/3972) | an IGES file of twelve trimmed planes forming two separate closed boxes (10x20x30, one 100 mm along x): they must come in as two solids, not one open body | analytic | **FAIL**: smlib_check SMLib check: 4 failed tests: SmShell::Test #22 SmFaceuse_TYPE: sShellFaceuses and sFaceuses2 are equ (want ok); body_count 1 (want 2) | not supported yet: this build runs booleans on the default kernel, not smlib |
| import/4005-cylinder-written-as-near-zero-cone | [tangency-labs/solidcraft#4005](https://github.com/tangency-labs/solidcraft/issues/4005) | a cylinder r=5 h=10 whose side is a CONICAL_SURFACE with a semi-angle of 8e-12 rad (a cylinder to within rounding, as the exporter wrote it): the face must be read, not refused as a 'bad cone' | analytic | **FAIL**: smlib_check SMLib check: 2 failed tests: SmShell::Test #22 SmFaceuse_TYPE: sShellFaceuses and sFaceuses2 are equ (want ok); faces 2 (want 3); edges 2 (want 3); volume_mm3 261.772931 (want 785.3982); area_mm2 157.063759 (want 471.2389) | not supported yet: this build runs booleans on the default kernel, not smlib |
| import/4006-plane-written-as-cone-of-nearly-right-angle | [tangency-labs/solidcraft#4006](https://github.com/tangency-labs/solidcraft/issues/4006) | an annular plate r 4..10, 3 thick, whose top face is a CONICAL_SURFACE of semi-angle pi/2 - 7e-12 (a plane to within rounding, as the exporter wrote it): the face must be read, not refused as a 'bad cone', and the body stays closed | analytic | **FAIL**: faces 3 (want 4); volume_mm3 527.743525 (want 791.6813); area_mm2 527.754304 (want 791.6813) | not supported yet: this build runs booleans on the default kernel, not smlib |
| sheet-metal/1040-convert-a-1200-mm-strip-1-mm-thick | [tangency-labs/solidcraft#1040](https://github.com/tangency-labs/solidcraft/issues/1040) | a 1200 x 100 x 1 strip (diagonal over 1000 times its thickness) converted to sheet metal: refused with no outline on that face | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sheet-metal/1040-convert-a-990-mm-strip-keeps-its-1-mm-hole | [tangency-labs/solidcraft#1040](https://github.com/tangency-labs/solidcraft/issues/1040) | a 990 x 100 x 1 strip with holes of 10, 4, 2 and 1 mm: the 1 mm hole fell out of the outline when the mesh sagged by almost the thickness | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sheet-metal/1092-convert-a-channel-with-its-bends-modelled | [tangency-labs/solidcraft#1092](https://github.com/tangency-labs/solidcraft/issues/1092) [tangency-labs/solidcraft#1314](https://github.com/tangency-labs/solidcraft/issues/1314) | a U channel modelled with its bend radii (R2 inside, R4 outside), a 6 mm hole in one wall and a label engraved 0.2 deep in its web, converted at the bends' outer arcs | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sheet-metal/1092-convert-an-L-with-a-modelled-bend-to-the-rules-radius | [tangency-labs/solidcraft#1092](https://github.com/tangency-labs/solidcraft/issues/1092) [tangency-labs/solidcraft#1314](https://github.com/tangency-labs/solidcraft/issues/1314) | an L section modelled with a bend of R2 inside and R4 outside, converted at that bend under a rule of R3: the bend becomes one bend of the rule's radius at the legs' virtual sharp | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sheet-metal/1092-convert-an-engraved-plate | [tangency-labs/solidcraft#1092](https://github.com/tangency-labs/solidcraft/issues/1092) [tangency-labs/solidcraft#1314](https://github.com/tangency-labs/solidcraft/issues/1314) | a 60 x 40 x 1 plate with a 20 x 10 x 0.1 engraving in its top face converted to sheet metal (refused as not a plate of even thickness; the engraving becomes a pocket of the sheet) | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sheet-metal/1095-refold-a-cutout-with-a-corner-on-the-sheets-edge-at-a-bend | [tangency-labs/solidcraft#1095](https://github.com/tangency-labs/solidcraft/issues/1095) | a flange unfolded, a triangular cut-out with a corner on the sheet's own edge at the middle of the bend zone, refolded: sew failed (this wire is not simple) | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sheet-metal/1280-hole-square-to-a-45-degree-flange | [tangency-labs/solidcraft#1280](https://github.com/tangency-labs/solidcraft/issues/1280) | a 5 mm hole drilled square to the face of a 45 degree flange: the drill cap's certificate refused it by 1e-11 mm | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sheet-metal/1285-convert-a-bracket-whose-wall-covers-part-of-an-edge | [tangency-labs/solidcraft#1285](https://github.com/tangency-labs/solidcraft/issues/1285) [tangency-labs/solidcraft#1340](https://github.com/tangency-labs/solidcraft/issues/1340) | an 80 x 50 x 2 plate with a 40 wide, 30 high wall on part of its front edge, converted at the wall's outside bend edge: refused because the bend's setback used up an edge of a face | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sheet-metal/1295-a-slot-across-a-flange-leaves-the-rest-of-it-as-a-loose-piece | [tangency-labs/solidcraft#1295](https://github.com/tangency-labs/solidcraft/issues/1295) [tangency-labs/solidcraft#1338](https://github.com/tangency-labs/solidcraft/issues/1338) | a 100 x 60 sheet with a 45 degree 40 mm flange and a slot cut across the flange just past its bend: the rest of the flange keeps no material joining it to the base | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sheet-metal/1311-inside-flange-on-a-plate-turned-62-degrees | [tangency-labs/solidcraft#1311](https://github.com/tangency-labs/solidcraft/issues/1311) | a 100 x 60 plate turned 62 degrees about the origin with a 90 degree inside flange on one edge: the trimmed corner falls on the sew grid and the flange failed to close | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sheet-metal/1481-unfold-a-tray-whose-features-choose-their-own-corner-relief | [tangency-labs/solidcraft#1232](https://github.com/tangency-labs/solidcraft/issues/1232) [tangency-labs/solidcraft#1481](https://github.com/tangency-labs/solidcraft/issues/1481) | a 120 x 90 base with two edge flange features (bottom and left edges with a round relief, top and right edges with a square one) over a rule whose relief is a notch, unfolded | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sheet-metal/1797-tray-with-torn-corners-at-72-degrees-folded | [tangency-labs/solidcraft#1797](https://github.com/tangency-labs/solidcraft/issues/1797) [tangency-labs/solidcraft#1799](https://github.com/tangency-labs/solidcraft/issues/1799) | a tray whose flanges lean at 72 degrees with the tear corner relief: the torn ends are helices over slanted bends | invariants | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sheet-metal/1979-every-cut-after-a-cut-machines-the-sheet | [tangency-labs/solidcraft#1979](https://github.com/tangency-labs/solidcraft/issues/1979) [tangency-labs/solidcraft#1980](https://github.com/tangency-labs/solidcraft/issues/1980) | on a folded sheet a rectangular cut-out and then twenty 4 mm holes in one sketch: a cut after a cut was dropped without a word, and many holes ran out of budget | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sheet-metal/262-fold-a-tab-just-inside-its-root | [tangency-labs/solidcraft#262](https://github.com/tangency-labs/solidcraft/issues/262) [tangency-labs/solidcraft#277](https://github.com/tangency-labs/solidcraft/issues/277) | a 20 x 20 tab folded 90 degrees on a line 1 mm inside its root, where the bend zone stays clear of the blank's outline | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sheet-metal/262-fold-at-a-tab-root-refused | [tangency-labs/solidcraft#262](https://github.com/tangency-labs/solidcraft/issues/262) [tangency-labs/solidcraft#277](https://github.com/tangency-labs/solidcraft/issues/277) | a fold exactly at a tab's root, where the bend zone (+-BA/2) would reach the blank's outline beside the tab, needs a bend relief | invariants | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sheet-metal/264-fold-one-of-two-collinear-tabs | [tangency-labs/solidcraft#264](https://github.com/tangency-labs/solidcraft/issues/264) [tangency-labs/solidcraft#279](https://github.com/tangency-labs/solidcraft/issues/279) | a 100 x 40 blank with two 15 x 7 tabs on one line, one tab folded 90 degrees on a line that the other tab also lies on | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sheet-metal/264-one-fold-across-two-collinear-tabs | [tangency-labs/solidcraft#264](https://github.com/tangency-labs/solidcraft/issues/264) | one fold line spanning both of two collinear tabs folds both | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sheet-metal/296-hole-in-a-base-with-two-adjacent-edge-flanges | [tangency-labs/solidcraft#296](https://github.com/tangency-labs/solidcraft/issues/296) [tangency-labs/solidcraft#355](https://github.com/tangency-labs/solidcraft/issues/355) | an 80 x 40 base with a 30 mm flange on the y = 0 edge and a 15 mm flange on the x = 80 edge, and a round hole through the base beside them: sew failed with a non-manifold edge contact | invariants | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sheet-metal/3078-flange-on-the-side-edge-of-a-flange | [tangency-labs/solidcraft#3078](https://github.com/tangency-labs/solidcraft/issues/3078) [tangency-labs/solidcraft#3274](https://github.com/tangency-labs/solidcraft/issues/3274) | an edge flange on the side edge of an existing wall, meeting a flange on the base across the existing bend with a round corner relief (not supported yet: a flange on the side of another flange) | invariants | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sheet-metal/3234-edge-flange-on-the-bend-line-refused | [tangency-labs/solidcraft#3234](https://github.com/tangency-labs/solidcraft/issues/3234) [tangency-labs/solidcraft#3273](https://github.com/tangency-labs/solidcraft/issues/3273) | a second edge flange picked on the bend line of an existing flange made a doubled flange with a gap and two shells in one body | invariants | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sheet-metal/3316-convert-a-plate-keeps-its-place | [tangency-labs/solidcraft#3316](https://github.com/tangency-labs/solidcraft/issues/3316) | a 100 x 60 x 2 plate converted from its top face moved down by one thickness (z -2..0 instead of 0..2) | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sheet-metal/3324-flat-pattern-refused-after-a-fillet-on-the-sheet | [tangency-labs/solidcraft#3324](https://github.com/tangency-labs/solidcraft/issues/3324) [tangency-labs/solidcraft#3325](https://github.com/tangency-labs/solidcraft/issues/3325) [tangency-labs/solidcraft#3418](https://github.com/tangency-labs/solidcraft/issues/3418) | a fillet on a sheet metal corner changes the body but not its sheet model, so the flat pattern would be a sharp rectangle: it must refuse | invariants | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sheet-metal/3353-mirrored-sheet-body-keeps-its-flat-pattern | [tangency-labs/solidcraft#3353](https://github.com/tangency-labs/solidcraft/issues/3353) [tangency-labs/solidcraft#3354](https://github.com/tangency-labs/solidcraft/issues/3354) | a sheet metal body mirrored into a new body must still be sheet metal (flat pattern, bend table): it was a plain solid | analytic | **FAIL**: step 13 (sheet.flat_pattern): invalid parameters for `sheet.flat_pattern`: `Body1 (2)` is not a sheet metal body | not supported yet: this build runs booleans on the default kernel, not smlib |
| sheet-metal/3417-rhombus-with-a-flange-on-each-edge-and-square-reliefs | [tangency-labs/solidcraft#3417](https://github.com/tangency-labs/solidcraft/issues/3417) [tangency-labs/solidcraft#3421](https://github.com/tangency-labs/solidcraft/issues/3421) [tangency-labs/solidcraft#3280](https://github.com/tangency-labs/solidcraft/issues/3280) | a 60 mm rhombus (120 and 60 degree corners) with a 90 degree flange on each of its four edges and a square corner relief 8 mm across: the reliefs at the two 120 degree corners would overlap | invariants | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sheet-metal/349-unfold-a-tray-shrunk-by-a-parameter-72-degrees | [tangency-labs/solidcraft#349](https://github.com/tangency-labs/solidcraft/issues/349) | a 2000 x 2500 tray with four 38.6 mm flanges at 72 degrees whose sketch is driven by parameters W and H, shrunk to 400 x 300 and unfolded (the solver leaves 1e-13 mm residuals: the planar region arrangement failed) | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sheet-metal/349-unfold-a-tray-shrunk-by-a-parameter-90-degrees | [tangency-labs/solidcraft#349](https://github.com/tangency-labs/solidcraft/issues/349) | a 2000 x 2500 tray with four 38.6 mm flanges at 90 degrees whose sketch is driven by parameters W and H, shrunk to 400 x 300 and unfolded (the solver leaves 1e-13 mm residuals: the planar region arrangement failed) | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sheet-metal/405-tray-with-72-degree-flanges-folded | [tangency-labs/solidcraft#405](https://github.com/tangency-labs/solidcraft/issues/405) [tangency-labs/solidcraft#406](https://github.com/tangency-labs/solidcraft/issues/406) | a 120 x 90 tray with four 38.6 mm flanges at 72 degrees closed with the rule's gap: the corners used to stay open as a V | invariants | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sheet-metal/405-unfold-a-tray-with-72-degree-flanges | [tangency-labs/solidcraft#405](https://github.com/tangency-labs/solidcraft/issues/405) [tangency-labs/solidcraft#406](https://github.com/tangency-labs/solidcraft/issues/406) | a 120 x 90 tray with four 38.6 mm flanges at 72 degrees, closed at the corners with the rule's gap, unfolded | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sheet-metal/416-round-hole-and-slanted-slot-across-a-bend | [tangency-labs/solidcraft#416](https://github.com/tangency-labs/solidcraft/issues/416) [tangency-labs/solidcraft#425](https://github.com/tangency-labs/solidcraft/issues/425) [tangency-labs/solidcraft#1797](https://github.com/tangency-labs/solidcraft/issues/1797) [tangency-labs/solidcraft#1799](https://github.com/tangency-labs/solidcraft/issues/1799) | a 160 x 100 plate with a 90 degree flange, unfolded, a 20 mm round hole and a 10 x 24 slot turned 30 degrees cut across the bend zone, refolded: the cut-out walls fold to curves on the bend's cylinder | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sheet-metal/436-edge-flanges-at-105-and-120-degrees-on-opposite-edges | [tangency-labs/solidcraft#436](https://github.com/tangency-labs/solidcraft/issues/436) [tangency-labs/solidcraft#447](https://github.com/tangency-labs/solidcraft/issues/447) | one edge flange feature with its own angle and height on each of two opposite edges: 105 degrees and 30 mm, 120 degrees and 25 mm | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sheet-metal/436-edge-flanges-with-their-own-height-on-opposite-edges | [tangency-labs/solidcraft#436](https://github.com/tangency-labs/solidcraft/issues/436) [tangency-labs/solidcraft#447](https://github.com/tangency-labs/solidcraft/issues/447) | one edge flange feature whose two edges carry their own heights (30 and 25 mm) over the feature's 20 mm default | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sheet-metal/436-unfold-a-tray-with-four-angles-and-heights | [tangency-labs/solidcraft#436](https://github.com/tangency-labs/solidcraft/issues/436) [tangency-labs/solidcraft#447](https://github.com/tangency-labs/solidcraft/issues/447) [tangency-labs/solidcraft#501](https://github.com/tangency-labs/solidcraft/issues/501) | one edge flange feature whose four edges carry 75, 90, 105 and 120 degrees and heights 38.6, 38.6, 30 and 25, with corners between unequal angles closed, unfolded | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sheet-metal/479-unfold-a-tray-with-round-relieved-corners | [tangency-labs/solidcraft#479](https://github.com/tangency-labs/solidcraft/issues/479) | a 120 x 90 tray with four 20 mm 90 degree flanges and corner relief shape round, unfolded | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sheet-metal/488-unfold-a-tray-with-square-relieved-corners | [tangency-labs/solidcraft#488](https://github.com/tangency-labs/solidcraft/issues/488) | a 120 x 90 tray with four 20 mm 90 degree flanges and corner relief shape rectangular, unfolded | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sheet-metal/514-refold-an-L-bracket-after-unfolding-it | [tangency-labs/solidcraft#514](https://github.com/tangency-labs/solidcraft/issues/514) | an L bracket unfolded and refolded: the refold must give the folded part back | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sheet-metal/514-unfold-an-L-bracket | [tangency-labs/solidcraft#514](https://github.com/tangency-labs/solidcraft/issues/514) | a 60 x 40 base with a 20 mm 90 degree flange on one edge, unfolded: the flat plate is the base, the bend allowance and the flange's straight | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sheet-metal/529-a-hundred-slots-and-four-folds | [tangency-labs/solidcraft#529](https://github.com/tangency-labs/solidcraft/issues/529) [tangency-labs/solidcraft#430](https://github.com/tangency-labs/solidcraft/issues/430) [tangency-labs/solidcraft#964](https://github.com/tangency-labs/solidcraft/issues/964) | a 200 x 300 panel with a hundred 4.4 x 20 slots and four 90 degree folds (one per side tab): the flat geometry ran out of its processing budget above 77 slots | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sheet-metal/541-box-cut-straight-through-a-flat-sheet | [tangency-labs/solidcraft#541](https://github.com/tangency-labs/solidcraft/issues/541) | a solid.box cut straight through a 100 x 60 x 2.5 sheet was refused, though the same rectangle as an extrude cut works | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sheet-metal/542-round-hole-in-a-flat-sheet-and-its-flat-pattern | [tangency-labs/solidcraft#542](https://github.com/tangency-labs/solidcraft/issues/542) [tangency-labs/solidcraft#552](https://github.com/tangency-labs/solidcraft/issues/552) | a 3.2 mm round hole cut through a 100 x 60 x 2.5 sheet, which the flat pattern must report as a circle | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sheet-metal/560-hole-through-a-sheet-metal-base | [tangency-labs/solidcraft#560](https://github.com/tangency-labs/solidcraft/issues/560) [tangency-labs/solidcraft#656](https://github.com/tangency-labs/solidcraft/issues/656) | solid.hole square to a flat sheet metal panel was refused as sheet machining that cannot be preserved | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sheet-metal/570-flange-refuses-thickness-it-would-ignore | [tangency-labs/solidcraft#570](https://github.com/tangency-labs/solidcraft/issues/570) [tangency-labs/solidcraft#594](https://github.com/tangency-labs/solidcraft/issues/594) [tangency-labs/solidcraft#572](https://github.com/tangency-labs/solidcraft/issues/572) | sheet.flange given thickness, k_factor and bend_radius, which the rule alone defines, used to ignore them silently and build the 2.5 mm default | invariants | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sheet-metal/601-return-lip-on-a-flanges-far-edge | [tangency-labs/solidcraft#593](https://github.com/tangency-labs/solidcraft/issues/593) [tangency-labs/solidcraft#601](https://github.com/tangency-labs/solidcraft/issues/601) | an edge flange stands on the far edge of another edge flange (a lip turned in over the base), both 90 degrees | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sheet-metal/634-flange-beside-the-leg-of-an-L-folded | [tangency-labs/solidcraft#634](https://github.com/tangency-labs/solidcraft/issues/634) | the same bar with its leg and a 15 mm inside flange on the bar's top edge, folded | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sheet-metal/634-unfold-a-flange-beside-the-leg-of-an-L | [tangency-labs/solidcraft#634](https://github.com/tangency-labs/solidcraft/issues/634) | a 160 x 30 bar with a 20 x 30 leg past its top edge at the left end, and a 90 degree 15 mm inside flange on the bar's top edge (x 20..160), unfolded: the flange's trim cut the leg away | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sheet-metal/638-fold-both-collinear-tabs-one-after-the-other | [tangency-labs/solidcraft#638](https://github.com/tangency-labs/solidcraft/issues/638) [tangency-labs/solidcraft#652](https://github.com/tangency-labs/solidcraft/issues/652) [tangency-labs/solidcraft#963](https://github.com/tangency-labs/solidcraft/issues/963) | two collinear tabs folded in two features on the same line; the second fold used to be refused as crossing a slanted edge | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sheet-metal/639-fold-tab-on-inside-edge-of-an-L-blank | [tangency-labs/solidcraft#639](https://github.com/tangency-labs/solidcraft/issues/639) [tangency-labs/solidcraft#653](https://github.com/tangency-labs/solidcraft/issues/653) [tangency-labs/solidcraft#963](https://github.com/tangency-labs/solidcraft/issues/963) | a tab (x 45..60, y 60..90) on an inside edge of an L-shaped blank folded 90 degrees at x = 59 with the fixed point on the other leg; refused as folding tabs that join again | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sheet-metal/659-ellipse-cutout-across-a-bend | [tangency-labs/solidcraft#659](https://github.com/tangency-labs/solidcraft/issues/659) [tangency-labs/solidcraft#692](https://github.com/tangency-labs/solidcraft/issues/692) | a 160 x 100 plate with a 90 degree flange, unfolded, a 24 x 12 ellipse cut across the bend zone and refolded: the cut's wall folds to a curve on the bend's cylinder | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sheet-metal/659-ellipse-cutout-in-a-flat-sheet | [tangency-labs/solidcraft#659](https://github.com/tangency-labs/solidcraft/issues/659) [tangency-labs/solidcraft#692](https://github.com/tangency-labs/solidcraft/issues/692) | a 20 x 12 ellipse cut through a 100 x 60 x 2.5 sheet: it became 0.001 mm chords, one face each | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sheet-metal/685-fold-with-the-fixed-point-on-the-top-face | [tangency-labs/solidcraft#958](https://github.com/tangency-labs/solidcraft/issues/958) | a large thin blank folded across its whole width with the fixed point exactly on the sheet's top face | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sheet-metal/702-flange-along-what-a-cutout-leaves | [tangency-labs/solidcraft#702](https://github.com/tangency-labs/solidcraft/issues/702) | a 200 x 100 plate whose bottom-left 100 x 60 is cut away, and a 90 degree 40 mm inside flange picked on what is left of the bottom edge (x 100..200) | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sheet-metal/723-tray-with-torn-corners-folded | [tangency-labs/solidcraft#723](https://github.com/tangency-labs/solidcraft/issues/723) [tangency-labs/solidcraft#809](https://github.com/tangency-labs/solidcraft/issues/809) [tangency-labs/solidcraft#1797](https://github.com/tangency-labs/solidcraft/issues/1797) [tangency-labs/solidcraft#1799](https://github.com/tangency-labs/solidcraft/issues/1799) | a 120 x 90 tray with four 20 mm 90 degree flanges and the tear corner relief: each torn bend end is a helical cut across the bend | invariants | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sheet-metal/723-unfold-a-tray-with-torn-corners | [tangency-labs/solidcraft#723](https://github.com/tangency-labs/solidcraft/issues/723) [tangency-labs/solidcraft#809](https://github.com/tangency-labs/solidcraft/issues/809) [tangency-labs/solidcraft#1797](https://github.com/tangency-labs/solidcraft/issues/1797) [tangency-labs/solidcraft#1799](https://github.com/tangency-labs/solidcraft/issues/1799) | a 120 x 90 tray with four 20 mm 90 degree flanges and corner relief shape tear, unfolded | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sheet-metal/725-convert-a-shelled-tray-and-unfold-it | [tangency-labs/solidcraft#647](https://github.com/tangency-labs/solidcraft/issues/647) [tangency-labs/solidcraft#725](https://github.com/tangency-labs/solidcraft/issues/725) [tangency-labs/solidcraft#1285](https://github.com/tangency-labs/solidcraft/issues/1285) [tangency-labs/solidcraft#1340](https://github.com/tangency-labs/solidcraft/issues/1340) | a 100 x 60 x 30 box shelled to 2 mm, converted to sheet metal by its four bottom edges and unfolded | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sheet-metal/774-convert-a-plate-with-nine-round-holes | [tangency-labs/solidcraft#774](https://github.com/tangency-labs/solidcraft/issues/774) [tangency-labs/solidcraft#977](https://github.com/tangency-labs/solidcraft/issues/977) | a 30 x 30 x 2 plate with nine 4 mm holes converted to sheet metal (refused as not a plate of even thickness: the holes were read as polygons) | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sheet-metal/839-flange-on-a-plate-with-rounded-corners-unfolded | [tangency-labs/solidcraft#839](https://github.com/tangency-labs/solidcraft/issues/839) | a 200 x 100 plate with its corners rounded 8 and one 40 mm inside flange on its bottom edge, unfolded: the trim made the outline's arcs chords | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sheet-metal/955-hole-drilled-into-a-sheet-metal-rim | [tangency-labs/solidcraft#955](https://github.com/tangency-labs/solidcraft/issues/955) | a 2 mm hole drilled 10 mm deep into the rim of a 4 mm sheet, along the panel; it is a bore the panel keeps | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sheet-metal/978-edge-flange-beside-a-ledge-as-tall-as-its-setback | [tangency-labs/solidcraft#978](https://github.com/tangency-labs/solidcraft/issues/978) | a 90 degree inside flange of radius 1 on an edge that has a ledge beside it exactly as tall as the flange's setback (3 mm): sew failed with a degenerate edge | invariants | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| shell/12-offset-one-split-face-piece | [tangency-labs/solidcraft#12](https://github.com/tangency-labs/solidcraft/issues/12) | Offset Face on one piece of a split face moves only that piece, not the coplanar neighbour | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| shell/1494-shell-box-with-cylinder-on-edge-line | [tangency-labs/solidcraft#1494](https://github.com/tangency-labs/solidcraft/issues/1494) | a 47.5x45x30 box with a cylinder r7.5 joined on its side whose axis lies in the plane of the box's front face (y=0), shelled 1 mm open at the bottom | invariants | **FAIL**: step 3 (solid.shell): offset: a corner whose faces don't meet the same way after the move | not supported yet: this build runs booleans on the default kernel, not smlib |
| shell/1525-shell-box-with-rounds-chamfer-and-fillet | [tangency-labs/solidcraft#1525](https://github.com/tangency-labs/solidcraft/issues/1525) | a 50x50x30 box with r10 vertical rounds, a 5 mm chamfer round the base and a 4 mm fillet where the chamfer meets the wall, shelled 2 mm open at the top | invariants | **FAIL**: step 5 (solid.shell): offset: only bodies with planes, cylinders, cones, spheres and tori (a face at [10.00, 0.00, 6.66]) | not supported yet: this build runs booleans on the default kernel, not smlib |
| shell/1972-shell-one-half-sphere-leaves-the-other | [tangency-labs/solidcraft#1972](https://github.com/tangency-labs/solidcraft/issues/1972) | a sphere split into two hemispheres; shelling the flat face of one must hollow that half only, the other half stays solid | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| shell/2531-shell-point-pick-after-parameter-edit | [tangency-labs/solidcraft#2531](https://github.com/tangency-labs/solidcraft/issues/2531) | a shell opened by a point pick keeps opening only that face after a parameter edit moves the body under the stored point | analytic | **FAIL**: faces 10 (want 11); volume_mm3 17376 (want 22112) | not supported yet: this build runs booleans on the default kernel, not smlib |
| shell/2939-offset-face-sphere | [tangency-labs/solidcraft#2939](https://github.com/tangency-labs/solidcraft/issues/2939) | Offset Face on a sphere's round face | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| shell/3103-shell-tapered-cylinder | [tangency-labs/solidcraft#3103](https://github.com/tangency-labs/solidcraft/issues/3103) | a cone frustum (r20 at the base, r15 at the top, 30 tall) shelled 2 mm open at the top | analytic | **FAIL**: record_valid the operation failed: pcurve of loop 0 use 0 (Some([-12.972412489914536, 1.0839936279907245e-9, 29.9 (want ok); smlib_check the operation failed: pcurve of loop 0 use 0 (Some([-12.972412489914536, 1.0839936279907245e-9, 29.9 (want ok) | not supported yet: this build runs booleans on the default kernel, not smlib |
| shell/3283-offset-face-cylinder-wall | [tangency-labs/solidcraft#3283](https://github.com/tangency-labs/solidcraft/issues/3283) [tangency-labs/solidcraft#3650](https://github.com/tangency-labs/solidcraft/issues/3650) | Offset Face on the outer cylindrical wall of a tube (the picker only accepted planar faces) | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| shell/3468-offset-face-boss-wall-next-to-fillet | [tangency-labs/solidcraft#3468](https://github.com/tangency-labs/solidcraft/issues/3468) [tangency-labs/solidcraft#3898](https://github.com/tangency-labs/solidcraft/issues/3898) | Offset Face on a boss wall whose base has a 2 mm fillet: the boss grows to r 11 and the fillet follows | analytic | **FAIL**: step 4 (solid.offset_face): offset: a corner whose faces don't meet the same way after the move | not supported yet: this build runs booleans on the default kernel, not smlib |
| shell/3506-split-body-then-shell-both-halves | [tangency-labs/solidcraft#3506](https://github.com/tangency-labs/solidcraft/issues/3506) | a box split in two at z=10, then each half shelled 2 mm open on the mating face | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| shell/3576-shell-tapered-box-rounded-corners | [tangency-labs/solidcraft#3576](https://github.com/tangency-labs/solidcraft/issues/3576) [tangency-labs/solidcraft#3573](https://github.com/tangency-labs/solidcraft/issues/3573) | a 120x80x40 box drafted 5 degrees with 4 mm rounds on the sloping corners, shelled 2 mm open at the top: the inner rounds' edges must lie on their faces (#3573 reports the same design) | invariants | **FAIL**: record_valid the operation failed: pcurve of loop 0 use 0 (Some([57.81738299786144, 35.84870237103483, 2.0]) to S (want ok); smlib_check the operation failed: pcurve of loop 0 use 0 (Some([57.81738299786144, 35.84870237103483, 2.0]) to S (want ok) | not supported yet: this build runs booleans on the default kernel, not smlib |
| shell/3669-shell-lofted-square-frustum | [tangency-labs/solidcraft#3669](https://github.com/tangency-labs/solidcraft/issues/3669) [tangency-labs/solidcraft#2990](https://github.com/tangency-labs/solidcraft/issues/2990) | a loft between a 40 mm and a 20 mm square 80 mm apart, shelled 2 mm open at the small end | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| shell/391-deboss-text-on-flange-of-filleted-shelled-body | [tangency-labs/solidcraft#391](https://github.com/tangency-labs/solidcraft/issues/391) | text debossed 0.6 mm into the flat flange top of a filleted and shelled tapered housing, well away from the curved walls | invariants | **FAIL**: record_valid the operation failed: pcurve of loop 0 use 0 (Some([42.37656695189378, 23.85763450177594, 3.5]) to S (want ok); smlib_check the operation failed: pcurve of loop 0 use 0 (Some([42.37656695189378, 23.85763450177594, 3.5]) to S (want ok) | not supported yet: this build runs booleans on the default kernel, not smlib |
| shell/4009-closed-shell-internal-void | [tangency-labs/solidcraft#4009](https://github.com/tangency-labs/solidcraft/issues/4009) | shell with no face removed: a closed hollow body with a sealed internal void | analytic | **FAIL**: step 5 (solid.shell): invalid parameters for `solid.shell`: select 1…1000 faces | not supported yet: this build runs booleans on the default kernel, not smlib |
| shell/4010-shell-open-at-through-hole-wall | [tangency-labs/solidcraft#4010](https://github.com/tangency-labs/solidcraft/issues/4010) | plate with a through hole shelled 2.5 mm with only the hole's wall removed | analytic | **FAIL**: step 6 (solid.shell): offset: a corner whose faces don't meet the same way after the move | not supported yet: this build runs booleans on the default kernel, not smlib |
| shell/566-shell-swept-bar-with-bend | [tangency-labs/solidcraft#566](https://github.com/tangency-labs/solidcraft/issues/566) | a 8x5 bar swept along a line-arc-line path (quarter circle r30 between two 30 mm legs), shelled 0.5 mm open at its start | analytic | **FAIL**: step 10 (solid.shell): offset: a corner whose faces don't meet the same way after the move | not supported yet: this build runs booleans on the default kernel, not smlib |
| shell/745-offset-face-on-body-with-distant-freeform-boss | [tangency-labs/solidcraft#745](https://github.com/tangency-labs/solidcraft/issues/745) [tangency-labs/solidcraft#3893](https://github.com/tangency-labs/solidcraft/issues/3893) | Offset Face on a planar end of a body that has a spline-outlined boss far from the moved face | invariants | **FAIL**: step 7 (solid.offset_face): offset: only bodies with planes, cylinders, cones, spheres and tori (a face at [35.00, 5.00, 10.00]) | not supported yet: this build runs booleans on the default kernel, not smlib |
| shell/745-offset-face-then-cut-boss-away | [tangency-labs/solidcraft#745](https://github.com/tangency-labs/solidcraft/issues/745) [tangency-labs/solidcraft#3893](https://github.com/tangency-labs/solidcraft/issues/3893) | the same end offset, then the boss and the box beyond x=24 cut away, which leaves an analytic body | analytic | **FAIL**: step 7 (solid.offset_face): offset: only bodies with planes, cylinders, cones, spheres and tori (a face at [35.00, 5.00, 10.00]) | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/1093-circular-pattern-of-a-lofted-join-blade | [tangency-labs/solidcraft#1093](https://github.com/tangency-labs/solidcraft/issues/1093) [tangency-labs/solidcraft#1107](https://github.com/tangency-labs/solidcraft/issues/1107) | a tapered lofted blade (6 x 3 root embedded 2 mm into a disk, 3 x 1.5 tip) joined to a disk and patterned 9 times round the axis as joins (31 minutes with eight retries, or "cavity ownership is ambiguous") | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/1140-loft-hollow-tube-bands-halved-and-joined | [tangency-labs/solidcraft#1140](https://github.com/tangency-labs/solidcraft/issues/1140) | two hollow lofted tube bands (outer r 30, bore r 18 on R100, 5 sections each, 45 degrees each), each cut in half through its axis plane z = 0 and the halves joined into one body ("no result" after ten minutes of fallbacks) | analytic | **FAIL**: record_valid the operation failed: pcurve of loop 0 use 3 (Some([91.92386223510539, 91.92386223510539, -1.2621774 (want ok); smlib_check the operation failed: pcurve of loop 0 use 3 (Some([91.92386223510539, 91.92386223510539, -1.2621774 (want ok) | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/1184-loft-ring-sections-keep-the-hole | [tangency-labs/solidcraft#1184](https://github.com/tangency-labs/solidcraft/issues/1184) [tangency-labs/solidcraft#1254](https://github.com/tangency-labs/solidcraft/issues/1254) [tangency-labs/solidcraft#2435](https://github.com/tangency-labs/solidcraft/issues/2435) [tangency-labs/solidcraft#2447](https://github.com/tangency-labs/solidcraft/issues/2447) | a loft between two ring sections (outer r 20, inner r 12) 20 mm apart (the hole was dropped and a solid disc built) | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/1269-sweep-parallel-orientation-oblique-cylinder | [tangency-labs/solidcraft#1269](https://github.com/tangency-labs/solidcraft/issues/1269) | a circle of radius 5 on XY swept with orientation parallel along a path rising 20 mm while leaning 20 mm in x (the profile does not turn: a sheared cylinder) | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/1269-sweep-twisted-square-ninety-degrees | [tangency-labs/solidcraft#1269](https://github.com/tangency-labs/solidcraft/issues/1269) | a 10 x 10 square swept 40 mm along a straight path while turning 90 degrees about the path | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/1391-flange-flush-on-the-end-of-a-bent-tapered-loft-20deg | [tangency-labs/solidcraft#1391](https://github.com/tangency-labs/solidcraft/issues/1391) [tangency-labs/solidcraft#1556](https://github.com/tangency-labs/solidcraft/issues/1556) | a half tube (6 mm wall, inner radius tapering 60 to 75 mm) lofted through 5 sections along an R300 bend of 20 degrees, with an 8 mm half-annulus flange (inner radius +3 into the wall, outer +25 beyond it) extruded from the end plane outward and joined: the flange face lies in the end plane ("Union: no result") | analytic | **FAIL**: shells Tube: 2 (want 1) | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/1391-flange-flush-on-the-end-of-a-bent-tapered-loft-40deg | [tangency-labs/solidcraft#1391](https://github.com/tangency-labs/solidcraft/issues/1391) [tangency-labs/solidcraft#1556](https://github.com/tangency-labs/solidcraft/issues/1556) | a half tube (6 mm wall, inner radius tapering 60 to 75 mm) lofted through 5 sections along an R300 bend of 40 degrees, with an 8 mm half-annulus flange (inner radius +3 into the wall, outer +25 beyond it) extruded from the end plane outward and joined: the flange face lies in the end plane ("Union: no result") | analytic | **FAIL**: shells Tube: 2 (want 1) | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/1411-coil-intersected-with-a-cylinder-holding-it | [tangency-labs/solidcraft#1411](https://github.com/tangency-labs/solidcraft/issues/1411) | a 4-turn coil (centre diameter 40, wire 3 mm, pitch 8) intersected with a cylinder of radius 25 and height 40 that holds it (crash report: unclean exit in solid.coil) | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/1490-loft-joined-into-a-window-of-a-wall-that-it-overhangs | [tangency-labs/solidcraft#1490](https://github.com/tangency-labs/solidcraft/issues/1490) | a wall 2.5 mm thick with a 30 x 20 window cut through it and a loft (34 x 24 growing to 38 x 28 over 3.5 mm) joined into the window so that its strips overhang the wall on both faces ("Union: no result" at some wall thicknesses) | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/1666-loft-zigzag-to-flat-rectangle | [tangency-labs/solidcraft#1666](https://github.com/tangency-labs/solidcraft/issues/1666) | a ruled loft from an 18-vertex zig-zag section to a flat 52 x 3 rectangle with 18 vertices (8 of them collinear), whose twisted ruled faces were exported as crossing triangles | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/1669-mirrored-window-and-loft-on-a-hollow-case | [tangency-labs/solidcraft#1669](https://github.com/tangency-labs/solidcraft/issues/1669) | a closed hollow box (60 x 60 x 40, 2.5 mm walls) with a window cut in one end wall and a loft joined into it, both mirrored about the middle plane x = 30 onto the far wall ("Union: no result" on the mirror only) | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/1853-revolve-cut-half-a-slot-about-its-centreline | [tangency-labs/solidcraft#1853](https://github.com/tangency-labs/solidcraft/issues/1853) [tangency-labs/solidcraft#1866](https://github.com/tangency-labs/solidcraft/issues/1866) | half a slot (r 3, centres 14 apart) revolved a full turn about its own centreline, which lies in the top face of a plate, as a cut (no result after about 10 s of retries) | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/1856-disk-and-36-twisted-lofted-blades-joined | [tangency-labs/solidcraft#2992](https://github.com/tangency-labs/solidcraft/issues/2992) [tangency-labs/solidcraft#1856](https://github.com/tangency-labs/solidcraft/issues/1856) | a disk joined to 36 patterned twisted lofted blades (each a loft of 9 rectangle sections turning 7.5 degrees apart, rooted 2 mm inside the disk): hang of minutes | analytic | **HANG**: no result after 180 s | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/1866-revolve-half-slot-profile-180 | [tangency-labs/solidcraft#1866](https://github.com/tangency-labs/solidcraft/issues/1866) | half a slot (r 3, centres 14 apart; the segment before the axis edge comes back to the axis along an arc) revolved 180 deg about its centreline | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/1866-revolve-half-slot-profile-90 | [tangency-labs/solidcraft#1866](https://github.com/tangency-labs/solidcraft/issues/1866) | half a slot (r 3, centres 14 apart; the segment before the axis edge comes back to the axis along an arc) revolved 90 deg about its centreline | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/2005-closed-sweep-twisted-cut-inside-a-torus | [tangency-labs/solidcraft#2005](https://github.com/tangency-labs/solidcraft/issues/2005) [tangency-labs/solidcraft#2010](https://github.com/tangency-labs/solidcraft/issues/2010) | an 8 x 8 square swept a full turn round a circle of radius 30 with a 180 degree twist, cut from a torus (R 30, r 8) that holds it (no result, or minutes) | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/2005-closed-sweep-twisted-new-body | [tangency-labs/solidcraft#2005](https://github.com/tangency-labs/solidcraft/issues/2005) [tangency-labs/solidcraft#2010](https://github.com/tangency-labs/solidcraft/issues/2010) | an 8 x 8 square swept a full turn round a circle of radius 30 with a 90 degree twist, as a new body (the sweep that closes on itself) | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/201-loft-one-guide-rail-cone-frustum | [tangency-labs/solidcraft#201](https://github.com/tangency-labs/solidcraft/issues/201) [tangency-labs/solidcraft#3371](https://github.com/tangency-labs/solidcraft/issues/3371) | a loft from a circle of radius 5 to a circle of radius 10, 20 mm above, guided by one straight rail through (5,0,0) and (10,0,20) | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/2056-rib-grows-along-the-sketch-normal-to-the-part | [tangency-labs/solidcraft#2056](https://github.com/tangency-labs/solidcraft/issues/2056) [tangency-labs/solidcraft#2057](https://github.com/tangency-labs/solidcraft/issues/2057) | a rib drawn on a plane 20 mm in front of a block (parallel to XZ, a 40 mm line along X) with direction normal, growing toward the block | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/2183-revolve-profile-crosses-the-axis-refused | [tangency-labs/solidcraft#2453](https://github.com/tangency-labs/solidcraft/issues/2453) [tangency-labs/solidcraft#2183](https://github.com/tangency-labs/solidcraft/issues/2183) | a rectangle that straddles the revolve axis (x from -5 to 15 about the sketch y axis) | invariants | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/2295-revolve-cut-torus-by-an-overlapping-ring | [tangency-labs/solidcraft#2295](https://github.com/tangency-labs/solidcraft/issues/2295) | a torus (R 10, r 5) cut by a disc of radius 5 centred at (15,0) in the XZ plane revolved about Z (the disc overlaps the torus tube) | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/2435-loft-rectangular-ring-sections | [tangency-labs/solidcraft#2435](https://github.com/tangency-labs/solidcraft/issues/2435) [tangency-labs/solidcraft#2447](https://github.com/tangency-labs/solidcraft/issues/2447) | a loft between two rectangular ring sections (a rectangle with a rectangular hole), 24 mm apart, tapering outer 40 x 30 to 28 x 20 and hole 20 x 14 to 12 x 6 | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/2516-revolve-about-a-named-construction-axis | [tangency-labs/solidcraft#3796](https://github.com/tangency-labs/solidcraft/issues/3796) [tangency-labs/solidcraft#3619](https://github.com/tangency-labs/solidcraft/issues/3619) [tangency-labs/solidcraft#2516](https://github.com/tangency-labs/solidcraft/issues/2516) | a rectangle revolved about a construction axis picked by name ("unknown sketch line `Axis1`") | analytic | **FAIL**: step 5 (solid.revolve): unknown sketch line `Axis1` | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/2552-thread-groove-cut-by-a-square-coil-in-a-bore | [tangency-labs/solidcraft#2552](https://github.com/tangency-labs/solidcraft/issues/2552) | a square-wire coil (diameter 10, section 0.9 inside, pitch 1.5, height 10) cut as a helical groove into the wall of a bore of radius 4.1 in a 30 x 30 x 12 block (crash report: unclean exit in solid.coil) | analytic | **HANG**: no result after 180 s | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/2570-loft-circle-to-a-non-star-shaped-comb | [tangency-labs/solidcraft#2570](https://github.com/tangency-labs/solidcraft/issues/2570) [tangency-labs/solidcraft#3670](https://github.com/tangency-labs/solidcraft/issues/3670) | a loft between a circle and a 20-edge comb outline (not star-shaped from its centroid: the teeth turn the vertex directions back on themselves), 40 mm apart (the circle was wound about ten times, the app froze) | invariants | **FAIL**: record_valid geometry: portable B-rep: face 21 loop 0: outer loop runs clockwise in (u, v) (signed area -1.154845 (want ok); smlib_check SMLib check: 4 failed tests: SmBrep::Test #4 Bad Gap: Edge/Surface gap across Edgeuse larger than to (want ok); bbox.min [-18.151366, -22.51753, -0] (want [-18, -2, 0]); bbox.max [20.634025, 37.723464, 40] (want [18, 18, 40]) | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/2607-revolve-axis-outside-the-sketch-plane-refused | [tangency-labs/solidcraft#3736](https://github.com/tangency-labs/solidcraft/issues/3736) [tangency-labs/solidcraft#2607](https://github.com/tangency-labs/solidcraft/issues/2607) | a profile on the XZ plane revolved about the world Y axis, which does not lie in the sketch plane | invariants | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/2667-revolve-half-disc-sphere | [tangency-labs/solidcraft#2667](https://github.com/tangency-labs/solidcraft/issues/2667) | a half disc of radius 6 on the axis revolved a full turn (mutation survivor: half_disc area factor) | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/2667-revolve-half-disc-three-quarters | [tangency-labs/solidcraft#2667](https://github.com/tangency-labs/solidcraft/issues/2667) | the same half disc revolved 270 degrees (mutation survivor: full_circle test of the sweep angle) | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/2667-sweep-hostile-end-scale-refused | [tangency-labs/solidcraft#2667](https://github.com/tangency-labs/solidcraft/issues/2667) | a sweep with an end scale of 500 (the engine allows 0.01 to 100): the option check (SweepControl::check) must refuse it | invariants | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/271-loft-cut-with-targets-keeps-the-bystander | [tangency-labs/solidcraft#271](https://github.com/tangency-labs/solidcraft/issues/271) [tangency-labs/solidcraft#286](https://github.com/tangency-labs/solidcraft/issues/286) [tangency-labs/solidcraft#299](https://github.com/tangency-labs/solidcraft/issues/299) | a loft cut limited by targets to one body while a second body lies inside the loft | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/2820-pipe-cut-oblique-hole-through-a-block | [tangency-labs/solidcraft#2820](https://github.com/tangency-labs/solidcraft/issues/2820) | a pipe of diameter 6 cut through a 40 x 40 x 20 block along a line leaning 30 degrees from the vertical | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/2820-pipe-hollow-with-a-wall-along-a-bend | [tangency-labs/solidcraft#2820](https://github.com/tangency-labs/solidcraft/issues/2820) | a hollow pipe (outer diameter 10, wall 2) along a path of two lines joined by a tangent R20 quarter arc | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/2847-loft-rectangles-turning-through-half-a-turn | [tangency-labs/solidcraft#2847](https://github.com/tangency-labs/solidcraft/issues/2847) [tangency-labs/solidcraft#3452](https://github.com/tangency-labs/solidcraft/issues/3452) | a loft through 19 identical 6 x 4 rectangles on planes turning about the Z axis every 10 degrees from 0 to 180 degrees, centred 30 mm from the axis (volume came out 6 % of the expected at 180 degrees, no error) | analytic | **FAIL**: smlib_check SMLib check: 1 failed tests: SmBrep::Test #8 Bad Infinite Region: m_pInfiniteRegion is incorrect [ow (want ok); volume_mm3 125.665718 (want 2261.946711); bbox.max [33, 33.222229, 2] (want [33, 33, 2]) | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/2862-three-pipes-meeting-at-one-point | [tangency-labs/solidcraft#2862](https://github.com/tangency-labs/solidcraft/issues/2862) | three pipes of diameter 4.4 and length 20 along +X, +Y and +Z, all ending at the origin, joined (a non-planar tripod junction: kernel panics, then no result) | analytic | **FAIL**: step 9 (solid.pipe): boolean Union: the operation failed: no result | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/2891-twisted-sweep-cut-through-a-tube | [tangency-labs/solidcraft#2891](https://github.com/tangency-labs/solidcraft/issues/2891) [tangency-labs/solidcraft#3695](https://github.com/tangency-labs/solidcraft/issues/3695) | a 20 x 20 square swept 250 mm along the axis of a tube (ID 20, OD 30, 250 long) with a 30 degree twist, cut from it (the twisted cut froze the app) | analytic | **FAIL**: step 12 (solid.sweep): boolean Cut: the operation failed: no result | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/2947-revolve-300-degrees-intersected-by-a-plate | [tangency-labs/solidcraft#2947](https://github.com/tangency-labs/solidcraft/issues/2947) [tangency-labs/solidcraft#2948](https://github.com/tangency-labs/solidcraft/issues/2948) | a rectangle section revolved 300 degrees about Z, then intersected with a plate (slab /y/ <= 5) crossing the ring at the start/end gap side and the far side (boolean gave up: "loop not inside any face piece") | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/3006-second-sweep-from-a-plane-along-a-closed-path | [tangency-labs/solidcraft#3006](https://github.com/tangency-labs/solidcraft/issues/3006) | a circle of radius 3 on a plane at 0.5 of a closed circular path (R 30) swept round it, then a 5 x 5 square on a plane at 0.75 swept round the same path and joined (it did not follow the path) | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/3088-coil-thread-joined-flush-with-a-cylinder | [tangency-labs/solidcraft#3088](https://github.com/tangency-labs/solidcraft/issues/3088) [tangency-labs/solidcraft#3758](https://github.com/tangency-labs/solidcraft/issues/3758) | a 4-turn square coil (4 mm wire, pitch 9, outer diameter 30.8, section inside) joined round a cylinder of radius 15 and height 40, its ends flush with the cylinder end faces (hang of several minutes, crash report) | analytic | **HANG**: no result after 180 s | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/3111-loft-rectangular-ring-to-circular-ring | [tangency-labs/solidcraft#3111](https://github.com/tangency-labs/solidcraft/issues/3111) | a loft from a rectangular ring (two nested rectangles) to a circular ring (two concentric circles) 30 mm above: a hollow transition piece | invariants | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/3156-revolve-join-end-faces-flush-with-a-face | [tangency-labs/solidcraft#3156](https://github.com/tangency-labs/solidcraft/issues/3156) [tangency-labs/solidcraft#3224](https://github.com/tangency-labs/solidcraft/issues/3224) | a rectangle revolved plus and minus 90 degrees about an axis in a plate top face: both planar end faces lie in that face and the join needed a tool nudge | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/3191-revolve-cut-leaves-a-cone | [tangency-labs/solidcraft#3911](https://github.com/tangency-labs/solidcraft/issues/3911) [tangency-labs/solidcraft#3191](https://github.com/tangency-labs/solidcraft/issues/3191) | a triangle sharing the cylinder side and top rim revolved as a cut to leave a cone (the cut never completed) | analytic | **FAIL**: step 5 (solid.revolve): invalid input: the profile crosses the revolve axis | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/3326-loft-20mm-square-to-a-circle | [tangency-labs/solidcraft#3326](https://github.com/tangency-labs/solidcraft/issues/3326) [tangency-labs/solidcraft#3402](https://github.com/tangency-labs/solidcraft/issues/3402) | a loft from a 20 mm square to a circle of radius 10 offset 20 mm (the loft tool symbol): the loft geometry looked wrong | invariants | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/3345-sweep-profile-mid-line-round-a-rounded-rectangle | [tangency-labs/solidcraft#3345](https://github.com/tangency-labs/solidcraft/issues/3345) | a 4 x 3 profile drawn at the middle of the bottom line of a closed 60 x 40 rounded-rectangle path (corner radius 8) and swept round the whole path (walls offset, fillets turned the wrong way) | analytic | **FAIL**: volume_mm3 2225.797307 (want 2235.185789); bbox.min [-45.497256, -35.488093, -1.5] (want [-32, -22, -1.5]); bbox.max [45.497256, 35.488093, 1.5] (want [32, 22, 1.5]) | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/3412-loft-sections-in-one-plane-refused | [tangency-labs/solidcraft#3412](https://github.com/tangency-labs/solidcraft/issues/3412) | a loft through two circles drawn on the same plane (no volume between them; it built a flat zero-volume body and reported success) | invariants | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/3505-extrude-the-flat-wall-of-a-sweep-with-a-corner | [tangency-labs/solidcraft#3505](https://github.com/tangency-labs/solidcraft/issues/3505) | the inner side wall of the vertical leg of a mitred swept bar extruded outward by 3 mm (the wall is a B-spline net in a plane, "the selected planar face no longer exists") | analytic | **FAIL**: step 9 (solid.extrude): invalid parameters for `face profile`: the selected planar face no longer exists; choose another face or an explicit fixed plane | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/3528-revolved-dome-cut-by-a-ball-on-its-seam | [tangency-labs/solidcraft#3528](https://github.com/tangency-labs/solidcraft/issues/3528) | a ball of radius 4 centred on the dome of a revolved mushroom cap (azimuth 15 degrees, across an internal seam of the revolved faces), cut from it: removed nearly the whole ball | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/3541-loft-two-circles-into-a-cone-flipped-plane | [tangency-labs/solidcraft#3541](https://github.com/tangency-labs/solidcraft/issues/3541) | a loft from a circle of radius 8 to a circle of radius 20, 30 mm below it (sections given small first, the small one drawn on a plane turned over (normal pointing down)): "a horizontal narrowing is created" instead of a cone | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/3541-loft-two-circles-into-a-cone-same-sense | [tangency-labs/solidcraft#3541](https://github.com/tangency-labs/solidcraft/issues/3541) | a loft from a circle of radius 8 to a circle of radius 20, 30 mm below it (sections given small first, the small one drawn on a plane facing the same way): "a horizontal narrowing is created" instead of a cone | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/3832-coil-cut-with-negative-pitch-inside-a-cylinder | [tangency-labs/solidcraft#3832](https://github.com/tangency-labs/solidcraft/issues/3832) | a 7-turn coil (centre diameter 80, wire 1 mm, pitch -2 so it winds downward) cut from a cylinder that holds it entirely (boolean Cut: no result) | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/3862-coil-square-wire-outside-the-diameter | [tangency-labs/solidcraft#3862](https://github.com/tangency-labs/solidcraft/issues/3862) [tangency-labs/solidcraft#3915](https://github.com/tangency-labs/solidcraft/issues/3915) | a clockwise 5-turn coil of 4 mm square wire placed outside a 40 mm diameter, pitch 8 (the section, position and direction parameters) | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/3897-sweep-ring-along-a-short-arc-joined-to-a-collar | [tangency-labs/solidcraft#3897](https://github.com/tangency-labs/solidcraft/issues/3897) | a ring profile (radii 79.815 and 78.285) swept along a 22.5 degree arc of radius 94.815 whose start is at the ring centre, joined to a ring-shaped collar under the profile (froze at "Computing") | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/3936-loft-join-circle-to-rectangle-on-a-cylinder | [tangency-labs/solidcraft#3936](https://github.com/tangency-labs/solidcraft/issues/3936) | a loft from the circle on top of a cylinder (r 10, height 15) to a 40 x 30 rectangle 30 mm above, joined to the cylinder (builds as a new body in 2 ms, the join never returns) | invariants | **HANG**: no result after 180 s | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/396-loft-join-standing-on-a-box-face | [tangency-labs/solidcraft#396](https://github.com/tangency-labs/solidcraft/issues/396) [tangency-labs/solidcraft#577](https://github.com/tangency-labs/solidcraft/issues/577) | a conical loft standing on a box top face, joined to the box (one body reported, two touching shells in the result) | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/4007-revolve-half-disc-horn-torus-270-degrees | [tangency-labs/solidcraft#4007](https://github.com/tangency-labs/solidcraft/issues/4007) | the half disc of radius 14 on the far side of a diameter 14 mm from the axis (the full circle would touch the axis: a horn torus) revolved 270 degrees | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/4008-symmetric-revolve-cut-end-faces-in-the-side-face | [tangency-labs/solidcraft#4008](https://github.com/tangency-labs/solidcraft/issues/4008) | a 7 x 21 rectangle 2.6 mm from a block vertical edge revolved as a symmetric 180 degree cut about that edge: both end faces of the tool lie in the block left face (refused as "could not be computed reliably") | analytic | **FAIL**: step 6 (solid.revolve): the cut could not be computed reliably: it would change the body away from the tool, at (-0.924, 12.796, 2.000) (outside the tool's regi | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/4056-surface-loft-rails-straight-section-in-a-rail-plane-bow-to-stern | [tangency-labs/solidcraft#4056](https://github.com/tangency-labs/solidcraft/issues/4056) [tangency-labs/solidcraft#4080](https://github.com/tangency-labs/solidcraft/issues/4080) | a surface loft between a vertical line on XZ (bow) and a slanted line in the plane x = 100 (stern), bow to stern, guided by a keel rail lying in the bow sketch plane and a sheer rail at z = 20 (refused: "a guide rail crosses section 2's plane") | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/4056-surface-loft-rails-straight-section-in-a-rail-plane-stern-to-bow | [tangency-labs/solidcraft#4056](https://github.com/tangency-labs/solidcraft/issues/4056) [tangency-labs/solidcraft#4080](https://github.com/tangency-labs/solidcraft/issues/4080) | a surface loft between a vertical line on XZ (bow) and a slanted line in the plane x = 100 (stern), stern to bow, guided by a keel rail lying in the bow sketch plane and a sheer rail at z = 20 (refused: "a guide rail crosses section 2's plane") | analytic | **FAIL**: step 13 (surface.loft): invalid input: a guide rail crosses section 2's plane 100.000 mm from its curves: a rail has to pass through every section | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/443-loft-intersect-cone-meets-wall-below-top | [tangency-labs/solidcraft#443](https://github.com/tangency-labs/solidcraft/issues/443) | a cylinder (r 35, h 10) intersected with a conical loft (r 45 at z = -1 to r 33 at z = 11) that crosses its wall 1 mm below the top face (body came back unchanged) | analytic | **FAIL**: record_valid the operation failed: pcurve of loop 0 use 0 (Some([-34.0, 7.915749896921301e-14, 10.0]) to Some([34 (want ok); smlib_check the operation failed: pcurve of loop 0 use 0 (Some([-34.0, 7.915749896921301e-14, 10.0]) to Some([34 (want ok) | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/450-revolve-spherical-shell-sketched-off-the-origin | [tangency-labs/solidcraft#450](https://github.com/tangency-labs/solidcraft/issues/450) [tangency-labs/solidcraft#452](https://github.com/tangency-labs/solidcraft/issues/452) | a half ring between two arcs (both radial lines on the axis) revolved a full turn from a sketch plane 10 mm above the origin (volume +34 %) | analytic | **FAIL**: record_valid geometry: portable B-rep: face 1 loop 0: loop encloses no (u, v) area (signed area 0.000000000000019 (want ok) | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/487-cut-disc-by-revolved-adjacent-profiles | [tangency-labs/solidcraft#487](https://github.com/tangency-labs/solidcraft/issues/487) [tangency-labs/solidcraft#490](https://github.com/tangency-labs/solidcraft/issues/490) | a disc cut by the body made from two adjacent profiles revolved on the axis, around the disc flat end | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/487-revolve-two-adjacent-profiles-on-the-axis | [tangency-labs/solidcraft#487](https://github.com/tangency-labs/solidcraft/issues/487) [tangency-labs/solidcraft#490](https://github.com/tangency-labs/solidcraft/issues/490) | two rectangles sharing an edge, both resting on the axis, revolved together (zero-area faces along the axis) | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/494-extrude-the-flange-face-of-a-fresh-revolve | [tangency-labs/solidcraft#726](https://github.com/tangency-labs/solidcraft/issues/726) [tangency-labs/solidcraft#494](https://github.com/tangency-labs/solidcraft/issues/494) [tangency-labs/solidcraft#2114](https://github.com/tangency-labs/solidcraft/issues/2114) | the flange top annulus of a freshly revolved hub (z = 6, r 18..30) picked by a point and extruded 5 mm (the pick found a third of the face: "the selected planar face no longer exists") | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/561-extrude-the-end-face-of-a-loft | [tangency-labs/solidcraft#561](https://github.com/tangency-labs/solidcraft/issues/561) [tangency-labs/solidcraft#677](https://github.com/tangency-labs/solidcraft/issues/677) | the small end face of a square-to-square loft (40 mm side to 20 mm over 40 mm) extruded 10 mm (loft faces had no attachable source) | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/561-extrude-the-end-face-of-a-sweep | [tangency-labs/solidcraft#561](https://github.com/tangency-labs/solidcraft/issues/561) [tangency-labs/solidcraft#677](https://github.com/tangency-labs/solidcraft/issues/677) | the end cap of a mitred swept bar (8 x 5 section, 30 up then 40 across) extruded 6 mm further along the path | analytic | **FAIL**: shells Bar: 2 (want 1); record_valid the operation failed: lumps: shell boundaries intersect or touch; cavity ownership is ambiguous (want ok); smlib_check the operation failed: lumps: shell boundaries intersect or touch; cavity ownership is ambiguous (want ok) | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/561-extrude-the-start-face-of-a-coil | [tangency-labs/solidcraft#561](https://github.com/tangency-labs/solidcraft/issues/561) [tangency-labs/solidcraft#677](https://github.com/tangency-labs/solidcraft/issues/677) | the start face of a 3-turn square-wire coil (4 mm wire, pitch 8, centre diameter 40) extruded 5 mm | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/726-revolve-full-turn-planar-faces-whole | [tangency-labs/solidcraft#726](https://github.com/tangency-labs/solidcraft/issues/726) [tangency-labs/solidcraft#1687](https://github.com/tangency-labs/solidcraft/issues/1687) | a flanged hub profile (six edges, none on the axis) revolved a full turn: the planar faces must come out whole, not as three patches | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/726-revolve-partial-turn-planar-faces-whole | [tangency-labs/solidcraft#726](https://github.com/tangency-labs/solidcraft/issues/726) [tangency-labs/solidcraft#1718](https://github.com/tangency-labs/solidcraft/issues/1718) | the same flanged hub profile revolved 240 degrees: its planar faces (three annular sectors and two end faces) must come out whole | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/757-surface-loft-ruled-strip-between-two-lines | [tangency-labs/solidcraft#757](https://github.com/tangency-labs/solidcraft/issues/757) [tangency-labs/solidcraft#847](https://github.com/tangency-labs/solidcraft/issues/847) | a surface loft between the line (0,0,0)-(10,0,0) and the line (0,0,20)-(10,6,20): a ruled (bilinear) strip | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/757-surface-revolve-line-cone-frustum-sheet | [tangency-labs/solidcraft#757](https://github.com/tangency-labs/solidcraft/issues/757) [tangency-labs/solidcraft#824](https://github.com/tangency-labs/solidcraft/issues/824) | a line from (5,0) to (10,20) revolved a full turn into a surface body (a cone frustum wall, no caps) | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/757-surface-sweep-slanted-line-round-a-quarter-arc | [tangency-labs/solidcraft#757](https://github.com/tangency-labs/solidcraft/issues/757) [tangency-labs/solidcraft#843](https://github.com/tangency-labs/solidcraft/issues/843) | a slanted line (from (20,0,0) to (30,0,10)) swept as a surface round a quarter circle of radius 20 about Z | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/771-sweep-end-scale-cone-frustum | [tangency-labs/solidcraft#771](https://github.com/tangency-labs/solidcraft/issues/771) [tangency-labs/solidcraft#1269](https://github.com/tangency-labs/solidcraft/issues/1269) | a circle of radius 5 swept 30 mm along a straight path with end scale 2 | analytic | **FAIL**: faces 4 (want 3) | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/771-sweep-one-guide-rail-cone-frustum | [tangency-labs/solidcraft#771](https://github.com/tangency-labs/solidcraft/issues/771) [tangency-labs/solidcraft#1806](https://github.com/tangency-labs/solidcraft/issues/1806) | a circle of radius 5 swept 20 mm up a straight path with one guide rail from its point (5,0,0) to (10,0,20) | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/771-sweep-two-guide-rails-cone-frustum | [tangency-labs/solidcraft#771](https://github.com/tangency-labs/solidcraft/issues/771) [tangency-labs/solidcraft#1806](https://github.com/tangency-labs/solidcraft/issues/1806) | a circle of radius 5 swept 20 mm up a straight path between two guide rails from (5,0,0) to (10,0,20) and from (-5,0,0) to (-10,0,20) | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/793-coil-cut-by-a-box-above-a-plane | [tangency-labs/solidcraft#793](https://github.com/tangency-labs/solidcraft/issues/793) | the same coil trimmed flat by cutting away everything above z = 12.5 with a box (trimming a coil to length) | analytic | **HANG**: no result after 180 s | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/793-coil-split-by-a-plane-across-its-axis | [tangency-labs/solidcraft#793](https://github.com/tangency-labs/solidcraft/issues/793) | a 6-turn coil (centre diameter 40, wire 2 mm, pitch 4) split by the plane z = 12.5 square to its axis ("boolean Intersect: no result") | analytic | **FAIL**: step 2 (solid.split_body): boolean Intersect: the operation failed: no result | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/844-join-two-overlapping-swept-arc-walls | [tangency-labs/solidcraft#844](https://github.com/tangency-labs/solidcraft/issues/844) | two swept walls (12 mm thick, 60 mm high) along concentric half circles of radius 50 and 58 turned 90 degrees apart, overlapping in thickness by 4 mm over a quarter turn and sharing the planes z = 0 and z = 60 (join gave an error, minutes, or an open body) | analytic | **FAIL**: shells WallA: 2 (want 1); record_valid the operation failed: lumps: shell boundaries intersect or touch; cavity ownership is ambiguous (want ok); smlib_check the operation failed: lumps: shell boundaries intersect or touch; cavity ownership is ambiguous (want ok) | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/881-loft-zigzag-pleat-vertex-pairing | [tangency-labs/solidcraft#881](https://github.com/tangency-labs/solidcraft/issues/881) [tangency-labs/solidcraft#956](https://github.com/tangency-labs/solidcraft/issues/956) | a ruled loft between two 18-vertex zig-zag sections with the same start vertex and winding, whose first-vertex direction is ambiguous from the section centroid | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/96-loft-cut-box-sections-pad-first | [tangency-labs/solidcraft#122](https://github.com/tangency-labs/solidcraft/issues/122) [tangency-labs/solidcraft#96](https://github.com/tangency-labs/solidcraft/issues/96) | a loft cut through a 100 x 60 x 30 block from its whole 100 x 60 outline at z = 20 (edges flush with the side faces) down to a 10 x 10 pad in a corner at z = 11, sections given pad first (the cut panicked for one order) | analytic | **FAIL**: shells Basin: 2 (want 1); record_valid the operation failed: lumps: shell boundaries intersect or touch; cavity ownership is ambiguous (want ok); smlib_check the operation failed: lumps: shell boundaries intersect or touch; cavity ownership is ambiguous (want ok); body_count 1 (want 2) | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/96-loft-cut-box-sections-top-first | [tangency-labs/solidcraft#122](https://github.com/tangency-labs/solidcraft/issues/122) [tangency-labs/solidcraft#96](https://github.com/tangency-labs/solidcraft/issues/96) | a loft cut through a 100 x 60 x 30 block from its whole 100 x 60 outline at z = 20 (edges flush with the side faces) down to a 10 x 10 pad in a corner at z = 11, sections given top first (the cut panicked for one order) | analytic | **FAIL**: shells Basin: 2 (want 1); record_valid the operation failed: lumps: shell boundaries intersect or touch; cavity ownership is ambiguous (want ok); smlib_check the operation failed: lumps: shell boundaries intersect or touch; cavity ownership is ambiguous (want ok); body_count 1 (want 2) | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/96-shallow-loft-cut-starting-in-the-top-face | [tangency-labs/solidcraft#96](https://github.com/tangency-labs/solidcraft/issues/96) | a loft cut from a 556.68 x 99 rectangle on the top face of a 900 x 480 x 160 slab down 4 mm to an 80 x 80 square (a kernel panic in healing; the sides are about 0.9 degrees from horizontal) | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/96-sweep-rectangle-round-a-mitred-corner | [tangency-labs/solidcraft#96](https://github.com/tangency-labs/solidcraft/issues/96) | an 8 x 5 rectangle swept along a path of a 30 mm vertical line and a 40 mm horizontal line meeting at a sharp corner (walls mitred) | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/968-loft-hollow-elbow-60deg-5sections | [tangency-labs/solidcraft#968](https://github.com/tangency-labs/solidcraft/issues/968) [tangency-labs/solidcraft#1084](https://github.com/tangency-labs/solidcraft/issues/1084) | a bent tube (circles r 30 lofted through 5 sections along an R100 arc turning 60 degrees) with a bore (r 18, sections running 5 mm of arc past both ends) cut out of it: a hollow elbow ("no result" for some section counts, not their neighbours) | analytic | **FAIL**: record_valid the operation failed: pcurve of loop 0 use 1 (Some([100.0000000000009, 0.0, -17.999999999999996]) to (want ok); smlib_check the operation failed: pcurve of loop 0 use 1 (Some([100.0000000000009, 0.0, -17.999999999999996]) to (want ok) | not supported yet: this build runs booleans on the default kernel, not smlib |
| sweeps/968-loft-hollow-elbow-90deg-10sections | [tangency-labs/solidcraft#968](https://github.com/tangency-labs/solidcraft/issues/968) [tangency-labs/solidcraft#1084](https://github.com/tangency-labs/solidcraft/issues/1084) | a bent tube (circles r 30 lofted through 10 sections along an R100 arc turning 90 degrees) with a bore (r 18, sections running 5 mm of arc past both ends) cut out of it: a hollow elbow ("no result" for some section counts, not their neighbours) | analytic | **FAIL**: record_valid the operation failed: pcurve of loop 0 use 0 (Some([6.123235057019227e-15, 100.00000000000101, -18.0 (want ok); smlib_check the operation failed: pcurve of loop 0 use 0 (Some([6.123235057019227e-15, 100.00000000000101, -18.0 (want ok) | not supported yet: this build runs booleans on the default kernel, not smlib |
| tessellation/1263-concave-arc-knife-edge-plate | [tangency-labs/solidcraft#1263](https://github.com/tangency-labs/solidcraft/issues/1263) | a plate with a concave quarter-round wall that meets the back face tangentially at a knife-edge tip (a box and a box less a cylinder, united): its display tessellation used to fail with 'boundary does not lie on the surface' before anything was filleted | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| tessellation/1615-crossed-lofted-tubes | [tangency-labs/solidcraft#1615](https://github.com/tangency-labs/solidcraft/issues/1615) [tangency-labs/solidcraft#1653](https://github.com/tangency-labs/solidcraft/issues/1653) | two lofted tubes that cross and are joined (the bike-frame case): the trimmed loft faces along the intersection curves used to mesh with a flat sheet across the tube and slivers inside it | analytic | **FAIL**: record_valid the operation failed: pcurve of loop 0 use 0 (Some([-10.000000000000243, 5.32800127382499e-10, -9.99 (want ok); smlib_check the operation failed: pcurve of loop 0 use 0 (Some([-10.000000000000243, 5.32800127382499e-10, -9.99 (want ok) | not supported yet: this build runs booleans on the default kernel, not smlib |
| tessellation/1648-sphere-touches-box-edge-union | [tangency-labs/solidcraft#1648](https://github.com/tangency-labs/solidcraft/issues/1648) [tangency-labs/solidcraft#1850](https://github.com/tangency-labs/solidcraft/issues/1850) | a sphere that touches a box's bottom edge at one point: the union leaves a sliver face pinched to zero height, whose loop touches itself within tolerance, and it must still mesh | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| tessellation/1666-loft-18-gon-ruled-sides | [tangency-labs/solidcraft#1666](https://github.com/tangency-labs/solidcraft/issues/1666) [tangency-labs/solidcraft#1670](https://github.com/tangency-labs/solidcraft/issues/1670) | a loft between two 18-vertex polylines whose side faces are twisted ruled (bilinear) patches: each used to be exported as two flat triangles with crossing diagonals | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| tessellation/1666-loft-twisted-square | [tangency-labs/solidcraft#1666](https://github.com/tangency-labs/solidcraft/issues/1666) [tangency-labs/solidcraft#1670](https://github.com/tangency-labs/solidcraft/issues/1670) | a loft from a 20x20 square to the same square turned 45 degrees, 30 mm higher: its four side faces are strongly twisted ruled patches, the case a two-triangle mesh gets visibly wrong | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| tessellation/1753-bowl-rim-cut-by-cylinder | [tangency-labs/solidcraft#1753](https://github.com/tangency-labs/solidcraft/issues/1753) | a revolved bowl whose rim is cut by a large cylinder (R320, axis across the bowl): the cut edge is an intersection curve between the cylinder and the cone walls, whose two faces used to put different vertices on it, so the STL/3MF export had a 0.001 mm crack | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| tessellation/1813-sphere-lens-thinner-than-tolerance | [tangency-labs/solidcraft#2712](https://github.com/tangency-labs/solidcraft/issues/2712) [tangency-labs/solidcraft#1813](https://github.com/tangency-labs/solidcraft/issues/1813) | a sphere whose centre lies on a box's top face, poking out of the box's side as a lens-shaped face thinner than the mesh tolerance; the face must still be meshed | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| tessellation/2069-chamfered-ring-notch-moved-far | [tangency-labs/solidcraft#2069](https://github.com/tangency-labs/solidcraft/issues/2069) | a 210-degree ring with a chamfered outer edge, notched through its chamfer cone and then moved 1000 mm: where the notch meets the cone the mesh used to leave a crack, and the measured volume then grew with the distance from the origin | analytic | **FAIL**: record_valid the operation failed: pcurve of loop 0 use 0 (Some([1025.9229635399038, 2.0, 9.999999999999998]) to (want ok); smlib_check the operation failed: pcurve of loop 0 use 0 (Some([1025.9229635399038, 2.0, 9.999999999999998]) to (want ok) | not supported yet: this build runs booleans on the default kernel, not smlib |
| tessellation/2528-stadium-joined-with-overlapping-cylinder | [tangency-labs/solidcraft#2528](https://github.com/tangency-labs/solidcraft/issues/2528) | a rounded slot (a box with a half-cylinder on each end) joined with a cylinder that overlaps one end: the cylinder walls meet along vertical seams and intersection edges, where wedge-shaped mis-tessellated facets showed up | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| tessellation/311-ramp-cut-cylinder-blank | [tangency-labs/solidcraft#311](https://github.com/tangency-labs/solidcraft/issues/311) | an inclined cut across a round blank, which used to pinch the cylindrical wall inward (a 4.4 mm chord deficit) in the display and STL mesh | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| tessellation/466-revolved-cone-tip-stays-smooth | [tangency-labs/solidcraft#466](https://github.com/tangency-labs/solidcraft/issues/466) | a six-line profile revolved a full turn about its first line, with a cone ending in a point: the tip came out with dents every 120 degrees instead of a smooth cone (rebuilt as a pencil-like profile with a collinear frustum and tip; the original design is not in the report) | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| tessellation/784-stl-open-edges-filleted-and-drilled | [tangency-labs/solidcraft#784](https://github.com/tangency-labs/solidcraft/issues/784) [tangency-labs/solidcraft#811](https://github.com/tangency-labs/solidcraft/issues/811) | two bodies whose STL export used to have open edges where faces were meshed apart: a 40x30x20 box with all twelve edges rounded 2 mm, and a cylinder R15 x 20 with a coaxial 6 mm bore | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| tessellation/818-blind-hole-splits-vertical-edges | [tangency-labs/solidcraft#818](https://github.com/tangency-labs/solidcraft/issues/818) | a blind hole cut into a ring whose six concave corners are filleted: the cut used to split every vertical edge (the outer seam and all twelve fillet tangent edges) at the hole's depth, and the fillet corners drew black | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| tessellation/819-cup-pocket-splits-wall-seam | [tangency-labs/solidcraft#819](https://github.com/tangency-labs/solidcraft/issues/819) [tangency-labs/solidcraft#921](https://github.com/tangency-labs/solidcraft/issues/921) | a disc with a pocket that splits the outer cylinder wall's seam edges at the pocket floor: the wall used to be meshed with fans cutting through the disc, so the measured volume and the STL read too small | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| threads/1250-external-m10x1.5-shaft-full-length | [tangency-labs/solidcraft#1250](https://github.com/tangency-labs/solidcraft/issues/1250) | a modelled external M10 thread over the whole length of a 10 mm shaft (8 turns) | analytic | **FAIL**: smlib_check SMLib check: 6 failed tests: SmEdgeuse::Test #11 Bad UVTrimCurve: Edgeuse->UVTrimCurve has zero leng (want ok) | not supported yet: this build runs booleans on the default kernel, not smlib |
| threads/1395-long-external-m6-thread-24-turns | [tangency-labs/solidcraft#1395](https://github.com/tangency-labs/solidcraft/issues/1395) | a long modelled external thread: M6 over a 24 mm shaft (24 turns), the kind that once ran out of depth in the boolean | analytic | **FAIL**: smlib_check SMLib check: 46 failed tests: SmLoop::Test #2 Bad Loop Orient: A UpperLoopuse->Edgeuse's 'Inside' is (want ok) | not supported yet: this build runs booleans on the default kernel, not smlib |
| threads/1443-m5x0.7-thread-in-5mm-hole | [tangency-labs/solidcraft#1443](https://github.com/tangency-labs/solidcraft/issues/1443) [tangency-labs/solidcraft#3060](https://github.com/tangency-labs/solidcraft/issues/3060) | a modelled M5x0.7 thread in a 5 mm hole drawn at the thread's nominal size (was refused: it would cut 0.00 mm of the thread's depth) | analytic | **FAIL**: step 3 (solid.thread): this 5 mm hole is too wide for a modelled M5x0.7 thread: it would cut 0.00 mm of the thread's 0.38 mm depth; drill 4.3 mm for M5x0.7, or | not supported yet: this build runs booleans on the default kernel, not smlib |
| threads/1995-m8x1-thread-in-7mm-hole | [tangency-labs/solidcraft#1995](https://github.com/tangency-labs/solidcraft/issues/1995) | an M8x1 modelled thread in a 7 mm hole through a block (the report: the thread also changed the block's outer surface and made too many faces) | analytic | **FAIL**: smlib_check SMLib check: 49 failed tests: SmEdgeuse::Test #11 Bad UVTrimCurve: Edgeuse->UVTrimCurve has zero len (want ok) | not supported yet: this build runs booleans on the default kernel, not smlib |
| threads/2038-cut-threaded-stud-from-bored-block | [tangency-labs/solidcraft#2038](https://github.com/tangency-labs/solidcraft/issues/2038) | cutting an externally threaded stud out of a block bored at the tap drill (to make the internal thread): the boolean found no result | analytic | **FAIL**: step 5 (solid.combine): boolean Cut: the operation failed: no result | not supported yet: this build runs booleans on the default kernel, not smlib |
| threads/2038-internal-then-external-thread-on-one-body | [tangency-labs/solidcraft#2038](https://github.com/tangency-labs/solidcraft/issues/2038) | two modelled threads on one body, an internal one then an external one (the second was refused: no cylindrical face there to thread) | analytic | **FAIL**: smlib_check SMLib check: 51 failed tests: SmEdgeuse::Test #11 Bad UVTrimCurve: Edgeuse->UVTrimCurve has zero len (want ok) | not supported yet: this build runs booleans on the default kernel, not smlib |
| threads/2038-join-two-threaded-bodies | [tangency-labs/solidcraft#2038](https://github.com/tangency-labs/solidcraft/issues/2038) | joining a body with an internal modelled thread to one with an external modelled thread, touching in a plane (the join ran for over ten minutes) | analytic | **HANG**: no result after 180 s | not supported yet: this build runs booleans on the default kernel, not smlib |
| threads/2115-tapped-hole-drill-is-major-minus-pitch | [tangency-labs/solidcraft#3311](https://github.com/tangency-labs/solidcraft/issues/3311) [tangency-labs/solidcraft#2115](https://github.com/tangency-labs/solidcraft/issues/2115) [tangency-labs/solidcraft#2367](https://github.com/tangency-labs/solidcraft/issues/2367) [tangency-labs/solidcraft#2440](https://github.com/tangency-labs/solidcraft/issues/2440) [tangency-labs/solidcraft#2441](https://github.com/tangency-labs/solidcraft/issues/2441) | tapped holes (Hole with a thread size, no diameter) are drilled at the tap drill, not at the major diameter | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| threads/2152-m3x0.2-thread-in-3mm-hole | [tangency-labs/solidcraft#2152](https://github.com/tangency-labs/solidcraft/issues/2152) | a modelled M3x0.2 thread in a 3 mm hole drawn at the thread's nominal size (was refused like any hole at the nominal size) | analytic | **FAIL**: step 3 (solid.thread): this 3 mm hole is too wide for a modelled M3x0.2 thread: it would cut 0.00 mm of the thread's 0.11 mm depth; drill 2.8 mm for M3x0.2, or | not supported yet: this build runs booleans on the default kernel, not smlib |
| threads/2193-modelled-m33x3.5-thread | [tangency-labs/solidcraft#2193](https://github.com/tangency-labs/solidcraft/issues/2193) [tangency-labs/solidcraft#2263](https://github.com/tangency-labs/solidcraft/issues/2263) [tangency-labs/solidcraft#4153](https://github.com/tangency-labs/solidcraft/issues/4153) | a modelled M33x3.5 thread, a size the thread menu lacked (designation typed by hand), on a 33 mm shaft (4 turns) | analytic | **FAIL**: smlib_check SMLib check: 6 failed tests: SmEdgeuse::Test #11 Bad UVTrimCurve: Edgeuse->UVTrimCurve has zero leng (want ok) | not supported yet: this build runs booleans on the default kernel, not smlib |
| threads/2209-fine-m44x1-thread-on-shaft | [tangency-labs/solidcraft#2209](https://github.com/tangency-labs/solidcraft/issues/2209) | a fine modelled thread on a large shaft (M44x1 on a 44 mm shaft, 4 turns), which once cut about 9% too much | analytic | **HANG**: no result after 180 s | not supported yet: this build runs booleans on the default kernel, not smlib |
| threads/2209-m44x1.5-thread-on-flange-hub | [tangency-labs/solidcraft#2209](https://github.com/tangency-labs/solidcraft/issues/2209) | a full-diameter M44x1.5 modelled thread on the hub of a flange, which once failed to rebuild a closed shell | analytic | **FAIL**: smlib_check SMLib check: 352 failed tests: SmEdgeuse::Test #11 Bad UVTrimCurve: Edgeuse->UVTrimCurve has zero le (want ok) | not supported yet: this build runs booleans on the default kernel, not smlib |
| threads/2369-m8-thread-in-6.3mm-hole-bored-to-minor | [tangency-labs/solidcraft#2369](https://github.com/tangency-labs/solidcraft/issues/2369) [tangency-labs/solidcraft#2688](https://github.com/tangency-labs/solidcraft/issues/2688) [tangency-labs/solidcraft#2853](https://github.com/tangency-labs/solidcraft/issues/2853) | a modelled M8 thread in a hole narrower than the thread's minor diameter (6.3 mm, and 6 mm in #2688), refused as 'the face is too far from the thread's diameter' | analytic | **FAIL**: step 3 (solid.thread): this 6.3 mm hole is too narrow for a modelled M8 thread (its teeth would fill the hole); drill 6.75 mm for M8 | not supported yet: this build runs booleans on the default kernel, not smlib |
| threads/2406-modelled-m8-thread-in-6.8mm-pilot-hole | [tangency-labs/solidcraft#2406](https://github.com/tangency-labs/solidcraft/issues/2406) | an M8 modelled thread in a 6.8 mm pilot hole (the case where the thread 'was not visible') | analytic | **FAIL**: smlib_check SMLib check: 23 failed tests: SmLoop::Test #2 Bad Loop Orient: A UpperLoopuse->Edgeuse's 'Inside' is (want ok) | not supported yet: this build runs booleans on the default kernel, not smlib |
| threads/2526-three-modelled-threads-in-one-body | [tangency-labs/solidcraft#2526](https://github.com/tangency-labs/solidcraft/issues/2526) | three modelled threads, internal and external, in one body with a hub and a plain hole beside the bore (each thread used to facet the rest of the part and the next thread was refused) | analytic | **FAIL**: step 6 (solid.thread): no cylindrical face there to thread | not supported yet: this build runs booleans on the default kernel, not smlib |
| threads/2705-m14-thread-on-14.6mm-boss-turned-to-major | [tangency-labs/solidcraft#2705](https://github.com/tangency-labs/solidcraft/issues/2705) | a modelled M14 thread on a 14.6 mm boss, slightly thicker than the thread (refused: the face is too far from the thread's diameter) | analytic | **FAIL**: step 3 (solid.thread): this 14.6 mm shaft is too thick for a modelled M14 thread; make the shaft 14 mm for M14 | not supported yet: this build runs booleans on the default kernel, not smlib |
| threads/2822-modelled-thread-in-filleted-cube | [tangency-labs/solidcraft#2822](https://github.com/tangency-labs/solidcraft/issues/2822) | a modelled M3 thread in a hole through a block whose vertical edges are rounded (the fillets showed as black lines after the thread) | analytic | **FAIL**: smlib_check SMLib check: 206 failed tests: SmFace::Test #34 Face has partially Coincident Edges: Face has partia (want ok) | not supported yet: this build runs booleans on the default kernel, not smlib |
| threads/2969-m48x0.75-thread-in-48mm-hole | [tangency-labs/solidcraft#2969](https://github.com/tangency-labs/solidcraft/issues/2969) | a modelled M48x0.75 internal thread in a 48 mm hole drawn at the thread's nominal size | analytic | **FAIL**: step 3 (solid.thread): this 48 mm hole is too wide for a modelled M48x0.75 thread: it would cut 0.00 mm of the thread's 0.41 mm depth; drill 47.25 mm for M48x0. | not supported yet: this build runs booleans on the default kernel, not smlib |
| threads/3311-two-tapped-holes-both-modelled-threaded | [tangency-labs/solidcraft#3311](https://github.com/tangency-labs/solidcraft/issues/3311) | a second modelled thread on the same body (the first thread faceted every other hole), over each hole's full length | analytic | **FAIL**: step 5 (solid.thread): no cylindrical face there to thread | not supported yet: this build runs booleans on the default kernel, not smlib |
| threads/3366-m20-thread-in-20mm-hole | [tangency-labs/solidcraft#3366](https://github.com/tangency-labs/solidcraft/issues/3366) [tangency-labs/solidcraft#3367](https://github.com/tangency-labs/solidcraft/issues/3367) | a modelled M20 internal thread in a 20 mm hole, made after the 20 mm cylinder's own thread | analytic | **FAIL**: step 3 (solid.thread): this 20 mm hole is too wide for a modelled M20 thread: it would cut 0.00 mm of the thread's 1.35 mm depth; drill 17.5 mm for M20, or thre | not supported yet: this build runs booleans on the default kernel, not smlib |
| threads/3368-faceted-prism-pocket-cut-and-boss-join | [tangency-labs/solidcraft#3368](https://github.com/tangency-labs/solidcraft/issues/3368) | booleans of a finely faceted body (a 1200-sided prism, 1202 flat faces, the kind of body a modelled thread leaves) with box tools: they must finish in bounded time with the exact result, not run for minutes | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| threads/3368-faceted-prism-with-bore-and-cross-hole | [tangency-labs/solidcraft#3368](https://github.com/tangency-labs/solidcraft/issues/3368) | a finely faceted body (a 1200-sided prism) with a curved partner: a vertical bore and a horizontal cross hole drilled through it (the case where the B-rep ladder is bounded but must still decide) | analytic | **FAIL**: record_valid the operation failed: pcurve of loop 0 use 57 (Some([-29.89940005346547, -2.453604579473993, 3.27378 (want ok); smlib_check the operation failed: pcurve of loop 0 use 57 (Some([-29.89940005346547, -2.453604579473993, 3.27378 (want ok); volume_mm3 26829.949748 (want 25792.3465); bbox.min [-30.34151, -30, 0] (want [-30, -30, 0]) | not supported yet: this build runs booleans on the default kernel, not smlib |
| threads/3368-two-faceted-prisms-cut-then-joined | [tangency-labs/solidcraft#3368](https://github.com/tangency-labs/solidcraft/issues/3368) | two finely faceted bodies (1000-sided prisms, flat faces only): a faceted stud cut out of a faceted disc, then a faceted cap joined on top touching in a plane; both booleans must finish in bounded time with the exact result | analytic | pass | not supported yet: this build runs booleans on the default kernel, not smlib |
| threads/3914-sketch-on-top-face-of-threaded-rounded-block | [tangency-labs/solidcraft#3914](https://github.com/tangency-labs/solidcraft/issues/3914) | Create Sketch on the top face of a block with a modelled thread and rounded corners, then a boss from it | analytic | **FAIL**: step 5 (sketch.create): invalid parameters for `sketch.create`: face capture work limit exceeded; use an exact body and face index | not supported yet: this build runs booleans on the default kernel, not smlib |
| threads/3952-modelled-thread-in-blind-hole-of-revolved-ring | [tangency-labs/solidcraft#3952](https://github.com/tangency-labs/solidcraft/issues/3952) | a modelled thread in a small blind hole drilled into a revolved ring, off its axis ('faceted boolean: inconsistent volumes') | analytic | **FAIL**: smlib_check SMLib check: 286 failed tests: SmFace::Test #34 Face has partially Coincident Edges: Face has partia (want ok) | not supported yet: this build runs booleans on the default kernel, not smlib |
| threads/4149-internal-thread-below-counterbore-filleted-rim | [tangency-labs/solidcraft#4149](https://github.com/tangency-labs/solidcraft/issues/4149) | a modelled M10x1.5 internal thread, full length of the bore below a counterbore, in a cylinder with its rim rounded (stack overflow) | analytic | **FAIL**: smlib_check SMLib check: 124 failed tests: SmLoop::Test #2 Bad Loop Orient: A UpperLoopuse->Edgeuse's 'Inside' i (want ok) | not supported yet: this build runs booleans on the default kernel, not smlib |
| threads/602-fillet-hex-head-beside-modelled-thread | [tangency-labs/solidcraft#602](https://github.com/tangency-labs/solidcraft/issues/602) [tangency-labs/solidcraft#618](https://github.com/tangency-labs/solidcraft/issues/618) | rounding the top edges of a hex head on a shaft with a modelled thread (it froze the app) | analytic | **FAIL**: smlib_check SMLib check: 65 failed tests: SmLoop::Test #2 Bad Loop Orient: A UpperLoopuse->Edgeuse's 'Inside' is (want ok) | not supported yet: this build runs booleans on the default kernel, not smlib |
| threads/995-m5-thread-in-5mm-hole | [tangency-labs/solidcraft#995](https://github.com/tangency-labs/solidcraft/issues/995) [tangency-labs/solidcraft#1018](https://github.com/tangency-labs/solidcraft/issues/1018) | a modelled M5 thread in a hole drawn at 5 mm, the thread's own size (nothing was cut: the wall only turned faceted) | analytic | **FAIL**: step 3 (solid.thread): this 5 mm hole is too wide for a modelled M5 thread: it would cut 0.00 mm of the thread's 0.43 mm depth; drill 4.2 mm for M5, or thread t | not supported yet: this build runs booleans on the default kernel, not smlib |
| booleans/1107-join-hollow-hub-with-nine-blades | [tangency-labs/solidcraft#1107](https://github.com/tangency-labs/solidcraft/issues/1107) | a hollow hub (tube r 21.5..23) joined with nine disjoint blades whose roots lie wholly in the wall: one valid solid, the cavity stays the hub's. Blades here are r1 round bars (the report's are lofted fan blades) | analytic | **FAIL**: record_valid the operation failed: pcurve of loop 4 use 0 (Some([17.082163710380097, -15.401288354283027, 9.42459 (want ok); smlib_check the operation failed: pcurve of loop 4 use 0 (Some([17.082163710380094, -15.401288354283022, 9.42459 (want ok) | pass |
| booleans/114-extrude-join-on-curved-body-coincident-wall | [tangency-labs/solidcraft#114](https://github.com/tangency-labs/solidcraft/issues/114) | extruding a profile onto a cylinder with zero taper: the new wall is the old wall continued (coincident cylindrical faces), join failed | analytic | pass | pass |
| booleans/1140-hollow-lofted-tube-cut-in-half-and-joined | [tangency-labs/solidcraft#1140](https://github.com/tangency-labs/solidcraft/issues/1140) | a spiral round tube (radius growing 76 to 210 mm over one turn, 12 mm wall) built as 8 lofted bands, each minus a lofted bore, cut in half through the axis plane z=0 and the halves joined: must give one body | invariants | **FAIL**: record_valid the operation failed: pcurve of loop 0 use 1 (Some([95.80000016013133, -3.428471146999651e-8, 75.786 (want ok) | pass |
| booleans/1195-text-cut-into-plate | [tangency-labs/solidcraft#1195](https://github.com/tangency-labs/solidcraft/issues/1195) | text cut into a plate: a boundary curve's end meeting a point whatever its parameter (glyph outlines through a text cut) | invariants | pass | pass |
| booleans/1279-cut-with-tool-cylinder-coaxial-with-hole | [tangency-labs/solidcraft#1279](https://github.com/tangency-labs/solidcraft/issues/1279) | a corner piece (square column minus a quarter disc r1.5, 0.0003 off the axis) cut out of a part with a blind r1.6 hole on the same axis: the tool's r1.5 face sits 0.1 mm inside the hole wall; 'no result' | analytic | pass | **FAIL**: step 4 (solid.cylinder): SMLib boolean: SMLib's check refuses the result: 6 failed tests: SmFace::Test #33 Face has Coincident Edges: Face has Coincident Edges. |
| booleans/13-split-body-by-a-plane | [tangency-labs/solidcraft#13](https://github.com/tangency-labs/solidcraft/issues/13) | split a body by a plane (the split-by-a-face path tripped a debug assertion, 'Two same vertices cannot construct an edge') | analytic | pass | pass |
| booleans/1355-concentric-hole-through-drilled-recess | [tangency-labs/solidcraft#1355](https://github.com/tangency-labs/solidcraft/issues/1355) [tangency-labs/solidcraft#1736](https://github.com/tangency-labs/solidcraft/issues/1736) | a drilled O8.5 recess (118 deg drill point) in a plate, then a O4 hole through its centre: the second cut 'does not work' | analytic | pass | pass |
| booleans/1647-box-cylinder-general-intersect | [tangency-labs/solidcraft#1647](https://github.com/tangency-labs/solidcraft/issues/1647) | a box and a cylinder in general position (nothing coincident or tangent): Intersect refused as an implausible volume | analytic | pass | pass |
| booleans/1649-crossing-cylinders-union-far-from-origin | [tangency-labs/solidcraft#1649](https://github.com/tangency-labs/solidcraft/issues/1649) | union of two crossing cylinders, both moved (1000,-700,300) mm: volume lost with position | analytic | **FAIL**: record_valid geometry: portable B-rep: edge 8: curve end misses its end vertex by 0.0023531882294339375 mm (toler (want ok) | pass |
| booleans/168-rim-touching-coin-along-a-circle-only | [tangency-labs/solidcraft#168](https://github.com/tangency-labs/solidcraft/issues/168) | a rim on a coin's top face that meets the coin along one circle only (no shared area, no shared volume): it must not be joined into it | analytic | **FAIL**: smlib_check SMLib check: 3 failed tests: SmEdgeuse::Test #11 Bad UVTrimCurve: Edgeuse->UVTrimCurve has zero leng (want ok); body_count 1 (want 2) | **FAIL**: shells Coin: 2 (want 1); record_valid the operation failed: lumps: shell boundaries intersect or touch; cavity ownership is ambiguous (want ok); smlib_check the operation failed: lumps: shell boundaries intersect or touch; cavity ownership is ambiguous (want ok); body_count 1 (want 2) |
| booleans/1717-two-overlapping-sphere-cuts | [tangency-labs/solidcraft#1717](https://github.com/tangency-labs/solidcraft/issues/1717) [tangency-labs/solidcraft#2158](https://github.com/tangency-labs/solidcraft/issues/2158) | a second sphere cut overlapping an earlier sphere cut on a box edge: 'no result' | analytic | **FAIL**: step 3 (solid.sphere): boolean Cut: the operation failed: no result | pass |
| booleans/1730-cut-short-of-far-face-keeps-skin | [tangency-labs/solidcraft#1730](https://github.com/tangency-labs/solidcraft/issues/1730) | an extrude cut whose profile stops 0.25 mm short of a wall's far face must leave that skin (it was grown through) | analytic | pass | pass |
| booleans/1858-shallow-cuts-after-earlier-pocket | [tangency-labs/solidcraft#1765](https://github.com/tangency-labs/solidcraft/issues/1765) [tangency-labs/solidcraft#1858](https://github.com/tangency-labs/solidcraft/issues/1858) | two 1.5 mm circular cuts overlapping an earlier 0.75 mm pocket (timeline roll-back, insert, redefine): the cut came out empty | analytic | pass | pass |
| booleans/1865-tube-and-sector-meeting-along-cylinder-walls | [tangency-labs/solidcraft#1865](https://github.com/tangency-labs/solidcraft/issues/1865) [tangency-labs/solidcraft#1910](https://github.com/tangency-labs/solidcraft/issues/1910) [tangency-labs/solidcraft#1983](https://github.com/tangency-labs/solidcraft/issues/1983) [tangency-labs/solidcraft#2034](https://github.com/tangency-labs/solidcraft/issues/2034) | a union of two solids that meet along cylindrical faces: a tube (r10..12, z 0..20) and a 90 deg ring sector (same radii, z 10..30) whose curved faces are the tube's own, overlapping it axially; refused ('planar faces only') or, by the faceted fallback, left 1710 faceted faces | analytic | pass | pass |
| booleans/1910-coaxial-cylinders-intersect | [tangency-labs/solidcraft#1910](https://github.com/tangency-labs/solidcraft/issues/1910) [tangency-labs/solidcraft#1865](https://github.com/tangency-labs/solidcraft/issues/1865) | intersection of two cylinders of one radius on one axis (z 0..30 and 22..46) whose round sides lie in each other over the shared 8 mm | analytic | not supported yet: step 3 (solid.combine): boolean Intersect: the operation failed: no result; the operation failed: not supported yet: the exact fallback for where the bodies mee | pass |
| booleans/1927-delete-pocket-face-restores-plate | [tangency-labs/solidcraft#1927](https://github.com/tangency-labs/solidcraft/issues/1927) | Delete Face on the 0.5 mm deep O15 recess of a plate: the face around the gap must keep its surface | analytic | pass | pass |
| booleans/1949-extrude-side-drawn-in-collinear-pieces | [tangency-labs/solidcraft#1949](https://github.com/tangency-labs/solidcraft/issues/1949) | a profile side drawn as two collinear lines extrudes into one flat face, not two with an edge between them | analytic | pass | pass |
| booleans/1949-tapered-extrude-side-in-collinear-pieces | [tangency-labs/solidcraft#1949](https://github.com/tangency-labs/solidcraft/issues/1949) | with a taper too, a side drawn in two collinear pieces is one face | analytic | pass | pass |
| booleans/1984-near-coaxial-pin-overlaps-bore-wall | [tangency-labs/solidcraft#1984](https://github.com/tangency-labs/solidcraft/issues/1984) | the overlap of a pin 0.00056 mm off the axis of a bore of its own radius (r=3, 9.65 long): a thin crescent. The report's STEP round trip is left out; this is the geometry | analytic | pass | pass |
| booleans/1984-rivet-with-flush-heads-a-hair-off-its-hole | [tangency-labs/solidcraft#1984](https://github.com/tangency-labs/solidcraft/issues/1984) | a rivet (shank r=2, heads r=4 flat on both faces of a 1.5 mm sheet) 0.004 mm off the axis of its hole: overlap with the sheet is the shank's crescent; the heads touch the sheet faces over an area but add no volume | analytic | **FAIL**: body_count 0 (want 1); volume_mm3 0 (want 0.024) | pass |
| booleans/2003-mirror-feature-join-flush-with-mirror-plane | [tangency-labs/solidcraft#2003](https://github.com/tangency-labs/solidcraft/issues/2003) | mirror a feature with Join: the image meets its original along the mirror plane and the join was refused for its volume | analytic | pass | pass |
| booleans/2008-coaxial-cylinders-join-one-wall | [tangency-labs/solidcraft#2008](https://github.com/tangency-labs/solidcraft/issues/2008) [tangency-labs/solidcraft#1986](https://github.com/tangency-labs/solidcraft/issues/1986) | a join of coaxial cylinders of one radius whose walls overlap leaves one cylindrical wall in one face (it came out as a stack of faces, so a later chamfer on its top edge refused) | analytic | pass | pass |
| booleans/2055-countersink-holes-from-several-sketch-points | [tangency-labs/solidcraft#2055](https://github.com/tangency-labs/solidcraft/issues/2055) | a countersunk hole at two sketch points at once, in a design with several bodies: 'there is no body to cut or intersect' (one point works) | analytic | pass | pass |
| booleans/2076-rectangular-pattern-of-cylinder-join | [tangency-labs/solidcraft#2076](https://github.com/tangency-labs/solidcraft/issues/2076) | a rectangular pattern of a cylinder join (pin-fin plate) scales quadratically in time | analytic | pass | pass |
| booleans/2464-extrude-join-leaves-hidden-body-alone | [tangency-labs/solidcraft#2464](https://github.com/tangency-labs/solidcraft/issues/2464) [tangency-labs/solidcraft#2465](https://github.com/tangency-labs/solidcraft/issues/2465) | an Extrude Join onto a plate with a hidden coincident copy: the hidden body must not be joined in | analytic | **FAIL**: body_count 1 (want 2); volume_mm3 8816 (want 16816) | **FAIL**: body_count 1 (want 2); volume_mm3 8816 (want 16816) |
| booleans/2524-circular-pattern-of-bore-cut | [tangency-labs/solidcraft#2524](https://github.com/tangency-labs/solidcraft/issues/2524) | a circular pattern (count 2, 360 deg, about Y) of a cut made off-axis: 'boolean Cut: no result' | analytic | pass | pass |
| booleans/2564-joined-side-run-wrapping-past-loop-start | [tangency-labs/solidcraft#2564](https://github.com/tangency-labs/solidcraft/issues/2564) [tangency-labs/solidcraft#1949](https://github.com/tangency-labs/solidcraft/issues/1949) | an extrude of an outline whose bottom side is drawn as two collinear pieces that wrap past the loop's first segment ((10,0)->(20,0) ... (0,0)->(10,0)): the bottom is one face | analytic | pass | pass |
| booleans/2580-clip-round-small-hole-of-long-plate | [tangency-labs/solidcraft#2580](https://github.com/tangency-labs/solidcraft/issues/2580) [tangency-labs/solidcraft#2579](https://github.com/tangency-labs/solidcraft/issues/2579) | a 16 mm box cut out round a small (r 1.8) hole of a 3 m long, 2 mm plate keeps the hole in both faces | analytic | pass | pass |
| booleans/2583-taper-side-drawn-in-collinear-pieces | [tangency-labs/solidcraft#2583](https://github.com/tangency-labs/solidcraft/issues/2583) | a tapered extrude of a 20x10 rectangle whose bottom side is drawn as two collinear pieces: the sloped side is one face | analytic | pass | pass |
| booleans/2601-taper-with-start-offset | [tangency-labs/solidcraft#2601](https://github.com/tangency-labs/solidcraft/issues/2601) | a tapered extrude whose start is offset along the sketch normal (the app says: not supported yet: taper with two-sided, symmetric or offset extents) | analytic | pass | pass |
| booleans/2754-taper-extrude-line-arc-corner | [tangency-labs/solidcraft#2754](https://github.com/tangency-labs/solidcraft/issues/2754) | a tapered extrude of a profile in which an arc meets a line at a corner (a half disc) | analytic | not supported yet: step 5 (solid.extrude): not supported yet: tapered profiles where an arc meets another edge at a corner | **FAIL**: step 5 (solid.extrude): SMLib extrude: SMLib's result is not a closed solid |
| booleans/2755-mirror-copy-keeps-seed-targets | [tangency-labs/solidcraft#2755](https://github.com/tangency-labs/solidcraft/issues/2755) | the mirror copy of a primitive cut changes only the seed's targets, not a body the seed was told to leave alone | analytic | pass | pass |
| booleans/2755-pattern-copies-keep-seed-targets | [tangency-labs/solidcraft#2755](https://github.com/tangency-labs/solidcraft/issues/2755) | copies of a primitive cut made with a rectangular pattern change only the seed's targets, not a body the seed was told to leave alone | analytic | pass | pass |
| booleans/2801-prism-edge-in-round-cornered-slab-end-face | [tangency-labs/solidcraft#2801](https://github.com/tangency-labs/solidcraft/issues/2801) | a join of a triangular prism and a thin slab with rounded corners (r 4.9) that share their bottom plane, the prism's edge in that plane lying in the slab's end face | analytic | **FAIL**: record_valid the operation failed: pcurve of loop 0 use 3 (Some([5.099999999999999, -67.0, 2.220446049250313e-16] (want ok); smlib_check the operation failed: pcurve of loop 0 use 3 (Some([5.099999999999999, -67.0, 2.220446049250313e-16] (want ok) | **FAIL**: step 11 (solid.combine): SMLib boolean: SMLib's check refuses the result: 2 failed tests: SmTrimmingTools::Test #0 Edge/Edge Gap: Gap between edge endPoints exc |
| booleans/2810-taper-extrude-arcs-meeting-at-corners | [tangency-labs/solidcraft#2810](https://github.com/tangency-labs/solidcraft/issues/2810) [tangency-labs/solidcraft#2813](https://github.com/tangency-labs/solidcraft/issues/2813) | a tapered extrude of a loop of arcs on three circles meeting at sharp corners (a circle with a lobe on each side); the walls must meet at the corners | analytic | pass | **FAIL**: faces 14 (want 6) |
| booleans/2826-cut-up-to-face-leaves-no-skin | [tangency-labs/solidcraft#2826](https://github.com/tangency-labs/solidcraft/issues/2826) [tangency-labs/solidcraft#2827](https://github.com/tangency-labs/solidcraft/issues/2827) | a cut that ends exactly in a face of its target (the plate's top face) must open the hole, not leave a zero-thickness skin over it | analytic | pass | pass |
| booleans/2896-join-arm-end-into-ring-wall | [tangency-labs/solidcraft#2896](https://github.com/tangency-labs/solidcraft/issues/2896) | a join of a ring (R30/R24, 6 tall) and an arm with a convex R5 end whose tip runs 0.1 mm into the ring's outer wall (curved faces that nearly graze) | analytic | pass | pass |
| booleans/2896-join-arm-end-near-ring-wall-gap | [tangency-labs/solidcraft#2896](https://github.com/tangency-labs/solidcraft/issues/2896) | a join of a ring and an arm whose R5 convex tip stops 0.01 mm short of the ring's outer wall: nothing overlaps, so nothing fuses | analytic | **FAIL**: shells Ring: 2 (want 1); body_count 1 (want 2) | **FAIL**: shells Ring: 2 (want 1); body_count 1 (want 2) |
| booleans/2904-countersunk-hole-with-distant-body | [tangency-labs/solidcraft#2904](https://github.com/tangency-labs/solidcraft/issues/2904) | a countersunk hole in a small plate, near a rounded corner, while an unrelated body sits 120 mm away: only the plate may change, and the countersink must be complete | analytic | pass | pass |
| booleans/2928-join-cap-touching-lips-with-offset-walls | [tangency-labs/solidcraft#2928](https://github.com/tangency-labs/solidcraft/issues/2928) | two half-annulus lips (r 4..5, from z=2 to 20) joined onto a stadium-ring base (z 0..2, r 3..5 arcs, centres 20 apart) with their cylinder walls 0.0001 mm off the base's: the lip cap touches the base top, leaving a 0.0001 mm crescent overhang. Layout is a hand-built variant of the PR's public reproduction | analytic | **HANG**: no result after 180 s | **FAIL**: volume_mm3 1066.017651 (want 769.468975) |
| booleans/3027-pin-seated-line-to-line-in-bore | [tangency-labs/solidcraft#3027](https://github.com/tangency-labs/solidcraft/issues/3027) | a pin (r4) seated line to line in a bore (r4, exactly coaxial) of a bush: the two cylinder walls coincide | analytic | pass | pass |
| booleans/307-tangent-hole-contacts-ring-against-grid | [tangency-labs/solidcraft#307](https://github.com/tangency-labs/solidcraft/issues/307) | four pairs of through holes whose circles touch at exactly one point (ring holes at (+-25,0),(0,+-25) against grid holes at (+-15,0),(0,+-15)); the symmetric contacts must be treated alike and split no cylinder face | analytic | **FAIL**: smlib_check SMLib check: 4 failed tests: SmFace::Test #32 Face has Coincident Vertices: Face has Coincient Verti (want ok) | not supported yet: step 6 (solid.cylinder): SMLib boolean: export: SMLib export: not supported yet: a solid touching itself along an edge |
| booleans/308-blind-cut-ending-inside-a-cylinder | [tangency-labs/solidcraft#308](https://github.com/tangency-labs/solidcraft/issues/308) | a hinge leaf (40x30x3) with a joined r4 knuckle cylinder along X and a O4 pin hole, then a 3.3 mm blind cut of x 12..28, y 29..40 ending inside the cylinder: the result grew a sphere and a freeform face | analytic | pass | pass |
| booleans/3092-ring-on-perforated-plate | [tangency-labs/solidcraft#3092](https://github.com/tangency-labs/solidcraft/issues/3092) [tangency-labs/solidcraft#2844](https://github.com/tangency-labs/solidcraft/issues/2844) | a ring (r 19.6/20.8, 20 tall) joined onto the top of an 80x80x1.2 plate with a 9x9 grid of 6.4 mm square holes: the ring's foot crosses many hole edges | analytic | **FAIL**: smlib_check SMLib check: 1 failed tests: SmFace::Test #38 Intersecting Face Loops: Face Loops must be disjoint i (want ok) | pass |
| booleans/3175-cut-beside-sealed-void | [tangency-labs/solidcraft#3175](https://github.com/tangency-labs/solidcraft/issues/3175) | a cut over the bottom edge of a revolved cylinder that holds a sealed spherical void on its axis: the body must not come out empty or refused | analytic | pass | pass |
| booleans/3243-rim-and-rounded-tooth-join | [tangency-labs/solidcraft#3243](https://github.com/tangency-labs/solidcraft/issues/3243) | a join of a cylindrical rim (r 15.27..16.65, to z=5) and a rounded tooth trimmed to the same two cylinders that overlaps it by 0.01 mm in Z | invariants | **FAIL**: step 10 (solid.combine): boolean Union: the operation failed: no result | pass |
| booleans/3303-inward-cut-of-frustum-top-face | [tangency-labs/solidcraft#3303](https://github.com/tangency-labs/solidcraft/issues/3303) [tangency-labs/solidcraft#3309](https://github.com/tangency-labs/solidcraft/issues/3309) | cutting the complete circular top face of a widening conical frustum inward: the cylindrical tool touches the cone only at its rim | analytic | not supported yet: step 8 (solid.extrude): boolean Cut: the operation failed: no result; the operation failed: coincident faces were left in place: pushing them apart would change | pass |
| booleans/3327-cut-ending-flush-with-side-wall | [tangency-labs/solidcraft#3327](https://github.com/tangency-labs/solidcraft/issues/3327) [tangency-labs/solidcraft#2963](https://github.com/tangency-labs/solidcraft/issues/2963) | a cut whose end face lies exactly in a side wall of its target (a window notch): the cut must open the wall, with no skin left in it | analytic | pass | pass |
| booleans/3378-circular-pattern-of-join-that-merged-targets | [tangency-labs/solidcraft#3378](https://github.com/tangency-labs/solidcraft/issues/3378) | a circular pattern of a join whose two targets (rim and hub) were merged into one body by that join | analytic | pass | pass |
| booleans/3379-circular-pattern-of-thin-spoke-on-ring | [tangency-labs/solidcraft#3379](https://github.com/tangency-labs/solidcraft/issues/3379) | a circular pattern (count 5) of a spoke thinner than the ring it joins (faces 0.5 mm inside the rim and hub faces) | analytic | pass | pass |
| booleans/3383-combine-tool-into-rotated-occurrence | [tangency-labs/solidcraft#3383](https://github.com/tangency-labs/solidcraft/issues/3383) | a root body joined into a body inside a component whose occurrence is turned a quarter turn: the tool must stay where it is in the world | analytic | **FAIL**: shells Plate: 2 (want 1); volume_mm3 17000 (want 16750); bbox.min [-20, -10, -20] (want [-20, -10, -25]); bbox.max [20, 25, 20] (want [20, 5, 20]) | **FAIL**: shells Plate: 2 (want 1); volume_mm3 17000 (want 16750); bbox.min [-20, -10, -20] (want [-20, -10, -25]); bbox.max [20, 25, 20] (want [20, 5, 20]) |
| booleans/3447-split-along-plane-of-a-face | [tangency-labs/solidcraft#3447](https://github.com/tangency-labs/solidcraft/issues/3447) [tangency-labs/solidcraft#2979](https://github.com/tangency-labs/solidcraft/issues/2979) | split body where the splitting plane contains an end face (with a boss on it and an R1 fillet on the face's edge) | analytic | **FAIL**: step 4 (solid.split_body): the section through the body does not close | **FAIL**: step 4 (solid.split_body): the section through the body does not close |
| booleans/3455-join-of-64-separate-pegs | [tangency-labs/solidcraft#3455](https://github.com/tangency-labs/solidcraft/issues/3455) | one combine of 64 separate pegs that do not touch: 36 s on truck, growing 4-9x per doubling; must finish in seconds | analytic | pass | **HANG**: no result after 180 s |
| booleans/3456-deep-cut-through-drilled-taper-leaves-base | [tangency-labs/solidcraft#3456](https://github.com/tangency-labs/solidcraft/issues/3456) [tangency-labs/solidcraft#3497](https://github.com/tangency-labs/solidcraft/issues/3497) | a deep cut that removes everything above z=2 of a tapered body with nine through-bores, leaving the 2 mm drilled base | analytic | pass | pass |
| booleans/3460-cut-by-lid-with-coincident-walls-and-half-moon-tabs | [tangency-labs/solidcraft#3460](https://github.com/tangency-labs/solidcraft/issues/3460) | Combine cut (keep tools) of an enclosure by its lid whose insert is flush with the inner walls and carries four small half-moon tabs that cross them; the cut must not return the target unchanged | analytic | pass | pass |
| booleans/3485-boss-joined-on-rod-top-keeps-side-whole | [tangency-labs/solidcraft#3485](https://github.com/tangency-labs/solidcraft/issues/3485) [tangency-labs/solidcraft#3062](https://github.com/tangency-labs/solidcraft/issues/3062) | a boss joined on a rod's top face (the join runs the boss on into the rod); the rod's side must stay one face, not seamed at the boss's foot | analytic | pass | pass |
| booleans/3497-collinear-cylinders-partial-height-intersection | [tangency-labs/solidcraft#3497](https://github.com/tangency-labs/solidcraft/issues/3497) [tangency-labs/solidcraft#3456](https://github.com/tangency-labs/solidcraft/issues/3456) | intersection of two collinear R2 H12 cylinders offset by 0.75 along the axis (curved walls coincide over part of the height) | analytic | not supported yet: step 3 (solid.combine): boolean Intersect: the operation failed: no result; the operation failed: not supported yet: the exact fallback for where the bodies mee | pass |
| booleans/3497-pin-overlapping-bore-by-20-microns | [tangency-labs/solidcraft#3497](https://github.com/tangency-labs/solidcraft/issues/3497) [tangency-labs/solidcraft#3456](https://github.com/tangency-labs/solidcraft/issues/3456) | a pin r=3.02 intersected with a tube whose bore is r=3: a thin annulus (0.02 mm overlap on a curved wall) | analytic | pass | pass |
| booleans/3526-intersect-keeps-every-lump | [tangency-labs/solidcraft#3526](https://github.com/tangency-labs/solidcraft/issues/3526) [tangency-labs/solidcraft#3888](https://github.com/tangency-labs/solidcraft/issues/3888) | intersect of a two-lump target (two spheres joined while apart) with a box holding the bottom half of each | analytic | **FAIL**: body_count 0 (want 1); shells 0 (want 2); volume_mm3 0 (want 268.0826) | pass |
| booleans/3604-cut-with-g2-swept-tool-along-projected-edge | [tangency-labs/solidcraft#3604](https://github.com/tangency-labs/solidcraft/issues/3604) [tangency-labs/solidcraft#3613](https://github.com/tangency-labs/solidcraft/issues/3613) | cut of a box by a swept G2 corner-removal tool along a projected edge chain (left-rear corner; the symmetric front-left chain works) | invariants | **FAIL**: step 13 (solid.combine): boolean Cut: the operation failed: no result | **FAIL**: step 12 (solid.sweep): the path curves are not connected end to end |
| booleans/3612-circular-pattern-of-spoke-tangent-to-hub | [tangency-labs/solidcraft#3612](https://github.com/tangency-labs/solidcraft/issues/3612) [tangency-labs/solidcraft#3379](https://github.com/tangency-labs/solidcraft/issues/3379) | a spoke whose inner face x=12 is exactly tangent to the hub cylinder r=12 (line contact), joined to the rim, patterned 5 times around the hub's axis | analytic | **FAIL**: step 5 (solid.pattern.circular): lumps: shell boundaries intersect or touch; cavity ownership is ambiguous | **FAIL**: step 4 (solid.box): invalid input: native B-rep: portable B-rep: face 3 loop 1: loop encloses no (u, v) area (signed area 0) |
| booleans/3633-sphere-intersect-pyramid-apex-at-centre | [tangency-labs/solidcraft#3633](https://github.com/tangency-labs/solidcraft/issues/3633) [tangency-labs/solidcraft#3682](https://github.com/tangency-labs/solidcraft/issues/3682) | a sphere r=10 intersected with a square pyramid whose apex is the sphere's centre and whose sides lie in the planes of the sphere primitive's patch edges | analytic | **FAIL**: step 9 (solid.combine): boolean Intersect: the operation failed: no result | not supported yet: step 8 (solid.loft): not supported yet: SMLib loft to a point |
| booleans/3652-mirror-of-a-mirror-feature | [tangency-labs/solidcraft#3652](https://github.com/tangency-labs/solidcraft/issues/3652) | mirror a Mirror feature (the first mirror's hole) about a second plane: 'Mirror1 cannot be patterned or mirrored yet' | analytic | **FAIL**: step 7 (solid.mirror): Mirror1 cannot be patterned or mirrored yet | **FAIL**: step 7 (solid.mirror): Mirror1 cannot be patterned or mirrored yet |
| booleans/3665-join-extrude-column-on-floor-and-curved-walls | [tangency-labs/solidcraft#3665](https://github.com/tangency-labs/solidcraft/issues/3665) [tangency-labs/solidcraft#3666](https://github.com/tangency-labs/solidcraft/issues/3666) | a join extrude of a column standing on a channel's flat floor and lying along both its curved walls (column circle tangent to both walls) | analytic | **FAIL**: smlib_check SMLib check: 2 failed tests: SmFace::Test #32 Face has Coincident Vertices: Face has Coincient Verti (want ok) | not supported yet: step 10 (solid.extrude): SMLib boolean: export: SMLib export: not supported yet: a solid touching itself along an edge |
| booleans/3671-intersect-tool-in-top-face-beside-rib | [tangency-labs/solidcraft#3671](https://github.com/tangency-labs/solidcraft/issues/3671) | intersect with a tapered pocket tool whose top face lies in the block's top face, 0.5 mm short of a rib | analytic | pass | pass |
| booleans/3702-board-in-cavity-of-filleted-rim-case | [tangency-labs/solidcraft#3702](https://github.com/tangency-labs/solidcraft/issues/3702) | a 0.2 mm board lying in the open cavity of a case with a filleted circular rim: cutting it from the case must leave the case unchanged (it was taken for wholly inside) | analytic | pass | pass |
| booleans/3703-two-face-extrudes-join-keep-the-step | [tangency-labs/solidcraft#3703](https://github.com/tangency-labs/solidcraft/issues/3703) | two joined face extrudes on one box (top face, then the right side face): the stepped shape must stay | analytic | pass | pass |
| booleans/3729-extrude-to-point-on-step-edge | [tangency-labs/solidcraft#3729](https://github.com/tangency-labs/solidcraft/issues/3729) | extrude `to` a point lying exactly on the top edge of a step: must end at the plane z=20 through the point | analytic | **FAIL**: volume_mm3 5089.982614 (want 5070.6858); bbox.max [10, 10, 22.732051] (want [10, 10, 20]) | **FAIL**: volume_mm3 5089.997564 (want 5070.6858); bbox.max [10, 10, 22.732051] (want [10, 10, 20]) |
| booleans/3782-emboss-on-cylinder-pick-on-far-half | [tangency-labs/solidcraft#3782](https://github.com/tangency-labs/solidcraft/issues/3782) [tangency-labs/solidcraft#3425](https://github.com/tangency-labs/solidcraft/issues/3425) | emboss on a cylinder with the face pick on the half of the wall opposite the sketch | invariants | **FAIL**: step 5 (solid.emboss): invalid input: cylinder emboss: saved selection no longer identifies the sketch's cylindrical face | **FAIL**: step 5 (solid.emboss): invalid input: cylinder emboss: saved selection no longer identifies the sketch's cylindrical face |
| booleans/3816-circular-pattern-of-body-about-offset-axis | [tangency-labs/solidcraft#3816](https://github.com/tangency-labs/solidcraft/issues/3816) | circular pattern of a body about an axis {origin,dir} that does not pass through the world origin | analytic | pass | pass |
| booleans/3830-split-cup-by-extended-spline-surface | [tangency-labs/solidcraft#3830](https://github.com/tangency-labs/solidcraft/issues/3830) | split a thin-walled cup (shell of a d30 cylinder) with a surface body: an extruded spline surface, extended at both ends | analytic | **HANG**: no result after 180 s | **HANG**: no result after 180 s |
| booleans/3841-join-touching-along-one-circle-only | [tangency-labs/solidcraft#3841](https://github.com/tangency-labs/solidcraft/issues/3841) [tangency-labs/solidcraft#168](https://github.com/tangency-labs/solidcraft/issues/168) | Join of a ring (r10..15) onto a coin (r10) that touch only along a circle: no fusion that moves the ring | invariants | **FAIL**: smlib_check SMLib check: 3 failed tests: SmEdgeuse::Test #11 Bad UVTrimCurve: Edgeuse->UVTrimCurve has zero leng (want ok); body_count 1 (want 2) | **FAIL**: shells Coin: 2 (want 1); record_valid the operation failed: lumps: shell boundaries intersect or touch; cavity ownership is ambiguous (want ok); smlib_check the operation failed: lumps: shell boundaries intersect or touch; cavity ownership is ambiguous (want ok); body_count 1 (want 2) |
| booleans/3850-cross-cut-touching-round-side | [tangency-labs/solidcraft#3850](https://github.com/tangency-labs/solidcraft/issues/3850) [tangency-labs/solidcraft#3741](https://github.com/tangency-labs/solidcraft/issues/3741) | a O50 x 50 cylinder with a 25 mm square through-hole, then a cross cut by a O40 circle split into two halves by a line (both halves picked, merged into one round tool whose end face x=25 touches the cylinder's side along y=0): the result must be one shell, not a good shell plus a zero-area one | analytic | **FAIL**: record_valid the operation failed: lumps: cannot mesh a complete shell boundary (want ok); smlib_check the operation failed: lumps: cannot mesh a complete shell boundary (want ok); shells 2 (want 1) | pass |
| booleans/3850-hole-through-wall-after-cross-cut | [tangency-labs/solidcraft#3850](https://github.com/tangency-labs/solidcraft/issues/3850) [tangency-labs/solidcraft#3741](https://github.com/tangency-labs/solidcraft/issues/3741) | the O10 through-all hole across the wall of the body from the cross-cut case (the report's failing step: 'lumps: cannot mesh a complete shell boundary') | analytic | **FAIL**: step 17 (solid.extrude): lumps: cannot mesh a complete shell boundary | pass |
| booleans/3887-ring-standing-on-perforated-plate | [tangency-labs/solidcraft#3887](https://github.com/tangency-labs/solidcraft/issues/3887) [tangency-labs/solidcraft#2844](https://github.com/tangency-labs/solidcraft/issues/2844) | a ring (r19.6/20.8, 20 tall) joined onto an 80x80x1.2 plate with a 9x9 grid of 6.4 mm square holes; the ring's foot crosses the holes | analytic | **FAIL**: smlib_check SMLib check: 1 failed tests: SmFace::Test #38 Intersecting Face Loops: Face Loops must be disjoint i (want ok) | pass |
| booleans/3968-hole-as-wide-as-a-cones-top | [tangency-labs/solidcraft#3968](https://github.com/tangency-labs/solidcraft/issues/3968) | a hole of diameter 10 drilled into the top of a truncated cone whose top is also diameter 10 (the hole wall meets the cone at the top rim) | analytic | **FAIL**: step 5 (solid.hole): boolean Cut: the operation failed: no result | pass |
| booleans/4008-symmetric-revolve-cut-ends-in-side-face | [tangency-labs/solidcraft#4008](https://github.com/tangency-labs/solidcraft/issues/4008) | symmetric 180 deg revolve cut about a vertical edge of a block, the tool's end faces lying in the block's side face | analytic | **FAIL**: step 8 (solid.revolve): the cut could not be computed reliably: it would change the body away from the tool, at (-1.557, 12.991, 16.000) (outside the tool's reg | pass |
| booleans/4011-mirror-of-cut-under-wall | [tangency-labs/solidcraft#4011](https://github.com/tangency-labs/solidcraft/issues/4011) | a blind hole mirrored to a spot where half its top disc lies under a wall's foot | analytic | pass | pass |
| booleans/4058-walls-joined-flush-round-a-floor | [tangency-labs/solidcraft#4058](https://github.com/tangency-labs/solidcraft/issues/4058) [tangency-labs/solidcraft#4059](https://github.com/tangency-labs/solidcraft/issues/4059) | a 10 mm ring (rounded corners) extruded 40 mm as a Join round a floor's outline: it touches the floor back to back on its flat sides and rounded corners | analytic | **FAIL**: step 14 (solid.extrude): boolean Union: the operation failed: no result | pass |
| booleans/4095-slab-cut-standing-off-a-bore-r10 | [tangency-labs/solidcraft#4095](https://github.com/tangency-labs/solidcraft/issues/4095) | a slab cut whose +x face stands 6.73e-05 mm (0.90 x the coincidence tolerance 7.48e-05) off a through-bore's wall (R=10), beside the bore | analytic | **FAIL**: record_valid the operation failed: pcurve of loop 0 use 0 (Some([-10.0000673497, -8.0, 20.0]) to Some([-10.000067 (want ok); smlib_check SMLib check: 2 failed tests: SmFace::Test #32 Face has Coincident Vertices: Face has Coincient Verti (want ok) | pass |
| booleans/4095-slab-cut-standing-off-a-bore-r15 | [tangency-labs/solidcraft#4095](https://github.com/tangency-labs/solidcraft/issues/4095) | a slab cut whose +x face stands 6.60e-05 mm (0.60 x the coincidence tolerance 1.10e-04) off a through-bore's wall (R=15), beside the bore | analytic | **FAIL**: record_valid the operation failed: pcurve of loop 0 use 0 (Some([-15.000066, -8.0, 20.0]) to Some([-15.000066, -8 (want ok); smlib_check SMLib check: 2 failed tests: SmFace::Test #32 Face has Coincident Vertices: Face has Coincient Verti (want ok) | pass |
| booleans/423-through-all-cut-must-not-reach-behind-sketch-plane | [tangency-labs/solidcraft#423](https://github.com/tangency-labs/solidcraft/issues/423) | a one-sided Through All cut from a sketch plane at x=98 toward -x, with its wall 0.0022 mm from a face of a notch beyond the plane: the cut must remove nothing at x > 98 | analytic | pass | pass |
| booleans/451-cut-block-crossing-hollow-sphere-tool | [tangency-labs/solidcraft#451](https://github.com/tangency-labs/solidcraft/issues/451) | a 12x8x8 block (x 8..20) crossing the inner sphere r=18.5 of a hollow spherical-shell tool: the cut keeps the part inside r=18.5 | analytic | **FAIL**: step 9 (solid.combine): boolean Cut: the operation failed: no result | **FAIL**: step 9 (solid.combine): lumps: cannot mesh a complete shell boundary |
| booleans/451-cut-block-inside-hollow-sphere-tool | [tangency-labs/solidcraft#451](https://github.com/tangency-labs/solidcraft/issues/451) | a block wholly inside the void of a hollow spherical-shell tool (r 18.5 to 40): cutting leaves it untouched, the tool never reaches it | analytic | pass | **FAIL**: step 9 (solid.combine): lumps: cannot mesh a complete shell boundary |
| booleans/500-coaxial-cylinder-cut-from-thin-disc | [tangency-labs/solidcraft#500](https://github.com/tangency-labs/solidcraft/issues/500) | a radius 20 cylinder cut out of a coaxial radius 40 disc spanning x -1..1 lost about 2.6% of the volume | analytic | pass | pass |
| booleans/559-through-hole-into-shelled-box-rim | [tangency-labs/solidcraft#559](https://github.com/tangency-labs/solidcraft/issues/559) | a 1 mm through-all hole straight down into the 2 mm rim of a shelled box: 'implausible volume' / no result | analytic | pass | pass |
| booleans/562-press-pull-floor-beside-rounds | [tangency-labs/solidcraft#562](https://github.com/tangency-labs/solidcraft/issues/562) | Press Pull of a floor whose neighbours are rounds (vertical corner fillets): 'a neighbouring edge is not straight' | analytic | pass | pass |
| booleans/831-tapered-extrude-d-shape-arc-meets-line | [tangency-labs/solidcraft#831](https://github.com/tangency-labs/solidcraft/issues/831) | tapered extrude of a D shape (an arc meeting a line at a sharp corner): refused as 'tapered profiles where an arc meets another edge at a corner' | analytic | not supported yet: step 5 (solid.extrude): not supported yet: tapered profiles where an arc meets another edge at a corner | pass |
| booleans/831-tapered-extrude-text-glyph | [tangency-labs/solidcraft#831](https://github.com/tangency-labs/solidcraft/issues/831) | tapered extrude of a text glyph (Bezier outline): refused with a misleading 'mixing lines and arcs' error | invariants | pass | pass |
| crashes/1219-bore-fillet-then-grooves-cut | [tangency-labs/solidcraft#1219](https://github.com/tangency-labs/solidcraft/issues/1219) | 24 small grooves cut into a bore whose top edge has an unrelated 1 mm fillet: 73 s and 24 boolean retries instead of 0.2 s | analytic | **FAIL**: record_valid the operation failed: pcurve of loop 0 use 1 (Some([-68.19934052346665, 0.29992031010887626, 19.0003 (want ok); smlib_check SMLib check: 1 failed tests: SmBrep::Test #61 Valid: Bad Edge fails pE->ValidateGeometry(FALSE) chec (want ok) | pass |
| crashes/140-join-pad-hanging-past-the-edge | [tangency-labs/solidcraft#140](https://github.com/tangency-labs/solidcraft/issues/140) | a join whose tool face lies flat on the target but only half backed by it (the pad hangs 10 mm past the edge) must not add material | analytic | pass | pass |
| crashes/1985-step-export-enclosure-screw-hole | [tangency-labs/solidcraft#1985](https://github.com/tangency-labs/solidcraft/issues/1985) [tangency-labs/solidcraft#2243](https://github.com/tangency-labs/solidcraft/issues/2243) | a small enclosure (rounded box, inner cut, corner gusset with a screw hole, two standoffs, USB cut-out) whose STEP export never finished (the export meshes its own file back) | invariants | pass | pass |
| crashes/2243-step-export-flanged-enclosure | [tangency-labs/solidcraft#2243](https://github.com/tangency-labs/solidcraft/issues/2243) [tangency-labs/solidcraft#1985](https://github.com/tangency-labs/solidcraft/issues/1985) | a flanged enclosure with two standoffs and no screw hole whose STEP export also never finished | invariants | pass | pass |
| crashes/2357-join-ring-of-90-cylinder-segments | [tangency-labs/solidcraft#2357](https://github.com/tangency-labs/solidcraft/issues/2357) | one join of a ring of 90 straight cylinder segments, each overlapping its neighbour at a 4 degree joint: a caught truck panic, then a refusal after 21 minutes | invariants | **HANG**: no result after 180 s | **HANG**: no result after 180 s |
| crashes/2992-join-disk-and-36-twisted-loft-blades | [tangency-labs/solidcraft#2992](https://github.com/tangency-labs/solidcraft/issues/2992) | join of a disk and a circular pattern of 36 twisted lofted blades (embedded 2.54 mm in the disk): blocks for minutes | invariants | **HANG**: no result after 180 s | **HANG**: no result after 180 s |
| crashes/3540-cut-with-coincident-cylinder-face | [tangency-labs/solidcraft#3540](https://github.com/tangency-labs/solidcraft/issues/3540) | a groove cut whose r33 arcs lie exactly on the r33 cylinder of an earlier slot cut and overlap it in Z: minutes of CPU | analytic | pass | pass |
| crashes/3685-delete-fillet-face-beside-seam | [tangency-labs/solidcraft#1559](https://github.com/tangency-labs/solidcraft/issues/1559) [tangency-labs/solidcraft#3685](https://github.com/tangency-labs/solidcraft/issues/3685) | Delete Face on a fillet face next to a face whose edge a boolean/fillet rebuilt as an intersection curve: must never panic (truck: not implemented: intersection curve cannot connect by homotopy) | analytic | pass | pass |
| crashes/4092-loft-ribs-rounded-pad-union-panics | [tangency-labs/solidcraft#4092](https://github.com/tangency-labs/solidcraft/issues/4092) | join extrude of a rounded pad over a lofted body with ring and ribs: repeated truck intersection_curve panics, then 'boolean Union: no result' | invariants | **FAIL**: step 50 (solid.extrude): boolean Union: the operation failed: no result | **FAIL**: step 50 (solid.extrude): SMLib boolean: operation: SMLib failed (status 1001) |
| crashes/4092-loft-ribs-rounded-pad-union-reduced | [tangency-labs/solidcraft#4092](https://github.com/tangency-labs/solidcraft/issues/4092) | the same without the top flange: the join fails with 'boolean Union: no result' | invariants | **FAIL**: step 40 (solid.extrude): boolean Union: the operation failed: no result | **FAIL**: step 40 (solid.extrude): SMLib boolean: operation: SMLib failed (status 1001) |
| fillets/1008-fillet-tray-floor-and-three-of-four-corners | [tangency-labs/solidcraft#1008](https://github.com/tangency-labs/solidcraft/issues/1008) | an R10 round on the four inside floor edges and three of the four inside vertical corners of an open tray, so one corner keeps a sharp vertical edge where two floor rounds meet (rebuilt from the report's edge picks: the original design is not in the report) | analytic | pass | pass |
| fillets/1080-chamfer-beside-openings-fits | [tangency-labs/solidcraft#1080](https://github.com/tangency-labs/solidcraft/issues/1080) [tangency-labs/solidcraft#1124](https://github.com/tangency-labs/solidcraft/issues/1124) | a 4 mm chamfer on the top front edge of a cube with three square openings stays clear of the openings (they start 5 mm in) | analytic | pass | pass |
| fillets/1080-chamfer-runs-into-openings-refused | [tangency-labs/solidcraft#1080](https://github.com/tangency-labs/solidcraft/issues/1080) [tangency-labs/solidcraft#1124](https://github.com/tangency-labs/solidcraft/issues/1124) | a 9 mm chamfer on the top front edge of a cube with square openings 5 mm in must be refused: it would cut through the rims of the openings | invariants | pass | pass |
| fillets/1191-fillet-both-rims-of-a-tube-top | [tangency-labs/solidcraft#1191](https://github.com/tangency-labs/solidcraft/issues/1191) | an R2 round on the outer and inner rim circles of a tube's top face (the report's ten picks on a ring-shaped top: the round failed after 0.10.1; rebuilt as a plain tube since the design is not in the report) | analytic | pass | pass |
| fillets/1207-fillet-concave-arc-at-boss | [tangency-labs/solidcraft#1207](https://github.com/tangency-labs/solidcraft/issues/1207) | an R2 round on the concave arc where a bar top meets a boss that only partly sits on it | analytic | not supported yet: step 3 (solid.fillet): not supported yet: a vertex of the edge chain where other faces meet (the operation failed: not supported yet: only straight edges can be | pass |
| fillets/1207-fillet-straight-edge-ending-on-boss | [tangency-labs/solidcraft#1207](https://github.com/tangency-labs/solidcraft/issues/1207) | an R2 round along the straight top edge of a bar that runs out against a cylindrical boss | analytic | **FAIL**: record_valid the operation failed: pcurve of loop 0 use 3 (Some([15.19868415359896, 12.999999999966905, 10.0]) to (want ok); smlib_check the operation failed: pcurve of loop 0 use 3 (Some([15.19868415359896, 12.999999999966905, 10.0]) to (want ok) | pass |
| fillets/1213-round-end-circle-of-bent-tube | [tangency-labs/solidcraft#1213](https://github.com/tangency-labs/solidcraft/issues/1213) [tangency-labs/solidcraft#1291](https://github.com/tangency-labs/solidcraft/issues/1291) | an R3 round on the end circle of a lofted tube whose axis bends (a 60 degree torus section) | analytic | **FAIL**: record_valid the operation failed: pcurve of loop 0 use 0 (Some([2.999961609466277, 0.03799226106586362, 20.00000 (want ok) | pass |
| fillets/1262-fillet-boss-bottom-arc | [tangency-labs/solidcraft#1262](https://github.com/tangency-labs/solidcraft/issues/1262) | a 0.8 mm round on the exposed half circle at the bottom of a cylindrical boss joined to a box side | analytic | pass | pass |
| fillets/1390-chamfer-hole-rim-touching-bottom | [tangency-labs/solidcraft#1390](https://github.com/tangency-labs/solidcraft/issues/1390) [tangency-labs/solidcraft#1574](https://github.com/tangency-labs/solidcraft/issues/1574) [tangency-labs/solidcraft#1428](https://github.com/tangency-labs/solidcraft/issues/1428) | a 3 mm chamfer on the rim of a hole that is tangent to the bottom face runs off that face and must not add material below the part | invariants | pass | pass |
| fillets/1488-fillet-slab-end-after-nudged-loft-join | [tangency-labs/solidcraft#1488](https://github.com/tangency-labs/solidcraft/issues/1488) [tangency-labs/solidcraft#1517](https://github.com/tangency-labs/solidcraft/issues/1517) | an R1 fillet on the end edge of a 3.5 mm slab after a pleated loft was joined flush with its inner face (the join needs a tool retry; later fillets must still work) | invariants | pass | pass |
| fillets/1557-fillet-vertical-corners-after-bottom-rounds | [tangency-labs/solidcraft#1557](https://github.com/tangency-labs/solidcraft/issues/1557) [tangency-labs/solidcraft#1581](https://github.com/tangency-labs/solidcraft/issues/1581) | vertical corner fillets R2 on a 25x25x10 box whose four bottom edges are already rounded R2 (the round meets the earlier mitre) | analytic | pass | **FAIL**: step 6 (solid.fillet): SMLib fillet: operation: SMLib failed (status 1001) |
| fillets/1667-fillet-rim-line-beside-quarter-turns | [tangency-labs/solidcraft#1667](https://github.com/tangency-labs/solidcraft/issues/1667) [tangency-labs/solidcraft#1702](https://github.com/tangency-labs/solidcraft/issues/1702) | an R5 round of the top rim of a 297 mm long box whose corners are R5 (a 287 mm line beside 7.85 mm quarter turns) | analytic | pass | **FAIL**: step 3 (solid.fillet): SMLib fillet: operation: SMLib failed (status 1001) |
| fillets/1668-fillet-both-sides-of-thin-wall | [tangency-labs/solidcraft#1668](https://github.com/tangency-labs/solidcraft/issues/1668) [tangency-labs/solidcraft#1720](https://github.com/tangency-labs/solidcraft/issues/1720) | an R5 round on an outer top edge and the matching inner (concave) edge of a 2 mm wall in one feature fits, as it does one after the other | analytic | pass | pass |
| fillets/190-fillet-rim-as-tall-as-wall | [tangency-labs/solidcraft#190](https://github.com/tangency-labs/solidcraft/issues/190) [tangency-labs/solidcraft#318](https://github.com/tangency-labs/solidcraft/issues/318) | an R2 round of the top edge of a disc 2 mm high (the round is as tall as the wall, so it meets the bottom face) | analytic | pass | pass |
| fillets/193-paste-copies-the-fillets | [tangency-labs/solidcraft#193](https://github.com/tangency-labs/solidcraft/issues/193) [tangency-labs/solidcraft#214](https://github.com/tangency-labs/solidcraft/issues/214) [tangency-labs/solidcraft#363](https://github.com/tangency-labs/solidcraft/issues/363) [tangency-labs/solidcraft#613](https://github.com/tangency-labs/solidcraft/issues/613) | a block with two R2 top edges rounded, copied and pasted 40 mm over: the copy must carry its own fillets | analytic | pass | pass |
| fillets/1986-chamfer-arc-edge-of-joined-sectors | [tangency-labs/solidcraft#1986](https://github.com/tangency-labs/solidcraft/issues/1986) | a 3 mm chamfer on the outer top arc of a 120 degree annular sector joined to a lower inner sector (the joined outer wall must not limit the chamfer) | analytic | not supported yet: step 15 (solid.chamfer): not supported yet: the blend is larger than the neighbouring faces (site 1853) (the operation failed: not supported yet: only straight | pass |
| fillets/199-fillet-uses-up-end-face | [tangency-labs/solidcraft#199](https://github.com/tangency-labs/solidcraft/issues/199) [tangency-labs/solidcraft#317](https://github.com/tangency-labs/solidcraft/issues/317) | an R3 round on the four vertical edges of a 14x6x10 box: the two rounds on each 6 mm end face meet exactly (the face is used up) | analytic | pass | pass |
| fillets/219-pattern-of-filleted-pockets | [tangency-labs/solidcraft#219](https://github.com/tangency-labs/solidcraft/issues/219) | a plate with 6 pockets made by patterning one pocket and the R3.2 round of its four corner edges, the pocket height set by a parameter | analytic | pass | pass |
| fillets/2341-pattern-of-chamfered-bosses | [tangency-labs/solidcraft#2341](https://github.com/tangency-labs/solidcraft/issues/2341) [tangency-labs/solidcraft#2774](https://github.com/tangency-labs/solidcraft/issues/2774) [tangency-labs/solidcraft#2775](https://github.com/tangency-labs/solidcraft/issues/2775) [tangency-labs/solidcraft#2342](https://github.com/tangency-labs/solidcraft/issues/2342) | a 2 x 2 grid made by a feature pattern of a boss and its two chamfers (a concave root chamfer and a convex tip chamfer) | analytic | pass | pass |
| fillets/237-fillet-concave-edge-between-two-cylinders | [tangency-labs/solidcraft#237](https://github.com/tangency-labs/solidcraft/issues/237) [tangency-labs/solidcraft#238](https://github.com/tangency-labs/solidcraft/issues/238) | an R6 round on the vertical edge where two cylinder walls meet (the concave corner of two merged discs), the two walls meeting at an angle | analytic | pass | pass |
| fillets/2498-fillet-tiny-end-edges-rounded-rectangle | [tangency-labs/solidcraft#2498](https://github.com/tangency-labs/solidcraft/issues/2498) [tangency-labs/solidcraft#2506](https://github.com/tangency-labs/solidcraft/issues/2506) | an R2 round of the top loop of a 26.4x8.6x8.4 rounded rectangle whose end edges are only 0.02 mm long (corner radius 4.29) | analytic | pass | pass |
| fillets/2672-chamfer-one-pick-large-plate | [tangency-labs/solidcraft#2672](https://github.com/tangency-labs/solidcraft/issues/2672) [tangency-labs/solidcraft#3295](https://github.com/tangency-labs/solidcraft/issues/3295) | one pick on a stadium boss top rim chamfers the whole tangent loop, also when the part is more than 200 mm across | analytic | pass | pass |
| fillets/2708-fillet-curvature-continuous-angled-ends | [tangency-labs/solidcraft#2708](https://github.com/tangency-labs/solidcraft/issues/2708) [tangency-labs/solidcraft#2739](https://github.com/tangency-labs/solidcraft/issues/2739) | a curvature-continuous (G2) fillet of size 5 on a straight edge that ends on two slanted planar faces | analytic | pass | **FAIL**: volume_mm3 11867.72421 (want 11854.052069) |
| fillets/2719-chamfer-as-wide-as-corner-round | [tangency-labs/solidcraft#2719](https://github.com/tangency-labs/solidcraft/issues/2719) | a 1 mm chamfer round a bottom loop whose corners are R1 rounds: each corner cone closes to a point on the bottom face | analytic | **FAIL**: record_valid the operation failed: pcurve of loop 0 use 0 (Some([-18.99999999999999, -19.0, 0.0]) to Some([-19.0, (want ok); smlib_check the operation failed: pcurve of loop 0 use 0 (Some([-18.99999999999999, -19.0, 0.0]) to Some([-19.0, (want ok) | **FAIL**: step 3 (solid.chamfer): SMLib chamfer: operation: SMLib failed (status 1001) |
| fillets/2752-fillet-rim-of-flat-cut-on-sphere | [tangency-labs/solidcraft#2752](https://github.com/tangency-labs/solidcraft/issues/2752) [tangency-labs/solidcraft#2787](https://github.com/tangency-labs/solidcraft/issues/2787) | an R1 round round the rim of a radius-2 sphere cut flat at z=1 | analytic | not supported yet: step 3 (solid.fillet): not supported yet: the ball doesn't fit along the resampled spine (the operation failed: not supported yet: only straight edges can be bl | pass |
| fillets/2797-chamfer-two-distances-circular-rim | [tangency-labs/solidcraft#2797](https://github.com/tangency-labs/solidcraft/issues/2797) [tangency-labs/solidcraft#3300](https://github.com/tangency-labs/solidcraft/issues/3300) [tangency-labs/solidcraft#2893](https://github.com/tangency-labs/solidcraft/issues/2893) | a Two Distances chamfer (1 mm on the top face, 0.5 mm down the wall) on the circular rim between a plane and a cylinder | analytic | pass | not supported yet: step 2 (solid.chamfer): invalid input: not supported yet: a chamfer with two different setbacks (two distances, or a distance and an angle) with the SMLib kerne |
| fillets/2811-fillet-rib-roots | [tangency-labs/solidcraft#2811](https://github.com/tangency-labs/solidcraft/issues/2811) | an R1.5 fillet of the 32 vertical root edges of 8 ribs between two walls of a grille tray (a performance case: the time must not blow up) | analytic | pass | pass |
| fillets/2852-fillet-outer-round-concentric-with-inner | [tangency-labs/solidcraft#2852](https://github.com/tangency-labs/solidcraft/issues/2852) | an R18 round on the outside top edges of a 3 mm thick upside-down U, concentric with the R15 round of its inside edges | analytic | pass | pass |
| fillets/2907-chamfer-two-end-outlines-rounded-top | [tangency-labs/solidcraft#2907](https://github.com/tangency-labs/solidcraft/issues/2907) [tangency-labs/solidcraft#3861](https://github.com/tangency-labs/solidcraft/issues/3861) | a 1.5 mm chamfer of both end outlines (sides, top and the two top arcs) of a prism with rounded top corners, bottom edges left alone | analytic | **FAIL**: record_valid the operation failed: pcurve of loop 0 use 1 (Some([0.0, 26.0, 18.5]) to Some([0.6931089443069371, 2 (want ok) | pass |
| fillets/324-fillet-over-hole-overlap | [tangency-labs/solidcraft#324](https://github.com/tangency-labs/solidcraft/issues/324) [tangency-labs/solidcraft#1885](https://github.com/tangency-labs/solidcraft/issues/1885) | a 4 mm fillet on a top edge whose round overlaps the rim of a through hole (the hole breaks into the round) | analytic | **FAIL**: step 6 (solid.fillet): fillet: the rounds would leave openings in the surface (they overlap where a wall or a face is narrower than both); the largest radius th | **FAIL**: step 6 (solid.fillet): SMLib fillet: operation: SMLib's result is not a closed solid |
| fillets/3276-chamfer-edge-of-1mm-protrusion-on-joined-l | [tangency-labs/solidcraft#3276](https://github.com/tangency-labs/solidcraft/issues/3276) | three extrudes joined into an L-shaped body with a 1 mm protrusion, then a chamfer on the protrusion's outer edge (the report: the corners are no longer 90 degrees and the chamfer fails) | analytic | pass | pass |
| fillets/334-fillet-top-outline-after-concave-rounds | [tangency-labs/solidcraft#334](https://github.com/tangency-labs/solidcraft/issues/334) [tangency-labs/solidcraft#335](https://github.com/tangency-labs/solidcraft/issues/335) | an R2 round on the whole top outline of two merged cylinders after their two concave vertical edges were rounded R5 | analytic | pass | pass |
| fillets/3369-fillet-edge-ends-on-tangent-seam | [tangency-labs/solidcraft#3369](https://github.com/tangency-labs/solidcraft/issues/3369) [tangency-labs/solidcraft#3922](https://github.com/tangency-labs/solidcraft/issues/3922) | an R2 round on a straight edge whose ends sit on the tangent seam between a flat top and a rounded end | analytic | not supported yet: step 9 (solid.fillet): not supported yet: the faces at the edge ends must be planar | **FAIL**: step 9 (solid.fillet): SMLib fillet: operation: SMLib failed (status 1001) |
| fillets/3435-fillet-larger-than-top-ring | [tangency-labs/solidcraft#3435](https://github.com/tangency-labs/solidcraft/issues/3435) [tangency-labs/solidcraft#3441](https://github.com/tangency-labs/solidcraft/issues/3441) | a fillet of radius 6.9 on a cylinder rim whose flat top ring (round the joined boss) is only 4.3 mm wide must be refused, not grow the part | invariants | **FAIL**: succeeded where the case expects a refusal | pass |
| fillets/3655-chamfer-edge-order-box | [tangency-labs/solidcraft#3655](https://github.com/tangency-labs/solidcraft/issues/3655) [tangency-labs/solidcraft#3660](https://github.com/tangency-labs/solidcraft/issues/3660) | a plain box with all 12 edges chamfered, the edges listed in an order that was refused | analytic | not supported yet: step 5 (solid.chamfer): not supported yet: the blend is larger than the neighbouring faces | pass |
| fillets/3753-circular-pattern-of-hole-and-its-rim-chamfer | [tangency-labs/solidcraft#3753](https://github.com/tangency-labs/solidcraft/issues/3753) | a circular pattern (6 copies about Y) of a through hole and the 1 mm chamfer on its rim (the report: the pattern is refused because the copied chamfer 'would grow the part'); rebuilt as a hole in a disc, the original design is not in the report | analytic | pass | pass |
| fillets/3779-chamfer-all-spline-spans | [tangency-labs/solidcraft#3779](https://github.com/tangency-labs/solidcraft/issues/3779) [tangency-labs/solidcraft#3804](https://github.com/tangency-labs/solidcraft/issues/3804) | a 0.1 mm chamfer on all eight top-rim spans of a 20 x 20 pillow whose four sides are fit splines (two cubic spans each) | invariants | not supported yet: step 8 (solid.chamfer): not supported yet: the blend is larger than the neighbouring faces (site 1853) (the operation failed: not supported yet: only straight e | pass |
| fillets/3779-fillet-all-spline-spans | [tangency-labs/solidcraft#3779](https://github.com/tangency-labs/solidcraft/issues/3779) [tangency-labs/solidcraft#3804](https://github.com/tangency-labs/solidcraft/issues/3804) | a 0.1 mm fillet on all eight top-rim spans of a 20 x 20 pillow whose four sides are fit splines (two cubic spans each) | invariants | not supported yet: step 8 (solid.fillet): not supported yet: the blend is larger than the neighbouring faces | pass |
| fillets/3868-chamfer-concave-edge-adds-material | [tangency-labs/solidcraft#3868](https://github.com/tangency-labs/solidcraft/issues/3868) | a chamfer of an inside (concave) edge fills the corner and adds material, one on the outside edge removes it | analytic | pass | pass |
| fillets/4055-chamfer-bar-edge-over-joined-pin | [tangency-labs/solidcraft#4055](https://github.com/tangency-labs/solidcraft/issues/4055) | a 3 mm chamfer on the bottom long edge of a bar joined on top of a pin, where the chamfer is wider than the 2 mm gap between that edge and the pin | analytic | **FAIL**: smlib_check SMLib check: 1 failed tests: SmFace::Test #38 Intersecting Face Loops: Face Loops must be disjoint i (want ok); volume_mm3 35528.57632 (want 35581.857895) | pass |
| fillets/4101-chamfer-tapered-plug-corners | [tangency-labs/solidcraft#4101](https://github.com/tangency-labs/solidcraft/issues/4101) | the four edges of a block end face chamfered where the block sides are 1 degree off square: exact volume of the plane-clipped prism (the corner edges of about 0.0001 mm are real geometry) | analytic | pass | pass |
| fillets/4141-fillet-corner-after-wedge-cut-beside-bspline | [tangency-labs/solidcraft#4141](https://github.com/tangency-labs/solidcraft/issues/4141) | an R5 round on the corner edge left by a wedge cut through a body vertex next to a B-spline face | invariants | not supported yet: step 11 (solid.fillet): not supported yet: the blend is larger than the neighbouring faces | pass |
| fillets/4143-fillet-notch-rim-on-bspline-ramp | [tangency-labs/solidcraft#4143](https://github.com/tangency-labs/solidcraft/issues/4143) | an R4 round on the rim of an R5 notch where its cylinder meets an extruded B-spline ramp, both ends running into a square wall | invariants | not supported yet: step 13 (solid.fillet): not supported yet: the blend is larger than the neighbouring faces | **FAIL**: step 13 (solid.fillet): SMLib fillet: operation: SMLib failed (status 1001) |
| fillets/485-fillet-d-prism-top-outline-arc-and-flat | [tangency-labs/solidcraft#485](https://github.com/tangency-labs/solidcraft/issues/485) [tangency-labs/solidcraft#604](https://github.com/tangency-labs/solidcraft/issues/604) | an R0.5 round on both top perimeter edges (the arc and the flat) of a D-shaped prism, the two edges meeting at sharp 90 degree corners | analytic | pass | pass |
| fillets/556-fillet-edge-ending-on-curved-boss | [tangency-labs/solidcraft#556](https://github.com/tangency-labs/solidcraft/issues/556) [tangency-labs/solidcraft#646](https://github.com/tangency-labs/solidcraft/issues/646) | an R0.5 round on a single straight bottom edge of a box whose end runs out against a cylindrical boss wall | analytic | **FAIL**: record_valid the operation failed: pcurve of loop 0 use 0 (Some([39.5, 8.010421183869017, 0.0]) to Some([49.81441 (want ok); smlib_check the operation failed: pcurve of loop 0 use 0 (Some([39.5, 8.010421183869017, 0.0]) to Some([49.81441 (want ok) | pass |
| fillets/783-fillet-pick-far-from-any-edge-refused | [tangency-labs/solidcraft#783](https://github.com/tangency-labs/solidcraft/issues/783) [tangency-labs/solidcraft#820](https://github.com/tangency-labs/solidcraft/issues/820) | a fillet whose edge pick is 15 mm from the nearest edge must be refused, not applied to some other edge | invariants | pass | pass |
| fillets/814-chamfer-hex-hole-corners | [tangency-labs/solidcraft#814](https://github.com/tangency-labs/solidcraft/issues/814) [tangency-labs/solidcraft#1067](https://github.com/tangency-labs/solidcraft/issues/1067) | a 2 mm chamfer on the six vertical corners of a hexagonal hole: one bevel each, not a notch | analytic | pass | pass |
| fillets/851-fillet-three-edges-at-knife-edge-arc-corner | [tangency-labs/solidcraft#851](https://github.com/tangency-labs/solidcraft/issues/851) [tangency-labs/solidcraft#854](https://github.com/tangency-labs/solidcraft/issues/854) [tangency-labs/solidcraft#926](https://github.com/tangency-labs/solidcraft/issues/926) [tangency-labs/solidcraft#935](https://github.com/tangency-labs/solidcraft/issues/935) [tangency-labs/solidcraft#1294](https://github.com/tangency-labs/solidcraft/issues/1294) | three edges meeting at the front corner of a plate with a concave arc wall that runs out in a knife-edge tip: top front edge, arc top edge and front upright, R2 together | invariants | **FAIL**: record_valid the operation failed: pcurve of loop 0 use 1 (Some([62.16666666666963, -5.480541191988027e-7, 7.9999 (want ok) | pass |
| fillets/862-fillet-curvature-continuous-box-edge | [tangency-labs/solidcraft#862](https://github.com/tangency-labs/solidcraft/issues/862) | a curvature-continuous (G2) fillet of size 6 on one edge of a 20 mm cube | analytic | pass | **FAIL**: volume_mm3 7902.559861 (want 7892.380952) |
| fillets/896-fillet-smooth-seam-refused | [tangency-labs/solidcraft#896](https://github.com/tangency-labs/solidcraft/issues/896) [tangency-labs/solidcraft#936](https://github.com/tangency-labs/solidcraft/issues/936) | a fillet picked on the seam where a rounded edge runs tangent into the flat top has no corner to round and is refused as an invalid pick | invariants | pass | pass |
| import/1721-closed-bspline-tube-face | [tangency-labs/solidcraft#1721](https://github.com/tangency-labs/solidcraft/issues/1721) [tangency-labs/solidcraft#3880](https://github.com/tangency-labs/solidcraft/issues/3880) | a cylinder r=10 h=30 whose side is a closed (rational B-spline) tube face wrapping all the way round a closed non-periodic surface: it must mesh and measure as the full tube | analytic | **FAIL**: record_valid geometry: portable B-rep: face 1 loop 0 use 0: pcurve starts 1 from the end of the use before it, on (want ok); smlib_check SMLib check: 8 failed tests: SmFace::Test #37 Bad Loop Nesting: Face InnerLoop must lie inside the F (want ok) | not supported yet: step 1 (file.insert_step): tests/kernel-cases/import/1721-closed-bspline-tube-face/input.step: the operation failed: STEP import: no bodies (solid #89: not impo |
| import/2043-outer-bound-opposing-surface-sense | [tangency-labs/solidcraft#1974](https://github.com/tangency-labs/solidcraft/issues/1974) [tangency-labs/solidcraft#2043](https://github.com/tangency-labs/solidcraft/issues/2043) | a block whose every plane's axis points into the part and whose faces say same_sense .F. while their FACE_OUTER_BOUND loops run counter-clockwise about the outward normal: the loops are outer bounds, not holes | analytic | pass | pass |
| import/258-cone-point-vertex | [tangency-labs/solidcraft#258](https://github.com/tangency-labs/solidcraft/issues/258) | the same STEP cone with a VERTEX_LOOP at the apex: the mesh stopped 30 mm short of the apex | analytic | pass | pass |
| import/258-cone-to-point | [tangency-labs/solidcraft#258](https://github.com/tangency-labs/solidcraft/issues/258) | a STEP cone 20 mm across coming to a point 30 mm up (no vertex at the apex): the cone face was meshed flat at its base, so the measured shape was far off | analytic | pass | pass |
| import/258-tiny-pin | [tangency-labs/solidcraft#258](https://github.com/tangency-labs/solidcraft/issues/258) | a STEP pin 0.5 mm across, 2 mm long: meshed 1.16 mm off at a 0.5 mm tolerance | analytic | **FAIL**: record_valid geometry: portable B-rep: face 1 loop 0 use 0: pcurve starts 6.283185307179586 from the end of the u (want ok); smlib_check SMLib check: 8 failed tests: SmFace::Test #37 Bad Loop Nesting: Face InnerLoop must lie inside the F (want ok) | pass |
| import/3098-bspline-edges-over-tiny-knot-span | [tangency-labs/solidcraft#3098](https://github.com/tangency-labs/solidcraft/issues/3098) | a block whose 12 straight edges are degree-1 B-spline curves over a knot span of 1e-7 (as NX writes short edges); the faces must be kept | analytic | **FAIL**: step 1 (file.insert_step): tests/kernel-cases/import/3098-bspline-edges-over-tiny-knot-span/input.step: the operation failed: STEP import: no bodies (solid 'blo | pass |
| import/3208-extruded-ellipse-face-over-parameter-seam | [tangency-labs/solidcraft#3120](https://github.com/tangency-labs/solidcraft/issues/3120) [tangency-labs/solidcraft#3208](https://github.com/tangency-labs/solidcraft/issues/3208) | a prism over a circular segment whose curved side lies on a SURFACE_OF_LINEAR_EXTRUSION of an ELLIPSE (a = b = 10) and spans the ellipse's parameter origin (-60 to +60 degrees): the face must cover only the narrow segment side, not wrap the ellipse | analytic | pass | pass |
| import/3352-vertex-off-its-edge-curve | [tangency-labs/solidcraft#3351](https://github.com/tangency-labs/solidcraft/issues/3351) [tangency-labs/solidcraft#3352](https://github.com/tangency-labs/solidcraft/issues/3352) | a 300 mm square surface whose corner vertex sits 0.19 mm off the end of its edge's curve (the file declares 0.01 mm accuracy): the face must be kept, the vertex snapped onto the curve | analytic | pass | pass |
| import/3359-iges-trim-pieces-written-end-to-start | [tangency-labs/solidcraft#3358](https://github.com/tangency-labs/solidcraft/issues/3358) [tangency-labs/solidcraft#3359](https://github.com/tangency-labs/solidcraft/issues/3359) | a box of six trimmed planes whose composite trim curves have their 2nd and 4th pieces written end to start: every loop must still close | analytic | pass | pass |
| import/3730-void-oriented-shell-false | [tangency-labs/solidcraft#3730](https://github.com/tangency-labs/solidcraft/issues/3730) [tangency-labs/solidcraft#3872](https://github.com/tangency-labs/solidcraft/issues/3872) | a block with a closed cavity written as BREP_WITH_VOIDS whose void shell (outward-facing faces) is turned by ORIENTED_CLOSED_SHELL .F.; the cavity must be taken out, not added | analytic | pass | pass |
| import/3806-iges-revolved-arc-spherical-cap-dome | [tangency-labs/solidcraft#3806](https://github.com/tangency-labs/solidcraft/issues/3806) [tangency-labs/solidcraft#3813](https://github.com/tangency-labs/solidcraft/issues/3813) | a dome: an IGES surface of revolution (120) of a 60-to-90 degree circular arc (100) of radius 50 centred on the axis, trimmed by a circle at the rim, over a flat base disc; the cap must be 50 mm across and 6.7 mm tall, not a whole sphere | analytic | pass | pass |
| import/3845-iges-trim-pieces-miss-by-a-gap | [tangency-labs/solidcraft#3845](https://github.com/tangency-labs/solidcraft/issues/3845) [tangency-labs/solidcraft#3846](https://github.com/tangency-labs/solidcraft/issues/3846) | a box of six trimmed planes where the edge (0,0,0)-(0,20,0) stops 0.01 mm short of its end corner in both faces that use it: the small gap must be closed, giving a closed box instead of two dropped faces | analytic | **FAIL**: faces 4 (want 6); area_mm2 1400 (want 2200) | **FAIL**: step 1 (file.insert_step): tests/kernel-cases/import/3845-iges-trim-pieces-miss-by-a-gap/input.igs: the operation failed: STEP import: no bodies (solid 'Body1': |
| import/3871-cone-base-circle-with-vertex-loop | [tangency-labs/solidcraft#3871](https://github.com/tangency-labs/solidcraft/issues/3871) [tangency-labs/solidcraft#3901](https://github.com/tangency-labs/solidcraft/issues/3901) | the same cone with a VERTEX_LOOP at its point on the cone face: the point must still be reached, not read as a flat disc | analytic | pass | pass |
| import/3871-cone-bounded-only-by-its-base-circle | [tangency-labs/solidcraft#3871](https://github.com/tangency-labs/solidcraft/issues/3871) [tangency-labs/solidcraft#3901](https://github.com/tangency-labs/solidcraft/issues/3901) [tangency-labs/solidcraft#3880](https://github.com/tangency-labs/solidcraft/issues/3880) | a cone whose face is bounded only by its base circle (no vertex at the point) must reach its point, not come in as a flat disc | analytic | pass | pass |
| import/3880-cylinder-seam-edge | [tangency-labs/solidcraft#3880](https://github.com/tangency-labs/solidcraft/issues/3880) | a cylinder r=10 h=30 whose side face is written with a seam edge: one closed solid with 3 faces | analytic | pass | pass |
| import/3880-nurbs-hemisphere-dome | [tangency-labs/solidcraft#3880](https://github.com/tangency-labs/solidcraft/issues/3880) | a hemisphere r=20 whose curved face is a rational B-spline surface, flat disc below | analytic | **FAIL**: record_valid geometry: portable B-rep: face 1 loop 0 use 0: pcurve starts 1 from the end of the use before it, on (want ok); smlib_check SMLib check: 1 failed tests: SmTrimmingTools::Test #1 UVEdge/UVEdge Gap: too large U Dir gap between (want ok) | not supported yet: step 1 (file.insert_step): tests/kernel-cases/import/3880-nurbs-hemisphere-dome/input.step: the operation failed: STEP import: no bodies (solid #73: not importe |
| import/3886-iges-bspline-curve-over-tiny-knot-span | [tangency-labs/solidcraft#3885](https://github.com/tangency-labs/solidcraft/issues/3885) [tangency-labs/solidcraft#3886](https://github.com/tangency-labs/solidcraft/issues/3886) | a box of six trimmed planes with one edge written as a B-spline curve (126) over a knot span of 1e-7: both faces it bounds must be kept | analytic | pass | pass |
| import/3912-iges-hole-trim-first-piece-reversed | [tangency-labs/solidcraft#3912](https://github.com/tangency-labs/solidcraft/issues/3912) | a 10 x 10 trimmed patch with a 4 x 4 square hole whose composite trim curve starts with a reversed piece: the hole stays a hole | analytic | pass | pass |
| import/3913-iges-trim-curve-first-piece-reversed | [tangency-labs/solidcraft#3912](https://github.com/tangency-labs/solidcraft/issues/3912) [tangency-labs/solidcraft#3913](https://github.com/tangency-labs/solidcraft/issues/3913) | a box of six trimmed planes whose composite trim curves start with a piece written end to start (1st and 3rd pieces reversed): every loop must still close | analytic | **FAIL**: step 1 (file.insert_step): tests/kernel-cases/import/3913-iges-trim-curve-first-piece-reversed/input.igs: the operation failed: STEP import: no bodies (solid 'B | **FAIL**: step 1 (file.insert_step): tests/kernel-cases/import/3913-iges-trim-curve-first-piece-reversed/input.igs: the operation failed: STEP import: no bodies (solid 'B |
| import/3963-closed-spline-edge-vertex-past-start | [tangency-labs/solidcraft#3963](https://github.com/tangency-labs/solidcraft/issues/3963) | a 20 mm square face bounded by one closed degree-1 B-spline edge whose only vertex sits at parameter 2e-7, just past the curve's start: the face must be kept, not dropped or crashed on | analytic | **CRASH**: step 1 (file.insert_step): tests/kernel-cases/import/3963-closed-spline-edge-vertex-past-start/input.step: the operation failed: STEP import: no bodies (solid ' | pass |
| import/3972-iges-two-separate-closed-boxes | [tangency-labs/solidcraft#3928](https://github.com/tangency-labs/solidcraft/issues/3928) [tangency-labs/solidcraft#3972](https://github.com/tangency-labs/solidcraft/issues/3972) | an IGES file of twelve trimmed planes forming two separate closed boxes (10x20x30, one 100 mm along x): they must come in as two solids, not one open body | analytic | **FAIL**: smlib_check SMLib check: 4 failed tests: SmShell::Test #22 SmFaceuse_TYPE: sShellFaceuses and sFaceuses2 are equ (want ok); body_count 1 (want 2) | **FAIL**: smlib_check SMLib check: 4 failed tests: SmShell::Test #22 SmFaceuse_TYPE: sShellFaceuses and sFaceuses2 are equ (want ok); body_count 1 (want 2) |
| import/4005-cylinder-written-as-near-zero-cone | [tangency-labs/solidcraft#4005](https://github.com/tangency-labs/solidcraft/issues/4005) | a cylinder r=5 h=10 whose side is a CONICAL_SURFACE with a semi-angle of 8e-12 rad (a cylinder to within rounding, as the exporter wrote it): the face must be read, not refused as a 'bad cone' | analytic | **FAIL**: smlib_check SMLib check: 2 failed tests: SmShell::Test #22 SmFaceuse_TYPE: sShellFaceuses and sFaceuses2 are equ (want ok); faces 2 (want 3); edges 2 (want 3); volume_mm3 261.772931 (want 785.3982); area_mm2 157.063759 (want 471.2389) | pass |
| import/4006-plane-written-as-cone-of-nearly-right-angle | [tangency-labs/solidcraft#4006](https://github.com/tangency-labs/solidcraft/issues/4006) | an annular plate r 4..10, 3 thick, whose top face is a CONICAL_SURFACE of semi-angle pi/2 - 7e-12 (a plane to within rounding, as the exporter wrote it): the face must be read, not refused as a 'bad cone', and the body stays closed | analytic | **FAIL**: faces 3 (want 4); volume_mm3 527.743525 (want 791.6813); area_mm2 527.754304 (want 791.6813) | **FAIL**: step 1 (file.insert_step): tests/kernel-cases/import/4006-plane-written-as-cone-of-nearly-right-angle/input.step: the operation failed: STEP import: no bodies ( |
| sheet-metal/1040-convert-a-1200-mm-strip-1-mm-thick | [tangency-labs/solidcraft#1040](https://github.com/tangency-labs/solidcraft/issues/1040) | a 1200 x 100 x 1 strip (diagonal over 1000 times its thickness) converted to sheet metal: refused with no outline on that face | analytic | pass | pass |
| sheet-metal/1040-convert-a-990-mm-strip-keeps-its-1-mm-hole | [tangency-labs/solidcraft#1040](https://github.com/tangency-labs/solidcraft/issues/1040) | a 990 x 100 x 1 strip with holes of 10, 4, 2 and 1 mm: the 1 mm hole fell out of the outline when the mesh sagged by almost the thickness | analytic | pass | **FAIL**: step 6 (sheet.convert): no outline on that face |
| sheet-metal/1092-convert-a-channel-with-its-bends-modelled | [tangency-labs/solidcraft#1092](https://github.com/tangency-labs/solidcraft/issues/1092) [tangency-labs/solidcraft#1314](https://github.com/tangency-labs/solidcraft/issues/1314) | a U channel modelled with its bend radii (R2 inside, R4 outside), a 6 mm hole in one wall and a label engraved 0.2 deep in its web, converted at the bends' outer arcs | analytic | pass | pass |
| sheet-metal/1092-convert-an-L-with-a-modelled-bend-to-the-rules-radius | [tangency-labs/solidcraft#1092](https://github.com/tangency-labs/solidcraft/issues/1092) [tangency-labs/solidcraft#1314](https://github.com/tangency-labs/solidcraft/issues/1314) | an L section modelled with a bend of R2 inside and R4 outside, converted at that bend under a rule of R3: the bend becomes one bend of the rule's radius at the legs' virtual sharp | analytic | pass | pass |
| sheet-metal/1092-convert-an-engraved-plate | [tangency-labs/solidcraft#1092](https://github.com/tangency-labs/solidcraft/issues/1092) [tangency-labs/solidcraft#1314](https://github.com/tangency-labs/solidcraft/issues/1314) | a 60 x 40 x 1 plate with a 20 x 10 x 0.1 engraving in its top face converted to sheet metal (refused as not a plate of even thickness; the engraving becomes a pocket of the sheet) | analytic | pass | pass |
| sheet-metal/1095-refold-a-cutout-with-a-corner-on-the-sheets-edge-at-a-bend | [tangency-labs/solidcraft#1095](https://github.com/tangency-labs/solidcraft/issues/1095) | a flange unfolded, a triangular cut-out with a corner on the sheet's own edge at the middle of the bend zone, refolded: sew failed (this wire is not simple) | analytic | **FAIL**: smlib_check SMLib check: 4 failed tests: SmFace::Test #32 Face has Coincident Vertices: Face has Coincient Verti (want ok) | **FAIL**: step 11 (solid.extrude): SMLib export: the mapped B-rep does not validate: portable B-rep: a closed shell bounds two regions and encloses one |
| sheet-metal/1280-hole-square-to-a-45-degree-flange | [tangency-labs/solidcraft#1280](https://github.com/tangency-labs/solidcraft/issues/1280) | a 5 mm hole drilled square to the face of a 45 degree flange: the drill cap's certificate refused it by 1e-11 mm | analytic | pass | pass |
| sheet-metal/1285-convert-a-bracket-whose-wall-covers-part-of-an-edge | [tangency-labs/solidcraft#1285](https://github.com/tangency-labs/solidcraft/issues/1285) [tangency-labs/solidcraft#1340](https://github.com/tangency-labs/solidcraft/issues/1340) | an 80 x 50 x 2 plate with a 40 wide, 30 high wall on part of its front edge, converted at the wall's outside bend edge: refused because the bend's setback used up an edge of a face | analytic | pass | pass |
| sheet-metal/1295-a-slot-across-a-flange-leaves-the-rest-of-it-as-a-loose-piece | [tangency-labs/solidcraft#1295](https://github.com/tangency-labs/solidcraft/issues/1295) [tangency-labs/solidcraft#1338](https://github.com/tangency-labs/solidcraft/issues/1338) | a 100 x 60 sheet with a 45 degree 40 mm flange and a slot cut across the flange just past its bend: the rest of the flange keeps no material joining it to the base | analytic | pass | pass |
| sheet-metal/1311-inside-flange-on-a-plate-turned-62-degrees | [tangency-labs/solidcraft#1311](https://github.com/tangency-labs/solidcraft/issues/1311) | a 100 x 60 plate turned 62 degrees about the origin with a 90 degree inside flange on one edge: the trimmed corner falls on the sew grid and the flange failed to close | analytic | pass | pass |
| sheet-metal/1481-unfold-a-tray-whose-features-choose-their-own-corner-relief | [tangency-labs/solidcraft#1232](https://github.com/tangency-labs/solidcraft/issues/1232) [tangency-labs/solidcraft#1481](https://github.com/tangency-labs/solidcraft/issues/1481) | a 120 x 90 base with two edge flange features (bottom and left edges with a round relief, top and right edges with a square one) over a rule whose relief is a notch, unfolded | analytic | pass | pass |
| sheet-metal/1797-tray-with-torn-corners-at-72-degrees-folded | [tangency-labs/solidcraft#1797](https://github.com/tangency-labs/solidcraft/issues/1797) [tangency-labs/solidcraft#1799](https://github.com/tangency-labs/solidcraft/issues/1799) | a tray whose flanges lean at 72 degrees with the tear corner relief: the torn ends are helices over slanted bends | invariants | pass | pass |
| sheet-metal/1979-every-cut-after-a-cut-machines-the-sheet | [tangency-labs/solidcraft#1979](https://github.com/tangency-labs/solidcraft/issues/1979) [tangency-labs/solidcraft#1980](https://github.com/tangency-labs/solidcraft/issues/1980) | on a folded sheet a rectangular cut-out and then twenty 4 mm holes in one sketch: a cut after a cut was dropped without a word, and many holes ran out of budget | analytic | pass | pass |
| sheet-metal/262-fold-a-tab-just-inside-its-root | [tangency-labs/solidcraft#262](https://github.com/tangency-labs/solidcraft/issues/262) [tangency-labs/solidcraft#277](https://github.com/tangency-labs/solidcraft/issues/277) | a 20 x 20 tab folded 90 degrees on a line 1 mm inside its root, where the bend zone stays clear of the blank's outline | analytic | pass | pass |
| sheet-metal/262-fold-at-a-tab-root-refused | [tangency-labs/solidcraft#262](https://github.com/tangency-labs/solidcraft/issues/262) [tangency-labs/solidcraft#277](https://github.com/tangency-labs/solidcraft/issues/277) | a fold exactly at a tab's root, where the bend zone (+-BA/2) would reach the blank's outline beside the tab, needs a bend relief | invariants | pass | pass |
| sheet-metal/264-fold-one-of-two-collinear-tabs | [tangency-labs/solidcraft#264](https://github.com/tangency-labs/solidcraft/issues/264) [tangency-labs/solidcraft#279](https://github.com/tangency-labs/solidcraft/issues/279) | a 100 x 40 blank with two 15 x 7 tabs on one line, one tab folded 90 degrees on a line that the other tab also lies on | analytic | pass | pass |
| sheet-metal/264-one-fold-across-two-collinear-tabs | [tangency-labs/solidcraft#264](https://github.com/tangency-labs/solidcraft/issues/264) | one fold line spanning both of two collinear tabs folds both | analytic | pass | pass |
| sheet-metal/296-hole-in-a-base-with-two-adjacent-edge-flanges | [tangency-labs/solidcraft#296](https://github.com/tangency-labs/solidcraft/issues/296) [tangency-labs/solidcraft#355](https://github.com/tangency-labs/solidcraft/issues/355) | an 80 x 40 base with a 30 mm flange on the y = 0 edge and a 15 mm flange on the x = 80 edge, and a round hole through the base beside them: sew failed with a non-manifold edge contact | invariants | pass | pass |
| sheet-metal/3078-flange-on-the-side-edge-of-a-flange | [tangency-labs/solidcraft#3078](https://github.com/tangency-labs/solidcraft/issues/3078) [tangency-labs/solidcraft#3274](https://github.com/tangency-labs/solidcraft/issues/3274) | an edge flange on the side edge of an existing wall, meeting a flange on the base across the existing bend with a round corner relief (not supported yet: a flange on the side of another flange) | invariants | pass | pass |
| sheet-metal/3234-edge-flange-on-the-bend-line-refused | [tangency-labs/solidcraft#3234](https://github.com/tangency-labs/solidcraft/issues/3234) [tangency-labs/solidcraft#3273](https://github.com/tangency-labs/solidcraft/issues/3273) | a second edge flange picked on the bend line of an existing flange made a doubled flange with a gap and two shells in one body | invariants | pass | pass |
| sheet-metal/3316-convert-a-plate-keeps-its-place | [tangency-labs/solidcraft#3316](https://github.com/tangency-labs/solidcraft/issues/3316) | a 100 x 60 x 2 plate converted from its top face moved down by one thickness (z -2..0 instead of 0..2) | analytic | pass | pass |
| sheet-metal/3324-flat-pattern-refused-after-a-fillet-on-the-sheet | [tangency-labs/solidcraft#3324](https://github.com/tangency-labs/solidcraft/issues/3324) [tangency-labs/solidcraft#3325](https://github.com/tangency-labs/solidcraft/issues/3325) [tangency-labs/solidcraft#3418](https://github.com/tangency-labs/solidcraft/issues/3418) | a fillet on a sheet metal corner changes the body but not its sheet model, so the flat pattern would be a sharp rectangle: it must refuse | invariants | pass | pass |
| sheet-metal/3353-mirrored-sheet-body-keeps-its-flat-pattern | [tangency-labs/solidcraft#3353](https://github.com/tangency-labs/solidcraft/issues/3353) [tangency-labs/solidcraft#3354](https://github.com/tangency-labs/solidcraft/issues/3354) | a sheet metal body mirrored into a new body must still be sheet metal (flat pattern, bend table): it was a plain solid | analytic | **FAIL**: step 13 (sheet.flat_pattern): invalid parameters for `sheet.flat_pattern`: `Body1 (2)` is not a sheet metal body | **FAIL**: step 13 (sheet.flat_pattern): invalid parameters for `sheet.flat_pattern`: `Body1 (2)` is not a sheet metal body |
| sheet-metal/3417-rhombus-with-a-flange-on-each-edge-and-square-reliefs | [tangency-labs/solidcraft#3417](https://github.com/tangency-labs/solidcraft/issues/3417) [tangency-labs/solidcraft#3421](https://github.com/tangency-labs/solidcraft/issues/3421) [tangency-labs/solidcraft#3280](https://github.com/tangency-labs/solidcraft/issues/3280) | a 60 mm rhombus (120 and 60 degree corners) with a 90 degree flange on each of its four edges and a square corner relief 8 mm across: the reliefs at the two 120 degree corners would overlap | invariants | pass | pass |
| sheet-metal/349-unfold-a-tray-shrunk-by-a-parameter-72-degrees | [tangency-labs/solidcraft#349](https://github.com/tangency-labs/solidcraft/issues/349) | a 2000 x 2500 tray with four 38.6 mm flanges at 72 degrees whose sketch is driven by parameters W and H, shrunk to 400 x 300 and unfolded (the solver leaves 1e-13 mm residuals: the planar region arrangement failed) | analytic | pass | pass |
| sheet-metal/349-unfold-a-tray-shrunk-by-a-parameter-90-degrees | [tangency-labs/solidcraft#349](https://github.com/tangency-labs/solidcraft/issues/349) | a 2000 x 2500 tray with four 38.6 mm flanges at 90 degrees whose sketch is driven by parameters W and H, shrunk to 400 x 300 and unfolded (the solver leaves 1e-13 mm residuals: the planar region arrangement failed) | analytic | pass | pass |
| sheet-metal/405-tray-with-72-degree-flanges-folded | [tangency-labs/solidcraft#405](https://github.com/tangency-labs/solidcraft/issues/405) [tangency-labs/solidcraft#406](https://github.com/tangency-labs/solidcraft/issues/406) | a 120 x 90 tray with four 38.6 mm flanges at 72 degrees closed with the rule's gap: the corners used to stay open as a V | invariants | pass | pass |
| sheet-metal/405-unfold-a-tray-with-72-degree-flanges | [tangency-labs/solidcraft#405](https://github.com/tangency-labs/solidcraft/issues/405) [tangency-labs/solidcraft#406](https://github.com/tangency-labs/solidcraft/issues/406) | a 120 x 90 tray with four 38.6 mm flanges at 72 degrees, closed at the corners with the rule's gap, unfolded | analytic | pass | pass |
| sheet-metal/416-round-hole-and-slanted-slot-across-a-bend | [tangency-labs/solidcraft#416](https://github.com/tangency-labs/solidcraft/issues/416) [tangency-labs/solidcraft#425](https://github.com/tangency-labs/solidcraft/issues/425) [tangency-labs/solidcraft#1797](https://github.com/tangency-labs/solidcraft/issues/1797) [tangency-labs/solidcraft#1799](https://github.com/tangency-labs/solidcraft/issues/1799) | a 160 x 100 plate with a 90 degree flange, unfolded, a 20 mm round hole and a 10 x 24 slot turned 30 degrees cut across the bend zone, refolded: the cut-out walls fold to curves on the bend's cylinder | analytic | pass | pass |
| sheet-metal/436-edge-flanges-at-105-and-120-degrees-on-opposite-edges | [tangency-labs/solidcraft#436](https://github.com/tangency-labs/solidcraft/issues/436) [tangency-labs/solidcraft#447](https://github.com/tangency-labs/solidcraft/issues/447) | one edge flange feature with its own angle and height on each of two opposite edges: 105 degrees and 30 mm, 120 degrees and 25 mm | analytic | pass | pass |
| sheet-metal/436-edge-flanges-with-their-own-height-on-opposite-edges | [tangency-labs/solidcraft#436](https://github.com/tangency-labs/solidcraft/issues/436) [tangency-labs/solidcraft#447](https://github.com/tangency-labs/solidcraft/issues/447) | one edge flange feature whose two edges carry their own heights (30 and 25 mm) over the feature's 20 mm default | analytic | pass | pass |
| sheet-metal/436-unfold-a-tray-with-four-angles-and-heights | [tangency-labs/solidcraft#436](https://github.com/tangency-labs/solidcraft/issues/436) [tangency-labs/solidcraft#447](https://github.com/tangency-labs/solidcraft/issues/447) [tangency-labs/solidcraft#501](https://github.com/tangency-labs/solidcraft/issues/501) | one edge flange feature whose four edges carry 75, 90, 105 and 120 degrees and heights 38.6, 38.6, 30 and 25, with corners between unequal angles closed, unfolded | analytic | pass | pass |
| sheet-metal/479-unfold-a-tray-with-round-relieved-corners | [tangency-labs/solidcraft#479](https://github.com/tangency-labs/solidcraft/issues/479) | a 120 x 90 tray with four 20 mm 90 degree flanges and corner relief shape round, unfolded | analytic | pass | pass |
| sheet-metal/488-unfold-a-tray-with-square-relieved-corners | [tangency-labs/solidcraft#488](https://github.com/tangency-labs/solidcraft/issues/488) | a 120 x 90 tray with four 20 mm 90 degree flanges and corner relief shape rectangular, unfolded | analytic | pass | pass |
| sheet-metal/514-refold-an-L-bracket-after-unfolding-it | [tangency-labs/solidcraft#514](https://github.com/tangency-labs/solidcraft/issues/514) | an L bracket unfolded and refolded: the refold must give the folded part back | analytic | pass | pass |
| sheet-metal/514-unfold-an-L-bracket | [tangency-labs/solidcraft#514](https://github.com/tangency-labs/solidcraft/issues/514) | a 60 x 40 base with a 20 mm 90 degree flange on one edge, unfolded: the flat plate is the base, the bend allowance and the flange's straight | analytic | pass | pass |
| sheet-metal/529-a-hundred-slots-and-four-folds | [tangency-labs/solidcraft#529](https://github.com/tangency-labs/solidcraft/issues/529) [tangency-labs/solidcraft#430](https://github.com/tangency-labs/solidcraft/issues/430) [tangency-labs/solidcraft#964](https://github.com/tangency-labs/solidcraft/issues/964) | a 200 x 300 panel with a hundred 4.4 x 20 slots and four 90 degree folds (one per side tab): the flat geometry ran out of its processing budget above 77 slots | analytic | pass | pass |
| sheet-metal/541-box-cut-straight-through-a-flat-sheet | [tangency-labs/solidcraft#541](https://github.com/tangency-labs/solidcraft/issues/541) | a solid.box cut straight through a 100 x 60 x 2.5 sheet was refused, though the same rectangle as an extrude cut works | analytic | pass | pass |
| sheet-metal/542-round-hole-in-a-flat-sheet-and-its-flat-pattern | [tangency-labs/solidcraft#542](https://github.com/tangency-labs/solidcraft/issues/542) [tangency-labs/solidcraft#552](https://github.com/tangency-labs/solidcraft/issues/552) | a 3.2 mm round hole cut through a 100 x 60 x 2.5 sheet, which the flat pattern must report as a circle | analytic | pass | pass |
| sheet-metal/560-hole-through-a-sheet-metal-base | [tangency-labs/solidcraft#560](https://github.com/tangency-labs/solidcraft/issues/560) [tangency-labs/solidcraft#656](https://github.com/tangency-labs/solidcraft/issues/656) | solid.hole square to a flat sheet metal panel was refused as sheet machining that cannot be preserved | analytic | pass | pass |
| sheet-metal/570-flange-refuses-thickness-it-would-ignore | [tangency-labs/solidcraft#570](https://github.com/tangency-labs/solidcraft/issues/570) [tangency-labs/solidcraft#594](https://github.com/tangency-labs/solidcraft/issues/594) [tangency-labs/solidcraft#572](https://github.com/tangency-labs/solidcraft/issues/572) | sheet.flange given thickness, k_factor and bend_radius, which the rule alone defines, used to ignore them silently and build the 2.5 mm default | invariants | pass | pass |
| sheet-metal/601-return-lip-on-a-flanges-far-edge | [tangency-labs/solidcraft#593](https://github.com/tangency-labs/solidcraft/issues/593) [tangency-labs/solidcraft#601](https://github.com/tangency-labs/solidcraft/issues/601) | an edge flange stands on the far edge of another edge flange (a lip turned in over the base), both 90 degrees | analytic | pass | pass |
| sheet-metal/634-flange-beside-the-leg-of-an-L-folded | [tangency-labs/solidcraft#634](https://github.com/tangency-labs/solidcraft/issues/634) | the same bar with its leg and a 15 mm inside flange on the bar's top edge, folded | analytic | pass | pass |
| sheet-metal/634-unfold-a-flange-beside-the-leg-of-an-L | [tangency-labs/solidcraft#634](https://github.com/tangency-labs/solidcraft/issues/634) | a 160 x 30 bar with a 20 x 30 leg past its top edge at the left end, and a 90 degree 15 mm inside flange on the bar's top edge (x 20..160), unfolded: the flange's trim cut the leg away | analytic | pass | pass |
| sheet-metal/638-fold-both-collinear-tabs-one-after-the-other | [tangency-labs/solidcraft#638](https://github.com/tangency-labs/solidcraft/issues/638) [tangency-labs/solidcraft#652](https://github.com/tangency-labs/solidcraft/issues/652) [tangency-labs/solidcraft#963](https://github.com/tangency-labs/solidcraft/issues/963) | two collinear tabs folded in two features on the same line; the second fold used to be refused as crossing a slanted edge | analytic | pass | pass |
| sheet-metal/639-fold-tab-on-inside-edge-of-an-L-blank | [tangency-labs/solidcraft#639](https://github.com/tangency-labs/solidcraft/issues/639) [tangency-labs/solidcraft#653](https://github.com/tangency-labs/solidcraft/issues/653) [tangency-labs/solidcraft#963](https://github.com/tangency-labs/solidcraft/issues/963) | a tab (x 45..60, y 60..90) on an inside edge of an L-shaped blank folded 90 degrees at x = 59 with the fixed point on the other leg; refused as folding tabs that join again | analytic | pass | pass |
| sheet-metal/659-ellipse-cutout-across-a-bend | [tangency-labs/solidcraft#659](https://github.com/tangency-labs/solidcraft/issues/659) [tangency-labs/solidcraft#692](https://github.com/tangency-labs/solidcraft/issues/692) | a 160 x 100 plate with a 90 degree flange, unfolded, a 24 x 12 ellipse cut across the bend zone and refolded: the cut's wall folds to a curve on the bend's cylinder | analytic | pass | pass |
| sheet-metal/659-ellipse-cutout-in-a-flat-sheet | [tangency-labs/solidcraft#659](https://github.com/tangency-labs/solidcraft/issues/659) [tangency-labs/solidcraft#692](https://github.com/tangency-labs/solidcraft/issues/692) | a 20 x 12 ellipse cut through a 100 x 60 x 2.5 sheet: it became 0.001 mm chords, one face each | analytic | pass | pass |
| sheet-metal/685-fold-with-the-fixed-point-on-the-top-face | [tangency-labs/solidcraft#958](https://github.com/tangency-labs/solidcraft/issues/958) | a large thin blank folded across its whole width with the fixed point exactly on the sheet's top face | analytic | pass | pass |
| sheet-metal/702-flange-along-what-a-cutout-leaves | [tangency-labs/solidcraft#702](https://github.com/tangency-labs/solidcraft/issues/702) | a 200 x 100 plate whose bottom-left 100 x 60 is cut away, and a 90 degree 40 mm inside flange picked on what is left of the bottom edge (x 100..200) | analytic | pass | pass |
| sheet-metal/723-tray-with-torn-corners-folded | [tangency-labs/solidcraft#723](https://github.com/tangency-labs/solidcraft/issues/723) [tangency-labs/solidcraft#809](https://github.com/tangency-labs/solidcraft/issues/809) [tangency-labs/solidcraft#1797](https://github.com/tangency-labs/solidcraft/issues/1797) [tangency-labs/solidcraft#1799](https://github.com/tangency-labs/solidcraft/issues/1799) | a 120 x 90 tray with four 20 mm 90 degree flanges and the tear corner relief: each torn bend end is a helical cut across the bend | invariants | pass | pass |
| sheet-metal/723-unfold-a-tray-with-torn-corners | [tangency-labs/solidcraft#723](https://github.com/tangency-labs/solidcraft/issues/723) [tangency-labs/solidcraft#809](https://github.com/tangency-labs/solidcraft/issues/809) [tangency-labs/solidcraft#1797](https://github.com/tangency-labs/solidcraft/issues/1797) [tangency-labs/solidcraft#1799](https://github.com/tangency-labs/solidcraft/issues/1799) | a 120 x 90 tray with four 20 mm 90 degree flanges and corner relief shape tear, unfolded | analytic | pass | pass |
| sheet-metal/725-convert-a-shelled-tray-and-unfold-it | [tangency-labs/solidcraft#647](https://github.com/tangency-labs/solidcraft/issues/647) [tangency-labs/solidcraft#725](https://github.com/tangency-labs/solidcraft/issues/725) [tangency-labs/solidcraft#1285](https://github.com/tangency-labs/solidcraft/issues/1285) [tangency-labs/solidcraft#1340](https://github.com/tangency-labs/solidcraft/issues/1340) | a 100 x 60 x 30 box shelled to 2 mm, converted to sheet metal by its four bottom edges and unfolded | analytic | pass | pass |
| sheet-metal/774-convert-a-plate-with-nine-round-holes | [tangency-labs/solidcraft#774](https://github.com/tangency-labs/solidcraft/issues/774) [tangency-labs/solidcraft#977](https://github.com/tangency-labs/solidcraft/issues/977) | a 30 x 30 x 2 plate with nine 4 mm holes converted to sheet metal (refused as not a plate of even thickness: the holes were read as polygons) | analytic | pass | pass |
| sheet-metal/839-flange-on-a-plate-with-rounded-corners-unfolded | [tangency-labs/solidcraft#839](https://github.com/tangency-labs/solidcraft/issues/839) | a 200 x 100 plate with its corners rounded 8 and one 40 mm inside flange on its bottom edge, unfolded: the trim made the outline's arcs chords | analytic | pass | pass |
| sheet-metal/955-hole-drilled-into-a-sheet-metal-rim | [tangency-labs/solidcraft#955](https://github.com/tangency-labs/solidcraft/issues/955) | a 2 mm hole drilled 10 mm deep into the rim of a 4 mm sheet, along the panel; it is a bore the panel keeps | analytic | pass | pass |
| sheet-metal/978-edge-flange-beside-a-ledge-as-tall-as-its-setback | [tangency-labs/solidcraft#978](https://github.com/tangency-labs/solidcraft/issues/978) | a 90 degree inside flange of radius 1 on an edge that has a ledge beside it exactly as tall as the flange's setback (3 mm): sew failed with a degenerate edge | invariants | pass | pass |
| shell/12-offset-one-split-face-piece | [tangency-labs/solidcraft#12](https://github.com/tangency-labs/solidcraft/issues/12) | Offset Face on one piece of a split face moves only that piece, not the coplanar neighbour | analytic | pass | pass |
| shell/1494-shell-box-with-cylinder-on-edge-line | [tangency-labs/solidcraft#1494](https://github.com/tangency-labs/solidcraft/issues/1494) | a 47.5x45x30 box with a cylinder r7.5 joined on its side whose axis lies in the plane of the box's front face (y=0), shelled 1 mm open at the bottom | invariants | **FAIL**: step 3 (solid.shell): offset: a corner whose faces don't meet the same way after the move | **FAIL**: step 3 (solid.shell): SMLib shell: operation: SMLib failed (status 1001) |
| shell/1525-shell-box-with-rounds-chamfer-and-fillet | [tangency-labs/solidcraft#1525](https://github.com/tangency-labs/solidcraft/issues/1525) | a 50x50x30 box with r10 vertical rounds, a 5 mm chamfer round the base and a 4 mm fillet where the chamfer meets the wall, shelled 2 mm open at the top | invariants | **FAIL**: step 5 (solid.shell): offset: only bodies with planes, cylinders, cones, spheres and tori (a face at [10.00, 0.00, 6.66]) | **FAIL**: step 4 (solid.fillet): SMLib fillet: SMLib's check refuses the result: 3 failed tests: SmBrep::Test #59 Tolerance: Edge tolerance relative to brep tolerance (of |
| shell/1972-shell-one-half-sphere-leaves-the-other | [tangency-labs/solidcraft#1972](https://github.com/tangency-labs/solidcraft/issues/1972) | a sphere split into two hemispheres; shelling the flat face of one must hollow that half only, the other half stays solid | analytic | **FAIL**: smlib_check SMLib check: 4 failed tests: SmFace::Test #36 Face Near missing Seam: Face Surface Seam has suspicio (want ok) | pass |
| shell/2531-shell-point-pick-after-parameter-edit | [tangency-labs/solidcraft#2531](https://github.com/tangency-labs/solidcraft/issues/2531) | a shell opened by a point pick keeps opening only that face after a parameter edit moves the body under the stored point | analytic | **FAIL**: faces 10 (want 11); volume_mm3 17376 (want 22112) | **FAIL**: volume_mm3 17952 (want 22112) |
| shell/2939-offset-face-sphere | [tangency-labs/solidcraft#2939](https://github.com/tangency-labs/solidcraft/issues/2939) | Offset Face on a sphere's round face | analytic | pass | pass |
| shell/3103-shell-tapered-cylinder | [tangency-labs/solidcraft#3103](https://github.com/tangency-labs/solidcraft/issues/3103) | a cone frustum (r20 at the base, r15 at the top, 30 tall) shelled 2 mm open at the top | analytic | **FAIL**: record_valid the operation failed: pcurve of loop 0 use 0 (Some([-12.972412489914536, 1.0839936279907245e-9, 29.9 (want ok); smlib_check the operation failed: pcurve of loop 0 use 0 (Some([-12.972412489914536, 1.0839936279907245e-9, 29.9 (want ok) | pass |
| shell/3283-offset-face-cylinder-wall | [tangency-labs/solidcraft#3283](https://github.com/tangency-labs/solidcraft/issues/3283) [tangency-labs/solidcraft#3650](https://github.com/tangency-labs/solidcraft/issues/3650) | Offset Face on the outer cylindrical wall of a tube (the picker only accepted planar faces) | analytic | pass | pass |
| shell/3468-offset-face-boss-wall-next-to-fillet | [tangency-labs/solidcraft#3468](https://github.com/tangency-labs/solidcraft/issues/3468) [tangency-labs/solidcraft#3898](https://github.com/tangency-labs/solidcraft/issues/3898) | Offset Face on a boss wall whose base has a 2 mm fillet: the boss grows to r 11 and the fillet follows | analytic | **FAIL**: step 4 (solid.offset_face): offset: a corner whose faces don't meet the same way after the move | **FAIL**: step 4 (solid.offset_face): SMLib offset faces: SMLib's check refuses the result: 4 failed tests: SmBrep::Test #59 Tolerance: Edge tolerance relative to brep to |
| shell/3506-split-body-then-shell-both-halves | [tangency-labs/solidcraft#3506](https://github.com/tangency-labs/solidcraft/issues/3506) | a box split in two at z=10, then each half shelled 2 mm open on the mating face | analytic | pass | pass |
| shell/3576-shell-tapered-box-rounded-corners | [tangency-labs/solidcraft#3576](https://github.com/tangency-labs/solidcraft/issues/3576) [tangency-labs/solidcraft#3573](https://github.com/tangency-labs/solidcraft/issues/3573) | a 120x80x40 box drafted 5 degrees with 4 mm rounds on the sloping corners, shelled 2 mm open at the top: the inner rounds' edges must lie on their faces (#3573 reports the same design) | invariants | **FAIL**: record_valid the operation failed: pcurve of loop 0 use 0 (Some([57.81738299786144, 35.84870237103483, 2.0]) to S (want ok); smlib_check the operation failed: pcurve of loop 0 use 1 (Some([55.848702371033994, 37.81738299786145, 2.0]) to (want ok) | **FAIL**: step 6 (solid.shell): SMLib shell: SMLib's check refuses the result: 12 failed tests: SmBSplineSurface::Test #5 Bad NonMonotonic CPts: SmBSplineSurface Control |
| shell/3669-shell-lofted-square-frustum | [tangency-labs/solidcraft#3669](https://github.com/tangency-labs/solidcraft/issues/3669) [tangency-labs/solidcraft#2990](https://github.com/tangency-labs/solidcraft/issues/2990) | a loft between a 40 mm and a 20 mm square 80 mm apart, shelled 2 mm open at the small end | analytic | pass | pass |
| shell/391-deboss-text-on-flange-of-filleted-shelled-body | [tangency-labs/solidcraft#391](https://github.com/tangency-labs/solidcraft/issues/391) | text debossed 0.6 mm into the flat flange top of a filleted and shelled tapered housing, well away from the curved walls | invariants | **FAIL**: record_valid the operation failed: pcurve of loop 0 use 0 (Some([42.37656695189378, 23.85763450177594, 3.5]) to S (want ok); smlib_check the operation failed: pcurve of loop 0 use 0 (Some([42.37656695189378, 23.85763450177594, 3.5]) to S (want ok) | not supported yet: step 8 (solid.extrude): not supported yet: SMLib draft extrusion with a straight foot |
| shell/4009-closed-shell-internal-void | [tangency-labs/solidcraft#4009](https://github.com/tangency-labs/solidcraft/issues/4009) | shell with no face removed: a closed hollow body with a sealed internal void | analytic | **FAIL**: step 5 (solid.shell): invalid parameters for `solid.shell`: select 1…1000 faces | **FAIL**: step 5 (solid.shell): invalid parameters for `solid.shell`: select 1…1000 faces |
| shell/4010-shell-open-at-through-hole-wall | [tangency-labs/solidcraft#4010](https://github.com/tangency-labs/solidcraft/issues/4010) | plate with a through hole shelled 2.5 mm with only the hole's wall removed | analytic | **FAIL**: step 6 (solid.shell): offset: a corner whose faces don't meet the same way after the move | pass |
| shell/566-shell-swept-bar-with-bend | [tangency-labs/solidcraft#566](https://github.com/tangency-labs/solidcraft/issues/566) | a 8x5 bar swept along a line-arc-line path (quarter circle r30 between two 30 mm legs), shelled 0.5 mm open at its start | analytic | **FAIL**: step 10 (solid.shell): offset: a corner whose faces don't meet the same way after the move | pass |
| shell/745-offset-face-on-body-with-distant-freeform-boss | [tangency-labs/solidcraft#745](https://github.com/tangency-labs/solidcraft/issues/745) [tangency-labs/solidcraft#3893](https://github.com/tangency-labs/solidcraft/issues/3893) | Offset Face on a planar end of a body that has a spline-outlined boss far from the moved face | invariants | **FAIL**: step 7 (solid.offset_face): offset: only bodies with planes, cylinders, cones, spheres and tori (a face at [35.00, 5.00, 10.00]) | pass |
| shell/745-offset-face-then-cut-boss-away | [tangency-labs/solidcraft#745](https://github.com/tangency-labs/solidcraft/issues/745) [tangency-labs/solidcraft#3893](https://github.com/tangency-labs/solidcraft/issues/3893) | the same end offset, then the boss and the box beyond x=24 cut away, which leaves an analytic body | analytic | **FAIL**: step 7 (solid.offset_face): offset: only bodies with planes, cylinders, cones, spheres and tori (a face at [35.00, 5.00, 10.00]) | pass |
| sweeps/1093-circular-pattern-of-a-lofted-join-blade | [tangency-labs/solidcraft#1093](https://github.com/tangency-labs/solidcraft/issues/1093) [tangency-labs/solidcraft#1107](https://github.com/tangency-labs/solidcraft/issues/1107) | a tapered lofted blade (6 x 3 root embedded 2 mm into a disk, 3 x 1.5 tip) joined to a disk and patterned 9 times round the axis as joins (31 minutes with eight retries, or "cavity ownership is ambiguous") | analytic | pass | pass |
| sweeps/1140-loft-hollow-tube-bands-halved-and-joined | [tangency-labs/solidcraft#1140](https://github.com/tangency-labs/solidcraft/issues/1140) | two hollow lofted tube bands (outer r 30, bore r 18 on R100, 5 sections each, 45 degrees each), each cut in half through its axis plane z = 0 and the halves joined into one body ("no result" after ten minutes of fallbacks) | analytic | **FAIL**: record_valid the operation failed: pcurve of loop 0 use 3 (Some([91.92386223510539, 91.92386223510539, -1.2621774 (want ok) | pass |
| sweeps/1184-loft-ring-sections-keep-the-hole | [tangency-labs/solidcraft#1184](https://github.com/tangency-labs/solidcraft/issues/1184) [tangency-labs/solidcraft#1254](https://github.com/tangency-labs/solidcraft/issues/1254) [tangency-labs/solidcraft#2435](https://github.com/tangency-labs/solidcraft/issues/2435) [tangency-labs/solidcraft#2447](https://github.com/tangency-labs/solidcraft/issues/2447) | a loft between two ring sections (outer r 20, inner r 12) 20 mm apart (the hole was dropped and a solid disc built) | analytic | pass | not supported yet: step 9 (solid.loft): not supported yet: SMLib loft through sections with holes |
| sweeps/1269-sweep-parallel-orientation-oblique-cylinder | [tangency-labs/solidcraft#1269](https://github.com/tangency-labs/solidcraft/issues/1269) | a circle of radius 5 on XY swept with orientation parallel along a path rising 20 mm while leaning 20 mm in x (the profile does not turn: a sheared cylinder) | analytic | pass | pass |
| sweeps/1269-sweep-twisted-square-ninety-degrees | [tangency-labs/solidcraft#1269](https://github.com/tangency-labs/solidcraft/issues/1269) | a 10 x 10 square swept 40 mm along a straight path while turning 90 degrees about the path | analytic | pass | not supported yet: step 7 (solid.sweep): not supported yet: SMLib sweep with a twist or an end scale |
| sweeps/1391-flange-flush-on-the-end-of-a-bent-tapered-loft-20deg | [tangency-labs/solidcraft#1391](https://github.com/tangency-labs/solidcraft/issues/1391) [tangency-labs/solidcraft#1556](https://github.com/tangency-labs/solidcraft/issues/1556) | a half tube (6 mm wall, inner radius tapering 60 to 75 mm) lofted through 5 sections along an R300 bend of 20 degrees, with an 8 mm half-annulus flange (inner radius +3 into the wall, outer +25 beyond it) extruded from the end plane outward and joined: the flange face lies in the end plane ("Union: no result") | analytic | **FAIL**: shells Tube: 2 (want 1) | pass |
| sweeps/1391-flange-flush-on-the-end-of-a-bent-tapered-loft-40deg | [tangency-labs/solidcraft#1391](https://github.com/tangency-labs/solidcraft/issues/1391) [tangency-labs/solidcraft#1556](https://github.com/tangency-labs/solidcraft/issues/1556) | a half tube (6 mm wall, inner radius tapering 60 to 75 mm) lofted through 5 sections along an R300 bend of 40 degrees, with an 8 mm half-annulus flange (inner radius +3 into the wall, outer +25 beyond it) extruded from the end plane outward and joined: the flange face lies in the end plane ("Union: no result") | analytic | **FAIL**: shells Tube: 2 (want 1) | pass |
| sweeps/1411-coil-intersected-with-a-cylinder-holding-it | [tangency-labs/solidcraft#1411](https://github.com/tangency-labs/solidcraft/issues/1411) | a 4-turn coil (centre diameter 40, wire 3 mm, pitch 8) intersected with a cylinder of radius 25 and height 40 that holds it (crash report: unclean exit in solid.coil) | analytic | pass | pass |
| sweeps/1490-loft-joined-into-a-window-of-a-wall-that-it-overhangs | [tangency-labs/solidcraft#1490](https://github.com/tangency-labs/solidcraft/issues/1490) | a wall 2.5 mm thick with a 30 x 20 window cut through it and a loft (34 x 24 growing to 38 x 28 over 3.5 mm) joined into the window so that its strips overhang the wall on both faces ("Union: no result" at some wall thicknesses) | analytic | pass | pass |
| sweeps/1666-loft-zigzag-to-flat-rectangle | [tangency-labs/solidcraft#1666](https://github.com/tangency-labs/solidcraft/issues/1666) | a ruled loft from an 18-vertex zig-zag section to a flat 52 x 3 rectangle with 18 vertices (8 of them collinear), whose twisted ruled faces were exported as crossing triangles | analytic | pass | pass |
| sweeps/1669-mirrored-window-and-loft-on-a-hollow-case | [tangency-labs/solidcraft#1669](https://github.com/tangency-labs/solidcraft/issues/1669) | a closed hollow box (60 x 60 x 40, 2.5 mm walls) with a window cut in one end wall and a loft joined into it, both mirrored about the middle plane x = 30 onto the far wall ("Union: no result" on the mirror only) | analytic | pass | pass |
| sweeps/1853-revolve-cut-half-a-slot-about-its-centreline | [tangency-labs/solidcraft#1853](https://github.com/tangency-labs/solidcraft/issues/1853) [tangency-labs/solidcraft#1866](https://github.com/tangency-labs/solidcraft/issues/1866) | half a slot (r 3, centres 14 apart) revolved a full turn about its own centreline, which lies in the top face of a plate, as a cut (no result after about 10 s of retries) | analytic | pass | pass |
| sweeps/1856-disk-and-36-twisted-lofted-blades-joined | [tangency-labs/solidcraft#2992](https://github.com/tangency-labs/solidcraft/issues/2992) [tangency-labs/solidcraft#1856](https://github.com/tangency-labs/solidcraft/issues/1856) | a disk joined to 36 patterned twisted lofted blades (each a loft of 9 rectangle sections turning 7.5 degrees apart, rooted 2 mm inside the disk): hang of minutes | analytic | **HANG**: no result after 180 s | **HANG**: no result after 180 s |
| sweeps/1866-revolve-half-slot-profile-180 | [tangency-labs/solidcraft#1866](https://github.com/tangency-labs/solidcraft/issues/1866) | half a slot (r 3, centres 14 apart; the segment before the axis edge comes back to the axis along an arc) revolved 180 deg about its centreline | analytic | pass | pass |
| sweeps/1866-revolve-half-slot-profile-90 | [tangency-labs/solidcraft#1866](https://github.com/tangency-labs/solidcraft/issues/1866) | half a slot (r 3, centres 14 apart; the segment before the axis edge comes back to the axis along an arc) revolved 90 deg about its centreline | analytic | pass | pass |
| sweeps/2005-closed-sweep-twisted-cut-inside-a-torus | [tangency-labs/solidcraft#2005](https://github.com/tangency-labs/solidcraft/issues/2005) [tangency-labs/solidcraft#2010](https://github.com/tangency-labs/solidcraft/issues/2010) | an 8 x 8 square swept a full turn round a circle of radius 30 with a 180 degree twist, cut from a torus (R 30, r 8) that holds it (no result, or minutes) | analytic | pass | not supported yet: step 11 (solid.sweep): not supported yet: SMLib sweep with a twist or an end scale |
| sweeps/2005-closed-sweep-twisted-new-body | [tangency-labs/solidcraft#2005](https://github.com/tangency-labs/solidcraft/issues/2005) [tangency-labs/solidcraft#2010](https://github.com/tangency-labs/solidcraft/issues/2010) | an 8 x 8 square swept a full turn round a circle of radius 30 with a 90 degree twist, as a new body (the sweep that closes on itself) | analytic | pass | not supported yet: step 7 (solid.sweep): not supported yet: SMLib sweep with a twist or an end scale |
| sweeps/201-loft-one-guide-rail-cone-frustum | [tangency-labs/solidcraft#201](https://github.com/tangency-labs/solidcraft/issues/201) [tangency-labs/solidcraft#3371](https://github.com/tangency-labs/solidcraft/issues/3371) | a loft from a circle of radius 5 to a circle of radius 10, 20 mm above, guided by one straight rail through (5,0,0) and (10,0,20) | analytic | pass | not supported yet: step 10 (solid.loft): not supported yet: SMLib loft along guide rails |
| sweeps/2056-rib-grows-along-the-sketch-normal-to-the-part | [tangency-labs/solidcraft#2056](https://github.com/tangency-labs/solidcraft/issues/2056) [tangency-labs/solidcraft#2057](https://github.com/tangency-labs/solidcraft/issues/2057) | a rib drawn on a plane 20 mm in front of a block (parallel to XZ, a 40 mm line along X) with direction normal, growing toward the block | analytic | pass | pass |
| sweeps/2183-revolve-profile-crosses-the-axis-refused | [tangency-labs/solidcraft#2453](https://github.com/tangency-labs/solidcraft/issues/2453) [tangency-labs/solidcraft#2183](https://github.com/tangency-labs/solidcraft/issues/2183) | a rectangle that straddles the revolve axis (x from -5 to 15 about the sketch y axis) | invariants | pass | pass |
| sweeps/2295-revolve-cut-torus-by-an-overlapping-ring | [tangency-labs/solidcraft#2295](https://github.com/tangency-labs/solidcraft/issues/2295) | a torus (R 10, r 5) cut by a disc of radius 5 centred at (15,0) in the XZ plane revolved about Z (the disc overlaps the torus tube) | analytic | pass | pass |
| sweeps/2435-loft-rectangular-ring-sections | [tangency-labs/solidcraft#2435](https://github.com/tangency-labs/solidcraft/issues/2435) [tangency-labs/solidcraft#2447](https://github.com/tangency-labs/solidcraft/issues/2447) | a loft between two rectangular ring sections (a rectangle with a rectangular hole), 24 mm apart, tapering outer 40 x 30 to 28 x 20 and hole 20 x 14 to 12 x 6 | analytic | pass | not supported yet: step 9 (solid.loft): not supported yet: SMLib loft through sections with holes |
| sweeps/2516-revolve-about-a-named-construction-axis | [tangency-labs/solidcraft#3796](https://github.com/tangency-labs/solidcraft/issues/3796) [tangency-labs/solidcraft#3619](https://github.com/tangency-labs/solidcraft/issues/3619) [tangency-labs/solidcraft#2516](https://github.com/tangency-labs/solidcraft/issues/2516) | a rectangle revolved about a construction axis picked by name ("unknown sketch line `Axis1`") | analytic | **FAIL**: step 5 (solid.revolve): unknown sketch line `Axis1` | **FAIL**: step 5 (solid.revolve): unknown sketch line `Axis1` |
| sweeps/2552-thread-groove-cut-by-a-square-coil-in-a-bore | [tangency-labs/solidcraft#2552](https://github.com/tangency-labs/solidcraft/issues/2552) | a square-wire coil (diameter 10, section 0.9 inside, pitch 1.5, height 10) cut as a helical groove into the wall of a bore of radius 4.1 in a 30 x 30 x 12 block (crash report: unclean exit in solid.coil) | analytic | **HANG**: no result after 180 s | **CRASH**: process exited (signal: 11 (SIGSEGV) (core dumped)) without a result: |
| sweeps/2570-loft-circle-to-a-non-star-shaped-comb | [tangency-labs/solidcraft#2570](https://github.com/tangency-labs/solidcraft/issues/2570) [tangency-labs/solidcraft#3670](https://github.com/tangency-labs/solidcraft/issues/3670) | a loft between a circle and a 20-edge comb outline (not star-shaped from its centroid: the teeth turn the vertex directions back on themselves), 40 mm apart (the circle was wound about ten times, the app froze) | invariants | **FAIL**: record_valid geometry: portable B-rep: face 21 loop 0: outer loop runs clockwise in (u, v) (signed area -1.154845 (want ok); smlib_check SMLib check: 4 failed tests: SmBrep::Test #4 Bad Gap: Edge/Surface gap across Edgeuse larger than to (want ok); bbox.min [-18.151366, -22.51753, -0] (want [-18, -2, 0]); bbox.max [20.634025, 37.723464, 40] (want [18, 18, 40]) | **FAIL**: step 7 (solid.loft): invalid input: an arc turns more than once |
| sweeps/2607-revolve-axis-outside-the-sketch-plane-refused | [tangency-labs/solidcraft#3736](https://github.com/tangency-labs/solidcraft/issues/3736) [tangency-labs/solidcraft#2607](https://github.com/tangency-labs/solidcraft/issues/2607) | a profile on the XZ plane revolved about the world Y axis, which does not lie in the sketch plane | invariants | pass | pass |
| sweeps/2667-revolve-half-disc-sphere | [tangency-labs/solidcraft#2667](https://github.com/tangency-labs/solidcraft/issues/2667) | a half disc of radius 6 on the axis revolved a full turn (mutation survivor: half_disc area factor) | analytic | pass | pass |
| sweeps/2667-revolve-half-disc-three-quarters | [tangency-labs/solidcraft#2667](https://github.com/tangency-labs/solidcraft/issues/2667) | the same half disc revolved 270 degrees (mutation survivor: full_circle test of the sweep angle) | analytic | pass | pass |
| sweeps/2667-sweep-hostile-end-scale-refused | [tangency-labs/solidcraft#2667](https://github.com/tangency-labs/solidcraft/issues/2667) | a sweep with an end scale of 500 (the engine allows 0.01 to 100): the option check (SweepControl::check) must refuse it | invariants | pass | pass |
| sweeps/271-loft-cut-with-targets-keeps-the-bystander | [tangency-labs/solidcraft#271](https://github.com/tangency-labs/solidcraft/issues/271) [tangency-labs/solidcraft#286](https://github.com/tangency-labs/solidcraft/issues/286) [tangency-labs/solidcraft#299](https://github.com/tangency-labs/solidcraft/issues/299) | a loft cut limited by targets to one body while a second body lies inside the loft | analytic | pass | pass |
| sweeps/2820-pipe-cut-oblique-hole-through-a-block | [tangency-labs/solidcraft#2820](https://github.com/tangency-labs/solidcraft/issues/2820) | a pipe of diameter 6 cut through a 40 x 40 x 20 block along a line leaning 30 degrees from the vertical | analytic | pass | pass |
| sweeps/2820-pipe-hollow-with-a-wall-along-a-bend | [tangency-labs/solidcraft#2820](https://github.com/tangency-labs/solidcraft/issues/2820) | a hollow pipe (outer diameter 10, wall 2) along a path of two lines joined by a tangent R20 quarter arc | analytic | pass | **FAIL**: step 6 (solid.pipe): SMLib sweep: SMLib failed (status 1001) |
| sweeps/2847-loft-rectangles-turning-through-half-a-turn | [tangency-labs/solidcraft#2847](https://github.com/tangency-labs/solidcraft/issues/2847) [tangency-labs/solidcraft#3452](https://github.com/tangency-labs/solidcraft/issues/3452) | a loft through 19 identical 6 x 4 rectangles on planes turning about the Z axis every 10 degrees from 0 to 180 degrees, centred 30 mm from the axis (volume came out 6 % of the expected at 180 degrees, no error) | analytic | **FAIL**: smlib_check SMLib check: 1 failed tests: SmBrep::Test #8 Bad Infinite Region: m_pInfiniteRegion is incorrect [ow (want ok); volume_mm3 125.665718 (want 2261.946711); bbox.max [33, 33.222229, 2] (want [33, 33, 2]) | **FAIL**: volume_mm3 -127.306602 (want 2261.946711); bbox.max [33, 33.208374, 2] (want [33, 33, 2]) |
| sweeps/2862-three-pipes-meeting-at-one-point | [tangency-labs/solidcraft#2862](https://github.com/tangency-labs/solidcraft/issues/2862) | three pipes of diameter 4.4 and length 20 along +X, +Y and +Z, all ending at the origin, joined (a non-planar tripod junction: kernel panics, then no result) | analytic | **FAIL**: step 9 (solid.pipe): boolean Union: the operation failed: no result | not supported yet: step 7 (solid.pipe): not supported yet: SMLib sweep along a path of points (a 3D sketch curve) |
| sweeps/2891-twisted-sweep-cut-through-a-tube | [tangency-labs/solidcraft#2891](https://github.com/tangency-labs/solidcraft/issues/2891) [tangency-labs/solidcraft#3695](https://github.com/tangency-labs/solidcraft/issues/3695) | a 20 x 20 square swept 250 mm along the axis of a tube (ID 20, OD 30, 250 long) with a 30 degree twist, cut from it (the twisted cut froze the app) | analytic | **FAIL**: step 12 (solid.sweep): boolean Cut: the operation failed: no result | not supported yet: step 12 (solid.sweep): not supported yet: SMLib sweep with a twist or an end scale |
| sweeps/2947-revolve-300-degrees-intersected-by-a-plate | [tangency-labs/solidcraft#2947](https://github.com/tangency-labs/solidcraft/issues/2947) [tangency-labs/solidcraft#2948](https://github.com/tangency-labs/solidcraft/issues/2948) | a rectangle section revolved 300 degrees about Z, then intersected with a plate (slab /y/ <= 5) crossing the ring at the start/end gap side and the far side (boolean gave up: "loop not inside any face piece") | analytic | pass | pass |
| sweeps/3006-second-sweep-from-a-plane-along-a-closed-path | [tangency-labs/solidcraft#3006](https://github.com/tangency-labs/solidcraft/issues/3006) | a circle of radius 3 on a plane at 0.5 of a closed circular path (R 30) swept round it, then a 5 x 5 square on a plane at 0.75 swept round the same path and joined (it did not follow the path) | analytic | **FAIL**: smlib_check SMLib check: 12 failed tests: SmFace::Test #36 Face Near missing Seam: Face Surface Seam has suspici (want ok) | **FAIL**: step 13 (solid.sweep): SMLib export: the mapped B-rep does not validate: portable B-rep: a closed shell bounds two regions and encloses one |
| sweeps/3088-coil-thread-joined-flush-with-a-cylinder | [tangency-labs/solidcraft#3088](https://github.com/tangency-labs/solidcraft/issues/3088) [tangency-labs/solidcraft#3758](https://github.com/tangency-labs/solidcraft/issues/3758) | a 4-turn square coil (4 mm wire, pitch 9, outer diameter 30.8, section inside) joined round a cylinder of radius 15 and height 40, its ends flush with the cylinder end faces (hang of several minutes, crash report) | analytic | **HANG**: no result after 180 s | pass |
| sweeps/3111-loft-rectangular-ring-to-circular-ring | [tangency-labs/solidcraft#3111](https://github.com/tangency-labs/solidcraft/issues/3111) | a loft from a rectangular ring (two nested rectangles) to a circular ring (two concentric circles) 30 mm above: a hollow transition piece | invariants | pass | not supported yet: step 9 (solid.loft): not supported yet: SMLib loft through sections with holes |
| sweeps/3156-revolve-join-end-faces-flush-with-a-face | [tangency-labs/solidcraft#3156](https://github.com/tangency-labs/solidcraft/issues/3156) [tangency-labs/solidcraft#3224](https://github.com/tangency-labs/solidcraft/issues/3224) | a rectangle revolved plus and minus 90 degrees about an axis in a plate top face: both planar end faces lie in that face and the join needed a tool nudge | analytic | pass | pass |
| sweeps/3191-revolve-cut-leaves-a-cone | [tangency-labs/solidcraft#3911](https://github.com/tangency-labs/solidcraft/issues/3911) [tangency-labs/solidcraft#3191](https://github.com/tangency-labs/solidcraft/issues/3191) | a triangle sharing the cylinder side and top rim revolved as a cut to leave a cone (the cut never completed) | analytic | **FAIL**: step 5 (solid.revolve): invalid input: the profile crosses the revolve axis | **FAIL**: step 5 (solid.revolve): invalid input: the profile crosses the revolve axis |
| sweeps/3326-loft-20mm-square-to-a-circle | [tangency-labs/solidcraft#3326](https://github.com/tangency-labs/solidcraft/issues/3326) [tangency-labs/solidcraft#3402](https://github.com/tangency-labs/solidcraft/issues/3402) | a loft from a 20 mm square to a circle of radius 10 offset 20 mm (the loft tool symbol): the loft geometry looked wrong | invariants | pass | pass |
| sweeps/3345-sweep-profile-mid-line-round-a-rounded-rectangle | [tangency-labs/solidcraft#3345](https://github.com/tangency-labs/solidcraft/issues/3345) | a 4 x 3 profile drawn at the middle of the bottom line of a closed 60 x 40 rounded-rectangle path (corner radius 8) and swept round the whole path (walls offset, fillets turned the wrong way) | analytic | **FAIL**: volume_mm3 2225.797307 (want 2235.185789); bbox.min [-45.497256, -35.488093, -1.5] (want [-32, -22, -1.5]); bbox.max [45.497256, 35.488093, 1.5] (want [32, 22, 1.5]) | **FAIL**: bbox.min [-46.165028, -36.165028, -1.5] (want [-32, -22, -1.5]); bbox.max [46.165028, 36.165028, 1.5] (want [32, 22, 1.5]) |
| sweeps/3412-loft-sections-in-one-plane-refused | [tangency-labs/solidcraft#3412](https://github.com/tangency-labs/solidcraft/issues/3412) | a loft through two circles drawn on the same plane (no volume between them; it built a flat zero-volume body and reported success) | invariants | pass | pass |
| sweeps/3505-extrude-the-flat-wall-of-a-sweep-with-a-corner | [tangency-labs/solidcraft#3505](https://github.com/tangency-labs/solidcraft/issues/3505) | the inner side wall of the vertical leg of a mitred swept bar extruded outward by 3 mm (the wall is a B-spline net in a plane, "the selected planar face no longer exists") | analytic | **FAIL**: step 9 (solid.extrude): invalid parameters for `face profile`: the selected planar face no longer exists; choose another face or an explicit fixed plane | not supported yet: step 8 (solid.sweep): not supported yet: SMLib sweep along a path with corners (SMLib's sweep follows smooth paths) |
| sweeps/3528-revolved-dome-cut-by-a-ball-on-its-seam | [tangency-labs/solidcraft#3528](https://github.com/tangency-labs/solidcraft/issues/3528) | a ball of radius 4 centred on the dome of a revolved mushroom cap (azimuth 15 degrees, across an internal seam of the revolved faces), cut from it: removed nearly the whole ball | analytic | pass | **FAIL**: volume_mm3 48118.357835 (want 46424.505878) |
| sweeps/3541-loft-two-circles-into-a-cone-flipped-plane | [tangency-labs/solidcraft#3541](https://github.com/tangency-labs/solidcraft/issues/3541) | a loft from a circle of radius 8 to a circle of radius 20, 30 mm below it (sections given small first, the small one drawn on a plane turned over (normal pointing down)): "a horizontal narrowing is created" instead of a cone | analytic | pass | pass |
| sweeps/3541-loft-two-circles-into-a-cone-same-sense | [tangency-labs/solidcraft#3541](https://github.com/tangency-labs/solidcraft/issues/3541) | a loft from a circle of radius 8 to a circle of radius 20, 30 mm below it (sections given small first, the small one drawn on a plane facing the same way): "a horizontal narrowing is created" instead of a cone | analytic | pass | pass |
| sweeps/3832-coil-cut-with-negative-pitch-inside-a-cylinder | [tangency-labs/solidcraft#3832](https://github.com/tangency-labs/solidcraft/issues/3832) | a 7-turn coil (centre diameter 80, wire 1 mm, pitch -2 so it winds downward) cut from a cylinder that holds it entirely (boolean Cut: no result) | analytic | pass | pass |
| sweeps/3862-coil-square-wire-outside-the-diameter | [tangency-labs/solidcraft#3862](https://github.com/tangency-labs/solidcraft/issues/3862) [tangency-labs/solidcraft#3915](https://github.com/tangency-labs/solidcraft/issues/3915) | a clockwise 5-turn coil of 4 mm square wire placed outside a 40 mm diameter, pitch 8 (the section, position and direction parameters) | analytic | pass | pass |
| sweeps/3897-sweep-ring-along-a-short-arc-joined-to-a-collar | [tangency-labs/solidcraft#3897](https://github.com/tangency-labs/solidcraft/issues/3897) | a ring profile (radii 79.815 and 78.285) swept along a 22.5 degree arc of radius 94.815 whose start is at the ring centre, joined to a ring-shaped collar under the profile (froze at "Computing") | analytic | pass | pass |
| sweeps/3936-loft-join-circle-to-rectangle-on-a-cylinder | [tangency-labs/solidcraft#3936](https://github.com/tangency-labs/solidcraft/issues/3936) | a loft from the circle on top of a cylinder (r 10, height 15) to a 40 x 30 rectangle 30 mm above, joined to the cylinder (builds as a new body in 2 ms, the join never returns) | invariants | **HANG**: no result after 180 s | pass |
| sweeps/396-loft-join-standing-on-a-box-face | [tangency-labs/solidcraft#396](https://github.com/tangency-labs/solidcraft/issues/396) [tangency-labs/solidcraft#577](https://github.com/tangency-labs/solidcraft/issues/577) | a conical loft standing on a box top face, joined to the box (one body reported, two touching shells in the result) | analytic | pass | pass |
| sweeps/4007-revolve-half-disc-horn-torus-270-degrees | [tangency-labs/solidcraft#4007](https://github.com/tangency-labs/solidcraft/issues/4007) | the half disc of radius 14 on the far side of a diameter 14 mm from the axis (the full circle would touch the axis: a horn torus) revolved 270 degrees | analytic | pass | pass |
| sweeps/4008-symmetric-revolve-cut-end-faces-in-the-side-face | [tangency-labs/solidcraft#4008](https://github.com/tangency-labs/solidcraft/issues/4008) | a 7 x 21 rectangle 2.6 mm from a block vertical edge revolved as a symmetric 180 degree cut about that edge: both end faces of the tool lie in the block left face (refused as "could not be computed reliably") | analytic | **FAIL**: step 6 (solid.revolve): the cut could not be computed reliably: it would change the body away from the tool, at (-0.924, 12.796, 2.000) (outside the tool's regi | pass |
| sweeps/4056-surface-loft-rails-straight-section-in-a-rail-plane-bow-to-stern | [tangency-labs/solidcraft#4056](https://github.com/tangency-labs/solidcraft/issues/4056) [tangency-labs/solidcraft#4080](https://github.com/tangency-labs/solidcraft/issues/4080) | a surface loft between a vertical line on XZ (bow) and a slanted line in the plane x = 100 (stern), bow to stern, guided by a keel rail lying in the bow sketch plane and a sheer rail at z = 20 (refused: "a guide rail crosses section 2's plane") | analytic | pass | pass |
| sweeps/4056-surface-loft-rails-straight-section-in-a-rail-plane-stern-to-bow | [tangency-labs/solidcraft#4056](https://github.com/tangency-labs/solidcraft/issues/4056) [tangency-labs/solidcraft#4080](https://github.com/tangency-labs/solidcraft/issues/4080) | a surface loft between a vertical line on XZ (bow) and a slanted line in the plane x = 100 (stern), stern to bow, guided by a keel rail lying in the bow sketch plane and a sheer rail at z = 20 (refused: "a guide rail crosses section 2's plane") | analytic | **FAIL**: step 13 (surface.loft): invalid input: a guide rail crosses section 2's plane 100.000 mm from its curves: a rail has to pass through every section | **FAIL**: step 13 (surface.loft): invalid input: a guide rail crosses section 2's plane 100.000 mm from its curves: a rail has to pass through every section |
| sweeps/443-loft-intersect-cone-meets-wall-below-top | [tangency-labs/solidcraft#443](https://github.com/tangency-labs/solidcraft/issues/443) | a cylinder (r 35, h 10) intersected with a conical loft (r 45 at z = -1 to r 33 at z = 11) that crosses its wall 1 mm below the top face (body came back unchanged) | analytic | **FAIL**: record_valid the operation failed: pcurve of loop 0 use 0 (Some([-34.0, 7.915749896921301e-14, 10.0]) to Some([34 (want ok) | pass |
| sweeps/450-revolve-spherical-shell-sketched-off-the-origin | [tangency-labs/solidcraft#450](https://github.com/tangency-labs/solidcraft/issues/450) [tangency-labs/solidcraft#452](https://github.com/tangency-labs/solidcraft/issues/452) | a half ring between two arcs (both radial lines on the axis) revolved a full turn from a sketch plane 10 mm above the origin (volume +34 %) | analytic | **CRASH**: process exited (signal: 11 (SIGSEGV) (core dumped)) without a result: | **FAIL**: shells Body1: 2 (want 1); record_valid the operation failed: lumps: cannot mesh a complete shell boundary (want ok); smlib_check the operation failed: lumps: cannot mesh a complete shell boundary (want ok); volume_mm3 294558.478017 (want 241560.724326) |
| sweeps/487-cut-disc-by-revolved-adjacent-profiles | [tangency-labs/solidcraft#487](https://github.com/tangency-labs/solidcraft/issues/487) [tangency-labs/solidcraft#490](https://github.com/tangency-labs/solidcraft/issues/490) | a disc cut by the body made from two adjacent profiles revolved on the axis, around the disc flat end | analytic | pass | pass |
| sweeps/487-revolve-two-adjacent-profiles-on-the-axis | [tangency-labs/solidcraft#487](https://github.com/tangency-labs/solidcraft/issues/487) [tangency-labs/solidcraft#490](https://github.com/tangency-labs/solidcraft/issues/490) | two rectangles sharing an edge, both resting on the axis, revolved together (zero-area faces along the axis) | analytic | pass | pass |
| sweeps/494-extrude-the-flange-face-of-a-fresh-revolve | [tangency-labs/solidcraft#726](https://github.com/tangency-labs/solidcraft/issues/726) [tangency-labs/solidcraft#494](https://github.com/tangency-labs/solidcraft/issues/494) [tangency-labs/solidcraft#2114](https://github.com/tangency-labs/solidcraft/issues/2114) | the flange top annulus of a freshly revolved hub (z = 6, r 18..30) picked by a point and extruded 5 mm (the pick found a third of the face: "the selected planar face no longer exists") | analytic | pass | pass |
| sweeps/561-extrude-the-end-face-of-a-loft | [tangency-labs/solidcraft#561](https://github.com/tangency-labs/solidcraft/issues/561) [tangency-labs/solidcraft#677](https://github.com/tangency-labs/solidcraft/issues/677) | the small end face of a square-to-square loft (40 mm side to 20 mm over 40 mm) extruded 10 mm (loft faces had no attachable source) | analytic | pass | pass |
| sweeps/561-extrude-the-end-face-of-a-sweep | [tangency-labs/solidcraft#561](https://github.com/tangency-labs/solidcraft/issues/561) [tangency-labs/solidcraft#677](https://github.com/tangency-labs/solidcraft/issues/677) | the end cap of a mitred swept bar (8 x 5 section, 30 up then 40 across) extruded 6 mm further along the path | analytic | **FAIL**: shells Bar: 2 (want 1); record_valid the operation failed: lumps: shell boundaries intersect or touch; cavity ownership is ambiguous (want ok); smlib_check the operation failed: lumps: shell boundaries intersect or touch; cavity ownership is ambiguous (want ok) | not supported yet: step 8 (solid.sweep): not supported yet: SMLib sweep along a path with corners (SMLib's sweep follows smooth paths) |
| sweeps/561-extrude-the-start-face-of-a-coil | [tangency-labs/solidcraft#561](https://github.com/tangency-labs/solidcraft/issues/561) [tangency-labs/solidcraft#677](https://github.com/tangency-labs/solidcraft/issues/677) | the start face of a 3-turn square-wire coil (4 mm wire, pitch 8, centre diameter 40) extruded 5 mm | analytic | pass | pass |
| sweeps/726-revolve-full-turn-planar-faces-whole | [tangency-labs/solidcraft#726](https://github.com/tangency-labs/solidcraft/issues/726) [tangency-labs/solidcraft#1687](https://github.com/tangency-labs/solidcraft/issues/1687) | a flanged hub profile (six edges, none on the axis) revolved a full turn: the planar faces must come out whole, not as three patches | analytic | pass | pass |
| sweeps/726-revolve-partial-turn-planar-faces-whole | [tangency-labs/solidcraft#726](https://github.com/tangency-labs/solidcraft/issues/726) [tangency-labs/solidcraft#1718](https://github.com/tangency-labs/solidcraft/issues/1718) | the same flanged hub profile revolved 240 degrees: its planar faces (three annular sectors and two end faces) must come out whole | analytic | pass | pass |
| sweeps/757-surface-loft-ruled-strip-between-two-lines | [tangency-labs/solidcraft#757](https://github.com/tangency-labs/solidcraft/issues/757) [tangency-labs/solidcraft#847](https://github.com/tangency-labs/solidcraft/issues/847) | a surface loft between the line (0,0,0)-(10,0,0) and the line (0,0,20)-(10,6,20): a ruled (bilinear) strip | analytic | pass | pass |
| sweeps/757-surface-revolve-line-cone-frustum-sheet | [tangency-labs/solidcraft#757](https://github.com/tangency-labs/solidcraft/issues/757) [tangency-labs/solidcraft#824](https://github.com/tangency-labs/solidcraft/issues/824) | a line from (5,0) to (10,20) revolved a full turn into a surface body (a cone frustum wall, no caps) | analytic | pass | pass |
| sweeps/757-surface-sweep-slanted-line-round-a-quarter-arc | [tangency-labs/solidcraft#757](https://github.com/tangency-labs/solidcraft/issues/757) [tangency-labs/solidcraft#843](https://github.com/tangency-labs/solidcraft/issues/843) | a slanted line (from (20,0,0) to (30,0,10)) swept as a surface round a quarter circle of radius 20 about Z | analytic | pass | pass |
| sweeps/771-sweep-end-scale-cone-frustum | [tangency-labs/solidcraft#771](https://github.com/tangency-labs/solidcraft/issues/771) [tangency-labs/solidcraft#1269](https://github.com/tangency-labs/solidcraft/issues/1269) | a circle of radius 5 swept 30 mm along a straight path with end scale 2 | analytic | **FAIL**: faces 4 (want 3) | not supported yet: step 7 (solid.sweep): not supported yet: SMLib sweep with a twist or an end scale |
| sweeps/771-sweep-one-guide-rail-cone-frustum | [tangency-labs/solidcraft#771](https://github.com/tangency-labs/solidcraft/issues/771) [tangency-labs/solidcraft#1806](https://github.com/tangency-labs/solidcraft/issues/1806) | a circle of radius 5 swept 20 mm up a straight path with one guide rail from its point (5,0,0) to (10,0,20) | analytic | pass | not supported yet: step 10 (solid.sweep): not supported yet: SMLib sweep along guide rails |
| sweeps/771-sweep-two-guide-rails-cone-frustum | [tangency-labs/solidcraft#771](https://github.com/tangency-labs/solidcraft/issues/771) [tangency-labs/solidcraft#1806](https://github.com/tangency-labs/solidcraft/issues/1806) | a circle of radius 5 swept 20 mm up a straight path between two guide rails from (5,0,0) to (10,0,20) and from (-5,0,0) to (-10,0,20) | analytic | pass | not supported yet: step 11 (solid.sweep): not supported yet: SMLib sweep along guide rails |
| sweeps/793-coil-cut-by-a-box-above-a-plane | [tangency-labs/solidcraft#793](https://github.com/tangency-labs/solidcraft/issues/793) | the same coil trimmed flat by cutting away everything above z = 12.5 with a box (trimming a coil to length) | analytic | **HANG**: no result after 180 s | **FAIL**: step 3 (solid.combine): SMLib export: pcurve: pcurve of loop 0 use 0 (Some([13.434874451541004, 13.434916434571074, 12.499999999999998]) to Some([13.43487445154 |
| sweeps/793-coil-split-by-a-plane-across-its-axis | [tangency-labs/solidcraft#793](https://github.com/tangency-labs/solidcraft/issues/793) | a 6-turn coil (centre diameter 40, wire 2 mm, pitch 4) split by the plane z = 12.5 square to its axis ("boolean Intersect: no result") | analytic | **HANG**: no result after 180 s | **FAIL**: step 2 (solid.split_body): SMLib export: pcurve: pcurve of loop 0 use 0 (Some([13.434874451540997, 13.434916434571077, 12.499999999999998]) to Some([13.43487445 |
| sweeps/844-join-two-overlapping-swept-arc-walls | [tangency-labs/solidcraft#844](https://github.com/tangency-labs/solidcraft/issues/844) | two swept walls (12 mm thick, 60 mm high) along concentric half circles of radius 50 and 58 turned 90 degrees apart, overlapping in thickness by 4 mm over a quarter turn and sharing the planes z = 0 and z = 60 (join gave an error, minutes, or an open body) | analytic | **FAIL**: shells WallA: 2 (want 1); record_valid the operation failed: lumps: shell boundaries intersect or touch; cavity ownership is ambiguous (want ok); smlib_check the operation failed: lumps: shell boundaries intersect or touch; cavity ownership is ambiguous (want ok) | **FAIL**: step 14 (solid.sweep): SMLib boolean: operation: SMLib failed (status 1006) |
| sweeps/881-loft-zigzag-pleat-vertex-pairing | [tangency-labs/solidcraft#881](https://github.com/tangency-labs/solidcraft/issues/881) [tangency-labs/solidcraft#956](https://github.com/tangency-labs/solidcraft/issues/956) | a ruled loft between two 18-vertex zig-zag sections with the same start vertex and winding, whose first-vertex direction is ambiguous from the section centroid | analytic | pass | pass |
| sweeps/96-loft-cut-box-sections-pad-first | [tangency-labs/solidcraft#122](https://github.com/tangency-labs/solidcraft/issues/122) [tangency-labs/solidcraft#96](https://github.com/tangency-labs/solidcraft/issues/96) | a loft cut through a 100 x 60 x 30 block from its whole 100 x 60 outline at z = 20 (edges flush with the side faces) down to a 10 x 10 pad in a corner at z = 11, sections given pad first (the cut panicked for one order) | analytic | **FAIL**: shells Basin: 2 (want 1); record_valid the operation failed: lumps: shell boundaries intersect or touch; cavity ownership is ambiguous (want ok); smlib_check the operation failed: lumps: shell boundaries intersect or touch; cavity ownership is ambiguous (want ok); body_count 1 (want 2) | **FAIL**: step 8 (solid.loft): SMLib boolean: export: SMLib export: the mapped B-rep does not validate: portable B-rep: an open, wire or vertex shell lies in one region |
| sweeps/96-loft-cut-box-sections-top-first | [tangency-labs/solidcraft#122](https://github.com/tangency-labs/solidcraft/issues/122) [tangency-labs/solidcraft#96](https://github.com/tangency-labs/solidcraft/issues/96) | a loft cut through a 100 x 60 x 30 block from its whole 100 x 60 outline at z = 20 (edges flush with the side faces) down to a 10 x 10 pad in a corner at z = 11, sections given top first (the cut panicked for one order) | analytic | **FAIL**: shells Basin: 2 (want 1); record_valid the operation failed: lumps: shell boundaries intersect or touch; cavity ownership is ambiguous (want ok); smlib_check the operation failed: lumps: shell boundaries intersect or touch; cavity ownership is ambiguous (want ok); body_count 1 (want 2) | **FAIL**: step 8 (solid.loft): SMLib boolean: export: SMLib export: the mapped B-rep does not validate: portable B-rep: an open, wire or vertex shell lies in one region |
| sweeps/96-shallow-loft-cut-starting-in-the-top-face | [tangency-labs/solidcraft#96](https://github.com/tangency-labs/solidcraft/issues/96) | a loft cut from a 556.68 x 99 rectangle on the top face of a 900 x 480 x 160 slab down 4 mm to an 80 x 80 square (a kernel panic in healing; the sides are about 0.9 degrees from horizontal) | analytic | pass | pass |
| sweeps/96-sweep-rectangle-round-a-mitred-corner | [tangency-labs/solidcraft#96](https://github.com/tangency-labs/solidcraft/issues/96) | an 8 x 5 rectangle swept along a path of a 30 mm vertical line and a 40 mm horizontal line meeting at a sharp corner (walls mitred) | analytic | pass | not supported yet: step 8 (solid.sweep): not supported yet: SMLib sweep along a path with corners (SMLib's sweep follows smooth paths) |
| sweeps/968-loft-hollow-elbow-60deg-5sections | [tangency-labs/solidcraft#968](https://github.com/tangency-labs/solidcraft/issues/968) [tangency-labs/solidcraft#1084](https://github.com/tangency-labs/solidcraft/issues/1084) | a bent tube (circles r 30 lofted through 5 sections along an R100 arc turning 60 degrees) with a bore (r 18, sections running 5 mm of arc past both ends) cut out of it: a hollow elbow ("no result" for some section counts, not their neighbours) | analytic | **FAIL**: record_valid the operation failed: pcurve of loop 0 use 1 (Some([100.0000000000009, 0.0, -17.999999999999996]) to (want ok) | pass |
| sweeps/968-loft-hollow-elbow-90deg-10sections | [tangency-labs/solidcraft#968](https://github.com/tangency-labs/solidcraft/issues/968) [tangency-labs/solidcraft#1084](https://github.com/tangency-labs/solidcraft/issues/1084) | a bent tube (circles r 30 lofted through 10 sections along an R100 arc turning 90 degrees) with a bore (r 18, sections running 5 mm of arc past both ends) cut out of it: a hollow elbow ("no result" for some section counts, not their neighbours) | analytic | **FAIL**: record_valid the operation failed: pcurve of loop 0 use 0 (Some([6.123235057019227e-15, 100.00000000000101, -18.0 (want ok) | pass |
| tessellation/1263-concave-arc-knife-edge-plate | [tangency-labs/solidcraft#1263](https://github.com/tangency-labs/solidcraft/issues/1263) | a plate with a concave quarter-round wall that meets the back face tangentially at a knife-edge tip (a box and a box less a cylinder, united): its display tessellation used to fail with 'boundary does not lie on the surface' before anything was filleted | analytic | pass | pass |
| tessellation/1615-crossed-lofted-tubes | [tangency-labs/solidcraft#1615](https://github.com/tangency-labs/solidcraft/issues/1615) [tangency-labs/solidcraft#1653](https://github.com/tangency-labs/solidcraft/issues/1653) | two lofted tubes that cross and are joined (the bike-frame case): the trimmed loft faces along the intersection curves used to mesh with a flat sheet across the tube and slivers inside it | analytic | **FAIL**: record_valid the operation failed: pcurve of loop 0 use 0 (Some([-10.000000000000243, 5.32800127382499e-10, -9.99 (want ok); smlib_check the operation failed: pcurve of loop 0 use 0 (Some([-10.000000000000243, 5.32800127382499e-10, -9.99 (want ok) | pass |
| tessellation/1648-sphere-touches-box-edge-union | [tangency-labs/solidcraft#1648](https://github.com/tangency-labs/solidcraft/issues/1648) [tangency-labs/solidcraft#1850](https://github.com/tangency-labs/solidcraft/issues/1850) | a sphere that touches a box's bottom edge at one point: the union leaves a sliver face pinched to zero height, whose loop touches itself within tolerance, and it must still mesh | analytic | pass | pass |
| tessellation/1666-loft-18-gon-ruled-sides | [tangency-labs/solidcraft#1666](https://github.com/tangency-labs/solidcraft/issues/1666) [tangency-labs/solidcraft#1670](https://github.com/tangency-labs/solidcraft/issues/1670) | a loft between two 18-vertex polylines whose side faces are twisted ruled (bilinear) patches: each used to be exported as two flat triangles with crossing diagonals | analytic | pass | pass |
| tessellation/1666-loft-twisted-square | [tangency-labs/solidcraft#1666](https://github.com/tangency-labs/solidcraft/issues/1666) [tangency-labs/solidcraft#1670](https://github.com/tangency-labs/solidcraft/issues/1670) | a loft from a 20x20 square to the same square turned 45 degrees, 30 mm higher: its four side faces are strongly twisted ruled patches, the case a two-triangle mesh gets visibly wrong | analytic | pass | pass |
| tessellation/1753-bowl-rim-cut-by-cylinder | [tangency-labs/solidcraft#1753](https://github.com/tangency-labs/solidcraft/issues/1753) | a revolved bowl whose rim is cut by a large cylinder (R320, axis across the bowl): the cut edge is an intersection curve between the cylinder and the cone walls, whose two faces used to put different vertices on it, so the STL/3MF export had a 0.001 mm crack | analytic | **FAIL**: watertight Bowl: 3 open, 0 over-shared mesh edges (want no open edges) | pass |
| tessellation/1813-sphere-lens-thinner-than-tolerance | [tangency-labs/solidcraft#2712](https://github.com/tangency-labs/solidcraft/issues/2712) [tangency-labs/solidcraft#1813](https://github.com/tangency-labs/solidcraft/issues/1813) | a sphere whose centre lies on a box's top face, poking out of the box's side as a lens-shaped face thinner than the mesh tolerance; the face must still be meshed | analytic | pass | pass |
| tessellation/2069-chamfered-ring-notch-moved-far | [tangency-labs/solidcraft#2069](https://github.com/tangency-labs/solidcraft/issues/2069) | a 210-degree ring with a chamfered outer edge, notched through its chamfer cone and then moved 1000 mm: where the notch meets the cone the mesh used to leave a crack, and the measured volume then grew with the distance from the origin | analytic | **FAIL**: record_valid the operation failed: pcurve of loop 0 use 0 (Some([1025.9229635399038, 2.0, 9.999999999999998]) to (want ok) | pass |
| tessellation/2528-stadium-joined-with-overlapping-cylinder | [tangency-labs/solidcraft#2528](https://github.com/tangency-labs/solidcraft/issues/2528) | a rounded slot (a box with a half-cylinder on each end) joined with a cylinder that overlaps one end: the cylinder walls meet along vertical seams and intersection edges, where wedge-shaped mis-tessellated facets showed up | analytic | pass | pass |
| tessellation/311-ramp-cut-cylinder-blank | [tangency-labs/solidcraft#311](https://github.com/tangency-labs/solidcraft/issues/311) | an inclined cut across a round blank, which used to pinch the cylindrical wall inward (a 4.4 mm chord deficit) in the display and STL mesh | analytic | pass | pass |
| tessellation/466-revolved-cone-tip-stays-smooth | [tangency-labs/solidcraft#466](https://github.com/tangency-labs/solidcraft/issues/466) | a six-line profile revolved a full turn about its first line, with a cone ending in a point: the tip came out with dents every 120 degrees instead of a smooth cone (rebuilt as a pencil-like profile with a collinear frustum and tip; the original design is not in the report) | analytic | pass | pass |
| tessellation/784-stl-open-edges-filleted-and-drilled | [tangency-labs/solidcraft#784](https://github.com/tangency-labs/solidcraft/issues/784) [tangency-labs/solidcraft#811](https://github.com/tangency-labs/solidcraft/issues/811) | two bodies whose STL export used to have open edges where faces were meshed apart: a 40x30x20 box with all twelve edges rounded 2 mm, and a cylinder R15 x 20 with a coaxial 6 mm bore | analytic | pass | **FAIL**: watertight RoundedBox: 0 open, 8 over-shared mesh edges (want no open edges); record_valid the operation failed: pcurve of loop 0 use 2 (Some([2.0, 30.0, 2.0]) to Some([0.0, 28.0, 2.0])): the (want ok); smlib_check the operation failed: pcurve of loop 0 use 2 (Some([2.0, 30.0, 2.0]) to Some([0.0, 28.0, 2.0])): the (want ok) |
| tessellation/818-blind-hole-splits-vertical-edges | [tangency-labs/solidcraft#818](https://github.com/tangency-labs/solidcraft/issues/818) | a blind hole cut into a ring whose six concave corners are filleted: the cut used to split every vertical edge (the outer seam and all twelve fillet tangent edges) at the hole's depth, and the fillet corners drew black | analytic | pass | pass |
| tessellation/819-cup-pocket-splits-wall-seam | [tangency-labs/solidcraft#819](https://github.com/tangency-labs/solidcraft/issues/819) [tangency-labs/solidcraft#921](https://github.com/tangency-labs/solidcraft/issues/921) | a disc with a pocket that splits the outer cylinder wall's seam edges at the pocket floor: the wall used to be meshed with fans cutting through the disc, so the measured volume and the STL read too small | analytic | pass | pass |
| threads/1250-external-m10x1.5-shaft-full-length | [tangency-labs/solidcraft#1250](https://github.com/tangency-labs/solidcraft/issues/1250) | a modelled external M10 thread over the whole length of a 10 mm shaft (8 turns) | analytic | **FAIL**: smlib_check SMLib check: 6 failed tests: SmEdgeuse::Test #11 Bad UVTrimCurve: Edgeuse->UVTrimCurve has zero leng (want ok) | **FAIL**: step 2 (solid.thread): SMLib boolean: SMLib's check refuses the result: 2 failed tests: SmFace::Test #34 Face has partially Coincident Edges: Face has partially |
| threads/1395-long-external-m6-thread-24-turns | [tangency-labs/solidcraft#1395](https://github.com/tangency-labs/solidcraft/issues/1395) | a long modelled external thread: M6 over a 24 mm shaft (24 turns), the kind that once ran out of depth in the boolean | analytic | **FAIL**: smlib_check SMLib check: 40 failed tests: SmLoop::Test #2 Bad Loop Orient: A UpperLoopuse->Edgeuse's 'Inside' is (want ok) | **FAIL**: step 2 (solid.thread): SMLib export: pcurve: pcurve of loop 0 use 1 (Some([-1.738532668045337, 1.7385379467804876, -2.949029909160572e-17]) to Some([-1.73853839 |
| threads/1443-m5x0.7-thread-in-5mm-hole | [tangency-labs/solidcraft#1443](https://github.com/tangency-labs/solidcraft/issues/1443) [tangency-labs/solidcraft#3060](https://github.com/tangency-labs/solidcraft/issues/3060) [tangency-labs/solidcraft#1018](https://github.com/tangency-labs/solidcraft/issues/1018) [tangency-labs/solidcraft#2853](https://github.com/tangency-labs/solidcraft/issues/2853) | a modelled thread on a hole that isn't the thread's size: refused with the size to use, never a silent change of the hole | analytic | pass | pass |
| threads/1995-m8x1-thread-in-7mm-hole | [tangency-labs/solidcraft#1995](https://github.com/tangency-labs/solidcraft/issues/1995) | an M8x1 modelled thread in a 7 mm hole through a block (the report: the thread also changed the block's outer surface and made too many faces) | analytic | **FAIL**: smlib_check SMLib check: 45 failed tests: SmEdgeuse::Test #11 Bad UVTrimCurve: Edgeuse->UVTrimCurve has zero len (want ok) | **FAIL**: step 3 (solid.thread): SMLib export: pcurve: pcurve of loop 0 use 1 (Some([2.862740053704183, 2.0136333789738825, 1.4963877373859766]) to Some([-2.8627400537041 |
| threads/2038-cut-threaded-stud-from-bored-block | [tangency-labs/solidcraft#2038](https://github.com/tangency-labs/solidcraft/issues/2038) | cutting an externally threaded stud out of a block bored at the tap drill (to make the internal thread): the boolean found no result | analytic | **HANG**: no result after 180 s | **FAIL**: step 4 (solid.thread): SMLib export: pcurve: pcurve of loop 0 use 0 (Some([6.735685053790036, 6.735671302570509, -5.000000000000002]) to Some([4.018069973126635 |
| threads/2038-internal-then-external-thread-on-one-body | [tangency-labs/solidcraft#2038](https://github.com/tangency-labs/solidcraft/issues/2038) | two modelled threads on one body, an internal one then an external one (the second was refused: no cylindrical face there to thread) | analytic | **HANG**: no result after 180 s | **FAIL**: step 3 (solid.thread): SMLib export: pcurve: pcurve of loop 0 use 4 (Some([-2.583065773355961, 6.236083486130154, -3.382710778154774e-17]) to Some([0.6966280122 |
| threads/2038-join-two-threaded-bodies | [tangency-labs/solidcraft#2038](https://github.com/tangency-labs/solidcraft/issues/2038) | joining a body with an internal modelled thread to one with an external modelled thread, touching in a plane (the join ran for over ten minutes) | analytic | **HANG**: no result after 180 s | **FAIL**: step 3 (solid.thread): SMLib export: pcurve: pcurve of loop 0 use 4 (Some([-2.583065773355961, 6.236083486130154, -3.382710778154774e-17]) to Some([0.6966280122 |
| threads/2115-tapped-hole-drill-is-major-minus-pitch | [tangency-labs/solidcraft#3311](https://github.com/tangency-labs/solidcraft/issues/3311) [tangency-labs/solidcraft#2115](https://github.com/tangency-labs/solidcraft/issues/2115) [tangency-labs/solidcraft#2367](https://github.com/tangency-labs/solidcraft/issues/2367) [tangency-labs/solidcraft#2440](https://github.com/tangency-labs/solidcraft/issues/2440) [tangency-labs/solidcraft#2441](https://github.com/tangency-labs/solidcraft/issues/2441) | tapped holes (Hole with a thread size, no diameter) are drilled at the tap drill, not at the major diameter | analytic | pass | pass |
| threads/2152-m3x0.2-thread-in-3mm-hole | [tangency-labs/solidcraft#2152](https://github.com/tangency-labs/solidcraft/issues/2152) [tangency-labs/solidcraft#1018](https://github.com/tangency-labs/solidcraft/issues/1018) [tangency-labs/solidcraft#2853](https://github.com/tangency-labs/solidcraft/issues/2853) | a modelled thread on a hole that isn't the thread's size: refused with the size to use, never a silent change of the hole | analytic | pass | pass |
| threads/2193-modelled-m33x3.5-thread | [tangency-labs/solidcraft#2193](https://github.com/tangency-labs/solidcraft/issues/2193) [tangency-labs/solidcraft#2263](https://github.com/tangency-labs/solidcraft/issues/2263) [tangency-labs/solidcraft#4153](https://github.com/tangency-labs/solidcraft/issues/4153) | a modelled M33x3.5 thread, a size the thread menu lacked (designation typed by hand), on a 33 mm shaft (4 turns) | analytic | **FAIL**: smlib_check SMLib check: 6 failed tests: SmEdgeuse::Test #11 Bad UVTrimCurve: Edgeuse->UVTrimCurve has zero leng (want ok) | **FAIL**: step 2 (solid.thread): SMLib boolean: SMLib's check refuses the result: 3 failed tests: SmFace::Test #34 Face has partially Coincident Edges: Face has partially |
| threads/2209-fine-m44x1-thread-on-shaft | [tangency-labs/solidcraft#2209](https://github.com/tangency-labs/solidcraft/issues/2209) | a fine modelled thread on a large shaft (M44x1 on a 44 mm shaft, 4 turns), which once cut about 9% too much | analytic | **HANG**: no result after 180 s | **FAIL**: step 2 (solid.thread): SMLib boolean: SMLib's check refuses the result: 1 failed tests: SmFace::Test #34 Face has partially Coincident Edges: Face has partially |
| threads/2209-m44x1.5-thread-on-flange-hub | [tangency-labs/solidcraft#2209](https://github.com/tangency-labs/solidcraft/issues/2209) | a full-diameter M44x1.5 modelled thread on the hub of a flange, which once failed to rebuild a closed shell | analytic | **FAIL**: smlib_check SMLib check: 351 failed tests: SmEdgeuse::Test #11 Bad UVTrimCurve: Edgeuse->UVTrimCurve has zero le (want ok) | **FAIL**: step 3 (solid.thread): SMLib export: pcurve: pcurve of loop 0 use 0 (Some([17.993100249475514, 12.658923469723806, 12.61506452654108]) to Some([-17.993100249475 |
| threads/2369-m8-thread-in-6.3mm-hole-refused | [tangency-labs/solidcraft#2369](https://github.com/tangency-labs/solidcraft/issues/2369) [tangency-labs/solidcraft#2688](https://github.com/tangency-labs/solidcraft/issues/2688) [tangency-labs/solidcraft#2853](https://github.com/tangency-labs/solidcraft/issues/2853) [tangency-labs/solidcraft#1018](https://github.com/tangency-labs/solidcraft/issues/1018) | a modelled thread on a hole that isn't the thread's size: refused with the size to use, never a silent change of the hole | analytic | pass | pass |
| threads/2406-modelled-m8-thread-in-6.8mm-pilot-hole | [tangency-labs/solidcraft#2406](https://github.com/tangency-labs/solidcraft/issues/2406) | an M8 modelled thread in a 6.8 mm pilot hole (the case where the thread 'was not visible') | analytic | **FAIL**: smlib_check SMLib check: 19 failed tests: SmLoop::Test #2 Bad Loop Orient: A UpperLoopuse->Edgeuse's 'Inside' is (want ok) | **FAIL**: step 3 (solid.thread): SMLib export: pcurve: pcurve of loop 0 use 1 (Some([-2.780947480741209, -1.9561009967174812, 1.2599347416400593]) to Some([2.780947480741 |
| threads/2526-three-modelled-threads-in-one-body | [tangency-labs/solidcraft#2526](https://github.com/tangency-labs/solidcraft/issues/2526) | three modelled threads, internal and external, in one body with a hub and a plain hole beside the bore (each thread used to facet the rest of the part and the next thread was refused) | analytic | **FAIL**: step 6 (solid.thread): no cylindrical face there to thread | **FAIL**: step 5 (solid.thread): SMLib export: pcurve: pcurve of loop 0 use 0 (Some([-3.4104950138828145, -2.089969146215104, 30.000000000000007]) to Some([-0.93378481328 |
| threads/2705-m14-thread-on-14.6mm-shaft-refused | [tangency-labs/solidcraft#2705](https://github.com/tangency-labs/solidcraft/issues/2705) [tangency-labs/solidcraft#1018](https://github.com/tangency-labs/solidcraft/issues/1018) [tangency-labs/solidcraft#2853](https://github.com/tangency-labs/solidcraft/issues/2853) | a modelled thread on a shaft that isn't the thread's size: refused with the size to use, never a silent change of the shaft | analytic | pass | pass |
| threads/2822-modelled-thread-in-filleted-cube | [tangency-labs/solidcraft#2822](https://github.com/tangency-labs/solidcraft/issues/2822) | a modelled M3 thread in a hole through a block whose vertical edges are rounded (the fillets showed as black lines after the thread) | analytic | **FAIL**: smlib_check SMLib check: 173 failed tests: SmFace::Test #34 Face has partially Coincident Edges: Face has partia (want ok) | **FAIL**: step 7 (solid.thread): SMLib export: pcurve: pcurve of loop 0 use 0 (Some([11.022407162037219, 10.719154778204942, 0.24820214174911687]) to Some([8.994053254378 |
| threads/2969-m48x0.75-thread-in-48mm-hole | [tangency-labs/solidcraft#2969](https://github.com/tangency-labs/solidcraft/issues/2969) [tangency-labs/solidcraft#1018](https://github.com/tangency-labs/solidcraft/issues/1018) [tangency-labs/solidcraft#2853](https://github.com/tangency-labs/solidcraft/issues/2853) | a modelled thread on a hole that isn't the thread's size: refused with the size to use, never a silent change of the hole | analytic | pass | pass |
| threads/3311-two-tapped-holes-both-modelled-threaded | [tangency-labs/solidcraft#3311](https://github.com/tangency-labs/solidcraft/issues/3311) | a second modelled thread on the same body (the first thread faceted every other hole), over each hole's full length | analytic | **FAIL**: step 5 (solid.thread): no cylindrical face there to thread | **FAIL**: step 4 (solid.thread): SMLib export: pcurve: pcurve of loop 0 use 0 (Some([10.956692141520428, 12.309678320897202, 2.0383000842727483e-17]) to Some([9.043311931 |
| threads/3366-m20-thread-in-20mm-hole | [tangency-labs/solidcraft#3366](https://github.com/tangency-labs/solidcraft/issues/3366) [tangency-labs/solidcraft#3367](https://github.com/tangency-labs/solidcraft/issues/3367) [tangency-labs/solidcraft#1018](https://github.com/tangency-labs/solidcraft/issues/1018) [tangency-labs/solidcraft#2853](https://github.com/tangency-labs/solidcraft/issues/2853) | a modelled thread on a hole that isn't the thread's size: refused with the size to use, never a silent change of the hole | analytic | pass | pass |
| threads/3368-faceted-prism-pocket-cut-and-boss-join | [tangency-labs/solidcraft#3368](https://github.com/tangency-labs/solidcraft/issues/3368) | booleans of a finely faceted body (a 1200-sided prism, 1202 flat faces, the kind of body a modelled thread leaves) with box tools: they must finish in bounded time with the exact result, not run for minutes | analytic | pass | pass |
| threads/3368-faceted-prism-with-bore-and-cross-hole | [tangency-labs/solidcraft#3368](https://github.com/tangency-labs/solidcraft/issues/3368) | a finely faceted body (a 1200-sided prism) with a curved partner: a vertical bore and a horizontal cross hole drilled through it (the case where the B-rep ladder is bounded but must still decide) | analytic | **FAIL**: record_valid the operation failed: pcurve of loop 0 use 57 (Some([-29.89940005346547, -2.453604579473993, 3.27378 (want ok); smlib_check the operation failed: pcurve of loop 0 use 57 (Some([-29.89940005346547, -2.453604579473993, 3.27378 (want ok); volume_mm3 26829.949748 (want 25792.3465); bbox.min [-30.34151, -30, 0] (want [-30, -30, 0]) | pass |
| threads/3368-two-faceted-prisms-cut-then-joined | [tangency-labs/solidcraft#3368](https://github.com/tangency-labs/solidcraft/issues/3368) | two finely faceted bodies (1000-sided prisms, flat faces only): a faceted stud cut out of a faceted disc, then a faceted cap joined on top touching in a plane; both booleans must finish in bounded time with the exact result | analytic | pass | **HANG**: no result after 180 s |
| threads/3914-sketch-on-top-face-of-threaded-rounded-block | [tangency-labs/solidcraft#3914](https://github.com/tangency-labs/solidcraft/issues/3914) | Create Sketch on the top face of a block with a modelled thread and rounded corners, then a boss from it | analytic | **FAIL**: step 5 (sketch.create): invalid parameters for `sketch.create`: face capture work limit exceeded; use an exact body and face index | **FAIL**: step 3 (solid.thread): SMLib export: pcurve: pcurve of loop 0 use 0 (Some([7.955185675925581, 8.561690443590084, 0.9964288343534452]) to Some([12.04481432407442 |
| threads/3952-modelled-thread-in-blind-hole-of-revolved-ring | [tangency-labs/solidcraft#3952](https://github.com/tangency-labs/solidcraft/issues/3952) | a modelled thread in a small blind hole drilled into a revolved ring, off its axis ('faceted boolean: inconsistent volumes') | analytic | **FAIL**: smlib_check SMLib check: 269 failed tests: SmFace::Test #34 Face has partially Coincident Edges: Face has partia (want ok) | **FAIL**: step 9 (solid.thread): SMLib export: pcurve: pcurve of loop 0 use 0 (Some([20.516265215511172, -1.0755765706655467, 22.0]) to Some([19.994014397500948, -0.74195 |
| threads/4149-internal-thread-below-counterbore-filleted-rim | [tangency-labs/solidcraft#4149](https://github.com/tangency-labs/solidcraft/issues/4149) | a modelled M10x1.5 internal thread, full length of the bore below a counterbore, in a cylinder with its rim rounded (stack overflow) | analytic | **FAIL**: smlib_check SMLib check: 117 failed tests: SmLoop::Test #2 Bad Loop Orient: A UpperLoopuse->Edgeuse's 'Inside' i (want ok) | **FAIL**: step 4 (solid.thread): SMLib export: pcurve: pcurve of loop 0 use 0 (Some([1.9133830447635627, 4.619347644845553, -3.469446951953614e-18]) to Some([-1.913372921 |
| threads/602-fillet-hex-head-beside-modelled-thread | [tangency-labs/solidcraft#602](https://github.com/tangency-labs/solidcraft/issues/602) [tangency-labs/solidcraft#618](https://github.com/tangency-labs/solidcraft/issues/618) | rounding the top edges of a hex head on a shaft with a modelled thread (it froze the app) | analytic | **FAIL**: smlib_check SMLib check: 35 failed tests: SmLoop::Test #2 Bad Loop Orient: A UpperLoopuse->Edgeuse's 'Inside' is (want ok) | **FAIL**: step 9 (solid.thread): SMLib export: pcurve: pcurve of loop 0 use 1 (Some([2.5000000000000018, -3.353876639995629e-15, 0.24997448866668603]) to Some([-0.9560955 |
| threads/995-m5-thread-in-5mm-hole | [tangency-labs/solidcraft#995](https://github.com/tangency-labs/solidcraft/issues/995) [tangency-labs/solidcraft#1018](https://github.com/tangency-labs/solidcraft/issues/1018) [tangency-labs/solidcraft#2853](https://github.com/tangency-labs/solidcraft/issues/2853) | a modelled thread on a hole that isn't the thread's size: refused with the size to use, never a silent change of the hole | analytic | pass | pass |
## Sources
| Source | Cases |
|---|---|
| [tangency-labs/solidcraft#1008](https://github.com/tangency-labs/solidcraft/issues/1008) | fillets/1008-fillet-tray-floor-and-three-of-four-corners |
| [tangency-labs/solidcraft#1018](https://github.com/tangency-labs/solidcraft/issues/1018) | threads/995-m5-thread-in-5mm-hole |
| [tangency-labs/solidcraft#1018](https://github.com/tangency-labs/solidcraft/issues/1018) | threads/1443-m5x0.7-thread-in-5mm-hole, threads/2152-m3x0.2-thread-in-3mm-hole, threads/2369-m8-thread-in-6.3mm-hole-refused, threads/2705-m14-thread-on-14.6mm-shaft-refused, threads/2969-m48x0.75-thread-in-48mm-hole, threads/3366-m20-thread-in-20mm-hole, threads/995-m5-thread-in-5mm-hole |
| [tangency-labs/solidcraft#1040](https://github.com/tangency-labs/solidcraft/issues/1040) | sheet-metal/1040-convert-a-1200-mm-strip-1-mm-thick, sheet-metal/1040-convert-a-990-mm-strip-keeps-its-1-mm-hole |
| [tangency-labs/solidcraft#1067](https://github.com/tangency-labs/solidcraft/issues/1067) | fillets/814-chamfer-hex-hole-corners |
| [tangency-labs/solidcraft#1080](https://github.com/tangency-labs/solidcraft/issues/1080) | fillets/1080-chamfer-beside-openings-fits, fillets/1080-chamfer-runs-into-openings-refused |
@@ -534,7 +534,7 @@ Each kernel is graded against the case, never against the other kernel. **defaul
| [tangency-labs/solidcraft#2342](https://github.com/tangency-labs/solidcraft/issues/2342) | fillets/2341-pattern-of-chamfered-bosses |
| [tangency-labs/solidcraft#2357](https://github.com/tangency-labs/solidcraft/issues/2357) | crashes/2357-join-ring-of-90-cylinder-segments |
| [tangency-labs/solidcraft#2367](https://github.com/tangency-labs/solidcraft/issues/2367) | threads/2115-tapped-hole-drill-is-major-minus-pitch |
| [tangency-labs/solidcraft#2369](https://github.com/tangency-labs/solidcraft/issues/2369) | threads/2369-m8-thread-in-6.3mm-hole-bored-to-minor |
| [tangency-labs/solidcraft#2369](https://github.com/tangency-labs/solidcraft/issues/2369) | threads/2369-m8-thread-in-6.3mm-hole-refused |
| [tangency-labs/solidcraft#237](https://github.com/tangency-labs/solidcraft/issues/237) | fillets/237-fillet-concave-edge-between-two-cylinders |
| [tangency-labs/solidcraft#238](https://github.com/tangency-labs/solidcraft/issues/238) | fillets/237-fillet-concave-edge-between-two-cylinders |
| [tangency-labs/solidcraft#2406](https://github.com/tangency-labs/solidcraft/issues/2406) | threads/2406-modelled-m8-thread-in-6.8mm-pilot-hole |
@@ -565,8 +565,8 @@ Each kernel is graded against the case, never against the other kernel. **defaul
| [tangency-labs/solidcraft#264](https://github.com/tangency-labs/solidcraft/issues/264) | sheet-metal/264-fold-one-of-two-collinear-tabs, sheet-metal/264-one-fold-across-two-collinear-tabs |
| [tangency-labs/solidcraft#2667](https://github.com/tangency-labs/solidcraft/issues/2667) | sweeps/2667-revolve-half-disc-sphere, sweeps/2667-revolve-half-disc-three-quarters, sweeps/2667-sweep-hostile-end-scale-refused |
| [tangency-labs/solidcraft#2672](https://github.com/tangency-labs/solidcraft/issues/2672) | fillets/2672-chamfer-one-pick-large-plate |
| [tangency-labs/solidcraft#2688](https://github.com/tangency-labs/solidcraft/issues/2688) | threads/2369-m8-thread-in-6.3mm-hole-bored-to-minor |
| [tangency-labs/solidcraft#2705](https://github.com/tangency-labs/solidcraft/issues/2705) | threads/2705-m14-thread-on-14.6mm-boss-turned-to-major |
| [tangency-labs/solidcraft#2688](https://github.com/tangency-labs/solidcraft/issues/2688) | threads/2369-m8-thread-in-6.3mm-hole-refused |
| [tangency-labs/solidcraft#2705](https://github.com/tangency-labs/solidcraft/issues/2705) | threads/2705-m14-thread-on-14.6mm-shaft-refused |
| [tangency-labs/solidcraft#2708](https://github.com/tangency-labs/solidcraft/issues/2708) | fillets/2708-fillet-curvature-continuous-angled-ends |
| [tangency-labs/solidcraft#271](https://github.com/tangency-labs/solidcraft/issues/271) | sweeps/271-loft-cut-with-targets-keeps-the-bystander |
| [tangency-labs/solidcraft#2712](https://github.com/tangency-labs/solidcraft/issues/2712) | tessellation/1813-sphere-lens-thinner-than-tolerance |
@@ -592,7 +592,7 @@ Each kernel is graded against the case, never against the other kernel. **defaul
| [tangency-labs/solidcraft#2844](https://github.com/tangency-labs/solidcraft/issues/2844) | booleans/3092-ring-on-perforated-plate, booleans/3887-ring-standing-on-perforated-plate |
| [tangency-labs/solidcraft#2847](https://github.com/tangency-labs/solidcraft/issues/2847) | sweeps/2847-loft-rectangles-turning-through-half-a-turn |
| [tangency-labs/solidcraft#2852](https://github.com/tangency-labs/solidcraft/issues/2852) | fillets/2852-fillet-outer-round-concentric-with-inner |
| [tangency-labs/solidcraft#2853](https://github.com/tangency-labs/solidcraft/issues/2853) | threads/2369-m8-thread-in-6.3mm-hole-bored-to-minor |
| [tangency-labs/solidcraft#2853](https://github.com/tangency-labs/solidcraft/issues/2853) | threads/1443-m5x0.7-thread-in-5mm-hole, threads/2152-m3x0.2-thread-in-3mm-hole, threads/2369-m8-thread-in-6.3mm-hole-refused, threads/2705-m14-thread-on-14.6mm-shaft-refused, threads/2969-m48x0.75-thread-in-48mm-hole, threads/3366-m20-thread-in-20mm-hole, threads/995-m5-thread-in-5mm-hole |
| [tangency-labs/solidcraft#286](https://github.com/tangency-labs/solidcraft/issues/286) | sweeps/271-loft-cut-with-targets-keeps-the-bystander |
| [tangency-labs/solidcraft#2862](https://github.com/tangency-labs/solidcraft/issues/2862) | sweeps/2862-three-pipes-meeting-at-one-point |
| [tangency-labs/solidcraft#2891](https://github.com/tangency-labs/solidcraft/issues/2891) | sweeps/2891-twisted-sweep-cut-through-a-tube |