Skip to content

Canvas ​

Overview ​

The Canvas is the main stage of the ImageFlow document. Here you can add and connect the nodes that form your document's graph.

Adding Nodes to the Canvas ​

To add nodes to the canvas, you can either:

  • Drag the node from the node palette on the left sidebar into the canvas.
  • Double-click the node int the node palette on the left sidebar, which will create an instance of the node in the canvas' viewport center.
  • Pressing the Space keyboard key will open the Node Palette Popover. It displays a searchable list of nodes, which you can navigate using your mouse or using the keyboard shortcuts Control + n (select next) and Control + p (select previous). Pressing enter on the selected node in the palette or clicking it with the mouse will create a node at the position where the popover was created.

  • When you drag the port of a node to create an edge, ending the drag operation in an empty area of the canvas will also open the Node Palette Popover, filtered to show only the nodes that can be connected to that node port. You can then select a node from the palette and it will be created and connected to the dragged port.

Interacting with the Nodes ​

Moving Nodes ​

Nodes in the canvas can be dragged to be moved around and repositioned. By default nodes can be moved freely, but you can make nodes snap to the background grid by clicking on the snapping button on the toolbar, which will toggle this feature on or off.

If you have more than one node selected, dragging them will move them in group.

Selecting Nodes ​

Selected nodes are drawn with an outlined border around them:

You can select nodes by:

  • Clicking on a node. If you hold the Shift key while selecting the selection will be additive, and you can click multiple nodes in sequence to select them.
  • Pressing Command + a will select all the nodes. Alternatively, clicking on Select All on the canvas' context menu or Edit -> Select All on the app menu will perform the same action.
  • Dragging the canvas starting from an empty area will perform a rectangular selection. Pressing down Shift while doing that will perform an additive selection.

To deselect nodes you can click on the canvas' background, or press the Shift+Command+a keyboard shortcut.

Yet another way to control node selection is to use the Node List button on the toolbar. Selected nodes will be outlined on the list, and you can select nodes by clicking on the list items.

Creating Edges ​

To create edges between nodes, all you need to do is drag one of the node ports you wish to connect into the other port.

Edges can only be created between compatible ports. If two ports are incompatible, the dragged edge will be drawn in red and an error message will appear saying why the edge can't be created.

Two ports are compatible and an edge can be created between them when:

  1. One port is an output port and the other is an input port. That is, you can connect two output ports or two input ports.
  2. Both ports must correspond to values with compatible types.
  3. Creating the edge must not create a cycle in the graph, as in the case below:

Removing Edges ​

To remove an existing edge, drag-out its input port, dropping the partial edge into an empty area of the canvas:

Canvas Navigation ​

Here are the ways you can navigate the canvas viewport:

  • Using the mouse, you can move the viewport by middle-click-dragging the canvas.
  • Using the trackpad, you can move the viewport by the two-finger scrolling gesture.
  • Using the mouse, you can zoom in and out the current mouse position by using the scroll-wheel.
  • Using the trackpad, you can zoom in and out via the pinch-zoom gesture.

Zoom Controls ​

You can use the zoom controls in the app's toolbar to change the current zoom levels:

The Fit All button will set a zoom level that shows all the nodes in the canvas (if possible within the allowed zoom levels). The Fit Selected will attempt to fit all the selected nodes in the viewport.

The canvas' context menu also has similar zoom controls:

Importing Images ​

You can import images into your ImageFlow document by dragging and dropping them from the finder or other applications into the canvas.

You can also paste images from the clipboard into the canvas.