Fuser

Concepts

How the Compositor thinks about scenes, layers, masks, the canvas, and live collaboration.

This page covers the model behind the editor — the parts that aren't a button you click. Read it once and the rest of the section makes more sense.

The scene is the source of truth

A Compositor node holds a scene — the canvas dimensions, frame rate, duration, and an ordered stack of layers. Everything you see and edit reads from the scene; everything that gets rendered downstream reads from the same scene.

The implication: inputs don't recompute geometry. If you reconnect a different image to a Compositor input, the layer it represents keeps its existing position, size, and rotation. The new image just replaces the pixel source. The first input you ever connect sets the canvas dimensions; later input changes don't resize the canvas.

Why your layout doesn't shift

When you swap an image input, the layer's transform stays put because the scene already records it. This is intentional — it lets you A/B different upstream sources without rebuilding the composition every time.

Hybrid downstream rendering

The Compositor node emits the scene through its output socket. Downstream nodes that understand scenes — Image, Video, and other Compositors — render it independently, with their own playback and their own previews. They don't wait for an export.

The practical consequence: when you have a Compositor feeding a Video node, the Video node has its own play/pause/scrub controls. Two Compositors chained together both render in real time without re-encoding. Export is for getting a file out of Fuser, not for connecting nodes — see Timeline & Export.

Anchor points

Every layer has an anchor — the point used as the origin for rotation and scale. Most layer types use a center anchor (0.5, 0.5); rotating spins around the middle, scaling grows from the middle.

Text layers are different. Their anchor is at the origin (0, 0) so the rendered text aligns with how typography normally lays out. Rotate a text layer and it pivots from its top-left, not its center. If you want a text layer to behave like other layers, you can set the anchor manually in the Transform section.

Masks

The Compositor has three masking concepts. Pick by what's driving the reveal and what scope it applies to.

  • Alpha mask (per layer) — another layer's transparency channel hides parts of this layer. Reach for it when you have a shape (often an Ellipse or a Vector) and want to use it as a window into one image, video, or composited group.
  • Luminance mask (per layer) — same scope, but the mask's brightness drives the reveal. White shows, black hides, gray partially reveals. Reach for it when you want a soft vignette around an image, or to use a grayscale gradient to fade content in or out.
  • Global alpha mask (whole scene) — one designated layer applies its alpha to the entire composited scene. Reach for it when you want to frame everything through a shape (a circular preview, a custom frame, a TV-style mask) without setting the same mask on every individual layer.

See Properties → Layer mask for the controls.

Raster persistence

When you paint with the Brush or erase with the Eraser, pixels accumulate on a raster layer. Behind the scenes, your painted pixels are saved to your project's media library and the scene records a reference to them.

Two consequences:

  • Scenes load asynchronously. Open a project with a heavy raster layer and you'll see the rest of the composition before the painted pixels arrive. This is normal.
  • Your project file stays small. Even multi-megapixel paint layers don't bloat your project, because the heavy data lives in your media library, not inline.

Don't fight the upload

If you paint and immediately export, the upload may still be in flight. The export waits — you don't need to do anything special. But if you're hitting an inference node downstream that doesn't tolerate a brief delay, give the upload a moment to finish.

Viewport and navigation

The canvas sits inside a viewport you can pan and zoom independently of the canvas dimensions.

  • Zoom — scroll-wheel, ⌘/Ctrl + scroll for finer control, + and keys, or ⌘/Ctrl + 0 to fit the canvas to the view.
  • Pan — middle-mouse drag, hold Space and drag with any tool, or pick the Hand tool (H).
  • Smart guides — when you drag a layer near another layer's edge, the canvas center, or a grid line, you get snap indicators. Toggle the grid and snap-to-grid in Properties → Canvas.

Copy, paste, and drag-drop

The Compositor accepts content from outside the editor:

  • Paste⌘/Ctrl + V from any app. Pasting an image creates an image layer; pasting text creates a text layer. Layers copied inside the Compositor paste with a small offset so they're easy to see.
  • Drag-drop — drop image, video, or text files from your OS onto the canvas. Each becomes a layer.

This is the fastest way to get external assets into a composition without going back to the flow canvas to wire up a new input node.

Multiplayer behavior

Compositors are live-collaborative. When teammates have the same project open:

  • Presence — you see each other's cursors and selections in real time.
  • Lock messaging — if another user is already inside a Compositor when you arrive at it, you see who has it open. Two users can't actively edit the same Compositor simultaneously.
  • Idle timeout — when collaborators are present and you've been idle for a minute, the Compositor closes itself with a Closed due to inactivity toast. Your unsaved work is saved before the close. If you're alone in the project, there's no timeout.

This page focuses on behavior. For the actual sharing model — who can see and edit a project — see Sharing.

What's Next?

On this page