Floating [[Nodes]] allow you to read and write from a variable anywhere in the cannoli.
They must have no attached arrows, and conform to the name format described below, but they can be any color.
![[Pasted image 20240719234711.png]]
Floating nodes must be named, meaning the first line will be the name wrapped in square braces. This name will be how you reference and write to the floating node elsewhere in the cannoli.
## Referencing
You can reference a floating node just like any other variable, using double curly braces. Note that if a node has an incoming arrow with the same name, the arrow will take precedence.
![[Pasted image 20240719234936.png]]
## Editing
Floating nodes can be written to using [[Reference nodes]]. Any outgoing arrows from the reference node will pass the current content of the referenced floating node.
![[Pasted image 20240719235236.png]]
Remember that cannolis always run in parallel when possible, and there's no way to know when LLM calls or actions will complete. If you're editing and reading from the same floating node several places in a cannoli, be sure to structure the cannoli so the order of execution can't vary between runs.