Connections Between Agents

Video Transcript

An Embrio program is made up of many Agents all running in parallel. An Agent should encapsulate just one task or purpose. For example one Agent can read a potentiometer value, another can write an LED value, others can control different states of the LED like Blink or Fade, and a final Agent can decide which state to make active.

To expose an input or output to outside connections you press the plug icon next to the input or output. When an IO is exposed it has a red background indication.

To make a connection from one Agent to another, drag the Agent you want to make a connection to from the Project Tree onto the editor. This will create a node that exposes all of the external inputs and outputs of the linked agent. This does not make another copy of the Agent, it only makes connections to that Agent.

When an exposed input or output has a connection from another Agent, its end becomes solid red. Inputs with an external connection can no longer be manually dragged because the value of this input is set by the connected outputs.

Double click on an Agent node to open that Agent’s editor.

Hover over an input or output with external connections and press the Space bar to bring up the connection visualizer to show which Agents connect to it. Click on one of the connected Agents to bring up its editor. Pressing space when not hovered over an input or output brings up the visualizer for all exposed IO in the current Agent. A complex program will have many connections between many Agents, the connection visualizer makes it easy to navigate around such projects.