Skip to content

Core features

The infinite canvas

The canvas is the whole point. Everything else is a panel on it.

Panning and zooming

GestureAction
Two-finger scroll / trackpad dragPan
Command + scroll wheelZoom at the pointer
Right-click dragPan from anywhere
⌘= / ⌘- / ⌘0Zoom in, zoom out, reset
⌘1Zoom to fit everything
⌘2Zoom to the selection
⌃SpaceToggle select and hand tool

Zoom is clamped between a minimum and a maximum, and it is centred on the pointer rather than on the middle of the window — so you zoom into the panel you are looking at.

Moving and resizing panels

Drag a panel by its title bar. Drag any edge or corner to resize. Both operate in canvas space, so a panel keeps its position relative to its neighbours regardless of the zoom you were at when you moved it.

⌘↑ ⌘↓ ⌘← ⌘→ move focus to the panel above, below, left or right of the focused one — spatial navigation, not a tab cycle. plus an arrow pans the canvas itself.

Auto layout

⇧⌘L arranges the panels of the active canvas into a clean formation. Useful after a squad loads, or when an agent has opened more panels than you were watching.

Nested canvases

A canvas can be a panel inside another canvas. Use it to fold an entire sub-project into one node instead of scattering fifteen panels across the same plane.

Persistence

The canvas is written to .cate/workspace.json inside the project, and the running session to .cate/session.json. Both are plain, hand-editable JSON.

Closing the folder and reopening it restores positions, sizes, zoom, viewport offset and the dock layout.

Back to home