The outputs of nodes can be wired/linked to the inputs of other nodes to create logic flows. Once an output is linked to an input, the value of the output is passed to the input of the linked node. For most nodes, the value is passed continuously; however, some nodes will pass their values asynchronously as messages.
Example: The nodes below form a logic flow which increases the ‘count’ output every second (1000 millis).
Individual nodes, or groups of nodes and their links (logic flows) can be exported to the users clipboard. These exported flows can be saved (pasted into a text file). They can also be imported back into Rubix Wires.
The exported flow from above will result in the following text when pasted:
[{"cid":0,"id":19,"type":"boolean/ticker","pos":[-85,-1750],"size":[178,51],"settings":{"interval":{"description":"Interval (millis)","value":1000,"type":"number"},"enable":{"description":"Enable","value":true,"type":"boolean"},"false":{"description":"Generate False","value":true,"type":"boolean"}},"properties":{},"flags":{},"inputs":{"0":{"hasSettings":false,"name":"[interval]","type":"number"},"1":{"hasSettings":false,"name":"[enable]","type":"boolean"}},"outputs":{"0":{"name":"output","type":"boolean","links":[{"target_node_id":20,"target_slot":1}]}},"_id":"c0n19"},{"cid":0,"id":20,"type":"count/counter","pos":[156,-1747],"size":[194.79999999999998,81],"settings":{"":{"description":""},"set value":{"description":"Set Value","value":0,"type":"number"}},"properties":{},"flags":{},"inputs":{"0":{"hasSettings":false,"name":"[set value]","type":"number"},"1":{"hasSettings":false,"name":"count up","type":"boolean","link":{"target_node_id":19,"target_slot":0}},"2":{"hasSettings":false,"name":"count down","type":"boolean"},"3":{"hasSettings":false,"name":"reset","type":"boolean"}},"outputs":{"0":{"name":"count","type":"number","links":null}},"_id":"c0n20"}]
The exported flow can be imported by selecting ‘Import’ from the context menu.
Live values, which are displayed on the right side of each input/output slot, can be toggled ON and OFF by clicking on the Eye button at the bottom right of Rubix Wires.
View / Hide Values
Pausing Runtime Logic
The runtime logic can be paused by clicking on the Pause button at the bottom right of Rubix Wires. This will stop the values being passed between nodes, and stop the node functions from being processed. When runtime is paused, the button will change to the Play button. Clicking the Play button will start the runtime logic.Stepping Through Runtime Logic
The runtime logic can be paused by clicking on the Play button at the bottom right of Rubix Wires. Once paused the Step button can be used to step forward through the runtime logic. This allows the user to debug/examine the logic step by step to identify issues and confirm it is working as intended.
Wire links can be hidden so that the flows can be more easily understood. Clicking the Crossed Link (Hide Wire Links) button, at the bottom right of Rubix Wires. This will hide all wire links, except for the ones connected to selected nodes. Once clicked, the Hide Wire Links button will change to a Link (Show Wire Links) button. Clicking the Show Wire Links button will show all the wire links again. See the below image as an example.
All links visible:
No links visible (no nodes selected):
Only links connected to ‘Counter’ are visible (‘Counter’ node selected):