Skip to main content

Sockets and data types

Sockets are the connection points on nodes that allow data to flow in and out:

  • Input sockets (left side) receive data into the node
  • Output sockets (right side) send data out from the node
  • Trigger sockets are special inputs that execute/update the node

Socket Types​

Input Sockets​

Input sockets can receive data in two ways:

  1. From a connection with another node's output
  2. As a constant value stored on the node

When both are present, the connection takes precedence over the constant value.

Output Sockets​

Output sockets expose data generated by the node. They can:

  • Connect to multiple input sockets
  • Update automatically based on the node's update behavior

Trigger Sockets​

Trigger sockets are special input sockets that:

  • Control when a node executes
  • Can be added to any node via the right-click menu
  • Have different trigger methods

Learn more about a node's Update/Execution behaviour

Data Types​

Sockets have specific data types that define what kind of data they can handle:

Data TypeDescriptionExample
anyAny type of dataCan accept any value
arrayOrdered collection of items[1, 2, 3]
booleanTrue or falsetrue or false
codeJavaScript codefunction() { return 42; }
colorColor representation#FF0000 or rgb(255, 0, 0)
dataTypeRepresents a data type"number"
deferredPixiPIXI.js rendering objectGraphics rendering elements
dynamicEnumDynamic list of optionsOptions based on another input
enumFixed list of optionsSelected from predefined list
fileReference to a local resource in IndexedDB"[file name]-[size]"
imageBase64-encoded image data"data:image/png;base64,..."
functionJavaScript function(x) => x * 2
htmlHTML content<div>Hello World</div>
imageImage dataPNG/JPG data
jsonJSON data{"name": "value"}
numberNumeric value42 or 3.14
stringText value"Hello World"
triggerActivation signalUsed to trigger node execution
2D vector2D vector representation{ "x": 0, "y": 0 }
3D vector3D spatial representation{ "x": 0, "y": 0, "z": 0 }
Widget LayoutContainer layout and styling configurationCSS stylings

Type Conversion​

tailrmade attempts to automatically convert between compatible data types when possible:

  • number to string: 42 → "42"
  • string to number: "42" → 42 (if string contains a valid number)
  • boolean to number: true → 1, false → 0

When a conversion isn't possible, you may need to use specific converter nodes.

Learn more about how to Build your graph