Everything in PaneFlow follows from one three-level structure and one rule about how it behaves across slides. Five minutes here will make the rest of the editor self-explanatory.
A PaneFlow project is built from three levels:
In the editor, the left sidebar mirrors this exactly: the pane list on top, and inside each pane a layer tree of its blocks and their elements.
Each pane has its own grid, 3x3 by default (configurable per pane, up to 16x16). Blocks snap to grid cells and can span any number of columns and rows - a single block can fill the whole pane. Blocks on the same pane never overlap.
The grid keeps layouts clean, but it does not constrain your content: inside a block, elements are positioned freely in pixels, and they can extend beyond the block edges.
This is the idea that makes PaneFlow different, and it is worth slowing down for.
A block is not tied to a single pane. You can place the same block on several panes, at a different grid position and size on each. When the viewer navigates between those panes, PaneFlow automatically animates the block from one placement to the other - the hero image that fills slide one smoothly shrinks into a corner thumbnail on slide two. No keyframes, no timeline: you just describe where things are on each pane, and PaneFlow animates the difference.
To reuse a block on another pane, select it and press CTRLC ("Copy Block Reference"), then right-click an empty grid cell on the target pane and choose "Paste Block Reference".
Blocks that appear on only one pane instead enter and exit with a direction you pick ("Enter & Exit" in block settings): from the left, the bottom-right, a fade, and so on.
When a block lives on several panes, what is shared and what can differ?
The per-pane part is what drives motion. Give a text element opacity 0 on pane one and opacity 1 on pane two, and it fades in during navigation. Move it 200px and it glides. Scale it down and it shrinks. Any layout difference between two panes becomes an animated transition between them.
A few practical consequences:
You design on a fixed canvas, 1920x1080 by default (configurable in Project Settings). Every position, size, and font size in the editor is in plain pixels - think Figma or Keynote.
The rendered slideshow is fully fluid: embed it in any container and everything scales proportionally, from a phone screen to a conference display. You never deal with breakpoints or responsive units - that conversion happens automatically at render and export time.