UNPKG

@bottobot/td-mcp

Version:

TouchDesigner Documentation MCP Server v2.3 - Pure MCP server for VS Code/Codium with comprehensive operator documentation for 629 operators + 7 tutorials across all categories (TOP, CHOP, SOP, DAT, MAT, COMP, POP). Features experimental POP operators wit

287 lines 21.9 kB
{ "id": "script_sop", "name": "Script SOP", "displayName": "Script SOP", "category": "SOP", "subcategory": "Generators", "version": "", "lastUpdated": "2025-08-07T07:50:09.119Z", "sourceFile": "C:\\Program Files\\Derivative\\TouchDesigner\\Samples\\Learn\\OfflineHelp\\https.docs.derivative.ca\\Script_SOP.htm", "url": "", "description": "The Script SOP runs a python script each time the Script SOP cooks. It can create, delete and modify points, primitives and their vertices. It can create custom attributes or built-in attributes like Cd (color), uv and N (normals). It can add polygons, bezier curves and meshes among others. It can combine multiple inputs. By default, the Script SOP is created with a docked DAT that contains three Python methods: cook(), onPulse(), and setupParameters(). The cook() method is run each time the Script SOP cooks. The setupParameters() method is run whenever the Setup Parameter button on the Script page is pressed. The onPulse() method is run whenever a custom pulse parameter is pushed.", "summary": "The Script SOP runs a python script each time the Script SOP cooks. It can create, delete and modify points, primitives and their vertices. It can create custom attributes or built-in attributes like ", "details": "", "usage": "", "tips": [], "warnings": [], "parameters": [ { "id": null, "name": "Callbacks DAT", "label": "Callbacks DAT", "group": "General", "page": "", "type": "float", "dataType": "number", "style": "", "defaultValue": null, "minValue": null, "maxValue": null, "step": null, "menuItems": [], "menuLabels": [], "allowCustom": false, "maxLength": null, "pattern": null, "isArray": false, "arraySize": 1, "dimensions": 1, "description": "From Derivative\n\t\t\n\t\t\n\t\t\n\t\t\n\t\tJump to navigation\n\t\tJump to search\n\t\t\nThe runs a python script each time the cooks. It can create, delete and modify points, primitives and their vertices. It can create custom attributes or built-in attributes like Cd (color), uv and N (normals). It can add polygons, bezier curves and meshes among others. It can combine multiple inputs. By default, the is created with a docked that contains three Python methods: cook(), onPulse(), and setupParameters(). The cook() method is run each time the cooks. The setupParameters() method is run whenever the Setup Parameter button on the page is pressed. The onPulse() method is run whenever a custom pulse parameter is pushed.\t\nRefer to Help -> Python Examples, and Help -> Operator Snippets.\t\nNote: Because the can get data from anywhere, it's difficult to determine what it procedurally depends on. So every time that a OP runs it will make a list of operators, parameters, nodes etc that it depends upon, and when they change, the OP will re-cook.\t\t\nSee also: Geometry Detail, Point, Point List, Point Class, Primitive, Prims Class, Polygon, Vertex, SOP, SOP Class, SOP to DAT, Point SOP, Point Groups, Primitive Groups, Attributes.\nSee also: Script CHOP, Script DAT, Script TOP.\nscriptSOP_Class\n\nContents\n \n \n \n \n \n \n \n\n\n\n\n\n callbacks - Specifies the which holds the callbacks. See scriptSOP_Class for usage.\n\n\n\t\n setuppars - Clicking the button runs the setupParameters() callback function.\n\n\n\n\n\nThese functions are included in the default script located in the docked node script1_callbacks.\n\n\n\n\n\n \n\t \n\t \n\t\n\n\n \n\t\n\n \n\t\n\t\n\n\n\n -\n\nExtra Information for the can be accessed via an Info CHOP.\n\n\n\n - Number of points in this . - Number of primitives in this . - Number of particles in this . - Time spent in another thread updating geometry data on the from the 's CPU data. As it is part of another thread, this time is not part of the usual frame time. - Time spent in another thread updating meta surface geometry data (such as metaballs or nurbs) on the from the 's CPU data. As it is part of another thread, this time is not part of the usual frame time.\n - Number of times the operator has cooked since the process started. - Duration of the last cook in milliseconds. - Frame number when this operator was last cooked relative to the component timeline. - Frame number when this operator was last cooked relative to the absolute time. - Time in milliseconds at which the operator started cooking in the frame it was cooked. - Time in milliseconds at which the operator finished cooking in the frame it was cooked. - 1 if operator was cooked this frame. - Number of warnings in this operator if any. - Number of errors in this operator if any.\nTouchDesigner Build: Latest\\n2021.100002018.28070before 2018.28070\nSOPs\n• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • \n\nA set of commands located in a Text DAT that are triggered to run under certain conditions. There are two scripting languages in TouchDesigner: Python and the original Tscript. Scripts and single-line commands can also be run in the Textport.\n\n\n\nA Operator Family that reads, creates and modifies 3D points, polygons, lines, particles, surfaces, spheres and meatballs. Particles and point clouds are now done primarily on the GPU using TOPs.\n\n\n\nAn Operator Family that manipulates text strings: multi-line text or tables. Multi-line text is often a python Script or GLSL Shader, but can be any multi-line text. Tables are rows and columns of cells, each containing a text string.\n\n\n\nAn Operator Family which operate on Channels (a sequence of numbers (Samples)) which are used for animation, audio, mathematics, simulation, logic, UI construction, and data streamed from/to devices and protocols.\n\n\n\nThe Graphics Processing Unit. This is the high-speed, many-core processor of the graphics card/chip that takes geometry, images and data from the CPU and creates images and processed data.\n\n\n\n\n\n\n\n\nRetrieved from \"https://docs.derivative.ca/index.php?title=Script_SOP&oldid=24230\"\n\t\tCategory: SOPs", "tooltip": "", "help": "", "units": "", "examples": [], "isReadOnly": false, "isAdvanced": false, "isHidden": false, "isAnimatable": true, "isExpression": false, "isPython": false, "dependsOn": [], "affects": [], "linkedTo": [], "expressionLanguage": "", "defaultExpression": "", "commonExpressions": [], "order": 0, "isVisible": true, "conditionalDisplay": null, "isValid": true, "validationErrors": [], "lastUpdated": "2025-08-07T07:50:09.116Z", "rawData": {}, "sourceElement": null }, { "id": null, "name": "Callbacks DAT", "label": "Callbacks DAT", "group": "General", "page": "", "type": "float", "dataType": "number", "style": "", "defaultValue": null, "minValue": null, "maxValue": null, "step": null, "menuItems": [], "menuLabels": [], "allowCustom": false, "maxLength": null, "pattern": null, "isArray": false, "arraySize": 1, "dimensions": 1, "description": "From Derivative\n\t\t\n\t\t\n\t\t\n\t\t\n\t\tJump to navigation\n\t\tJump to search\n\t\t\nThe runs a python script each time the cooks. It can create, delete and modify points, primitives and their vertices. It can create custom attributes or built-in attributes like Cd (color), uv and N (normals). It can add polygons, bezier curves and meshes among others. It can combine multiple inputs. By default, the is created with a docked that contains three Python methods: cook(), onPulse(), and setupParameters(). The cook() method is run each time the cooks. The setupParameters() method is run whenever the Setup Parameter button on the page is pressed. The onPulse() method is run whenever a custom pulse parameter is pushed.\t\nRefer to Help -> Python Examples, and Help -> Operator Snippets.\t\nNote: Because the can get data from anywhere, it's difficult to determine what it procedurally depends on. So every time that a OP runs it will make a list of operators, parameters, nodes etc that it depends upon, and when they change, the OP will re-cook.\t\t\nSee also: Geometry Detail, Point, Point List, Point Class, Primitive, Prims Class, Polygon, Vertex, SOP, SOP Class, SOP to DAT, Point SOP, Point Groups, Primitive Groups, Attributes.\nSee also: Script CHOP, Script DAT, Script TOP.\nscriptSOP_Class\n\nContents\n \n \n \n \n \n \n \n\n\n\n\n\n callbacks - Specifies the which holds the callbacks. See scriptSOP_Class for usage.\n\n\n\t\n setuppars - Clicking the button runs the setupParameters() callback function.\n\n\n\n\n\nThese functions are included in the default script located in the docked node script1_callbacks.\n\n\n\n\n\n \n\t \n\t \n\t\n\n\n \n\t\n\n \n\t\n\t\n\n\n\n -\n\nExtra Information for the can be accessed via an Info CHOP.\n\n\n\n - Number of points in this . - Number of primitives in this . - Number of particles in this . - Time spent in another thread updating geometry data on the from the 's CPU data. As it is part of another thread, this time is not part of the usual frame time. - Time spent in another thread updating meta surface geometry data (such as metaballs or nurbs) on the from the 's CPU data. As it is part of another thread, this time is not part of the usual frame time.\n - Number of times the operator has cooked since the process started. - Duration of the last cook in milliseconds. - Frame number when this operator was last cooked relative to the component timeline. - Frame number when this operator was last cooked relative to the absolute time. - Time in milliseconds at which the operator started cooking in the frame it was cooked. - Time in milliseconds at which the operator finished cooking in the frame it was cooked. - 1 if operator was cooked this frame. - Number of warnings in this operator if any. - Number of errors in this operator if any.\nTouchDesigner Build: Latest\\n2021.100002018.28070before 2018.28070\nSOPs\n• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • \n\nA set of commands located in a Text DAT that are triggered to run under certain conditions. There are two scripting languages in TouchDesigner: Python and the original Tscript. Scripts and single-line commands can also be run in the Textport.\n\n\n\nA Operator Family that reads, creates and modifies 3D points, polygons, lines, particles, surfaces, spheres and meatballs. Particles and point clouds are now done primarily on the GPU using TOPs.\n\n\n\nAn Operator Family that manipulates text strings: multi-line text or tables. Multi-line text is often a python Script or GLSL Shader, but can be any multi-line text. Tables are rows and columns of cells, each containing a text string.\n\n\n\nAn Operator Family which operate on Channels (a sequence of numbers (Samples)) which are used for animation, audio, mathematics, simulation, logic, UI construction, and data streamed from/to devices and protocols.\n\n\n\nThe Graphics Processing Unit. This is the high-speed, many-core processor of the graphics card/chip that takes geometry, images and data from the CPU and creates images and processed data.\n\n\n\n\n\n\n\n\nRetrieved from \"https://docs.derivative.ca/index.php?title=Script_SOP&oldid=24230\"\n\t\tCategory: SOPs", "tooltip": "", "help": "", "units": "", "examples": [], "isReadOnly": false, "isAdvanced": false, "isHidden": false, "isAnimatable": true, "isExpression": false, "isPython": false, "dependsOn": [], "affects": [], "linkedTo": [], "expressionLanguage": "", "defaultExpression": "", "commonExpressions": [], "order": 0, "isVisible": true, "conditionalDisplay": null, "isValid": true, "validationErrors": [], "lastUpdated": "2025-08-07T07:50:09.117Z", "rawData": {}, "sourceElement": null }, { "id": null, "name": "Callbacks DAT", "label": "Callbacks DAT", "group": "General", "page": "", "type": "float", "dataType": "number", "style": "", "defaultValue": null, "minValue": null, "maxValue": null, "step": null, "menuItems": [], "menuLabels": [], "allowCustom": false, "maxLength": null, "pattern": null, "isArray": false, "arraySize": 1, "dimensions": 1, "description": "The runs a python script each time the cooks. It can create, delete and modify points, primitives and their vertices. It can create custom attributes or built-in attributes like Cd (color), uv and N (normals). It can add polygons, bezier curves and meshes among others. It can combine multiple inputs. By default, the is created with a docked that contains three Python methods: cook(), onPulse(), and setupParameters(). The cook() method is run each time the cooks. The setupParameters() method is run whenever the Setup Parameter button on the page is pressed. The onPulse() method is run whenever a custom pulse parameter is pushed.\t\nRefer to Help -> Python Examples, and Help -> Operator Snippets.\t\nNote: Because the can get data from anywhere, it's difficult to determine what it procedurally depends on. So every time that a OP runs it will make a list of operators, parameters, nodes etc that it depends upon, and when they change, the OP will re-cook.\t\t\nSee also: Geometry Detail, Point, Point List, Point Class, Primitive, Prims Class, Polygon, Vertex, SOP, SOP Class, SOP to DAT, Point SOP, Point Groups, Primitive Groups, Attributes.\nSee also: Script CHOP, Script DAT, Script TOP.\nscriptSOP_Class\n\nContents\n \n \n \n \n \n \n \n\n\n\n\n\n callbacks - Specifies the which holds the callbacks. See scriptSOP_Class for usage.\n\n\n\t\n setuppars - Clicking the button runs the setupParameters() callback function.\n\n\n\n\n\nThese functions are included in the default script located in the docked node script1_callbacks.\n\n\n\n\n\n \n\t \n\t \n\t\n\n\n \n\t\n\n \n\t\n\t\n\n\n\n -\n\nExtra Information for the can be accessed via an Info CHOP.\n\n\n\n - Number of points in this . - Number of primitives in this . - Number of particles in this . - Time spent in another thread updating geometry data on the from the 's CPU data. As it is part of another thread, this time is not part of the usual frame time. - Time spent in another thread updating meta surface geometry data (such as metaballs or nurbs) on the from the 's CPU data. As it is part of another thread, this time is not part of the usual frame time.\n - Number of times the operator has cooked since the process started. - Duration of the last cook in milliseconds. - Frame number when this operator was last cooked relative to the component timeline. - Frame number when this operator was last cooked relative to the absolute time. - Time in milliseconds at which the operator started cooking in the frame it was cooked. - Time in milliseconds at which the operator finished cooking in the frame it was cooked. - 1 if operator was cooked this frame. - Number of warnings in this operator if any. - Number of errors in this operator if any.\nTouchDesigner Build: Latest\\n2021.100002018.28070before 2018.28070\nSOPs\n• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • \n\nA set of commands located in a Text DAT that are triggered to run under certain conditions. There are two scripting languages in TouchDesigner: Python and the original Tscript. Scripts and single-line commands can also be run in the Textport.\n\n\n\nA Operator Family that reads, creates and modifies 3D points, polygons, lines, particles, surfaces, spheres and meatballs. Particles and point clouds are now done primarily on the GPU using TOPs.\n\n\n\nAn Operator Family that manipulates text strings: multi-line text or tables. Multi-line text is often a python Script or GLSL Shader, but can be any multi-line text. Tables are rows and columns of cells, each containing a text string.\n\n\n\nAn Operator Family which operate on Channels (a sequence of numbers (Samples)) which are used for animation, audio, mathematics, simulation, logic, UI construction, and data streamed from/to devices and protocols.\n\n\n\nThe Graphics Processing Unit. This is the high-speed, many-core processor of the graphics card/chip that takes geometry, images and data from the CPU and creates images and processed data.\n\n\n\n\n\n\n\n\nRetrieved from \"https://docs.derivative.ca/index.php?title=Script_SOP&oldid=24230\"", "tooltip": "", "help": "", "units": "", "examples": [], "isReadOnly": false, "isAdvanced": false, "isHidden": false, "isAnimatable": true, "isExpression": false, "isPython": false, "dependsOn": [], "affects": [], "linkedTo": [], "expressionLanguage": "", "defaultExpression": "", "commonExpressions": [], "order": 0, "isVisible": true, "conditionalDisplay": null, "isValid": true, "validationErrors": [], "lastUpdated": "2025-08-07T07:50:09.118Z", "rawData": {}, "sourceElement": null }, { "id": null, "name": "Callbacks DAT", "label": "Callbacks DAT", "group": "General", "page": "", "type": "float", "dataType": "number", "style": "", "defaultValue": null, "minValue": null, "maxValue": null, "step": null, "menuItems": [], "menuLabels": [], "allowCustom": false, "maxLength": null, "pattern": null, "isArray": false, "arraySize": 1, "dimensions": 1, "description": "callbacks - Specifies the which holds the callbacks. See scriptSOP_Class for usage.", "tooltip": "", "help": "", "units": "", "examples": [], "isReadOnly": false, "isAdvanced": false, "isHidden": false, "isAnimatable": true, "isExpression": false, "isPython": false, "dependsOn": [], "affects": [], "linkedTo": [], "expressionLanguage": "", "defaultExpression": "", "commonExpressions": [], "order": 0, "isVisible": true, "conditionalDisplay": null, "isValid": true, "validationErrors": [], "lastUpdated": "2025-08-07T07:50:09.118Z", "rawData": {}, "sourceElement": null }, { "id": null, "name": "Setup Parameters", "label": "Setup Parameters", "group": "General", "page": "", "type": "float", "dataType": "number", "style": "", "defaultValue": null, "minValue": null, "maxValue": null, "step": null, "menuItems": [], "menuLabels": [], "allowCustom": false, "maxLength": null, "pattern": null, "isArray": false, "arraySize": 1, "dimensions": 1, "description": "setuppars - Clicking the button runs the setupParameters() callback function.", "tooltip": "", "help": "", "units": "", "examples": [], "isReadOnly": false, "isAdvanced": false, "isHidden": false, "isAnimatable": true, "isExpression": false, "isPython": false, "dependsOn": [], "affects": [], "linkedTo": [], "expressionLanguage": "", "defaultExpression": "", "commonExpressions": [], "order": 0, "isVisible": true, "conditionalDisplay": null, "isValid": true, "validationErrors": [], "lastUpdated": "2025-08-07T07:50:09.119Z", "rawData": {}, "sourceElement": null } ], "parameterGroups": {}, "codeExamples": [], "pythonExamples": [], "expressions": [], "commonInputs": [], "commonOutputs": [], "relatedOperators": [], "workflowPatterns": [], "images": [], "videos": [], "assets": [], "keywords": [ "script", "sop", "runs", "python", "each", "time", "cooks.", "create,", "delete" ], "tags": [ "SOP", "TouchDesigner", "Script SOP" ], "searchWeight": 1, "contentHash": "", "processingDate": "2025-08-07T07:50:09.119Z", "processingVersion": "1.0.0", "isValid": true, "validationErrors": [] }