Skip to content

Network Viewer

v0.1.0New

The Network Viewer is a system component that serializes your TouchDesigner network into structured JSON data and sends it to the LOP Studio Dashboard. It registers action handlers with the LOP Studio Connector, allowing the Dashboard to request network layouts, operator parameters, and navigate into child COMPs — all over WebSocket.

When initialized, the Network Viewer automatically registers four action handlers with the LOP Studio Connector (op.LOP_Studio_io):

  • get_network_structure — Returns all operators in a given COMP, including positions, connections, colors, types, and nesting info for rendering a network graph.
  • get_operator_params — Returns the parameters of a selected operator, organized by custom and built-in pages with full type/mode/menu metadata.
  • get_network_root — Returns top-level project entry points for navigation (root and all project-level COMPs).
  • set_operator_parameter — Sets a parameter value on any operator, with safety checks for read-only, exported, and expression-mode parameters.

The Dashboard sends these requests over WebSocket, and the Network Viewer responds with serialized data that the frontend uses to render an interactive network view.

  • Serializes operator positions, dimensions, colors, connections, and hierarchy for visual network rendering
  • Supports drilling into child COMPs for multi-level network navigation
  • Returns parameter metadata including types, modes, menu options, ranges, and group information
  • Handles annotation COMPs specially, including title and body text
  • Protects against unsafe parameter writes (read-only, CHOP exports, expressions)
  • Includes debug DATs for inspecting raw JSON output inside TouchDesigner
  • LOP Studio Connector — The Network Viewer requires op.LOP_Studio_io (the LOP Studio Connector system component) to be present and running. Handlers will not register without it.
  1. Check the Handlers Registered indicator on the Network Viewer page. If it shows On, the viewer is connected to the LOP Studio Connector and ready to serve requests.
  2. If handlers are not registered, pulse Register Handlers to manually connect.
  3. To disconnect, pulse Unregister Handlers.

You can test the network inspection without the Dashboard:

  1. Set Default Path to the COMP you want to inspect (e.g., /project1).
  2. Pulse Test Network to fetch the network structure for that path. The results appear in the network_data_debug DAT inside the operator.
  3. To test parameter inspection, enter an operator path in Test Op Path (e.g., /project1/base1), then pulse Test Params. Results appear in the params_data_debug DAT.
  • Default Path — The fallback component path used when no specific path is included in a request. Defaults to /.
  • Max Parameters — Limits how many parameters are returned per operator to keep responses manageable. Defaults to 50.
  • Include Built-in Pages — When enabled, built-in TouchDesigner parameter pages (Transform, Common, etc.) are included alongside custom pages. Enabled by default.

When the Dashboard requests a network structure for a given COMP path, the viewer:

  1. Resolves the path to a TouchDesigner COMP
  2. Finds all direct children (depth 1, including utility operators)
  3. Serializes each child with position, size, color, connections, type info, and hierarchy data
  4. Returns the full list along with the parent path for back-navigation

Each serialized operator includes input/output connection paths, allowing the frontend to draw wires between nodes.

When a user selects an operator in the Dashboard, it requests that operator’s parameters. The viewer:

  1. Collects custom page parameters first (these are most relevant)
  2. Optionally adds built-in page parameters if enabled
  3. Includes full metadata: type, mode (constant/expression/export/bind), menu options, numeric ranges, group info, and editability state

The Dashboard can also modify parameters through the viewer. The set handler includes safety checks:

  • Read-only parameters are rejected with a clear error
  • Exported parameters (driven by CHOP exports) are rejected, reporting the export source
  • Expression-mode parameters trigger a warning unless force is set, preventing accidental expression clearing
  • Pulse parameters are pulsed rather than assigned a value

Handlers not registering The LOP Studio Connector must be present at op.LOP_Studio_io with its extension loaded. Verify the connector is running, then pulse Register Handlers.

“Component not found” errors The requested path does not resolve to a valid TouchDesigner operator. Check that the path exists and is spelled correctly.

“Path is not a COMP” errors Network structure can only be fetched for COMPs (components that contain children). TOPs, CHOPs, DATs, and other operator families cannot be navigated into.

Parameters truncated If the response indicates truncation, increase Max Parameters on the Network Viewer page. The default limit of 50 covers most operators but complex ones may have more.