Add Vitest suites for relations, properties, catalogue, symbols, edge
styles, flow solver, settings, JointJS shapes/serialization and the
controller lifecycle (add/connect/edit/delete, undo-redo, copy-paste,
flow, save-load). Introduce headless DiagramController (Paper-less) so the
controller is testable outside a browser, and fix the flow direction sign.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Add custom SVG node element and styled links, grid-aligned manhattan
router with optional jumpover arcs, medium-based connection validation,
selection/highlighting, undo-redo history, copy/paste, settings, and a
marching-ants flow animator driven by the mock solver.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Pure, framework-free core: port media + color schemes with compatibility
rules, typed/grouped property model with coercion and validation,
catalogue store with physics seeds, SVG symbol registry with port layouts,
and a mass-conserving mock flow solver.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Records the library research (JointJS core chosen), tech stack, and a
milestone checklist covering nodes, ports, edges, properties, catalogue,
mock flow and editing UX.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Set up electron-vite build (main/preload/renderer split), TypeScript
project references, Vitest config, and a secure preload bridge exposing
save/open diagram IPC.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>