The canvas editor

The visual builder — palette, wiring, toolbar, autosave and keyboard shortcuts.

The canvas is where an indexer is actually defined. It is a graph editor: you drag components in from the palette on the left, wire them together, and the shape of that graph is the pipeline. Nothing you do here affects a running indexer until you deploy.

The layout#

  • Palette (left) — the components you can place. Drag one onto the canvas to create it.
  • Canvas (centre) — the graph. A Program node and a Database node are already there and cannot be deleted; they are the entry and exit of every pipeline.
  • Toolbar (top) — save state, import options, and the deploy button.
  • Minimap (bottom right) — for finding your way around a large graph.

Wiring nodes together#

Drag from a handle on the right of one node to a handle on the left of another. Handles are per-field, not per-node — an instruction with five data fields exposes five separate outputs, and you wire each one to wherever that value should go.

Illegal connections are rejected as you draw them rather than at deploy time, so if a wire will not attach, the graph is telling you something. The full set of rules is on the node reference page.

One rule worth knowing up front: each field output can be wired only once. If the same value needs to reach two places, route it through a transform and give the transform two outputs.

The toolbar#

Canvas toolbar, left to right
FieldTypeDescription
Runtime versionselectWhich platform runtime this indexer deploys onto. See versions & rollback.
Edit settingspencilReopens the create form — name, RPC provider, API key, commitment level and database URL.
Import from GitHubbuttonConnects a repository and pulls the program interface straight in.
UpdatesbadgeOnly appears when Syncro has detected upstream changes to a program you imported from GitHub. Review and apply or dismiss each one.
Generate with AIbuttonDescribes an indexer in plain language and has transforms, tables and payloads drafted for you. Every generated snippet must compile before it can be accepted.
LogslinkJumps to the live log stream for this indexer.
Undo / RedobuttonsStep backwards and forwards through canvas edits.
Save stateindicatorReads 'Saving…', 'Unsaved changes' or 'Saved N ago'. Always deploy from a saved canvas.
SavebuttonPersists the canvas without deploying.
DeploybuttonSaves first, then opens the deploy preview. Its label changes with the indexer's status.

Keyboard shortcuts#

  • Ctrl S — save the canvas.
  • Ctrl Z / Ctrl Y — undo and redo.
  • Del — delete the current selection. Locked nodes are skipped.
  • Esc — clear the selection.
  • Ctrl + scroll — zoom. Plain scrolling pans, so the canvas never hijacks the page.

Selection and context menu#

Right-clicking a node opens a context menu with the actions available for it, including duplicating an account node with all of its fields intact. Multi-select lets you move or delete a group at once.

Saving versus deploying#

These are genuinely different operations and it matters:

  • Save persists your work in progress. It mints no version, changes nothing that is running, and costs nothing. You can save a half-finished canvas as often as you like.
  • Deploy takes an immutable snapshot of the canvas and makes it live. It runs preflight checks, may consume a version slot, and may run migrations against your database.

The deploy button saves for you first, so the deployed definition is always the one on screen. See deploying.