cadcraft/docs
Valentin Klein 93152afa8e
Copy and paste between drawings; PASTEORIG, PASTEBLOCK; right-click menu (part of #325) (#355)
Copying in one drawing and pasting in another lost what the objects
refer to: a line on a layer the target lacked landed on a new default
layer (colour and linetype gone), and a block reference pointed at a
block the target didn't have. Cmd/Ctrl+C, X and V did nothing on the
desktop, because egui delivers them as clipboard events, not key
presses. PASTEORIG had no checks, and the canvas had no right-click
menu.

- Engine (cmd/clipboard.rs): the session clipboard keeps, with the
  copied objects, the layers, linetypes, text/dimension/multileader/
  table styles and blocks (nested too) they use. Pasting adds the ones
  the target lacks; names it has keep the target's definitions, as in
  AutoCAD; generated (*U, *D) blocks whose name is taken get a fresh
  one; objects get new handles.
- PASTEORIG pastes at the original coordinates, only into a drawing
  other than the one copied from (greyed and refused there, as in
  AutoCAD). PASTECLIP and PASTEBLOCK are greyed with an empty clipboard.
- PASTEBLOCK (Edit > Paste as Block, Cmd+Shift+V): the clipboard
  becomes an A$C… block inserted at a point. AI_DESELECT.
- UI: Cut/Copy/Paste events run the clipboard commands (Shift: Copy
  with Base Point / Paste as Block). Each copy is also put on the system
  clipboard as DXF text, and pasted DXF text that isn't our own last
  copy becomes the clipboard, so another CADCraft window can paste it.
- Right-click on the canvas with no command running opens a shortcut
  menu: Repeat <last>, Clipboard (Cut, Copy, Copy with Base Point,
  Paste, Paste as Block, Paste to Original Coordinates), the
  selection's editing commands and Deselect All, Undo/Redo, Pan/Zoom,
  Quick Select, Find. During a command it is still Enter.
- Ukrainian labels for the new items.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 17:32:34 -04:00
..
brand M0: CADCraft skeleton and vertical slice 2026-10-05 23:22:25 -04:00
images README screenshots, alpha/parity assessment in ROADMAP, MLEADER written to DXF as LEADER + MTEXT 2026-10-06 02:12:34 -04:00
architecture.md Progress docs: target-app parity, gaps, alpha gate, readiness by audience (#205) 2026-10-10 14:13:04 -04:00
contributors.md About: contributor and model credits compiled in (grab bag + table, self-submitted names) (#3) 2026-10-07 21:16:30 -04:00
control-protocol.md Control channel: headless and app reply alike to cmdline.input, state and app.open (fixes #351) (#352) 2026-10-10 17:32:24 -04:00
file-format-parity.md Progress docs: target-app parity, gaps, alpha gate, readiness by audience (#205) 2026-10-10 14:13:04 -04:00
gaps.md Array commands: ARRAY, and edit-array option loops for ARRAYRECT/ARRAYPOLAR (#230) (#232) 2026-10-10 15:34:30 -04:00
geometry-parity.md Progress docs: target-app parity, gaps, alpha gate, readiness by audience (#205) 2026-10-10 14:13:04 -04:00
hardware-parity.md Progress docs: target-app parity, gaps, alpha gate, readiness by audience (#205) 2026-10-10 14:13:04 -04:00
localization-parity.md Progress docs: target-app parity, gaps, alpha gate, readiness by audience (#205) 2026-10-10 14:13:04 -04:00
localization.md i18n: add Ukrainian interface translation (#36) 2026-10-10 13:48:44 -04:00
mcp.md MCP: reject tool arguments that don't fit the schema; query_entities counts all matches and windows by geometry (fixes #335) (#336) 2026-10-10 16:54:58 -04:00
parity-checklist.md Progress docs: target-app parity, gaps, alpha gate, readiness by audience (#205) 2026-10-10 14:13:04 -04:00
releasing.md Windows installer: offer a desktop shortcut (#32) (#184) 2026-10-10 12:16:13 -04:00
roadmap.md Progress docs: target-app parity, gaps, alpha gate, readiness by audience (#205) 2026-10-10 14:13:04 -04:00
target-app-parity.md Progress docs: target-app parity, gaps, alpha gate, readiness by audience (#205) 2026-10-10 14:13:04 -04:00
ui-parity.md Copy and paste between drawings; PASTEORIG, PASTEBLOCK; right-click menu (part of #325) (#355) 2026-10-10 17:32:34 -04:00