> ## Documentation Index
> Fetch the complete documentation index at: https://docs.wji.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Working with nodes

> Select, move, duplicate, align, group, rename, resize, and color-tag your nodes.

## Selecting

| Action              | How                                                                                            |
| ------------------- | ---------------------------------------------------------------------------------------------- |
| Select one          | Click it                                                                                       |
| Add to selection    | `Shift` + click, or `⌘` + click                                                                |
| Marquee             | Drag on empty space. Anything the box **touches** is selected, not only what it fully contains |
| Add by marquee      | `Shift` + drag                                                                                 |
| Select all          | `⌘A`                                                                                           |
| Select by color tag | `Shift` + `1`–`8`                                                                              |
| Clear selection     | `Esc`                                                                                          |

<Warning>
  **Select all and select-by-tag are capped at 50 nodes.** On a large canvas you will not get
  everything. If a color tag filter is active, select all only takes nodes carrying that tag.
</Warning>

An unselected node is selected on mouse **release**, not on press, so starting a drag does not
trigger its panel.

## Moving and duplicating

* Drag to move
* **Alt + drag** to duplicate — the original stays behind. Alt changes several other drags too;
  see [the Alt key](/infinite-canvas/overview#the-alt-key-changes-what-a-drag-means)
* `⌘D` duplicates the selection in place
* `⌘C` and `⌘V` copy and paste, **including the connections between the copied nodes**

## Resizing

Nodes that support it have a handle at the bottom right. Minimum sizes vary: group 120×80, text
120×60, YouTube 240×135. Arrows are resized by dragging either endpoint.

Text nodes also respond to `[` and `]`, which scale the window proportionally. With several selected,
the spacing between them is preserved.

## Renaming

**Double-click the name label above a node.** Enter commits, `Esc` cancels.

## The multi-select toolbar

<Frame caption="The multi-select toolbar">
  <img src="https://mintcdn.com/wji/1nwL1jaWRdmAhYLq/images/infinite-canvas/multi-select-toolbar-01.png?fit=max&auto=format&n=1nwL1jaWRdmAhYLq&q=85&s=58c32556dfb3620df73fbe7e0a0a4dab" alt="Multi-select toolbar with color tag, align, group, add reference, model settings, improve prompt, submit, and download buttons" width="1600" height="900" data-path="images/infinite-canvas/multi-select-toolbar-01.png" />
</Frame>

Selecting two or more nodes slides a toolbar up from the bottom:

| Button                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | Does                                                                                                     |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- |
| <img src="https://mintcdn.com/wji/1nwL1jaWRdmAhYLq/images/infinite-canvas/icons/color-tag.png?fit=max&auto=format&n=1nwL1jaWRdmAhYLq&q=85&s=f1fe181549edec2f2c134cb054849628" alt="Color tag icon" width="20" data-path="images/infinite-canvas/icons/color-tag.png" /> **Color tag**                                                                                 | Applies a tag to everything selected                                                                     |
| <img src="https://mintcdn.com/wji/1nwL1jaWRdmAhYLq/images/infinite-canvas/icons/align.png?fit=max&auto=format&n=1nwL1jaWRdmAhYLq&q=85&s=18272af7e2e67e340a76815d687b3b28" alt="Align icon" width="20" data-path="images/infinite-canvas/icons/align.png" /> **Align**                                                                                                                         | Horizontal, vertical, or automatic                                                                       |
| <img src="https://mintcdn.com/wji/1nwL1jaWRdmAhYLq/images/infinite-canvas/icons/group.png?fit=max&auto=format&n=1nwL1jaWRdmAhYLq&q=85&s=6ee896978e38324ea349221ffa74f61a" alt="Group icon" width="20" data-path="images/infinite-canvas/icons/group.png" /> **Group**                                                                                                                         | Wraps the selection in a group node                                                                      |
| <img src="https://mintcdn.com/wji/1nwL1jaWRdmAhYLq/images/infinite-canvas/icons/add-reference.png?fit=max&auto=format&n=1nwL1jaWRdmAhYLq&q=85&s=51045dce221e6632894a73b5ccfd5e2e" alt="Add reference icon" width="20" data-path="images/infinite-canvas/icons/add-reference.png" /> **Add reference**                                         | Enters pick-from-canvas mode                                                                             |
| <img src="https://mintcdn.com/wji/1nwL1jaWRdmAhYLq/images/infinite-canvas/icons/model-settings.png?fit=max&auto=format&n=1nwL1jaWRdmAhYLq&q=85&s=8b07ad3991be60ec74fd97b0102a7c33" alt="Model settings icon" width="20" data-path="images/infinite-canvas/icons/model-settings.png" /> **Model settings**                               | Applies model settings to every generation node of the same type                                         |
| <img src="https://mintcdn.com/wji/1nwL1jaWRdmAhYLq/images/infinite-canvas/icons/improve-prompt.png?fit=max&auto=format&n=1nwL1jaWRdmAhYLq&q=85&s=b8219e15ba1988ad216b231d068cf312" alt="Improve prompt icon" width="20" data-path="images/infinite-canvas/icons/improve-prompt.png" /> **Improve prompt**                               | Optimizes every selected prompt                                                                          |
| <img src="https://mintcdn.com/wji/1nwL1jaWRdmAhYLq/images/infinite-canvas/icons/submit.png?fit=max&auto=format&n=1nwL1jaWRdmAhYLq&q=85&s=534c75c4786f2f2229b029971c4eac59" alt="Submit icon" width="20" data-path="images/infinite-canvas/icons/submit.png" /> **Submit**                                                                                                               | Opens a review dialog listing each node's prompt, references, model, and settings, then submits them all |
| <img src="https://mintcdn.com/wji/1nwL1jaWRdmAhYLq/images/infinite-canvas/icons/download-selected.png?fit=max&auto=format&n=1nwL1jaWRdmAhYLq&q=85&s=5d06a14bd08bcdb24ead2fe078b1309e" alt="Download selected icon" width="20" data-path="images/infinite-canvas/icons/download-selected.png" /> **Download selected** | Single file, or a ZIP named after the canvas                                                             |

For viewers, only **Download selected** remains.

## Aligning and grouping

Alignment is a one-off action, not a live guide:

| Action           | Shortcut |
| ---------------- | -------- |
| Horizontal align | `H`      |
| Vertical align   | `V`      |
| Auto align       | `⌘K`     |

Group nodes take a 40 px margin around the selection. Dragging a group carries along any node that
touches it.

<Note>
  With two or more nodes selected, `V` means vertical align rather than "new video node".
</Note>

## Color tags

<Frame caption="The color tag popover, with tags named">
  <img src="https://mintcdn.com/wji/1nwL1jaWRdmAhYLq/images/infinite-canvas/color-tag-popover-01.png?fit=max&auto=format&n=1nwL1jaWRdmAhYLq&q=85&s=5fcab4a877b0ebb39da01e8b8f370376" alt="Color tag popover showing eight colors with editable names and a clear tag option" width="1600" height="900" data-path="images/infinite-canvas/color-tag-popover-01.png" />
</Frame>

Eight colors, each of which can be named for the whole canvas.

| Action                        | Shortcut            |
| ----------------------------- | ------------------- |
| Toggle a tag on the selection | `⌘1`–`⌘8`           |
| Clear tags                    | `⌘0`                |
| Select nodes with a tag       | `Shift 1`–`Shift 8` |
| Filter the canvas by tag      | `⌥1`–`⌥8`           |
| Clear the filter              | `⌥0`                |

Tags drive the minimap colors, the top bar filter, bulk download by tag, and what viewers are allowed
to see.

<Tip>
  Name your tags. "Approved", "needs revision", "client-visible" turn a color-coding habit into
  something the whole team can read — and the visible-tag setting in viewer access then does real
  work for you.
</Tip>

## What you cannot do

There is no node locking, and no bring-to-front or send-to-back. Layering is fixed: group nodes
always render behind everything else.
