- Voro
- Authoring
Authoring
Every view of the Voro menu starts with the same column. It holds the operators that take a source you write, and Convert. Place one, edit its source in TouchDesigner, press Reload. The node keeps its last working version running while you edit, so a broken Reload never takes the graph down.
The entry points
Section titled “The entry points”| Operator | You write | Reload compiles |
|---|---|---|
| Kernel FX | A Python kernel in the Numba-CUDA dialect | GPU code that runs natively on every frame |
| Script FX | A Python process function | A script the shared Python provider runs per frame |
| ONNX FX | Nothing. You point it at an .onnx file and a config | A model session on the GPU |
| Rig FX | A .rig source: a control machine, and a surface when it declares an artboard | A running show document, and a drawn picture when there is an artboard |
| Warp FX | Warp kernels over geometry, fields and state | Native GPU stages |
| Material | A look() function in GLSL-like source | A material the path tracer calls |
| Convert | Nothing. You choose an input class, an output class and a method | An explicit conversion between wire kinds |
What they share
Section titled “What they share”The source is a DAT docked to the node. The node’s own page names it, and the name is the default source name for that operator. Edit the DAT in TouchDesigner, or sync it from a file on disk. Nothing recompiles until you press Reload.
Reload compiles off the frame loop. When it succeeds, the node adopts the new source. When it fails, the node reports the error and keeps the previous good source running. You fix the text and press Reload again.
Two kinds of control appear on a node. Values you declare in the source become parameters, and turning one applies live. Changing what the source declares, such as a port, a state array or a stage, takes a Reload.
Any authored node can be saved as a custom module. It then appears in the Custom column of its view, with its source, presets and a place on disk that you own.