Docs
Groups
The complete guide to canvas groups — creating and nesting groups, adding and removing objects, entering and navigating them, moving as one unit, locking, hiding, ungrouping, and deleting.
Groups let you bundle several canvas objects — images, sticky notes, shapes, text boxes, video and world widgets, cutouts, text-prompt widgets, and routers — into a single unit you can select, move, lock, and organize together.
When to use
Reach for a group when you want to treat a set of related objects as one thing: move a whole massing study without nudging each piece, lock a finished elevation so it can’t shift, or keep a set of references tidy inside a labeled, color-washed box. On a project heavy with images, you can also cluster the objects you aren’t working on into a group and hide it to keep the canvas fast. Groups can also nest, so you can build a shallow hierarchy (for example, a “Facade” group holding “Window” and “Door” sub-groups).
Connections (the lines between objects) can’t be grouped — they stay outside group membership and simply re-route as their endpoints move.
Select multiple objects
Before you can group anything, select at least two objects:
- Drag a marquee (selection box) across the canvas to lasso several objects at once, or
- Shift-click individual objects to add them to the selection.
You need 2 or more objects selected — grouping a single object does nothing.
Create a group
- Select two or more objects.
- Press Ctrl+G (⌘+G on Mac), or click Group Selection in the multi-select toolbar.
A new group forms around your selection. The individual selections clear, the new group becomes the sole selection, and its name field opens right away so you can type a name.
The scene/background image can also be part of a group — only one group can own it.
Name and color
Every new group is named Group N (an auto-incrementing number) and its name field opens on creation so you can rename it immediately.
- Rename: click the group’s name label on the canvas (only interactive when the group is selected or active), or double-click the current group’s name in the toolbar breadcrumb. Press Enter or click away to save, Esc to cancel. Empty names aren’t saved, and a locked group can’t be renamed.
- Color: each group is auto-assigned a color from a cycled 10-color palette (blue, green, amber, red, purple, pink, teal, orange, indigo, lime), so consecutive groups look distinct. The color paints as a subtle translucent wash behind the group’s members, never tinting the objects themselves.
- Change the color: click the color swatch button in the group toolbar and pick a swatch, including None (transparent) — a no-color group falls back to a thin dashed outline so it still reads as a stack.
The group name renders as a large headline above the box. If you don’t want it dominating, use the Name size slider (the Aa button in the toolbar) to scale it between 50% and 400%.
Enter and navigate a group
Selecting a group and working inside it are two different modes.
- Select the whole group: single-click anywhere in its box. From outside the group, clicking any member selects the whole (root) group, not the individual object.
- Enter the group to edit its contents: double-click it (on touch, tap to select, then tap again). Its outline turns dashed green and its members become individually selectable. Entering clears any prior selection.
- Exit one level: press Esc, click the toolbar’s Exit (door) button, or click outside the group’s bounds. Clicking outside exits straight away, whether or not something was selected. Esc is two-stage — if anything is selected, the first press clears the selection and the next one exits. The group stays selected after you exit.
- Clicking inside the group never exits it. Click a member to select it; click empty space within the group’s bounds to deselect and stay where you are. Only a click beyond the bounds takes you up a level.
Enter and exit each move exactly one nesting level at a time.
Add a loose object to a group
There’s no “select object + Ctrl+G” that drops an object into an existing group — you add by dragging:
- Drag a loose object over the target group.
- When the object’s center point sits over the group’s box, a green dashed “drop here” highlight appears.
- Release. The object joins the group, and a toast confirms Added to {group name}.
Membership is decided purely by where the object’s center lands on release — there’s no overlap-percentage threshold. Notes:
- If you hold the object’s center inside the group’s interior for about a moment mid-drag, the group auto-opens so you can drop the object precisely inside; it closes again when the drag ends.
- Only a loose object (or a member of the group you’re currently inside) can join this way. A locked group won’t accept drops, and re-adding an existing member does nothing.
Remove an item from a group
- Enter the group (double-click, or the toolbar Enter button).
- Select the member(s) you want out.
- Click the Remove from group button (FolderMinus icon) in the group toolbar — its tooltip reads “Remove N item(s) from group”.
The members leave the group and stay selected: in a nested group they lift up one level into the parent; at the top level they become loose. A toast confirms Removed N item(s) from group. If removing empties the group entirely, the empty group is deleted automatically.
There’s no keyboard shortcut for removing an item, and dragging a member out onto empty canvas does not remove it — use the toolbar button.
Nested (child) groups
Groups can contain groups, up to four levels deep.
Create a child group inside a parent:
- Double-click into the parent to enter it.
- Select two or more of its members.
- Press Ctrl+G — the subset drops into a new child group without dissolving the parent.
Wrap existing groups in a new parent: at the top level, select two or more groups (they must share the same nesting level) — or one group plus loose objects — and press Ctrl+G. This builds a new parent around them. Note this always creates a wrapper; it never inserts the loose objects into the pre-existing group.
Navigating nesting:
- Double-click drills in one level at a time — you can’t skip levels.
- Esc (or the toolbar Exit button) steps out one level to the parent, not straight to root.
- The toolbar breadcrumb shows the full path (root → … → current); click any ancestor crumb to jump directly to that level. Long chains collapse the middle to an ellipsis.
- A Depth n/4 pill next to the breadcrumb shows how deep you are; it turns amber at the limit.
If a group action would exceed four levels, nothing is created and a warning appears: “Cannot create group: maximum nesting depth (4) reached.” Pasting groups that would over-nest are placed at root instead, with a similar notice.
Lock and hidden state are inherited from the top-level group — locking or hiding a parent applies to every descendant. Color and name size, by contrast, stay per-group.
Move a group as one unit
- Drag: first click selects the group; a second press-and-drag on the already-selected group moves it. Every member — including nested sub-groups and the scene image, if it belongs — moves together in real time, and the group box auto-resizes to fit. Ctrl/⌘+drag clones the group in place instead of moving it.
- Arrow-key nudge: with a group selected, press an arrow key to move it 1px, or hold Shift for 10px.
- Mixed selection: if you’ve selected a group plus loose objects (or several groups), dragging moves them all by the same amount.
The group box always sizes itself to its members — there’s no manual resize handle. Objects joined to the group through a locked connection line also travel along with it (a separate mechanism from group locking).
A whole-group drag is a single undo step.
Lock a group
- Select the group.
- Click the padlock button in the group toolbar (tooltip Lock group / Unlock group).
A locked group can’t be moved, arrow-nudged, renamed, ungrouped, or have its members edited. It stays selectable so you can reach the toolbar and unlock it. Locking a parent locks the whole tree beneath it. (A locked group can still be deleted — the lock guards member edits, not whole-group removal.)
Hide a group
For a top-level group selected from outside, click the eye button in the toolbar to Hide / Unhide it. A hidden group’s members stop rendering, leaving a dimmed box with a crossed-eye marker; you can still select the box to unhide it.
Use it to speed up a heavy canvas. Hiding is display-only: hidden members leave the editor entirely — they don’t just dim, they stop mounting — so on a project packed with many images you can cluster the ones you’re not actively working on into a group and hide it to lighten the canvas and keep panning and zooming smooth. It’s non-destructive and temporary — the hidden objects still count for export and AI generation, and one click unhides them again.
Ungroup
Ctrl+G does double duty. To ungroup:
- Select exactly one group — no loose objects, no other groups also selected.
- Press Ctrl+G (⌘+G), or click the Ungroup button in the group toolbar.
The group dissolves one level: its members are freed and stay selected, and the group selection clears. For nested groups, child groups are promoted to the grandparent rather than fully flattened. A locked group won’t ungroup — unlock it first.
Because Ctrl+G is context-sensitive, it only ungroups when a single group is selected alone. If any loose object is selected alongside the group, Ctrl+G builds a new parent group instead.
Delete a group
Select the group and press Delete / Backspace (or the red trash button in the toolbar). This removes the group and every object inside it — it does not just release the members. A confirm dialog states the exact member count and reminds you it’s undoable with Ctrl+Z. The Delete key won’t remove a locked group — unlock it first.
How undo treats groups
Every group operation — create, ungroup, add, remove, drag, delete — commits as a single history entry. One Ctrl+Z reverses the entire operation atomically, restoring all affected members together. A drag with no movement (a plain click) records no history entry.
Quick reference
| Action | Trigger |
|---|---|
| Select multiple objects | Marquee drag, or Shift-click |
| Create a group | Ctrl+G / ⌘+G, or Group Selection button (needs 2+ objects) |
| Ungroup (one level) | Ctrl+G / ⌘+G on a lone group, or Ungroup button |
| Rename a group | Click the canvas name label, or double-click the breadcrumb name |
| Change group color | Color swatch button in the toolbar |
| Enter a group | Double-click (touch: tap, then tap again) |
| Exit a group (one level) | Esc, toolbar Exit button, or click outside the bounds |
| Jump to an ancestor level | Click a breadcrumb crumb |
| Add a loose object | Drag it so its center lands on the group’s box (green highlight) |
| Remove a member | Enter group, select member, Remove from group button |
| Create a child group | Enter parent, select 2+ members, Ctrl+G |
| Wrap groups in a parent | Select 2+ groups (same level), Ctrl+G |
| Move a group | Select, then press-drag the box; arrow keys nudge 1px (Shift = 10px) |
| Clone a group | Ctrl/⌘+drag the selected group |
| Lock / unlock | Padlock button in the toolbar |
| Hide / unhide | Eye button in the toolbar |
| Delete group + contents | Delete / Backspace, or trash button (with confirm) |
| Undo any group action | Ctrl+Z (one step) |