Threads are the directed connections between nodes. Data flows along threads as messages — from an output port on one node to an input port on another.
Hover over any output port (shown on the right side of a node) until the cursor changes. Click and drag toward the destination node, then release over an input port (shown on the left side) to connect them.
If the port types are incompatible the connection will not be accepted. Compatible pairs:
number, text, boolean, null) can connect to the same type or to any.any output can connect to any input type.| Type | Description |
|---|---|
| null | Carries no data — acts as a trigger signal. Used by start and value input ports. |
| number | An integer value. |
| text | A string value. |
| boolean | True or false. |
| any | Accepts or emits any data type. |
A single output port can connect to multiple input ports. When the node fires, the same message is pushed to all connected threads simultaneously. This is how start triggers multiple nodes at once.
Each input port can receive from only one thread at a time. Drawing a new thread to an already-connected input replaces the existing connection.
Nodes that require more than one input — like add, which needs both a and b — wait until all required inputs have received a message with the same message ID. This is called syncing.
This guarantees that both values are from the same causal origin. For example, if you compute two separate values from the same initial trigger and feed them into add, they will always arrive as a matched pair.
Click on a thread to select it, then press Backspace or Delete to remove it. You can also select multiple threads and delete them together.
Each thread shows the name of the output port it originates from. Hover over a thread to see its full source and destination port names.