La interconexión y el flujo de datos entre operadores se gestiona mediante cables (wires).
La instanciación de una conexión se realiza mediante una operación de arrastrar y soltar (drag-and-drop) desde un conector de salida (output) de un operador a un conector de entrada (input) de otro, restringido a operadores de la misma familia, identificada por el código de color de sus conectores. Para reemplazar una conexión, se arrastra un nuevo cable de salida hacia la entrada deseada; si la entrada es única, la conexión anterior se sobrescribe. En operadores con capacidad de multi-entrada, como el `Composite TOP`, es posible reemplazar una conexión específica en el stack de entradas.
Al posicionar el cursor sobre un cable existente durante una operación de conexión, este se resalta en amarillo, indicando la posibilidad de reemplazar dicha conexión al soltar el ratón, preservando la posición ordinal del cable original en el conjunto de entradas del operador de destino. La desconexión de un cable se ejecuta a través de su menú contextual (clic derecho), seleccionando la opción ‘Disconnect’.
Para la navegación en redes complejas, el mismo menú contextual del cable ofrece las funciones ‘Select Source’ y ‘Select Destination’, que seleccionan programáticamente el operador de origen o destino de la conexión, respectivamente.
La creación de operadores subsecuentes, conectados automáticamente a una salida, se logra mediante el menú contextual del conector de salida. La modificación de una cadena de procesamiento existente se puede efectuar de dos maneras desde el menú contextual del cable. La función ‘Insert Operator’ intercala un nuevo operador en el flujo de datos, interrumpiendo la conexión original para redirigirla a través del nuevo nodo. En contraste, la función ‘Add Operator’ instancia un nuevo operador y establece una bifurcación (branch) en el flujo de datos, creando una nueva salida de la conexión original sin alterarla.
Los operadores de Componente (`COMPs`), identificados por su color gris, como `Container` y `Base`, actúan como contenedores para la encapsulación de subredes. Son polimórficos en cuanto a sus conectores de E/S, pudiendo gestionar flujos de datos de cualquier familia de operadores (TOP, CHOP, SOP, MAT, DAT). El `Container COMP` se distingue del `Base COMP` por su capacidad para alojar un panel de interfaz de usuario, permitiendo la construcción de componentes de control personalizados, mientras que el `Base` funciona como un contenedor puramente lógico para la organización estructural de la red.
La definición de una interfaz de entrada/salida para un `COMP` se realiza internamente mediante la instanciación de operadores `In` y `Out` específicos de la familia de datos a procesar. Un `In TOP`, por ejemplo, crea un conector de entrada para texturas en el `COMP`, mientras que un `Out TOP` genera el correspondiente conector de salida. El flujo de datos dentro del `COMP` debe ser explícitamente conectado desde el `In OP` hacia el `Out OP`. En su configuración mínima, una cadena `In` — `Out` funciona como un passthrough (puente).
La inserción de operadores de procesamiento, como un `Blur TOP`, entre estos nodos de E/S permite encapsular lógicas complejas. Los parámetros de los operadores encapsulados pueden ser expuestos y controlados desde el nivel superior de la red. Esto se logra creando elementos de interfaz (e.g., un `Slider COMP`) en el panel del `Container`. El valor de salida del control, típicamente un canal `CHOP` extraído mediante un `Null CHOP` para mantener la organización, se vincula a un parámetro del operador interno (e.g., el parámetro `Pre-Shrink` de un `Blur TOP`) mediante la exportación de CHOP a parámetro (CHOP Export) o el uso de referencias en expresiones. Esta metodología permite la creación de componentes modulares y reutilizables con interfaces de control abstraídas. Los operadores `In` y `Out` existen para todas las familias de datos (`TOP`, `CHOP`, `SOP`, `MAT`, `DAT`), permitiendo esta arquitectura de encapsulación para cualquier tipo de procesamiento.