- Single-finger touch panning now works even when starting on a node; a tap still selects.
- Add keyboard node selection (Tab/Enter/Space/Escape) and validated settings input.
- Guard against overwriting malformed .bowtie files; show a notice and keep original data.
- Add Vitest tests (model/layout/panZoom) and a GitHub Actions CI workflow.
- Split bowtieView into history/panZoom/stackRows/externalSync modules; refresh README, examples, and contributor docs.
Co-authored-by: Cursor <cursoragent@cursor.com>
Restrict the release workflow to semver tags without a v prefix so manifest.json and GitHub releases stay aligned.
Co-authored-by: Cursor <cursoragent@cursor.com>
Align + controls with bezier edge geometry, keep them behind nodes when paths cross, and document the release in CHANGELOG.md.
Co-authored-by: Cursor <cursoragent@cursor.com>