Fix undo gaps and add right-click menu items 16-20

Undo fixes:
- Move undo now redraws deviceLayer so devices visually snap back
- Label, reference, gauge, color, and all wire/device property changes are now undoable
- Duplicate and paste are now undoable (deletes cloned devices on Ctrl+Z)

Right-click menu additions (roadmap 16-20):
- Align & distribute: left/right/top/bottom edges, H/V spacing for multi-select
- Bring to front / Send to back via zOrder in device.properties
- Copy/paste wire style (color, gauge, stripe, twisted pair, shielded)
- Select all wires on net highlights every wire sharing the same label
- Lock device: prevents moves, shows padlock badge, persists across refresh

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-24 17:19:45 -04:00
parent f958027528
commit f43cd3409c
3 changed files with 252 additions and 30 deletions
+5 -5
View File
@@ -10,11 +10,11 @@
- [x] 15. **Wire labels on canvas** — wire label + length rendered mid-wire as a small tag
### Right-Click Menu Additions
- [ ] 16. **Align & distribute** — right-click multi-select → Align Left / Align Right / Align Top / Align Bottom / Distribute Horizontally / Distribute Vertically
- [ ] 17. **Send to back / Bring to front** — right-click any device → layer order shortcuts (especially useful for Section Boxes)
- [ ] 18. **Copy wire properties** — right-click a wire → "Copy style"; then right-click another wire → "Paste style" to apply color/gauge/stripe
- [ ] 19. **Select all wires on net** — right-click a wire → "Select all on net" highlights every wire sharing the same wire label/net name
- [ ] 20. **Lock device** — right-click → "Lock position" prevents accidental moves; locked devices show a padlock badge
- [x] 16. **Align & distribute** — right-click multi-select → Align Left / Align Right / Align Top / Align Bottom / Distribute Horizontally / Distribute Vertically
- [x] 17. **Send to back / Bring to front** — right-click any device → layer order shortcuts (especially useful for Section Boxes)
- [x] 18. **Copy wire properties** — right-click a wire → "Copy style"; then right-click another wire → "Paste style" to apply color/gauge/stripe
- [x] 19. **Select all wires on net** — right-click a wire → "Select all on net" highlights every wire sharing the same wire label/net name
- [x] 20. **Lock device** — right-click → "Lock position" prevents accidental moves; locked devices show a padlock badge
### Productivity
- [ ] 21. **Find / search** — toolbar search box filters devices by reference/label and highlights matches on canvas; Ctrl+F shortcut