forked from 1b-agent/opencadstudio-upstream
Add kernel booleans: union, subtract and intersect for Solid3D
SolidOperation::Boolean runs synchronously, surfaces the kernel's refusal with a plain reason and leaves the operands untouched, consumes them on success unless keep_operands, and records one undo step. The lifecycle test uses planar boxes with exact volumes and covers chaining, refusals, both formats and undo; an ignored test shows a curved refusal reaching the script. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
69047549e7
commit
5a39052397
8 files changed
+320
-1
No files matched your search
@@ -196,3 +196,5 @@ Test it with **planar** operands (millisecond cost, safe in debug) plus one
|
||||
30 s script budget and that chained cuts on a drilled body are often refused.
|
||||
Do not move booleans to a background thread yet: it would need cancellation and
|
||||
undo coordination for a cost that is one to two seconds.
|
||||
|
||||
**Status (2026-09-20): implemented.** `SolidOperation::Boolean` and `doc.solids.union`, `subtract` and `intersect` follow the recommendation above, with planar-operand lifecycle testing and an ignored curved refusal test. Every operation this note proposed is now built.
|
||||
Reference in new issue
Block a user