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

806 lines 40.8 kB
{ "id": "merge_dat", "name": "Merge DAT", "displayName": "Merge DAT", "category": "DAT", "subcategory": "Utilities", "version": "", "lastUpdated": "2025-08-07T07:50:03.893Z", "sourceFile": "C:\\Program Files\\Derivative\\TouchDesigner\\Samples\\Learn\\OfflineHelp\\https.docs.derivative.ca\\Merge_DAT.htm", "url": "", "description": "The Merged DAT is a multi-input DAT which merges the text or tables from the input DATs together.", "summary": "The Merged DAT is a multi-input DAT which merges the text or tables from the input DATs together.", "details": "", "usage": "", "tips": [], "warnings": [], "parameters": [ { "id": null, "name": "DAT", "label": "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 Merged is a multi-input which merges the text or tables from the input DATs together.\nmergeDAT_Class\n\nContents\n \n \n \n \n \n \n \n\n\n\n\n\n dat - Specifies the path to DATs to be merged. Can be used in conjunction with the operator's wired inputs.\n\n\n\t\t\t\t\n how - - Sets how tables are merged together.\n\n row - Merges tables together by adding rows from subsequent tables to the first table. If the By Name option is used, then data from subsequent tables will be added to the column with the same name, and the first row will not be added. If the subsequent tables have more columns than the input table, they will be appended. col - Merges tables together by adding columns from subsequent tables to the first table. If the By Name option is used, then data from subsequent tables will be added to the row with the same name, and the first column will not be added. If the subsequent tables have more rows than the input table, they will be appended. collapsecol - Merges tables together by concatenating all cells in a row into one single cell. You will have one column and one or more rows at the end. collapserow - Merges tables together by concatenating all cells in a column into one single cell. You will have one row and one or more columns at the end. collapsecells - Merges tables together by concatenating all cells together. You will have one single cell at the end. repcolcells - Replaces data in the first table with data in subsequent tables, matching by row names. Data from the last table will always be used. reprowcells - Replaces data in the first table with data in subsequent tables, matching by column names. Data from the last table will always be used.For example, if your first input table is Name Species\t Age\t\t\t\t\n Birch\t Ferret\t 6\t\t\t\n Diefenbaker\tFerret\t 4\t\t\t\n\nand you have two more input tables in the order Name Species\t Age\t\t\t\t\n Birch\t Ferret\t 5\t\t\t\n Diefenbaker\tWolverine 5\t\t\t\t\n\n Name Species\t Age\t\t\t\t\n Birch\t Ferret\t 6\t\t\t\n Diefenbaker\tOtter\t 10\t\t\t\n\nyour output table will be Name Species\t Age\t\t\t\t\n Birch\t Ferret\t 5\n\n\n\t\t\t\t\n byname - Specifies if you are appending columns and rows by name.\n\n\n\t\t\t\t\n spacer - Allows you to separate the cell data with a string when concatenating. The default is a space.\n\n\n\t\t\t\t\n unmatched - If the subsequent tables have rows or columns that are not found in the first table, these will be added to the output.\n\n\n\n\n\n language - - Select how the decides which script language to operate on.\n\n input - The uses the inputs script language. node - The uses it's own script language.\n\n extension - - Select the file extension this should expose to external editors.\n\n dat - various common file extensions. frag - glsl - html - md - py - rtf - tsv - txt - vert - xml - languageext - pick extension from DATs script language. customext - Specify a custom extension.\n\n customext - Specifiy the custom extension.\n\n\n\n wordwrap - - Enable Word Wrap for Node Display.\n\n input - The uses the inputs setting. on - Turn on Word Wrap. off - Turn off Word Wrap.\n\n\n\n -\n\nExtra Information for the Merge can be accessed via an Info CHOP.\n\n\n\n - Number of rows in this . - Number of columns in this .\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\nDATs\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\nThe generic thing that holds an Operator, and includes Flags (display, bypass, lock, render, immune) and its position/size in the network. Whether you \"lay down an Operator\" or \"lay down an Node\", you're doing the same thing.\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\n\n\n\n\n\nRetrieved from \"https://docs.derivative.ca/index.php?title=Merge_DAT&oldid=24302\"\n\t\tCategory: DATs", "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:03.890Z", "rawData": {}, "sourceElement": null }, { "id": null, "name": "DAT", "label": "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 Merged is a multi-input which merges the text or tables from the input DATs together.\nmergeDAT_Class\n\nContents\n \n \n \n \n \n \n \n\n\n\n\n\n dat - Specifies the path to DATs to be merged. Can be used in conjunction with the operator's wired inputs.\n\n\n\t\t\t\t\n how - - Sets how tables are merged together.\n\n row - Merges tables together by adding rows from subsequent tables to the first table. If the By Name option is used, then data from subsequent tables will be added to the column with the same name, and the first row will not be added. If the subsequent tables have more columns than the input table, they will be appended. col - Merges tables together by adding columns from subsequent tables to the first table. If the By Name option is used, then data from subsequent tables will be added to the row with the same name, and the first column will not be added. If the subsequent tables have more rows than the input table, they will be appended. collapsecol - Merges tables together by concatenating all cells in a row into one single cell. You will have one column and one or more rows at the end. collapserow - Merges tables together by concatenating all cells in a column into one single cell. You will have one row and one or more columns at the end. collapsecells - Merges tables together by concatenating all cells together. You will have one single cell at the end. repcolcells - Replaces data in the first table with data in subsequent tables, matching by row names. Data from the last table will always be used. reprowcells - Replaces data in the first table with data in subsequent tables, matching by column names. Data from the last table will always be used.For example, if your first input table is Name Species\t Age\t\t\t\t\n Birch\t Ferret\t 6\t\t\t\n Diefenbaker\tFerret\t 4\t\t\t\n\nand you have two more input tables in the order Name Species\t Age\t\t\t\t\n Birch\t Ferret\t 5\t\t\t\n Diefenbaker\tWolverine 5\t\t\t\t\n\n Name Species\t Age\t\t\t\t\n Birch\t Ferret\t 6\t\t\t\n Diefenbaker\tOtter\t 10\t\t\t\n\nyour output table will be Name Species\t Age\t\t\t\t\n Birch\t Ferret\t 5\n\n\n\t\t\t\t\n byname - Specifies if you are appending columns and rows by name.\n\n\n\t\t\t\t\n spacer - Allows you to separate the cell data with a string when concatenating. The default is a space.\n\n\n\t\t\t\t\n unmatched - If the subsequent tables have rows or columns that are not found in the first table, these will be added to the output.\n\n\n\n\n\n language - - Select how the decides which script language to operate on.\n\n input - The uses the inputs script language. node - The uses it's own script language.\n\n extension - - Select the file extension this should expose to external editors.\n\n dat - various common file extensions. frag - glsl - html - md - py - rtf - tsv - txt - vert - xml - languageext - pick extension from DATs script language. customext - Specify a custom extension.\n\n customext - Specifiy the custom extension.\n\n\n\n wordwrap - - Enable Word Wrap for Node Display.\n\n input - The uses the inputs setting. on - Turn on Word Wrap. off - Turn off Word Wrap.\n\n\n\n -\n\nExtra Information for the Merge can be accessed via an Info CHOP.\n\n\n\n - Number of rows in this . - Number of columns in this .\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\nDATs\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\nThe generic thing that holds an Operator, and includes Flags (display, bypass, lock, render, immune) and its position/size in the network. Whether you \"lay down an Operator\" or \"lay down an Node\", you're doing the same thing.\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\n\n\n\n\n\nRetrieved from \"https://docs.derivative.ca/index.php?title=Merge_DAT&oldid=24302\"\n\t\tCategory: DATs", "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:03.891Z", "rawData": {}, "sourceElement": null }, { "id": null, "name": "DAT", "label": "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 Merged is a multi-input which merges the text or tables from the input DATs together.\nmergeDAT_Class\n\nContents\n \n \n \n \n \n \n \n\n\n\n\n\n dat - Specifies the path to DATs to be merged. Can be used in conjunction with the operator's wired inputs.\n\n\n\t\t\t\t\n how - - Sets how tables are merged together.\n\n row - Merges tables together by adding rows from subsequent tables to the first table. If the By Name option is used, then data from subsequent tables will be added to the column with the same name, and the first row will not be added. If the subsequent tables have more columns than the input table, they will be appended. col - Merges tables together by adding columns from subsequent tables to the first table. If the By Name option is used, then data from subsequent tables will be added to the row with the same name, and the first column will not be added. If the subsequent tables have more rows than the input table, they will be appended. collapsecol - Merges tables together by concatenating all cells in a row into one single cell. You will have one column and one or more rows at the end. collapserow - Merges tables together by concatenating all cells in a column into one single cell. You will have one row and one or more columns at the end. collapsecells - Merges tables together by concatenating all cells together. You will have one single cell at the end. repcolcells - Replaces data in the first table with data in subsequent tables, matching by row names. Data from the last table will always be used. reprowcells - Replaces data in the first table with data in subsequent tables, matching by column names. Data from the last table will always be used.For example, if your first input table is Name Species\t Age\t\t\t\t\n Birch\t Ferret\t 6\t\t\t\n Diefenbaker\tFerret\t 4\t\t\t\n\nand you have two more input tables in the order Name Species\t Age\t\t\t\t\n Birch\t Ferret\t 5\t\t\t\n Diefenbaker\tWolverine 5\t\t\t\t\n\n Name Species\t Age\t\t\t\t\n Birch\t Ferret\t 6\t\t\t\n Diefenbaker\tOtter\t 10\t\t\t\n\nyour output table will be Name Species\t Age\t\t\t\t\n Birch\t Ferret\t 5\n\n\n\t\t\t\t\n byname - Specifies if you are appending columns and rows by name.\n\n\n\t\t\t\t\n spacer - Allows you to separate the cell data with a string when concatenating. The default is a space.\n\n\n\t\t\t\t\n unmatched - If the subsequent tables have rows or columns that are not found in the first table, these will be added to the output.\n\n\n\n\n\n language - - Select how the decides which script language to operate on.\n\n input - The uses the inputs script language. node - The uses it's own script language.\n\n extension - - Select the file extension this should expose to external editors.\n\n dat - various common file extensions. frag - glsl - html - md - py - rtf - tsv - txt - vert - xml - languageext - pick extension from DATs script language. customext - Specify a custom extension.\n\n customext - Specifiy the custom extension.\n\n\n\n wordwrap - - Enable Word Wrap for Node Display.\n\n input - The uses the inputs setting. on - Turn on Word Wrap. off - Turn off Word Wrap.\n\n\n\n -\n\nExtra Information for the Merge can be accessed via an Info CHOP.\n\n\n\n - Number of rows in this . - Number of columns in this .\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\nDATs\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\nThe generic thing that holds an Operator, and includes Flags (display, bypass, lock, render, immune) and its position/size in the network. Whether you \"lay down an Operator\" or \"lay down an Node\", you're doing the same thing.\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\n\n\n\n\n\nRetrieved from \"https://docs.derivative.ca/index.php?title=Merge_DAT&oldid=24302\"", "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:03.892Z", "rawData": {}, "sourceElement": null }, { "id": null, "name": "DAT", "label": "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": "dat - Specifies the path to DATs to be merged. Can be used in conjunction with the operator's wired inputs.", "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:03.892Z", "rawData": {}, "sourceElement": null }, { "id": null, "name": "How", "label": "How", "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": "how - - Sets how tables are merged together.\n\n row - Merges tables together by adding rows from subsequent tables to the first table. If the By Name option is used, then data from subsequent tables will be added to the column with the same name, and the first row will not be added. If the subsequent tables have more columns than the input table, they will be appended. col - Merges tables together by adding columns from subsequent tables to the first table. If the By Name option is used, then data from subsequent tables will be added to the row with the same name, and the first column will not be added. If the subsequent tables have more rows than the input table, they will be appended. collapsecol - Merges tables together by concatenating all cells in a row into one single cell. You will have one column and one or more rows at the end. collapserow - Merges tables together by concatenating all cells in a column into one single cell. You will have one row and one or more columns at the end. collapsecells - Merges tables together by concatenating all cells together. You will have one single cell at the end. repcolcells - Replaces data in the first table with data in subsequent tables, matching by row names. Data from the last table will always be used. reprowcells - Replaces data in the first table with data in subsequent tables, matching by column names. Data from the last table will always be used.For example, if your first input table is Name Species\t Age\t\t\t\t\n Birch\t Ferret\t 6\t\t\t\n Diefenbaker\tFerret\t 4\t\t\t\n\nand you have two more input tables in the order Name Species\t Age\t\t\t\t\n Birch\t Ferret\t 5\t\t\t\n Diefenbaker\tWolverine 5\t\t\t\t\n\n Name Species\t Age\t\t\t\t\n Birch\t Ferret\t 6\t\t\t\n Diefenbaker\tOtter\t 10\t\t\t\n\nyour output table will be Name Species\t Age\t\t\t\t\n Birch\t Ferret\t 5", "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:03.892Z", "rawData": {}, "sourceElement": null }, { "id": null, "name": "Append Rows", "label": "Append Rows", "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": "row - Merges tables together by adding rows from subsequent tables to the first table. If the By Name option is used, then data from subsequent tables will be added to the column with the same name, and the first row will not be added. If the subsequent tables have more columns than the input table, they will be appended. col - Merges tables together by adding columns from subsequent tables to the first table. If the By Name option is used, then data from subsequent tables will be added to the row with the same name, and the first column will not be added. If the subsequent tables have more rows than the input table, they will be appended. collapsecol - Merges tables together by concatenating all cells in a row into one single cell. You will have one column and one or more rows at the end. collapserow - Merges tables together by concatenating all cells in a column into one single cell. You will have one row and one or more columns at the end. collapsecells - Merges tables together by concatenating all cells together. You will have one single cell at the end. repcolcells - Replaces data in the first table with data in subsequent tables, matching by row names. Data from the last table will always be used. reprowcells - Replaces data in the first table with data in subsequent tables, matching by column names. Data from the last table will always be used.For example, if your first input table is Name Species\t Age\t\t\t\t\n Birch\t Ferret\t 6\t\t\t\n Diefenbaker\tFerret\t 4\t\t\t\n\nand you have two more input tables in the order Name Species\t Age\t\t\t\t\n Birch\t Ferret\t 5\t\t\t\n Diefenbaker\tWolverine 5\t\t\t\t\n\n Name Species\t Age\t\t\t\t\n Birch\t Ferret\t 6\t\t\t\n Diefenbaker\tOtter\t 10\t\t\t\n\nyour output table will be Name Species\t Age\t\t\t\t\n Birch\t Ferret\t 5", "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:03.892Z", "rawData": {}, "sourceElement": null }, { "id": null, "name": "By Name", "label": "By Name", "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": "byname - Specifies if you are appending columns and rows by name.", "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:03.892Z", "rawData": {}, "sourceElement": null }, { "id": null, "name": "Concatenate with", "label": "Concatenate with", "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": "spacer - Allows you to separate the cell data with a string when concatenating. The default is a space.", "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:03.892Z", "rawData": {}, "sourceElement": null }, { "id": null, "name": "Append Unmatched", "label": "Append Unmatched", "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": "unmatched - If the subsequent tables have rows or columns that are not found in the first table, these will be added to the output.", "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:03.892Z", "rawData": {}, "sourceElement": null }, { "id": null, "name": "Language", "label": "Language", "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": "language - - Select how the decides which script language to operate on.\n\n input - The uses the inputs script language. node - The uses it's own script language.", "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:03.893Z", "rawData": {}, "sourceElement": null }, { "id": null, "name": "Input", "label": "Input", "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": "input - The uses the inputs script language. node - The uses it's own script language.", "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:03.893Z", "rawData": {}, "sourceElement": null }, { "id": null, "name": "Edit/View Extension", "label": "Edit/View Extension", "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": "extension - - Select the file extension this should expose to external editors.\n\n dat - various common file extensions. frag - glsl - html - md - py - rtf - tsv - txt - vert - xml - languageext - pick extension from DATs script language. customext - Specify a custom extension.", "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:03.893Z", "rawData": {}, "sourceElement": null }, { "id": null, "name": "dat", "label": "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": "dat - various common file extensions. frag - glsl - html - md - py - rtf - tsv - txt - vert - xml - languageext - pick extension from DATs script language. customext - Specify a custom extension.", "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:03.893Z", "rawData": {}, "sourceElement": null }, { "id": null, "name": "Custom Extension", "label": "Custom Extension", "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": "customext - Specifiy the custom extension.", "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:03.893Z", "rawData": {}, "sourceElement": null }, { "id": null, "name": "Word Wrap", "label": "Word Wrap", "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": "wordwrap - - Enable Word Wrap for Node Display.\n\n input - The uses the inputs setting. on - Turn on Word Wrap. off - Turn off Word Wrap.", "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:03.893Z", "rawData": {}, "sourceElement": null }, { "id": null, "name": "Input", "label": "Input", "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": "input - The uses the inputs setting. on - Turn on Word Wrap. off - Turn off Word Wrap.", "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:03.893Z", "rawData": {}, "sourceElement": null } ], "parameterGroups": {}, "codeExamples": [], "pythonExamples": [], "expressions": [], "commonInputs": [], "commonOutputs": [], "relatedOperators": [], "workflowPatterns": [], "images": [], "videos": [], "assets": [], "keywords": [ "merge", "dat", "merged", "multi-input", "which", "merges", "text", "tables", "input", "dats", "together." ], "tags": [ "DAT", "TouchDesigner", "Merge DAT" ], "searchWeight": 1, "contentHash": "", "processingDate": "2025-08-07T07:50:03.893Z", "processingVersion": "1.0.0", "isValid": true, "validationErrors": [] }