feat(solid history): booleans keep the solids they joined editable

With SOLIDHIST on, UNION, SUBTRACT and INTERSECT no longer reduce the
result's history to a frozen body: each solid's history joins the
result's under a boolean step, in the order the result applied them.
The Properties palette lists a composite's solids under Operand; the one
chosen shows its own geometry rows and grips, placed where it sits in
the composite, and editing it replays the whole tree. A composite read
from a file keeps its saved body; the tree is replayed only on edits.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Hakan SevenandClaude Opus 5.5 committed 2026-10-07 11:14:13 +03:00
1 parent d1f3bf3013
commit d3033caf24
28 files changed
+383 -52

No files matched your search

+1
View File
@@ -4895,6 +4895,7 @@ pub(super) fn message_attribute(source: &str) -> Option<(&'static str, &'static
"Requires two positive values (x,y) or one for both." => Some(("common", "requires-two-positive-values")),
"Snap marker color" => Some(("common", "snap-marker-color")),
"Command line text color" => Some(("common", "command-line-text-color")),
"Operand" => Some(("common", "operand")),
"{added} linetype(s) loaded." => Some(("common", "linetypes-loaded")),
"Geometric Center" => Some(("common", "geometric-center-snap")),
"No trim" => Some(("common", "no-trim-option")),