Skip to content

Documentation / @finchart/tools / DrawingSelectionChange

Interface: DrawingSelectionChange ​

Defined in: tools/src/tools.ts:181

The selection changed. Why this is separate from changes is contractual — selection is session state, not part of the list, and it isn't serialized. Piling it onto DrawingsChange.reason would make a save recipe like if (reason !== "move") saveDrawings() save on every selection click.

Properties ​

handle ​

handle: DrawingHandle | null

Defined in: tools/src/tools.ts:194

That drawing's handle — use it as-is with remove() / select(). null on deselection.

selection() is a copy, so a handle can only be recovered by value — and if two shapes share the same value, position-based hit-testing (gripAt, the later one) and value comparison (the earlier one) disagree, and a shape you never pointed at could get deleted. This notification carries identity along to prevent that.


selection ​

selection: Drawing | null

Defined in: tools/src/tools.ts:183

A copy of what's currently selected. null if nothing is.