Skip to content

Add drag erase, a laser, type-to-add, Tab and a command palette - #85

Merged
raj-khan merged 1 commit into
mainfrom
fl-83-quick-tools
Sep 27, 2026
Merged

raj-khan merged 1 commit into
mainfrom
fl-83-quick-tools

Conversation

@raj-khan

Copy link
Copy Markdown
Owner

FL-83, part 1 of 2 (frames follow in part 2).

  • Eraser: click or drag across shapes and connections; everything it touched is marked, then deleted as one undoable change
  • Laser (8/K): a glowing trail that follows the pointer and fades, for presenting; nothing is saved. Left off the phone tool bar, which only has room for seven 44px buttons
  • Typing on a blank diagram starts a shape named with what is typed, ahead of the one-letter tool keys. Keys (and an early Enter) are buffered until the new title field has focus, because the shape is created asynchronously
  • Double click on empty canvas adds a shape there, ready to name
  • Tab adds the next step below the selected (or focused) shape, of the same kind, connected and ready to name, as in Whimsical; placed where nothing is, with its source pinned
  • Ctrl+K opens a command palette over every menu action, tool, view action and shape (Add …), built from the same registries, so new shapes and tools appear without a line of their own; also in the menu and in help

Tests: e2e/quick.spec.js (6); unit tests for withConnectedShape, withErased, filterCommands. e2e 131, vitest 261, lint and typecheck.

The eraser deletes what it is dragged over in one step, the laser leaves
a fading trail, typing on a blank diagram starts a shape, Tab adds the
next connected step, and Ctrl+K finds any action or shape.
@raj-khan
raj-khan merged commit 3cef4f9 into main Sep 27, 2026
4 checks passed
@raj-khan
raj-khan deleted the fl-83-quick-tools branch September 27, 2026 13:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant