feat(mirror): add erase-source prompt (keep mirrored copy by default)

MIRROR now asks "Erase source objects? [Yes/No] <No>" after the second
mirror-line point. No (default) keeps the original and adds a mirrored
copy; Yes flips the original in place. Make the BatchCopy command-line
message label-aware and singular/plural so MIRROR reports "1 copy".

Co-Authored-By: Claude Opus 4.8 <[email protected]>
This commit is contained in:
Hakan SevenandClaude Opus 4.8 committed 2026-06-15 23:42:54 +03:00
1 parent 1a9844b134
commit e3e69ec152
2 files changed
+61 -14

No files matched your search

+3 -2
View File
@@ -241,7 +241,7 @@ impl OpenCADStudio {
}
CmdResult::BatchCopy(handles, transforms) => {
let label = self.history_label_from_active_cmd(i, "ARRAY");
self.push_undo_snapshot(i, label);
self.push_undo_snapshot(i, label.clone());
let count = transforms.len();
for t in &transforms {
self.tabs[i].scene.copy_entities(&handles, t);
@@ -251,8 +251,9 @@ impl OpenCADStudio {
self.tabs[i].active_cmd = None;
self.tabs[i].snap_result = None;
self.restore_pre_cmd_tangent();
let noun = if count == 1 { "copy" } else { "copies" };
self.command_line
.push_output(&format!("ARRAY: {count} copies created."));
.push_output(&format!("{label}: {count} {noun} created."));
self.refresh_properties();
}
CmdResult::ReplaceMany(replacements, additions) => {