{
  "intrepidVersion": "0.4.0",
  "nodes": [
    {
      "id": "bb1ef0aa-46cb-458f-bd37-3cd45e8b53eb",
      "spec": {
        "type": "struct/vec2/make",
        "category": "Utilities/Struct",
        "theme": "green",
        "traits": [],
        "label": "Make Vec2",
        "helpText": "Creates Vec2 from its components.",
        "inputs": [
          {
            "label": "x",
            "helpText": "",
            "type": {
              "data": "float"
            },
            "container": "single",
            "count": "one",
            "isConst": false
          },
          {
            "label": "y",
            "helpText": "",
            "type": {
              "data": "float"
            },
            "container": "single",
            "count": "one",
            "isConst": false
          }
        ],
        "outputs": [
          {
            "label": "Result",
            "helpText": "",
            "type": {
              "data": "vec2"
            },
            "container": "single",
            "count": "one",
            "isConst": false
          }
        ],
        "agentTypes": [
          "core",
          "drone",
          "simulator"
        ]
      },
      "metadata": {
        "positionX": 684.0,
        "positionY": 600.0
      },
      "inputs": [
        {
          "id": "in-0",
          "label": "x",
          "valueType": "float",
          "value": "0.5"
        },
        {
          "id": "in-1",
          "label": "y",
          "valueType": "float"
        }
      ],
      "outputs": [
        {
          "id": "out-0",
          "label": "Result",
          "valueType": "vec2"
        }
      ]
    },
    {
      "id": "d748d07f-f666-4e59-824a-e89050474e03",
      "spec": {
        "type": "struct/vec3/make",
        "category": "Utilities/Struct",
        "theme": "green",
        "traits": [],
        "label": "Make Vec3",
        "helpText": "Creates Vec3 from its components.",
        "inputs": [
          {
            "label": "x",
            "helpText": "",
            "type": {
              "data": "float"
            },
            "container": "single",
            "count": "one",
            "isConst": false
          },
          {
            "label": "y",
            "helpText": "",
            "type": {
              "data": "float"
            },
            "container": "single",
            "count": "one",
            "isConst": false
          },
          {
            "label": "z",
            "helpText": "",
            "type": {
              "data": "float"
            },
            "container": "single",
            "count": "one",
            "isConst": false
          }
        ],
        "outputs": [
          {
            "label": "Result",
            "helpText": "",
            "type": {
              "data": "vec3"
            },
            "container": "single",
            "count": "one",
            "isConst": false
          }
        ],
        "agentTypes": [
          "core",
          "drone",
          "simulator"
        ]
      },
      "metadata": {
        "positionX": 1268.0,
        "positionY": 538.0
      },
      "inputs": [
        {
          "id": "in-0",
          "label": "x",
          "valueType": "float"
        },
        {
          "id": "in-1",
          "label": "y",
          "valueType": "float"
        },
        {
          "id": "in-2",
          "label": "z",
          "valueType": "float"
        }
      ],
      "outputs": [
        {
          "id": "out-0",
          "label": "Result",
          "valueType": "vec3"
        }
      ]
    },
    {
      "id": "d817119e-e11c-4196-8381-69dc3ab45727",
      "spec": {
        "type": "struct/vec2/break",
        "category": "Utilities/Struct",
        "theme": "green",
        "traits": [],
        "label": "Break Vec2",
        "helpText": "Breaks Vec2 into its components.",
        "inputs": [
          {
            "label": "Value",
            "helpText": "",
            "type": {
              "data": "vec2"
            },
            "container": "single",
            "count": "one",
            "isConst": false
          }
        ],
        "outputs": [
          {
            "label": "x",
            "helpText": "",
            "type": {
              "data": "float"
            },
            "container": "single",
            "count": "one",
            "isConst": false
          },
          {
            "label": "y",
            "helpText": "",
            "type": {
              "data": "float"
            },
            "container": "single",
            "count": "one",
            "isConst": false
          }
        ],
        "agentTypes": [
          "core",
          "drone",
          "simulator"
        ]
      },
      "metadata": {
        "positionX": 1095.0,
        "positionY": 539.0
      },
      "inputs": [
        {
          "id": "in-0",
          "label": "Value",
          "valueType": "vec2"
        }
      ],
      "outputs": [
        {
          "id": "out-0",
          "label": "x",
          "valueType": "float"
        },
        {
          "id": "out-1",
          "label": "y",
          "valueType": "float"
        }
      ]
    },
    {
      "id": "8dbdb291-ce0f-409c-8b1c-efc4053b87e4",
      "spec": {
        "type": "debug/log",
        "category": "Utilities/Development",
        "theme": "purple",
        "traits": [],
        "label": "Debug Log",
        "helpText": "Prints the input to the debug log, and visualizes it on the dashboard.",
        "inputs": [
          {
            "label": "flow",
            "helpText": "",
            "type": "flow",
            "container": "single",
            "count": "one",
            "isConst": false
          },
          {
            "label": "User Defined",
            "helpText": "",
            "type": "user_defined",
            "container": "any",
            "count": "one",
            "isConst": false
          },
          {
            "label": "User Defined..",
            "helpText": "",
            "type": "user_defined",
            "container": "any",
            "count": "zero_or_more",
            "isConst": false
          }
        ],
        "outputs": [
          {
            "label": "flow",
            "helpText": "",
            "type": "flow",
            "container": "single",
            "count": "one",
            "isConst": false
          }
        ],
        "agentTypes": [
          "core",
          "drone",
          "simulator"
        ]
      },
      "metadata": {
        "positionX": 1496.0,
        "positionY": 230.0
      },
      "inputs": [
        {
          "id": "in-0",
          "label": "flow",
          "valueType": "flow"
        },
        {
          "id": "in-1",
          "label": "message",
          "valueType": "vec2"
        }
      ],
      "outputs": [
        {
          "id": "out-0",
          "label": "flow",
          "valueType": "flow"
        }
      ]
    },
    {
      "id": "ebbff426-4931-4e05-9100-09549f80c023",
      "spec": {
        "type": "convert/integer/float",
        "category": "Math/Conversions",
        "theme": "green",
        "traits": [],
        "label": "Int to Float",
        "helpText": "Converts an integer to a float.",
        "inputs": [
          {
            "label": "Value",
            "helpText": "",
            "type": {
              "data": "integer"
            },
            "container": "single",
            "count": "one",
            "isConst": false
          }
        ],
        "outputs": [
          {
            "label": "Result",
            "helpText": "",
            "type": {
              "data": "float"
            },
            "container": "single",
            "count": "one",
            "isConst": false
          }
        ],
        "agentTypes": [
          "core",
          "drone",
          "simulator"
        ]
      },
      "metadata": {
        "positionX": 523.0,
        "positionY": 397.0
      },
      "inputs": [
        {
          "id": "in-0",
          "label": "Value",
          "valueType": "integer"
        }
      ],
      "outputs": [
        {
          "id": "out-0",
          "label": "Result",
          "valueType": "float"
        }
      ]
    },
    {
      "id": "2eb6f73d-f3a6-4889-940f-bc3520f34321",
      "spec": {
        "type": "math/float/mul",
        "category": "Math/Float",
        "theme": "green",
        "traits": [],
        "label": "* (Float)",
        "helpText": "Multiply all arguments together.",
        "inputs": [
          {
            "label": "A",
            "helpText": "",
            "type": {
              "data": "float"
            },
            "container": "single",
            "count": "one",
            "isConst": false
          },
          {
            "label": "B",
            "helpText": "",
            "type": {
              "data": "float"
            },
            "container": "single",
            "count": "one",
            "isConst": false
          },
          {
            "label": "C, D, ...",
            "helpText": "",
            "type": {
              "data": "float"
            },
            "container": "single",
            "count": "zero_or_more",
            "isConst": false
          }
        ],
        "outputs": [
          {
            "label": "Result",
            "helpText": "Result of the multiplication, A * B * C * ...",
            "type": {
              "data": "float"
            },
            "container": "single",
            "count": "one",
            "isConst": false
          }
        ],
        "agentTypes": [
          "core",
          "drone",
          "simulator"
        ]
      },
      "metadata": {
        "positionX": 533.0,
        "positionY": 500.0
      },
      "inputs": [
        {
          "id": "in-0",
          "label": "A",
          "valueType": "float"
        },
        {
          "id": "in-1",
          "label": "B",
          "valueType": "float"
        }
      ],
      "outputs": [
        {
          "id": "out-0",
          "label": "Result",
          "valueType": "float"
        }
      ]
    },
    {
      "id": "b7df2ef5-5a5a-496b-bfad-a528ea307baa",
      "spec": {
        "type": "geom/vec2/rotate",
        "category": "Math/Vectors/2D",
        "theme": "green",
        "traits": [],
        "label": "Rotate",
        "helpText": "Rotates a vector by a specified rotor.",
        "inputs": [
          {
            "label": "Vector",
            "helpText": "",
            "type": {
              "data": "vec2"
            },
            "container": "single",
            "count": "one",
            "isConst": false
          },
          {
            "label": "Rotor",
            "helpText": "",
            "type": {
              "data": "rotor2"
            },
            "container": "single",
            "count": "one",
            "isConst": false
          }
        ],
        "outputs": [
          {
            "label": "Result",
            "helpText": "",
            "type": {
              "data": "vec2"
            },
            "container": "single",
            "count": "one",
            "isConst": false
          }
        ],
        "agentTypes": [
          "core",
          "drone",
          "simulator"
        ]
      },
      "metadata": {
        "positionX": 891.0,
        "positionY": 542.0
      },
      "inputs": [
        {
          "id": "in-0",
          "label": "Vector",
          "valueType": "vec2"
        },
        {
          "id": "in-1",
          "label": "Rotor",
          "valueType": "rotor2"
        }
      ],
      "outputs": [
        {
          "id": "out-0",
          "label": "Result",
          "valueType": "vec2"
        }
      ]
    },
    {
      "id": "269010ae-21b2-4aa1-a8a0-41bb79a044a8",
      "spec": {
        "type": "geom/rotor2/from_angle",
        "category": "Math/Rotors/2D",
        "theme": "green",
        "traits": [],
        "label": "from Angle",
        "helpText": "Creates a 2D rotor from an angle.",
        "inputs": [
          {
            "label": "Angle",
            "helpText": "",
            "type": {
              "data": "float"
            },
            "container": "single",
            "count": "one",
            "isConst": false
          }
        ],
        "outputs": [
          {
            "label": "Result",
            "helpText": "",
            "type": {
              "data": "rotor2"
            },
            "container": "single",
            "count": "one",
            "isConst": false
          }
        ],
        "agentTypes": [
          "core",
          "drone",
          "simulator"
        ]
      },
      "metadata": {
        "positionX": 704.0,
        "positionY": 497.0
      },
      "inputs": [
        {
          "id": "in-0",
          "label": "Angle",
          "valueType": "float"
        }
      ],
      "outputs": [
        {
          "id": "out-0",
          "label": "Result",
          "valueType": "rotor2"
        }
      ]
    },
    {
      "id": "35e6bb93-a5af-4905-9ca7-687599b3777b",
      "spec": {
        "type": "math/float/div",
        "category": "Math/Float",
        "theme": "green",
        "traits": [],
        "label": "/ (Float)",
        "helpText": "Divide the first argument by all others.",
        "inputs": [
          {
            "label": "A",
            "helpText": "",
            "type": {
              "data": "float"
            },
            "container": "single",
            "count": "one",
            "isConst": false
          },
          {
            "label": "B",
            "helpText": "",
            "type": {
              "data": "float"
            },
            "container": "single",
            "count": "one",
            "isConst": false
          },
          {
            "label": "C, D, ...",
            "helpText": "",
            "type": {
              "data": "float"
            },
            "container": "single",
            "count": "zero_or_more",
            "isConst": false
          }
        ],
        "outputs": [
          {
            "label": "Result",
            "helpText": "Result of the division, A / B / C / ...",
            "type": {
              "data": "float"
            },
            "container": "single",
            "count": "one",
            "isConst": false
          }
        ],
        "agentTypes": [
          "core",
          "drone",
          "simulator"
        ]
      },
      "metadata": {
        "positionX": 365.0,
        "positionY": 505.0
      },
      "inputs": [
        {
          "id": "in-0",
          "label": "A",
          "valueType": "float"
        },
        {
          "id": "in-1",
          "label": "B",
          "valueType": "float"
        }
      ],
      "outputs": [
        {
          "id": "out-0",
          "label": "Result",
          "valueType": "float"
        }
      ]
    },
    {
      "id": "f9c53621-c9df-4ace-a4b8-c9d756c3734f",
      "spec": {
        "type": "convert/integer/float",
        "category": "Math/Conversions",
        "theme": "green",
        "traits": [],
        "label": "Int to Float",
        "helpText": "Converts an integer to a float.",
        "inputs": [
          {
            "label": "Value",
            "helpText": "",
            "type": {
              "data": "integer"
            },
            "container": "single",
            "count": "one",
            "isConst": false
          }
        ],
        "outputs": [
          {
            "label": "Result",
            "helpText": "",
            "type": {
              "data": "float"
            },
            "container": "single",
            "count": "one",
            "isConst": false
          }
        ],
        "agentTypes": [
          "core",
          "drone",
          "simulator"
        ]
      },
      "metadata": {
        "positionX": 180.0,
        "positionY": 587.0
      },
      "inputs": [
        {
          "id": "in-0",
          "label": "Value",
          "valueType": "integer"
        }
      ],
      "outputs": [
        {
          "id": "out-0",
          "label": "Result",
          "valueType": "float"
        }
      ]
    },
    {
      "id": "9adec951-1262-4293-ae0f-6bb8383d2c83",
      "spec": {
        "type": "math/float/consts/tau",
        "category": "Math/Float/Constants",
        "theme": "green",
        "traits": [],
        "label": "Get TAU",
        "helpText": "Returns the value of TAU (τ, ~6.28318).",
        "inputs": [],
        "outputs": [
          {
            "label": "Result",
            "helpText": "",
            "type": {
              "data": "float"
            },
            "container": "single",
            "count": "one",
            "isConst": false
          }
        ],
        "agentTypes": [
          "core",
          "drone",
          "simulator"
        ]
      },
      "metadata": {
        "positionX": 184.0,
        "positionY": 490.0
      },
      "inputs": [],
      "outputs": [
        {
          "id": "out-0",
          "label": "Result",
          "valueType": "float"
        }
      ]
    },
    {
      "id": "60ffa25c-df95-4bcf-9533-d06065666f42",
      "spec": {
        "type": "math/integer/add",
        "category": "Math/Integer",
        "theme": "green",
        "traits": [],
        "label": "+ (Int)",
        "helpText": "Add all arguments together, returns an error if the result overflows.",
        "inputs": [
          {
            "label": "A",
            "helpText": "",
            "type": {
              "data": "integer"
            },
            "container": "single",
            "count": "one",
            "isConst": false
          },
          {
            "label": "B",
            "helpText": "",
            "type": {
              "data": "integer"
            },
            "container": "single",
            "count": "one",
            "isConst": false
          },
          {
            "label": "C, D, ...",
            "helpText": "",
            "type": {
              "data": "integer"
            },
            "container": "single",
            "count": "zero_or_more",
            "isConst": false
          }
        ],
        "outputs": [
          {
            "label": "Result",
            "helpText": "Result of the addition, A + B + C + ...",
            "type": {
              "data": "integer"
            },
            "container": "single",
            "count": "one",
            "isConst": false
          }
        ],
        "agentTypes": [
          "core",
          "drone",
          "simulator"
        ]
      },
      "metadata": {
        "positionX": 769.0,
        "positionY": 277.0
      },
      "inputs": [
        {
          "id": "in-0",
          "label": "A",
          "valueType": "integer"
        },
        {
          "id": "in-1",
          "label": "B",
          "valueType": "integer",
          "value": "2"
        }
      ],
      "outputs": [
        {
          "id": "out-0",
          "label": "Result",
          "valueType": "integer"
        }
      ]
    },
    {
      "id": "bb36bf97-5c65-48b8-9fcf-3f05ab10687c",
      "spec": {
        "type": "world/entity/spawn_drone",
        "category": "World/Entity",
        "theme": "gray",
        "traits": [],
        "label": "Spawn Drone",
        "helpText": "Spawn a new Crazyflie drone in the world",
        "inputs": [
          {
            "label": "flow",
            "helpText": "",
            "type": "flow",
            "container": "single",
            "count": "one",
            "isConst": false
          },
          {
            "label": "Position",
            "helpText": "Position to spawn at",
            "type": {
              "data": "vec3"
            },
            "container": "single",
            "count": "one",
            "isConst": false
          },
          {
            "label": "Rotation",
            "helpText": "Rotation to spawn at",
            "type": {
              "data": "rotor3"
            },
            "container": "single",
            "count": "one",
            "isConst": false
          },
          {
            "label": "RobotId",
            "helpText": "",
            "type": {
              "data": "integer"
            },
            "container": "single",
            "count": "one",
            "isConst": false
          },
          {
            "label": "Graph",
            "helpText": "",
            "type": {
              "data": "agent"
            },
            "container": "single",
            "count": "one",
            "isConst": false
          }
        ],
        "outputs": [
          {
            "label": "flow",
            "helpText": "",
            "type": "flow",
            "container": "single",
            "count": "one",
            "isConst": false
          },
          {
            "label": "Entity",
            "helpText": "",
            "type": {
              "data": "entity"
            },
            "container": "single",
            "count": "one",
            "isConst": false
          }
        ],
        "agentTypes": [
          "simulator"
        ]
      },
      "metadata": {
        "positionX": 1106.0,
        "positionY": 166.0
      },
      "inputs": [
        {
          "id": "in-0",
          "label": "flow",
          "valueType": "flow"
        },
        {
          "id": "in-1",
          "label": "Position",
          "valueType": "vec3"
        },
        {
          "id": "in-2",
          "label": "Rotation",
          "valueType": "rotor3"
        },
        {
          "id": "in-3",
          "label": "RobotId",
          "valueType": "integer"
        },
        {
          "id": "in-4",
          "label": "Graph",
          "valueType": "agent",
          "value": "agent"
        }
      ],
      "outputs": [
        {
          "id": "out-0",
          "label": "flow",
          "valueType": "flow"
        },
        {
          "id": "out-1",
          "label": "Entity",
          "valueType": "entity"
        }
      ]
    },
    {
      "id": "2d2696db-f601-4c4e-9797-836fd8711aa1",
      "spec": {
        "type": "literal/integer",
        "category": "Math/Integer",
        "theme": "green",
        "traits": [],
        "label": "Make Int",
        "helpText": "Creates a literal integer.",
        "inputs": [
          {
            "label": "Value",
            "helpText": "",
            "type": {
              "data": "integer"
            },
            "container": "single",
            "count": "one",
            "isConst": false
          }
        ],
        "outputs": [
          {
            "label": "Result",
            "helpText": "",
            "type": {
              "data": "integer"
            },
            "container": "single",
            "count": "one",
            "isConst": false
          }
        ],
        "agentTypes": [
          "core",
          "drone",
          "simulator"
        ]
      },
      "metadata": {
        "positionX": -49.0,
        "positionY": 283.0
      },
      "inputs": [
        {
          "id": "in-0",
          "label": "Value",
          "valueType": "integer",
          "value": "5"
        }
      ],
      "outputs": [
        {
          "id": "out-0",
          "label": "Result",
          "valueType": "integer"
        }
      ]
    },
    {
      "id": "d3038609-46c2-4c77-9ead-92fa0b47d690",
      "spec": {
        "type": "flow/for_loop",
        "category": "Utilities/Flow Control",
        "theme": "white",
        "traits": [],
        "label": "For Loop",
        "helpText": "Executes Loop Body for each index from First to Last (inclusive).",
        "inputs": [
          {
            "label": "flow",
            "helpText": "",
            "type": "flow",
            "container": "single",
            "count": "one",
            "isConst": false
          },
          {
            "label": "First Index",
            "helpText": "",
            "type": {
              "data": "integer"
            },
            "container": "single",
            "count": "one",
            "isConst": false
          },
          {
            "label": "Last Index",
            "helpText": "",
            "type": {
              "data": "integer"
            },
            "container": "single",
            "count": "one",
            "isConst": false
          }
        ],
        "outputs": [
          {
            "label": "Loop Body",
            "helpText": "Triggered for each iteration.",
            "type": "flow",
            "container": "single",
            "count": "one",
            "isConst": false
          },
          {
            "label": "Completed",
            "helpText": "Triggered when the loop is finished.",
            "type": "flow",
            "container": "single",
            "count": "one",
            "isConst": false
          },
          {
            "label": "Index",
            "helpText": "Current index.",
            "type": {
              "data": "integer"
            },
            "container": "single",
            "count": "one",
            "isConst": false
          }
        ],
        "agentTypes": [
          "core",
          "drone",
          "simulator"
        ]
      },
      "metadata": {
        "positionX": 435.0,
        "positionY": 208.0
      },
      "inputs": [
        {
          "id": "in-0",
          "label": "flow",
          "valueType": "flow"
        },
        {
          "id": "in-1",
          "label": "First Index",
          "valueType": "integer",
          "value": "1"
        },
        {
          "id": "in-2",
          "label": "Last Index",
          "valueType": "integer"
        }
      ],
      "outputs": [
        {
          "id": "out-0",
          "label": "Loop Body",
          "valueType": "flow"
        },
        {
          "id": "out-1",
          "label": "Completed",
          "valueType": "flow"
        },
        {
          "id": "out-2",
          "label": "Index",
          "valueType": "integer"
        }
      ]
    },
    {
      "id": "86b804d2-292e-48bc-abf1-302e60a20593",
      "spec": {
        "type": "flow/sequence",
        "category": "Utilities/Flow Control",
        "theme": "white",
        "traits": [],
        "label": "Sequence",
        "helpText": "Executes a series of actions in order.",
        "inputs": [
          {
            "label": "flow",
            "helpText": "",
            "type": "flow",
            "container": "single",
            "count": "one",
            "isConst": false
          }
        ],
        "outputs": [
          {
            "label": "Then 0",
            "helpText": "",
            "type": "flow",
            "container": "single",
            "count": "one",
            "isConst": false
          },
          {
            "label": "Then 1",
            "helpText": "",
            "type": "flow",
            "container": "single",
            "count": "one",
            "isConst": false
          },
          {
            "label": "Then 2..",
            "helpText": "",
            "type": "flow",
            "container": "single",
            "count": "zero_or_more",
            "isConst": false
          }
        ],
        "agentTypes": [
          "core",
          "drone",
          "simulator"
        ]
      },
      "metadata": {
        "positionX": 253.0,
        "positionY": 100.0
      },
      "inputs": [
        {
          "id": "in-0",
          "label": "flow",
          "valueType": "flow"
        }
      ],
      "outputs": [
        {
          "id": "out-0",
          "label": "Then 0",
          "valueType": "flow"
        },
        {
          "id": "out-1",
          "label": "Then 1",
          "valueType": "flow"
        }
      ]
    },
    {
      "id": "bf944ead-9854-40cd-b5b9-2eaa1b471330",
      "spec": {
        "type": "event/on_start",
        "category": "Graph/Events",
        "theme": "red",
        "traits": [],
        "label": "On Start",
        "helpText": "Event is triggered when graph execution starts.",
        "inputs": [],
        "outputs": [
          {
            "label": "flow",
            "helpText": "",
            "type": "flow",
            "container": "single",
            "count": "one",
            "isConst": false
          }
        ],
        "agentTypes": [
          "core",
          "drone",
          "simulator"
        ]
      },
      "metadata": {
        "positionX": 66.0,
        "positionY": 108.0
      },
      "inputs": [],
      "outputs": [
        {
          "id": "out-0",
          "label": "flow",
          "valueType": "flow"
        }
      ]
    },
    {
      "id": "f21ac8f8-00fb-4560-8810-4406c80c0588",
      "spec": {
        "type": "world/entity/spawn_drone",
        "category": "World/Entity",
        "theme": "gray",
        "traits": [],
        "label": "Spawn Drone",
        "helpText": "Spawn a new Crazyflie drone in the world",
        "inputs": [
          {
            "label": "flow",
            "helpText": "",
            "type": "flow",
            "container": "single",
            "count": "one",
            "isConst": false
          },
          {
            "label": "Position",
            "helpText": "Position to spawn at",
            "type": {
              "data": "vec3"
            },
            "container": "single",
            "count": "one",
            "isConst": false
          },
          {
            "label": "Rotation",
            "helpText": "Rotation to spawn at",
            "type": {
              "data": "rotor3"
            },
            "container": "single",
            "count": "one",
            "isConst": false
          },
          {
            "label": "RobotId",
            "helpText": "",
            "type": {
              "data": "integer"
            },
            "container": "single",
            "count": "one",
            "isConst": false
          },
          {
            "label": "Graph",
            "helpText": "",
            "type": {
              "data": "agent"
            },
            "container": "single",
            "count": "one",
            "isConst": false
          }
        ],
        "outputs": [
          {
            "label": "flow",
            "helpText": "",
            "type": "flow",
            "container": "single",
            "count": "one",
            "isConst": false
          },
          {
            "label": "Entity",
            "helpText": "",
            "type": {
              "data": "entity"
            },
            "container": "single",
            "count": "one",
            "isConst": false
          }
        ],
        "agentTypes": [
          "simulator"
        ]
      },
      "metadata": {
        "positionX": 430.0,
        "positionY": -46.0
      },
      "inputs": [
        {
          "id": "in-0",
          "label": "flow",
          "valueType": "flow"
        },
        {
          "id": "in-1",
          "label": "Position",
          "valueType": "vec3"
        },
        {
          "id": "in-2",
          "label": "Rotation",
          "valueType": "rotor3"
        },
        {
          "id": "in-3",
          "label": "RobotId",
          "valueType": "integer",
          "value": "1"
        },
        {
          "id": "in-4",
          "label": "Graph",
          "valueType": "agent",
          "value": "agent"
        }
      ],
      "outputs": [
        {
          "id": "out-0",
          "label": "flow",
          "valueType": "flow"
        },
        {
          "id": "out-1",
          "label": "Entity",
          "valueType": "entity"
        }
      ]
    }
  ],
  "edges": [
    {
      "source": "d817119e-e11c-4196-8381-69dc3ab45727",
      "sourceHandle": "out-1",
      "target": "d748d07f-f666-4e59-824a-e89050474e03",
      "targetHandle": "in-1"
    },
    {
      "source": "d817119e-e11c-4196-8381-69dc3ab45727",
      "sourceHandle": "out-0",
      "target": "d748d07f-f666-4e59-824a-e89050474e03",
      "targetHandle": "in-0"
    },
    {
      "source": "b7df2ef5-5a5a-496b-bfad-a528ea307baa",
      "sourceHandle": "out-0",
      "target": "d817119e-e11c-4196-8381-69dc3ab45727",
      "targetHandle": "in-0"
    },
    {
      "source": "b7df2ef5-5a5a-496b-bfad-a528ea307baa",
      "sourceHandle": "out-0",
      "target": "8dbdb291-ce0f-409c-8b1c-efc4053b87e4",
      "targetHandle": "in-1"
    },
    {
      "source": "d3038609-46c2-4c77-9ead-92fa0b47d690",
      "sourceHandle": "out-2",
      "target": "ebbff426-4931-4e05-9100-09549f80c023",
      "targetHandle": "in-0"
    },
    {
      "source": "ebbff426-4931-4e05-9100-09549f80c023",
      "sourceHandle": "out-0",
      "target": "2eb6f73d-f3a6-4889-940f-bc3520f34321",
      "targetHandle": "in-0"
    },
    {
      "source": "35e6bb93-a5af-4905-9ca7-687599b3777b",
      "sourceHandle": "out-0",
      "target": "2eb6f73d-f3a6-4889-940f-bc3520f34321",
      "targetHandle": "in-1"
    },
    {
      "source": "bb1ef0aa-46cb-458f-bd37-3cd45e8b53eb",
      "sourceHandle": "out-0",
      "target": "b7df2ef5-5a5a-496b-bfad-a528ea307baa",
      "targetHandle": "in-0"
    },
    {
      "source": "269010ae-21b2-4aa1-a8a0-41bb79a044a8",
      "sourceHandle": "out-0",
      "target": "b7df2ef5-5a5a-496b-bfad-a528ea307baa",
      "targetHandle": "in-1"
    },
    {
      "source": "2eb6f73d-f3a6-4889-940f-bc3520f34321",
      "sourceHandle": "out-0",
      "target": "269010ae-21b2-4aa1-a8a0-41bb79a044a8",
      "targetHandle": "in-0"
    },
    {
      "source": "f9c53621-c9df-4ace-a4b8-c9d756c3734f",
      "sourceHandle": "out-0",
      "target": "35e6bb93-a5af-4905-9ca7-687599b3777b",
      "targetHandle": "in-1"
    },
    {
      "source": "9adec951-1262-4293-ae0f-6bb8383d2c83",
      "sourceHandle": "out-0",
      "target": "35e6bb93-a5af-4905-9ca7-687599b3777b",
      "targetHandle": "in-0"
    },
    {
      "source": "2d2696db-f601-4c4e-9797-836fd8711aa1",
      "sourceHandle": "out-0",
      "target": "f9c53621-c9df-4ace-a4b8-c9d756c3734f",
      "targetHandle": "in-0"
    },
    {
      "source": "d3038609-46c2-4c77-9ead-92fa0b47d690",
      "sourceHandle": "out-2",
      "target": "60ffa25c-df95-4bcf-9533-d06065666f42",
      "targetHandle": "in-0"
    },
    {
      "source": "60ffa25c-df95-4bcf-9533-d06065666f42",
      "sourceHandle": "out-0",
      "target": "bb36bf97-5c65-48b8-9fcf-3f05ab10687c",
      "targetHandle": "in-3"
    },
    {
      "source": "d748d07f-f666-4e59-824a-e89050474e03",
      "sourceHandle": "out-0",
      "target": "bb36bf97-5c65-48b8-9fcf-3f05ab10687c",
      "targetHandle": "in-1"
    },
    {
      "source": "2d2696db-f601-4c4e-9797-836fd8711aa1",
      "sourceHandle": "out-0",
      "target": "d3038609-46c2-4c77-9ead-92fa0b47d690",
      "targetHandle": "in-2"
    },
    {
      "source": "bb36bf97-5c65-48b8-9fcf-3f05ab10687c",
      "sourceHandle": "out-0",
      "target": "8dbdb291-ce0f-409c-8b1c-efc4053b87e4",
      "targetHandle": "in-0"
    },
    {
      "source": "d3038609-46c2-4c77-9ead-92fa0b47d690",
      "sourceHandle": "out-0",
      "target": "bb36bf97-5c65-48b8-9fcf-3f05ab10687c",
      "targetHandle": "in-0"
    },
    {
      "source": "86b804d2-292e-48bc-abf1-302e60a20593",
      "sourceHandle": "out-1",
      "target": "d3038609-46c2-4c77-9ead-92fa0b47d690",
      "targetHandle": "in-0"
    },
    {
      "source": "86b804d2-292e-48bc-abf1-302e60a20593",
      "sourceHandle": "out-0",
      "target": "f21ac8f8-00fb-4560-8810-4406c80c0588",
      "targetHandle": "in-0"
    },
    {
      "source": "bf944ead-9854-40cd-b5b9-2eaa1b471330",
      "sourceHandle": "out-0",
      "target": "86b804d2-292e-48bc-abf1-302e60a20593",
      "targetHandle": "in-0"
    }
  ]
}
