mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-10-29 04:07:12 -06:00
Merge pull request #795 from DWAA1660/fix/selection-validation-and-clear
Validate selection IDs and clear exact compound members
This commit is contained in:
+17
@@ -612,6 +612,23 @@ the one highlighted layer or group row, else the one selected group, else the cu
|
||||
so art added later is clipped too); called again it releases the mask. It returns `{clip}`, and the Layers panel
|
||||
underlines clipping-path names.
|
||||
|
||||
## Object selection
|
||||
|
||||
`select.set {ids}` replaces the selection, `select.add {ids}` adds to it, and
|
||||
`select.toggle {id}` or `select.toggle {ids}` toggles each target.
|
||||
Every id must be a non-negative integer naming an existing object.
|
||||
A malformed or unknown id is an error naming that value; the entire selection is left unchanged.
|
||||
All three commands return `{count, ids}` for the resulting selection, in selection order.
|
||||
An empty array clears the selection for `select.set` and leaves it alone for Add and Toggle.
|
||||
|
||||
`edit.clear {ids?}` deletes the exact selected objects, including individual compound-path members;
|
||||
their unselected siblings remain in the compound. Supplying `ids` works without a selection and
|
||||
overrides selected anchors or guides. Every explicit id is validated before any deletion; a malformed
|
||||
or unknown id leaves the document unchanged. An empty `ids` array does nothing. Layers themselves
|
||||
are kept, and selecting an ancestor together with its descendants deletes that subtree once.
|
||||
Without `ids`, direct-selected anchors or selected ruler guides retain their usual Clear behavior.
|
||||
Cut still removes the objects it copied, including a whole compound when a member is selected.
|
||||
|
||||
## Saved selections
|
||||
|
||||
Select → Save Selection… keeps the selected objects under a name, in the document: `select.save {name?}` (default
|
||||
|
||||
Reference in New Issue
Block a user