Undo and redo operations are supported in two ways. Most of the support is for the design mode (editing networks in TouchDesigner), with limited support in perform mode.
In design mode where you are editing netwoks, user interactions such as creating or deleting nodes, changing node paramters etc, can be reverted via the Edit->Undo menu or Ctrl-Z. Ctrl-Y or Edit->Redo will redo any undos.
In perform mode where you are interacting with control panels authored in design mode, you may want to turn off undo and redo for performance reasons, although interacting with panels do not trigger undo creation.
There is only one undo/redo queue because of the interdependencies in TouchDesigner. You can undo a node creation if you have open up the Animation Editor, or undo a keyframe change while you are in the network editor.
Undo in Scripts and Textports
By default, undo creation in scripts is turned off. If you want to enable undo in a script, you will have to use the undo Command to change the undo creation state. Undo states are not inherited in scripts, so each script will have to set its own state to on.
Textports do inherit the global undo state, which is on by default, but the states do not extend to scripts executed in the Textport. For example, running the opparm Command in the textport will trigger a parameter change undo, but running a script in a DAT that contains the same command will not. Undo creation in the Textport can be changed with the undo Command as well.
- Node operations - create, delete, placement, flag changes, wiring and un-wiring, renaming.
- Node parameter changes via user interaction or scripting. (including multi-node parameter changes via selecting nodes)
- Copy and paste - including duplicating nodes and text editing
- DAT text and table editing, via DAT editors or external editors.
- Keyframe animation editing.
- Undo in geometry editing is pending.
- Changing node selection is undoable.
Parameter fields and Field COMPs have built in one off undos. You can right click in a parameter field to toggle between the current and last value changed. In a Field COMP, ctrl-z will do the same. These undos are not tied to the main undo/redo queue.
Undo in perform mode extends only to the local undo in a Field COMP, and scripts that have their undo turned on.