From 2d3d0a081bc30f99b941f06f886282978df65ea4 Mon Sep 17 00:00:00 2001 From: jyviko <2501648+jyviko@users.noreply.github.com> Date: Wed, 21 Oct 2026 23:55:26 -0400 Subject: [PATCH] kernel-cases: a join that meets nothing keeps the tool as a lump (#2896) The case expected two bodies for a combine join of an arm 0.01 mm clear of a ring. A join's tool that meets no target goes into the target as a separate lump and the tool body is consumed (doc eval Operation::Join; the engine test join_meeting_nothing_keeps_the_first_body): one body, Ring, of two shells, with the volumes' sum. The case's point, nothing fuses, is kept: shells 2 and the summed volume. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_017itGh5fpMEousnZ91cYcVt --- .../2896-join-arm-end-near-ring-wall-gap/expected.json | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/tests/kernel-cases/booleans/2896-join-arm-end-near-ring-wall-gap/expected.json b/tests/kernel-cases/booleans/2896-join-arm-end-near-ring-wall-gap/expected.json index 9756d66e8..f7277377b 100644 --- a/tests/kernel-cases/booleans/2896-join-arm-end-near-ring-wall-gap/expected.json +++ b/tests/kernel-cases/booleans/2896-join-arm-end-near-ring-wall-gap/expected.json @@ -4,7 +4,8 @@ ], "what": "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", "source": "analytic", - "method": "ring pi*(30^2-24^2)*6 and arm 6*(350+12.5*pi) are 0.01 mm apart (arm tip at x=30.01): the join has nothing to fuse, so the two bodies stay apart (body_count 2) and V is the sum of the two", - "body_count": 2, - "volume_mm3": 8442.875567597792 + "method": "ring pi*(30^2-24^2)*6 and arm 6*(350+12.5*pi) are 0.01 mm apart (arm tip at x=30.01): the join has nothing to fuse, so V is the sum of the two and the arm stays a separate shell. A combine's join of a tool that meets no target keeps it in the target as a separate lump (crates/doc eval.rs, Operation::Join; engine test join_meeting_nothing_keeps_the_first_body), and the tool body is consumed: one body (Ring) of two shells", + "body_count": 1, + "volume_mm3": 8442.875567597792, + "shells": 2 }