Files
solvecraft/tests/kernel-cases/fillets
jyviko 237f0ae745 kernel, kernel-cases: a convex blend overflowing a cliff is built, with its analytic answer
SMLib now builds a round or chamfer whose rail runs off its face across a cliff (an opening's
rim, the body's outline): the blend is made as if its faces continued and what it removes is
subtracted, so it never bridges an opening (owner decision for rig 5158/5181; fork commit
"SMLib, capi: a convex blend overflowing a cliff is subtracted from the body"). The tests that
expected a refusal for such blends now expect the body, each answer from the geometry:

- variable_radius_on_a_box_edge: 2 -> 50 on the 10x20x30 box's top edge builds at
  3546.18767939 (circular sections in y = const, the r x r square less the quarter disc,
  clipped to the box; rel 1e-4).
- variable_radius_from_a_spline: the "big" law builds at 6000 - 726.5334566720 (de Boor law,
  split at the knot and where r crosses 10).
- a_chamfer_meets_sloped_end_planes: chamfer 25 removes 11500 - 4625 * slope
  (integral of 40 - 2 * slope * y over z >= y - 5).
- g2_fillet_refuses_invalid_geometry: G2 at 25 builds at 6138.1606889 (the quintic section
  with control points at thirds, clipped to 20x20, along 20).
- fillet_max_each_reduces_only_where_the_radius_does_not_fit: both edges take 4, 24438.7317761.
- hostile_inputs_are_errors: chamfer 30 on the cube builds at 1000 (y + z <= 10 along 20);
  R50 still fails.
- kernel-cases fillets/1080: the 9 mm chamfer into the openings builds at 3350
  (method in expected.json).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0113gDVmStT5tCGKW9Fxgc5K
2026-10-27 02:28:52 -04:00
..