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

618 lines 30.9 kB
{ "id": "creep_sop", "name": "Creep SOP", "displayName": "Creep SOP", "category": "SOP", "subcategory": "Generators", "version": "", "lastUpdated": "2025-08-07T07:49:59.132Z", "sourceFile": "C:\\Program Files\\Derivative\\TouchDesigner\\Samples\\Learn\\OfflineHelp\\https.docs.derivative.ca\\Creep_SOP.htm", "url": "", "description": "The Creep SOP lets you deform and animate Source Input (input0) geometry along the surface of the Path Input (input1) geometry.", "summary": "The Creep SOP lets you deform and animate Source Input (input0) geometry along the surface of the Path Input (input1) geometry.", "details": "", "usage": "", "tips": [], "warnings": [], "parameters": [ { "id": null, "name": "Reset", "label": "Reset", "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 Creep lets you deform and animate Source Input (input0) geometry along the surface of the Input (input1) geometry.\ncreepSOP_Class\n\nContents\n \n \n \n\n \n \n \n \n\n\n\n\n\n reset - Reset's the creep state based on Reset Method parameter below.\n\n\n\t\t\n resetmethod - - The Source Input is Translated, Rotated and Scaled so as to complete the given options listed below.\n\n fillpath - Values are computed that stretch or shrink the input geometry to the full length and width of the Input geometry. These values are placed in the nine transform fields at the bottom of the . keepproportions - Similar to above, but the values are initialized so as to minimize distortion of object geometry.\n\n\nThe below three transform fields set the translation of the input geometry along the rows (U) and columns (V) of the . A creep translate of 0.5, -0.5, 1 puts the source in the middle of the path, one unit away from it.\t\t\nFor scaling, a source of 0.2 0.3 in size will span 20% of the columns, and 30% of the rows on the .\n\n t - - Translate the Source Input Creep geometry on the surface of the Input.\n\n tx - Translate the Source Input along the Input's U parameter ty - Translate the Source Input along the Input's V parameter tz - Translate the Source Input along the Input's W parameter (elevation above/below )\n\t\t\n r - - Rotate the Source Input creep geometry on the surface of the Input.\n\n rx - Rotate the Source Input along the Input's U parameter ry - Rotate the Source Input along the Input's V parameter rz - Rotate the Source Input along the Input's W parameter\n\t\t\n s - - Scale the Source Input creep geometry on the surface of the Input.\n\n sx - sy - sz -\n\n\n\n -\n -\n\nExtra Information for the Creep 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\\n2022.241402021.100002018.28070before 2018.28070\nSOPs\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\nThe location of an operator within the TouchDesigner environment, for example, /geo1/circle1, a node called circle1 in a component called geo1. The path / is called Root. This path is displayed at the top of every Pane, showing which Component's network you are currently in. To refer instead to a filesystem folder, directory, disk file or http: address, see Folder.\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=Creep_SOP&oldid=24182\"\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:49:59.125Z", "rawData": {}, "sourceElement": null }, { "id": null, "name": "Reset", "label": "Reset", "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 Creep lets you deform and animate Source Input (input0) geometry along the surface of the Input (input1) geometry.\ncreepSOP_Class\n\nContents\n \n \n \n\n \n \n \n \n\n\n\n\n\n reset - Reset's the creep state based on Reset Method parameter below.\n\n\n\t\t\n resetmethod - - The Source Input is Translated, Rotated and Scaled so as to complete the given options listed below.\n\n fillpath - Values are computed that stretch or shrink the input geometry to the full length and width of the Input geometry. These values are placed in the nine transform fields at the bottom of the . keepproportions - Similar to above, but the values are initialized so as to minimize distortion of object geometry.\n\n\nThe below three transform fields set the translation of the input geometry along the rows (U) and columns (V) of the . A creep translate of 0.5, -0.5, 1 puts the source in the middle of the path, one unit away from it.\t\t\nFor scaling, a source of 0.2 0.3 in size will span 20% of the columns, and 30% of the rows on the .\n\n t - - Translate the Source Input Creep geometry on the surface of the Input.\n\n tx - Translate the Source Input along the Input's U parameter ty - Translate the Source Input along the Input's V parameter tz - Translate the Source Input along the Input's W parameter (elevation above/below )\n\t\t\n r - - Rotate the Source Input creep geometry on the surface of the Input.\n\n rx - Rotate the Source Input along the Input's U parameter ry - Rotate the Source Input along the Input's V parameter rz - Rotate the Source Input along the Input's W parameter\n\t\t\n s - - Scale the Source Input creep geometry on the surface of the Input.\n\n sx - sy - sz -\n\n\n\n -\n -\n\nExtra Information for the Creep 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\\n2022.241402021.100002018.28070before 2018.28070\nSOPs\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\nThe location of an operator within the TouchDesigner environment, for example, /geo1/circle1, a node called circle1 in a component called geo1. The path / is called Root. This path is displayed at the top of every Pane, showing which Component's network you are currently in. To refer instead to a filesystem folder, directory, disk file or http: address, see Folder.\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=Creep_SOP&oldid=24182\"\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:49:59.128Z", "rawData": {}, "sourceElement": null }, { "id": null, "name": "Reset", "label": "Reset", "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 Creep lets you deform and animate Source Input (input0) geometry along the surface of the Input (input1) geometry.\ncreepSOP_Class\n\nContents\n \n \n \n\n \n \n \n \n\n\n\n\n\n reset - Reset's the creep state based on Reset Method parameter below.\n\n\n\t\t\n resetmethod - - The Source Input is Translated, Rotated and Scaled so as to complete the given options listed below.\n\n fillpath - Values are computed that stretch or shrink the input geometry to the full length and width of the Input geometry. These values are placed in the nine transform fields at the bottom of the . keepproportions - Similar to above, but the values are initialized so as to minimize distortion of object geometry.\n\n\nThe below three transform fields set the translation of the input geometry along the rows (U) and columns (V) of the . A creep translate of 0.5, -0.5, 1 puts the source in the middle of the path, one unit away from it.\t\t\nFor scaling, a source of 0.2 0.3 in size will span 20% of the columns, and 30% of the rows on the .\n\n t - - Translate the Source Input Creep geometry on the surface of the Input.\n\n tx - Translate the Source Input along the Input's U parameter ty - Translate the Source Input along the Input's V parameter tz - Translate the Source Input along the Input's W parameter (elevation above/below )\n\t\t\n r - - Rotate the Source Input creep geometry on the surface of the Input.\n\n rx - Rotate the Source Input along the Input's U parameter ry - Rotate the Source Input along the Input's V parameter rz - Rotate the Source Input along the Input's W parameter\n\t\t\n s - - Scale the Source Input creep geometry on the surface of the Input.\n\n sx - sy - sz -\n\n\n\n -\n -\n\nExtra Information for the Creep 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\\n2022.241402021.100002018.28070before 2018.28070\nSOPs\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\nThe location of an operator within the TouchDesigner environment, for example, /geo1/circle1, a node called circle1 in a component called geo1. The path / is called Root. This path is displayed at the top of every Pane, showing which Component's network you are currently in. To refer instead to a filesystem folder, directory, disk file or http: address, see Folder.\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=Creep_SOP&oldid=24182\"", "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:49:59.131Z", "rawData": {}, "sourceElement": null }, { "id": null, "name": "Reset", "label": "Reset", "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": "reset - Reset's the creep state based on Reset Method parameter below.", "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:49:59.131Z", "rawData": {}, "sourceElement": null }, { "id": null, "name": "Reset Method", "label": "Reset Method", "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": "resetmethod - - The Source Input is Translated, Rotated and Scaled so as to complete the given options listed below.\n\n fillpath - Values are computed that stretch or shrink the input geometry to the full length and width of the Input geometry. These values are placed in the nine transform fields at the bottom of the . keepproportions - Similar to above, but the values are initialized so as to minimize distortion of object geometry.", "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:49:59.131Z", "rawData": {}, "sourceElement": null }, { "id": null, "name": "Fill path", "label": "Fill path", "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": "fillpath - Values are computed that stretch or shrink the input geometry to the full length and width of the Input geometry. These values are placed in the nine transform fields at the bottom of the . keepproportions - Similar to above, but the values are initialized so as to minimize distortion of object geometry.", "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:49:59.131Z", "rawData": {}, "sourceElement": null }, { "id": null, "name": "Translate", "label": "Translate", "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": "t - - Translate the Source Input Creep geometry on the surface of the Input.\n\n tx - Translate the Source Input along the Input's U parameter ty - Translate the Source Input along the Input's V parameter tz - Translate the Source Input along the Input's W parameter (elevation above/below )", "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:49:59.131Z", "rawData": {}, "sourceElement": null }, { "id": null, "name": "X", "label": "X", "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": "tx - Translate the Source Input along the Input's U parameter ty - Translate the Source Input along the Input's V parameter tz - Translate the Source Input along the Input's W parameter (elevation above/below )", "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:49:59.131Z", "rawData": {}, "sourceElement": null }, { "id": null, "name": "Rotate", "label": "Rotate", "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": "r - - Rotate the Source Input creep geometry on the surface of the Input.\n\n rx - Rotate the Source Input along the Input's U parameter ry - Rotate the Source Input along the Input's V parameter rz - Rotate the Source Input along the Input's W parameter", "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:49:59.131Z", "rawData": {}, "sourceElement": null }, { "id": null, "name": "X", "label": "X", "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": "rx - Rotate the Source Input along the Input's U parameter ry - Rotate the Source Input along the Input's V parameter rz - Rotate the Source Input along the Input's W parameter", "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:49:59.131Z", "rawData": {}, "sourceElement": null }, { "id": null, "name": "Scale", "label": "Scale", "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": "s - - Scale the Source Input creep geometry on the surface of the Input.\n\n sx - sy - sz -", "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:49:59.131Z", "rawData": {}, "sourceElement": null }, { "id": null, "name": "X", "label": "X", "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": "sx - sy - sz -", "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:49:59.131Z", "rawData": {}, "sourceElement": null } ], "parameterGroups": {}, "codeExamples": [], "pythonExamples": [], "expressions": [], "commonInputs": [], "commonOutputs": [], "relatedOperators": [], "workflowPatterns": [], "images": [], "videos": [], "assets": [], "keywords": [ "creep", "sop", "lets", "deform", "animate", "source", "input", "(input0)", "geometry", "along", "surface" ], "tags": [ "SOP", "TouchDesigner", "Creep SOP" ], "searchWeight": 1, "contentHash": "", "processingDate": "2025-08-07T07:49:59.132Z", "processingVersion": "1.0.0", "isValid": true, "validationErrors": [] }