How Backstage Thinks

Last updated 5 May 2026

Backstage is built around a strict separation between three things: where content appears, what content is, and what controls when it plays. This separation is intentional — it is what makes Backstage flexible enough to handle a simple LED wall, a full dome, and a multi-server installation with the same application.

The three layers

1. The scene — describing your physical space

The Scene View is a 3D description of your installation. You place Surfaces (flat screens, curved screens, domes, LED walls) at their real-world positions and add Projectors or Displays aimed at those surfaces. Backstage uses this geometry to calculate exactly how content maps from a flat video file onto a curved, angled, or irregular surface.

Nothing in the scene layer knows or cares what content is playing, or which physical hardware port is connected. The scene simply describes the shape of the world.

2. Content — assets and sequences

Assets are your media files: video, audio, images, live capture feeds. A Sequence is a timeline that plays assets onto surfaces. The sequence targets a surface by name and mapping — it does not address physical hardware directly.

The same sequence can play on completely different physical hardware just by changing the output routing, without modifying the sequence itself.

3. Outputs — connecting virtual to physical

The Outputs window is where you connect surfaces to physical hardware. A GPU output represents a display port. You assign a Projector or a Display to that port. This is the only place where Backstage knows about specific physical connectors, resolutions, and refresh rates.

The result: swapping hardware (replacing a projector, adding a GPU output, changing display port assignments) is a change in the Outputs window only. The scene and the content do not change.

The Node Editor — reactive logic across all three layers

The Node Editor sits across all three layers. Nodes can reference and control sequences (play, pause, jump to timecode), edit output parameters (load warp presets, enable outputs), and respond to external events — UDP commands, timecode, TCP, OSC, and more.

If the Sequencer is for time-driven playback — things that happen on a fixed timeline — the Node Editor is for event-driven behaviour — things that happen in response to external conditions.

How the layers connect during a show

  1. At project load, the scene geometry is calculated once — Backstage knows the shape and position of every surface and projector.

  2. Sequences begin playing — assets render onto surfaces according to the timeline.

  3. The Outputs window routes rendered surfaces to physical display ports.

  4. Node graphs respond to external events and issue commands back to sequences or outputs.

Changing any one layer does not require changing the others. That is the design.

What this means when something is wrong

Knowing which layer to check saves time:

  • Surface not showing content? Check that the sequence targets the correct surface (content layer).

  • Output blank? Check that the surface is routed to the correct GPU output (Outputs layer).

  • Show control not firing? Check the node graph connections (Node Editor).

Next steps

Your First Project — follow the steps to put these concepts into practice

Common Workflows — task guides once you know the basics