derived columns
bind a column to a model, a sandbox or a process and it fills itself, once per row, whenever its inputs change.
A derived column computes itself. You name the thing that does the work, say which columns feed it, and every row gets its own run. Change a name and the cells downstream of it recompute.
In this guide you build the pixie table: type a name, get a sprite, then a 3D toy, then a cut-out of it.
before you start
- A table with a Name column and a few rows. See tables.
- The workers on the same canvas as the table. A column can be bound to a Catalog model (any model in the picker), or to a node that sits next to the table: a model node, a sandbox, a tool or a process. Here that is a sprite sandbox and a "make a 3D avatar" process. New tables are added on pipeline canvases, which don't hold those nodes, so a node binding applies to a table that already sits beside them, as in the example below; a new table can always use a catalog model. To make the process, see make a process.
- Credits. Each row of a model or process column is a billed run.
build it
-
Open the column menu. Add a column named Sprite, set its type to Image, click its name and choose Derive value…. The Derive "Sprite" panel opens.
a derived column's panel: what computes it, and where each input comes from. -
Pick what computes it. Under 1 · Computed by, choose a node on the canvas. Each carries a tag: Model node, Sandbox, Tool, or Process · pixie run. Choose the sprite sandbox. For a model from the catalog instead, use Pick a model from the catalog….
-
Say where each input comes from. Under 2 · Inputs — what this column listens to, every input the node declares gets a row with four choices:
choice meaning — leave it unset column read it from another column, picked under Listen to column… static one fixed value for every row template text with columns spliced in; add them with + Insert column… For the sprite sandbox, set name to column, then Name. Give theme, role, bgColor and state a static value. Inputs marked with a red asterisk are required.
-
Save. Leave Run automatically on change ticked so edits keep the column current. Press Save. A small sparkle marks the column header as derived, and its cells become read-only: only the column's engine writes there.
-
Fill the rows. Open the column menu again: Fill empty cells computes every row whose cell is still blank, and Run all rows recomputes every row (rows whose inputs did not change are skipped). Cells pulse while they run.
fill what is empty, or run every row. -
Chain a process. Add 3D render, type Image, and derive it from the process node. Set its input (here pixel_sprite) to column, then Sprite. A process also gets a Request to the pixie box. Add a column to it with + Insert column…, or type its name in braces, and it is spliced in per row, for example Make 3d avatar of {{Name}} pixie. Because 3D render listens to Sprite, new sprites start new 3D runs on their own.
-
Ask for approval where it matters. Tick Require my approval before the result lands in the table. The pixie then stages its result as a review card in the run's chat or the canvas inbox, and the cell fills only when you approve. Off, it publishes directly. A run waiting on your click is held for up to 24 hours.
the process column asks before anything lands. -
Finish with a model. Add BGREMOVED, type Image, and bind it to Pick a model from the catalog… with a background-remover. Set the model's image input to column, then 3D render.
fix one cell
Hover a derived cell: Re-run this cell (the circular arrow) computes that row again. For a process column, the speech-bubble icon opens that run's pixie chat, so you can see what the pixie did. A failed cell shows a red warning icon; hover it for the reason.
what just happened
Each derived column holds its binding and its input map. When a row changes, ixi walks the chain downstream, marks the affected cells queued and runs them four at a time per table. A cell whose inputs have not changed since its last run is skipped, so re-running a table costs nothing for rows already done. A transient failure is retried up to 3 times; a model's own error is final and shows on the cell.
limits
- 10 derived columns per table · chains up to 5 deep · up to 20 inputs per column · templates up to 4,000 characters.
- A column cannot listen to itself or to something downstream of itself; saving that is refused.
- A process cell that nobody approves stays pending for 24 hours; a direct-publish process run times out after 30 minutes.
take it further
- make a process — make the recipe a process column can run.
- live apps — build the sprite sandbox itself.
- search — find a row among thousands.
checked against the product · 2026-10-23