- FastAPI + SQLite backend with routers for diagrams, devices, wires, bundles, connectors, export, and Octopart/Nexar search - Konva.js canvas: ortho/direct/curved routing, wire crossings, harness mode, snap-to-grid, multi-select, drag, resize, undo - Wire features: color/stripe, twisted pair helix, shielded glow, gauge size label, multi-core bundle grouping, length/unit tracking - Device library: connector, terminal block, cable, splice, label, group, relay, fuse, switch, component with custom connector support - Exports: BOM CSV, assembly TXT, JSON, formboard layout, PNG image - Auto-migration for schema changes via ALTER TABLE at startup Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
4.6 KiB
WireDraw Feature Roadmap
Backlog (work top-to-bottom)
Routing & Canvas
- 11. Curved / arc routing — third route mode (∿ Curved) that draws smooth bezier curves instead of right-angle or straight; toggle alongside Ortho/Direct
- 12. Grid snap — optional snap-to-grid (10px); toggle button in toolbar + G shortcut
- 13. Straighten wire — right-click a wire → "Straighten" clears all saved waypoints and re-routes from scratch
- 14. Zoom to selection — right-click multi-select → "Zoom to selection"; Shift+F shortcut
- 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
Productivity
-
21. Find / search — toolbar search box filters devices by reference/label and highlights matches on canvas; Ctrl+F shortcut
-
22. Import JSON — drag-and-drop or File→Import a previously exported JSON to restore a diagram
-
23. Duplicate diagram — diagram list context menu → "Duplicate" clones all devices and wires under a new name
-
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
-
1. Right-click context menu — quick actions on devices (duplicate, delete, add pin, save to library) and wires (delete, clear waypoints)
-
2. Multiple sheets per project — each diagram can have named pages/sheets; off-page connector stubs link nets across sheets
-
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
-
6. Shielded cable marker — flag on a wire/cable indicating shielding; renders as a dashed outer outline; shows in BOM and cutlist
-
7. Twisted pair marker — flag + twist pitch field for CAN-bus and differential signal pairs; renders as a helical decoration; shows in cutlist
-
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
-
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
-
10. Octopart API integration — part number lookup & validation against live catalog; auto-fill manufacturer, description, and datasheet link
Completed
- Octopart/Nexar integration (🔍 button on Part Number; auto-fills manufacturer, description, datasheet; BOM export includes description+datasheet columns)
- Multi-conductor cables (cable device type; jacket + conductor row rendering; conductor color/name editor; cable section in BOM & assembly)
- Twisted pair marker (checkbox + pitch field; white helix overlay on wire; stored in DB)
- Multiple sheets per project (tab bar, add/rename/delete, per-sheet devices & wires)
- Connector / device library with drag-to-canvas
- Custom connector CRUD (modal + backend)
- Wire drawing with ortho/direct routing and waypoints
- Wire jump arcs at crossings
- Multi-select + rubber-band selection
- Multi-device drag (wires follow)
- Resize handles on devices
- Text wrapping + font size per device
- Copy / paste / duplicate
- Undo (Ctrl+Z / button)
- BOM CSV export
- Assembly TXT export
- JSON export
- PNG export
- Wire properties: color, stripe, gauge, length, notes
- Pin side switching + add/remove pins