cad-editor/src/app
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Hakan Seven 9b28170d4b fix(undo): grip-drag history entry + mid-command Ctrl+Z steps (#332)
Grip drags mutated the document without ever pushing history — dragging
a polyline vertex (or any grip) could not be undone. The release-commit
now swaps the pre-drag backup in, snapshots that PRE state as a "GRIP"
entry, swaps the dragged result back and clears the redo stack; the
Esc-cancel path is unchanged and a no-move engaging click records
nothing.

Ctrl+Z during a drawing command steps the command instead of the
document undo swallowing the in-progress object (which also killed the
active command): new CadCommand::on_undo_step hook, consulted before
undo_active_tab. PLINE pops its last vertex (shared with the U option),
LINE reverts the last committed segment and keeps drawing from the
previous point (rides its existing U/UndoDocument path), and ARC
Continue reverts the last arc and resumes from the prior anchor with
the correct tangent via a new anchor history. With nothing placed yet
each falls through to the document undo.

Also drops the two warnings the #336 work left behind (unused Entity
import, dead Snapper::override_active).

Closes #332

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-22 15:48:22 +03:00
..
commands fix(rename): BLOCK type, stepped prompts, table re-keying 2026-07-22 11:11:20 +03:00
update fix(undo): grip-drag history entry + mid-command Ctrl+Z steps (#332) 2026-07-22 15:48:22 +03:00
view feat(web): copy/paste in text fields via the browser clipboard (#346) 2026-07-22 12:47:19 +03:00
alias.rs feat(alias): centralize command aliases in user-editable ocad.pgp (#286/#288) 2026-07-10 12:39:22 +03:00
automation.rs fix(styles): re-seed missing Standard styles on open; titled modals (#366) 2026-07-21 23:00:36 +03:00
command_driver.rs feat(trim): TRIM/EXTEND options — edges, fence, crossing, edge, erase (#336) 2026-07-22 14:53:50 +03:00
config.rs refactor(config): consolidate settings into one grouped settings.json 2026-07-10 16:41:34 +03:00
document.rs feat(select): Previous / Last keywords at Select objects prompts 2026-07-21 11:01:51 +03:00
expr_eval.rs fix(expr-eval): bound eval_to_string against super-linear DoS 2026-06-28 22:41:02 +03:00
helpers.rs refactor(dwg): use the first-class SectionSymbol and ViewBorder entities 2026-07-21 00:19:51 +03:00
history.rs perf(undo): record entity deltas instead of cloning the whole document 2026-07-15 11:11:17 +03:00
layers.rs refactor: move resource/IO root modules under io/ 2026-06-26 23:06:40 +03:00
mod.rs feat(web): copy/paste in text fields via the browser clipboard (#346) 2026-07-22 12:47:19 +03:00
model_ops.rs fix(web): restore wasm build broken by SECTION + file association 2026-06-29 17:13:17 +03:00
mtext_editor.rs fix(mtext): render font italic flag and non-breaking space 2026-07-19 17:16:41 +03:00
plugin_host.rs fix(plugin): auto-register unknown layers so added entities survive DWG save (#252) 2026-07-02 20:36:16 +03:00
properties.rs feat(props): editable block Name row + collapsible XYZ groups 2026-07-22 11:11:10 +03:00
recent.rs fix(start): decode recent-file thumbnails off the boot path 2026-07-21 10:06:55 +03:00
settings.rs fix(app): running OSNAP set is app-level, not per-drawing 2026-07-21 22:00:55 +03:00
style_ops.rs fix(styles): re-seed missing Standard styles on open; titled modals (#366) 2026-07-21 23:00:36 +03:00
text_inline.rs fix(precision): keep BLOCK base and TEXT/MTEXT insertion points in f64 (#311) 2026-07-12 00:34:26 +03:00
visibility.rs refactor(scene): group modules into role-based subfolders 2026-06-16 11:33:46 +03:00