Anatomy of a node
Every node on the canvas has the same basic structure regardless of which model produced it or where it sits in a thread.The message content
The message content
The text of the message or reply, rendered with full Markdown support. Long replies collapse to a preview with an option to expand, so the canvas doesn’t become unwieldy.
The model indicator
The model indicator
A label showing which model generated the reply — Claude, GPT-5, Gemini, or an open-source model. You can change the model for the next reply at any time.
The action menu
The action menu
Sticky notes
Sticky notes
Any sticky notes attached to a node are displayed inline below the node content. They persist visually so you always know what constraints are active.
How nodes form threads
Nodes connect sequentially: your message, then the model’s reply, then your next message, and so on. That chain of connected nodes is a thread. Threads appear as vertical columns on the canvas, and you can have as many threads as your work demands. When you fork a node, a new thread branches off from that point. The forked thread inherits all the context from every node above the fork — it just grows in a new direction from there.The node you fork from stays part of the original thread. Forking never removes or alters existing nodes — it only creates new ones.
What you can do from any node
Fork
Create a new branch that starts with the same context as the current thread up to this point.
Attach a sticky note
Pin a constraint — tone, format, scope — that persists for all subsequent messages in this thread.
Merge
Begin a merge from this node, bringing a result from another thread into a new synthesis node.