Network Viewer
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.
Overview
Section titled “Overview”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.
Key Features
Section titled “Key Features”- 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
Requirements
Section titled “Requirements”- 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.
Verifying Connection
Section titled “Verifying Connection”- 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.
- If handlers are not registered, pulse Register Handlers to manually connect.
- To disconnect, pulse Unregister Handlers.
Testing Locally
Section titled “Testing Locally”You can test the network inspection without the Dashboard:
- Set Default Path to the COMP you want to inspect (e.g.,
/project1). - Pulse Test Network to fetch the network structure for that path. The results appear in the
network_data_debugDAT inside the operator. - To test parameter inspection, enter an operator path in Test Op Path (e.g.,
/project1/base1), then pulse Test Params. Results appear in theparams_data_debugDAT.
Configuration
Section titled “Configuration”- 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.
How It Works
Section titled “How It Works”Network Structure
Section titled “Network Structure”When the Dashboard requests a network structure for a given COMP path, the viewer:
- Resolves the path to a TouchDesigner COMP
- Finds all direct children (depth 1, including utility operators)
- Serializes each child with position, size, color, connections, type info, and hierarchy data
- 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.
Parameter Inspection
Section titled “Parameter Inspection”When a user selects an operator in the Dashboard, it requests that operator’s parameters. The viewer:
- Collects custom page parameters first (these are most relevant)
- Optionally adds built-in page parameters if enabled
- Includes full metadata: type, mode (constant/expression/export/bind), menu options, numeric ranges, group info, and editability state
Parameter Setting
Section titled “Parameter Setting”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
forceis set, preventing accidental expression clearing - Pulse parameters are pulsed rather than assigned a value
Troubleshooting
Section titled “Troubleshooting”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.