Debug Operator Workflow
Systematic approach to diagnosing TD operator errors:
- Get errors and warnings:
get_op_errorswithrecurse=trueon the suspected operator and its children - Inspect the operator:
get_opto see type, family, parameters, inputs, outputs, children - Check connections:
get_connectionsto verify input/output wiring is correct - Read DAT content:
get_dat_contentif the operator is a DAT with script errors - Check parameters:
get_parameteron specific parameters that might be misconfigured - Check performance:
get_op_performanceif the issue is cook-time related
Common Error Patterns
- Missing input: Operator requires a specific input type — check connections
- Script error in DAT: Read the DAT content and fix the Python/expression
- Parameter out of range: Check parameter values against valid ranges
- Missing operator reference: An expression or parameter references a non-existent operator
- Cook error: The operator can't process its inputs — check input data types match expectations
- Black or empty render: Use
capture_topon the intended output TOP, then check display/render flags on the output and upstream ops; missing light or camera (a 3D scene renders black without both); no cooking Null terminating the chain; a bypass flag left on; resolution is 0; alpha is premultiplied/zero so the image is present but invisible; and whether the op is cooking (checkcookedThisFrameviaget_op_performance, or force a cook). After each fix, usecapture_topagain to confirm the frame renders correctly.
Source: dylanroscover/Embody — distributed by TomeVault.