e4a80dc0e6
- Roadmap #22: File→Import JSON to restore a diagram (drag-drop or file picker) - Roadmap #23: Duplicate diagram from diagram list - Roadmap #24: DRC panel with collapsible categories (unconnected pins, dup refs, no length, no P/N) - Multi-view tabs: named views per diagram with independent device/wire layouts; snapshot-on-entry prevents bleed - Keyboard arrow nudge for selected device(s) - Undo for move, duplicate, label/property changes - Wire jump arcs toggle (⌒ Jumps button in toolbar) - Shift+click multi-wire selection; right-click bulk clear waypoints or auto-route - Auto-route: obstacle-avoiding ortho routing for single or bulk selected wires - Delete view tab with × button; right-click context menu for rename/delete Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
58 lines
4.6 KiB
Markdown
58 lines
4.6 KiB
Markdown
# WireDraw Feature Roadmap
|
|
|
|
## Backlog (work top-to-bottom)
|
|
|
|
### Routing & Canvas
|
|
- [x] 11. **Curved / arc routing** — third route mode (∿ Curved) that draws smooth bezier curves instead of right-angle or straight; toggle alongside Ortho/Direct
|
|
- [x] 12. **Grid snap** — optional snap-to-grid (10px); toggle button in toolbar + G shortcut
|
|
- [x] 13. **Straighten wire** — right-click a wire → "Straighten" clears all saved waypoints and re-routes from scratch
|
|
- [x] 14. **Zoom to selection** — right-click multi-select → "Zoom to selection"; Shift+F shortcut
|
|
- [x] 15. **Wire labels on canvas** — wire label + length rendered mid-wire as a small tag
|
|
|
|
### Right-Click Menu Additions
|
|
- [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
|
|
- [x] 22. **Import JSON** — drag-and-drop or File→Import a previously exported JSON to restore a diagram
|
|
- [x] 23. **Duplicate diagram** — diagram list context menu → "Duplicate" clones all devices and wires under a new name
|
|
- [x] 24. **DRC / design-rule check** — one-click check that flags: unconnected pins, duplicate references, wires with no length set, missing part numbers; results shown in a panel
|
|
- [ ] 25. **Pin part numbers** — each pin row in the properties panel has a "Contact P/N" field; shows up correctly in BOM export as a separate line item
|
|
|
|
- [x] 1. **Right-click context menu** — quick actions on devices (duplicate, delete, add pin, save to library) and wires (delete, clear waypoints)
|
|
- [x] 2. **Multiple sheets per project** — each diagram can have named pages/sheets; off-page connector stubs link nets across sheets
|
|
- [x] 3. **Grouping / section box** — draw a labeled rectangle around any area of the canvas for visual organization
|
|
- [ ] 4. **Pin part numbers** — each pin on a device has its own contact/terminal part number; shows up correctly in BOM export
|
|
- [ ] 5. **Signal names** — net-level labels independent of wire labels; a signal name can span multiple wires; clicking a signal highlights all wires on that net
|
|
- [x] 6. **Shielded cable marker** — flag on a wire/cable indicating shielding; renders as a dashed outer outline; shows in BOM and cutlist
|
|
- [x] 7. **Twisted pair marker** — flag + twist pitch field for CAN-bus and differential signal pairs; renders as a helical decoration; shows in cutlist
|
|
- [x] 8. **Multi-conductor cables** — a cable object that groups N wires under one jacket; single cable part number in BOM; conductors shown as child wires
|
|
- [x] 9. **1:1 formboard view** — a separate view/export where wire routing lengths are true scale so the diagram can be printed and used as a build board
|
|
- [x] 10. **Octopart API integration** — part number lookup & validation against live catalog; auto-fill manufacturer, description, and datasheet link
|
|
|
|
## Completed
|
|
- [x] Octopart/Nexar integration (🔍 button on Part Number; auto-fills manufacturer, description, datasheet; BOM export includes description+datasheet columns)
|
|
- [x] Multi-conductor cables (cable device type; jacket + conductor row rendering; conductor color/name editor; cable section in BOM & assembly)
|
|
- [x] Twisted pair marker (checkbox + pitch field; white helix overlay on wire; stored in DB)
|
|
- [x] Multiple sheets per project (tab bar, add/rename/delete, per-sheet devices & wires)
|
|
- [x] Connector / device library with drag-to-canvas
|
|
- [x] Custom connector CRUD (modal + backend)
|
|
- [x] Wire drawing with ortho/direct routing and waypoints
|
|
- [x] Wire jump arcs at crossings
|
|
- [x] Multi-select + rubber-band selection
|
|
- [x] Multi-device drag (wires follow)
|
|
- [x] Resize handles on devices
|
|
- [x] Text wrapping + font size per device
|
|
- [x] Copy / paste / duplicate
|
|
- [x] Undo (Ctrl+Z / button)
|
|
- [x] BOM CSV export
|
|
- [x] Assembly TXT export
|
|
- [x] JSON export
|
|
- [x] PNG export
|
|
- [x] Wire properties: color, stripe, gauge, length, notes
|
|
- [x] Pin side switching + add/remove pins
|