{
  "id": "op_find",
  "name": "OP Find",
  "displayName": "OP Find",
  "category": "DAT",
  "subcategory": "Utilities",
  "version": "",
  "lastUpdated": "2025-08-08T00:37:49.185Z",
  "sourceFile": "C:\\Program Files\\Derivative\\TouchDesigner\\Samples\\Learn\\OfflineHelp\\https.docs.derivative.ca\\OP_Find_DAT.htm",
  "url": "",
  "description": "The OP Find DAT traverses the component hierarchy starting at one component and looking at all nodes within that component, and outputs a table with one row per node that matches criteria the user chooses. For example, the criteria could be all Ramp TOPs, or all nodes whose name starts with “wave”, or all nodes with the Clone parameter set to “master1”, or all Geometry components with a tag called “emitter”.",
  "summary": "The OP Find DAT traverses the component hierarchy starting at one component and looking at all nodes within that component, and outputs a table with one row per node that matches criteria the user cho",
  "details": "",
  "usage": "",
  "tips": [],
  "warnings": [],
  "parameters": [
    {
      "id": null,
      "name": "Active Cook",
      "label": "Active Cook",
      "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 OP Find  traverses the component hierarchy starting at one component and looking at all nodes within that component, and outputs a table with one row per node that matches criteria the user chooses. For example, the criteria could be all Ramp TOPs, or all nodes whose name starts with “wave”, or all nodes with the  parameter set to “master1”, or all Geometry components with a tag called “emitter”.\t\t\nThe criteria can limited to include only nodes of certain families, or certain operator types. It can filter on matching its path, certain parameters containing certain values (both constant and expressions), comments, tags, or the content of a  containing certain strings.\t\t\t\nYou can also cause the  to only look to some depth of the hierarchy from the specified component, such as 2 levels down, or limitless.\t\t\t\nCriteria can be case-sensitive or not, but case-sensitive On or Off applies to all criteria in the OP Find .\t\t\t\nFurthermore you can exclude some nodes using more specialized criteria by returning a True of False in a callback contained in the attached callback .\t\t\t\nWith the Combine Filters Menu (Any or All, Default is All), you can do an \"or\" or \"and\" on the pattern matching criterea.  \t\t\t\nIt also takes an optional  containing a list of operators (eg, another OP Find ) which can be used to chain filters.\t\t\t\n\n\nThere is a variety of columns that you can select from including name, id, paths, type and tags.  (id is a member of the operator, which is an integer unique to the node, and doesn't change during the running of the TouchDesigner process.)\t\t\t\nYou can also output custom columns by defining the column names in the callback , and filling in the column cells via another function in the callback . For example, you can output a custom column which is the tx parameter value of the node.\t\t\t\nYou can control when the OP Find  cooks. Normally it cooks whenever any of the nodes in the specified hierarchy changes. Using the Active  menu parameter, you can also force-cook it every frame, or turn off cooking entirely.  You can also click the  parameter on Active  in order to force-cook it once, or do the equivalent using the node.cookpulse.pulse() python call.\t\t\t\nInstead of being give the path to a component to start at, the OP Find  can take an input  containing a pre-generated list of paths to nodes to start from, and merge the results of each input line together in the output. To use this, the input  should contain the node “id” as the first column, which can be generated with another OP Find  with the Column called “ID” turned on.\t\t\t\nFor example, say you first list all components that are panels, then you separate into groups based on type or  parameter. The first OP Find  pre-filters a huge hierarchy to a small fraction of the nodes, the subsequent OP Find DATs are operating on simpler sets to eliminate a lot of checking and cooking.\t\t\t\nRefer to Help -> Operator Snippets.\t\t\t\nSee also: Script DAT\nopfindDAT_Class\n\nContents\n \n \n\n \n \n \n \n \n \n \n\n\n\n\n  activecook -  - Determines when to cook the .\n\n off - This stops the operator from cooking altogether. auto - Only cook / update the contents when the results would change. always - Continually cook this operator repeatedly for update cases that might be missed. incremental - This will cook each frame, but only add one result per cook, until all results are added. At that point cooking stops.\n\n  cookpulse - Manually force the OP Find  to update.\n\n\n\n  component - The path to the component where the search starts from.\n\n\n\n  includecomponent - Include the component the search starts from in the search itself.\n\n\n\n  includewired - Any components wired to the starting component are included in the search.\n\n\n\n  mindepth - Set a minmum depth for the sub-components the OP Find  should recursively search through.\n\n\n\n  limitmaxdepth - Turns on the Maximum Depth parameter to limit searching through sub-components. Turning this toggle off will search through all sub-networks.\n\n\n\n  maxdepth - Set the maximum depth for the sub-components the OP Find  should recursively search through.\n\n\n\n  limitmaxops - Limit the total number of operators iterated in the search.\n\n\n\n  maxops - Number of operators the search is limited to.\n\n\n\n\n\nThe page of parameters determines which operator families are included in the search.\n\n  objects - Include Object COMPs, like Geo , in the search.\n\n\n\n  panels - Include Panel COMPs, like  , in the search.\n\n\n\n  other - Include other type COMPs, like Base , in the search.\n\n\n\n  tops - Include  family operators in the search.\n\n\n\n  chops - Include  family operators in the search.\n\n\n\n  sops - Include  family operators in the search.\n\n\n\n  mats - Include  family operators in the search.\n\n\n\n  dats - Include  family operators in the search.\n\n\n\n\n\n  casesensitive - Use case sensitivity in all pattern matching below.\n\n\n\n  combinefilters -  - Combine 'All', 'Any' or 'Custom' of the filters below to get a match. 'Custom' allows for specifying a subselection of filters with 'or' and 'and' keywords.\n\n all - All filters must match for an operator to be included in the search result. (AND) any - Any of the filter conditions must be met for an operator to be included in the search result. (OR) custom -\n\n  customcombine - Specify which filters to combine in the search.\n\n\n\n  namefilter - Use the operator's names like 'wave1', 'wave2', etc.\n\n\n\n  typefilter - Use names like waveCHOP and panelexecuteDAT. Look at the column Type to see the syntax.\n\n\n\n  parentshortcutfilter - Only match operators that include the here specified .\n\n\n\n  opshortcutfilter - Only match operators that include the here specified OP .\n\n\n\n  pathfilter - Specify a path that the operator should be located in.\n\n\n\n  parentfilter - Specify a relative parent path that operators should be located in. This is a filter option on the parentPath column of this  that can be enabled by toggling the Parent  parameter on this 's Columns page.\n\n\n\n  excludefilter - Specify a relative path that should be excluded from the search.\n\n\n\n  wirepathfilter - \n\n\n\n  commentfilter - Only match operators that include the here specified comment string.\n\n\n\n  tagsfilter - Only match operators that match the here specified tags. Multiple tags can be searched for as a space seperated list.\n\n\n\n  textfilter - Only include operators that - in the case of being from the  family - match specified string in their content.\n\n\n\n  parnamefilter - Only match operators with specified parameter name.  Parameters must match ALL of name, value and expression to be included.\n\n\n\n  parvaluefilter - Only include operators that match specified parameter value. Parameters must match ALL of name, value and expression to be included.\n\n\n\n  parexpressionfilter - Only include operators that match specified parameter expression string. Parameters must match ALL of name, value and expression to be included.\n\n\n\n  parnondefaultonly - Only match with parameters that are non-default values.\n\n\n\n\n\n  legacycols - Use only when expecting column headers to be named with legacy titles.\n\n\n\n  idcol - An integer that uniquely defines the node in this process. It's the same number for the duration of the process, but may be different when you run the process again.\n\n\n\n  namecol - Inlcude the name of the operator in the result table.\n\n\n\n  typecol - Include the operator type in the result table. For example rampTOP.\n\n\n\n  parentshortcutcol - Include the operator's  in the result table.\n\n\n\n  opshortcutcol - Include the operator's OP  in the result table.\n\n\n\n  pathcol - Include the operator's path in the result table.\n\n\n\n  relpathcol - Include the operator's, relative to the search root, path in the result table.\n\n\n\n  parentpath - Include the parent path.\n\n\n\n  wirepathcol - Include the operator's wire path in the result table.\n\n\n\n  depthcol - Include a column showing the relative depth to the root path of the found operator.\n\n\n\n  cooktimescol - Include cook-time of found operators.\n\n\n\n  tagscol - Include the operator's tags.\n\n\n\n  genprop - Include the operator's name, id, isCOMP, node position, node size and dock id in the result table.\n\n\n\n  cputime - Include the operator's CPU cooktime in the result table.\n\n\n\n  gputime - Include the operator's  cooktime in the result table.\n\n\n\n  cpumem - Include the operator's CPU memory in the result table.\n\n\n\n  gpumem - Include the operator's  memory in the result table.\n\n\n\n  children - Include the children of the operator in the result table.\n\n\n\n\n\n  callbacks -  to a  containing callbacks for each event received. See opfindDAT_Class for usage.\n\n\n\n  convertbool - For boolean logic values, the value will be '1' or '0'. When this parameter is Off, they will be 'True\" or 'False'.\n\n\n\n  convertnone - For 'None' values, the value will be converted to Empty.\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. language - pick extension from DATs script language. custom - 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 -TouchDesigner 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\nCloning makes multiple components match the contents of a master component. A Component whose Clone parameter is set will be forced to contain the same nodes, wiring and parameters as its master component. Cloning does not create new components as does the Replicator COMP.\n\n\n\nTo re-compute the output data of the Operators. An operator cooks when (1) its inputs change, (2) its Parameters change, (3) when the timeline moves forward in some cases, or (4) Scripting commands are run on the node. When the operator is a Panel Component, it also cooks when a user interacts with it. When an operator cooks, it usually causes operators connected to its output to re-cook. When TouchDesigner draws the screen, it re-cooks all the Dependencies - the necessary operators in all Networks, contributing to a frame's total \"cook time\".\n\n\n\nTo \"pulse\" a parameter is to send it a signal from (1) an exported CHOP channel or (2) a python command or (3) a mouse click that causes a new action to occur immediately. A pulse via python is via the .pulse() function on a pulse-type parameter, such as Reset parameter in a Speed CHOP. A pulse from a CHOP is typically a 0 to 1 to 0 signal in an exported channel.\n\n\n\nAn Operator Family that contains its own Network. There are sixteen 3D Object Component and ten 2D Panel Component types. See also Network Path.\n\n\n\nThe connection of an output of one node to the input of another node in a network. In contrast, see Link.\n\n\n\nHierarchy relates components with other components. There are two groups of Hierarchy in TouchDesigner.  3D Object Components, and 2D Panel Components. Hierarchies let one component to be positioned relative to another. Each group can be connected via lines between the bottoms/tops of nodes in a network, or by placing one component inside the other.\n\n\n\nAn Operator Family that contains its own Network. There are sixteen 3D Object Component and ten 2D Panel Component types. See also Network Path.\n\n\n\nThe Container component type is a Panel Component that holds, lays out and displays any number of other Panel Components.\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\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\nMATs or Materials are an Operator Family that applies a Shader to a SOP or 3D Geometry Object for rendering textured surfaces with lighting.\n\n\n\nA Parent Shortcut is a parameter on a component that contains a name that you can use anywhere inside the component to refer to that component using the syntax parent.Name, for example parent.Effect.width to obtain panel width.\n\n\n\nOperator shortcuts are Python objects that return operators (or sometimes parameters). These include Parent Shortcuts for accessing a component from within that component, and Global OP Shortcuts that access a unique component from anywhere in TouchDesigner.\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\nA text string that contains data (string, float, list, boolean, etc.) and operators (+ * < etc) that are evaluated by the node's language (python or Tscript) and returns a string, float list or boolean, etc. Expressions are used in parameters, DATs and in scripts.\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\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\n\n\n\n\n\nRetrieved from \"https://docs.derivative.ca/index.php?title=OP_Find_DAT&oldid=27897\"\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-08T00:37:49.177Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Active Cook",
      "label": "Active Cook",
      "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 OP Find  traverses the component hierarchy starting at one component and looking at all nodes within that component, and outputs a table with one row per node that matches criteria the user chooses. For example, the criteria could be all Ramp TOPs, or all nodes whose name starts with “wave”, or all nodes with the  parameter set to “master1”, or all Geometry components with a tag called “emitter”.\t\t\nThe criteria can limited to include only nodes of certain families, or certain operator types. It can filter on matching its path, certain parameters containing certain values (both constant and expressions), comments, tags, or the content of a  containing certain strings.\t\t\t\nYou can also cause the  to only look to some depth of the hierarchy from the specified component, such as 2 levels down, or limitless.\t\t\t\nCriteria can be case-sensitive or not, but case-sensitive On or Off applies to all criteria in the OP Find .\t\t\t\nFurthermore you can exclude some nodes using more specialized criteria by returning a True of False in a callback contained in the attached callback .\t\t\t\nWith the Combine Filters Menu (Any or All, Default is All), you can do an \"or\" or \"and\" on the pattern matching criterea.  \t\t\t\nIt also takes an optional  containing a list of operators (eg, another OP Find ) which can be used to chain filters.\t\t\t\n\n\nThere is a variety of columns that you can select from including name, id, paths, type and tags.  (id is a member of the operator, which is an integer unique to the node, and doesn't change during the running of the TouchDesigner process.)\t\t\t\nYou can also output custom columns by defining the column names in the callback , and filling in the column cells via another function in the callback . For example, you can output a custom column which is the tx parameter value of the node.\t\t\t\nYou can control when the OP Find  cooks. Normally it cooks whenever any of the nodes in the specified hierarchy changes. Using the Active  menu parameter, you can also force-cook it every frame, or turn off cooking entirely.  You can also click the  parameter on Active  in order to force-cook it once, or do the equivalent using the node.cookpulse.pulse() python call.\t\t\t\nInstead of being give the path to a component to start at, the OP Find  can take an input  containing a pre-generated list of paths to nodes to start from, and merge the results of each input line together in the output. To use this, the input  should contain the node “id” as the first column, which can be generated with another OP Find  with the Column called “ID” turned on.\t\t\t\nFor example, say you first list all components that are panels, then you separate into groups based on type or  parameter. The first OP Find  pre-filters a huge hierarchy to a small fraction of the nodes, the subsequent OP Find DATs are operating on simpler sets to eliminate a lot of checking and cooking.\t\t\t\nRefer to Help -> Operator Snippets.\t\t\t\nSee also: Script DAT\nopfindDAT_Class\n\nContents\n \n \n\n \n \n \n \n \n \n \n\n\n\n\n  activecook -  - Determines when to cook the .\n\n off - This stops the operator from cooking altogether. auto - Only cook / update the contents when the results would change. always - Continually cook this operator repeatedly for update cases that might be missed. incremental - This will cook each frame, but only add one result per cook, until all results are added. At that point cooking stops.\n\n  cookpulse - Manually force the OP Find  to update.\n\n\n\n  component - The path to the component where the search starts from.\n\n\n\n  includecomponent - Include the component the search starts from in the search itself.\n\n\n\n  includewired - Any components wired to the starting component are included in the search.\n\n\n\n  mindepth - Set a minmum depth for the sub-components the OP Find  should recursively search through.\n\n\n\n  limitmaxdepth - Turns on the Maximum Depth parameter to limit searching through sub-components. Turning this toggle off will search through all sub-networks.\n\n\n\n  maxdepth - Set the maximum depth for the sub-components the OP Find  should recursively search through.\n\n\n\n  limitmaxops - Limit the total number of operators iterated in the search.\n\n\n\n  maxops - Number of operators the search is limited to.\n\n\n\n\n\nThe page of parameters determines which operator families are included in the search.\n\n  objects - Include Object COMPs, like Geo , in the search.\n\n\n\n  panels - Include Panel COMPs, like  , in the search.\n\n\n\n  other - Include other type COMPs, like Base , in the search.\n\n\n\n  tops - Include  family operators in the search.\n\n\n\n  chops - Include  family operators in the search.\n\n\n\n  sops - Include  family operators in the search.\n\n\n\n  mats - Include  family operators in the search.\n\n\n\n  dats - Include  family operators in the search.\n\n\n\n\n\n  casesensitive - Use case sensitivity in all pattern matching below.\n\n\n\n  combinefilters -  - Combine 'All', 'Any' or 'Custom' of the filters below to get a match. 'Custom' allows for specifying a subselection of filters with 'or' and 'and' keywords.\n\n all - All filters must match for an operator to be included in the search result. (AND) any - Any of the filter conditions must be met for an operator to be included in the search result. (OR) custom -\n\n  customcombine - Specify which filters to combine in the search.\n\n\n\n  namefilter - Use the operator's names like 'wave1', 'wave2', etc.\n\n\n\n  typefilter - Use names like waveCHOP and panelexecuteDAT. Look at the column Type to see the syntax.\n\n\n\n  parentshortcutfilter - Only match operators that include the here specified .\n\n\n\n  opshortcutfilter - Only match operators that include the here specified OP .\n\n\n\n  pathfilter - Specify a path that the operator should be located in.\n\n\n\n  parentfilter - Specify a relative parent path that operators should be located in. This is a filter option on the parentPath column of this  that can be enabled by toggling the Parent  parameter on this 's Columns page.\n\n\n\n  excludefilter - Specify a relative path that should be excluded from the search.\n\n\n\n  wirepathfilter - \n\n\n\n  commentfilter - Only match operators that include the here specified comment string.\n\n\n\n  tagsfilter - Only match operators that match the here specified tags. Multiple tags can be searched for as a space seperated list.\n\n\n\n  textfilter - Only include operators that - in the case of being from the  family - match specified string in their content.\n\n\n\n  parnamefilter - Only match operators with specified parameter name.  Parameters must match ALL of name, value and expression to be included.\n\n\n\n  parvaluefilter - Only include operators that match specified parameter value. Parameters must match ALL of name, value and expression to be included.\n\n\n\n  parexpressionfilter - Only include operators that match specified parameter expression string. Parameters must match ALL of name, value and expression to be included.\n\n\n\n  parnondefaultonly - Only match with parameters that are non-default values.\n\n\n\n\n\n  legacycols - Use only when expecting column headers to be named with legacy titles.\n\n\n\n  idcol - An integer that uniquely defines the node in this process. It's the same number for the duration of the process, but may be different when you run the process again.\n\n\n\n  namecol - Inlcude the name of the operator in the result table.\n\n\n\n  typecol - Include the operator type in the result table. For example rampTOP.\n\n\n\n  parentshortcutcol - Include the operator's  in the result table.\n\n\n\n  opshortcutcol - Include the operator's OP  in the result table.\n\n\n\n  pathcol - Include the operator's path in the result table.\n\n\n\n  relpathcol - Include the operator's, relative to the search root, path in the result table.\n\n\n\n  parentpath - Include the parent path.\n\n\n\n  wirepathcol - Include the operator's wire path in the result table.\n\n\n\n  depthcol - Include a column showing the relative depth to the root path of the found operator.\n\n\n\n  cooktimescol - Include cook-time of found operators.\n\n\n\n  tagscol - Include the operator's tags.\n\n\n\n  genprop - Include the operator's name, id, isCOMP, node position, node size and dock id in the result table.\n\n\n\n  cputime - Include the operator's CPU cooktime in the result table.\n\n\n\n  gputime - Include the operator's  cooktime in the result table.\n\n\n\n  cpumem - Include the operator's CPU memory in the result table.\n\n\n\n  gpumem - Include the operator's  memory in the result table.\n\n\n\n  children - Include the children of the operator in the result table.\n\n\n\n\n\n  callbacks -  to a  containing callbacks for each event received. See opfindDAT_Class for usage.\n\n\n\n  convertbool - For boolean logic values, the value will be '1' or '0'. When this parameter is Off, they will be 'True\" or 'False'.\n\n\n\n  convertnone - For 'None' values, the value will be converted to Empty.\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. language - pick extension from DATs script language. custom - 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 -TouchDesigner 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\nCloning makes multiple components match the contents of a master component. A Component whose Clone parameter is set will be forced to contain the same nodes, wiring and parameters as its master component. Cloning does not create new components as does the Replicator COMP.\n\n\n\nTo re-compute the output data of the Operators. An operator cooks when (1) its inputs change, (2) its Parameters change, (3) when the timeline moves forward in some cases, or (4) Scripting commands are run on the node. When the operator is a Panel Component, it also cooks when a user interacts with it. When an operator cooks, it usually causes operators connected to its output to re-cook. When TouchDesigner draws the screen, it re-cooks all the Dependencies - the necessary operators in all Networks, contributing to a frame's total \"cook time\".\n\n\n\nTo \"pulse\" a parameter is to send it a signal from (1) an exported CHOP channel or (2) a python command or (3) a mouse click that causes a new action to occur immediately. A pulse via python is via the .pulse() function on a pulse-type parameter, such as Reset parameter in a Speed CHOP. A pulse from a CHOP is typically a 0 to 1 to 0 signal in an exported channel.\n\n\n\nAn Operator Family that contains its own Network. There are sixteen 3D Object Component and ten 2D Panel Component types. See also Network Path.\n\n\n\nThe connection of an output of one node to the input of another node in a network. In contrast, see Link.\n\n\n\nHierarchy relates components with other components. There are two groups of Hierarchy in TouchDesigner.  3D Object Components, and 2D Panel Components. Hierarchies let one component to be positioned relative to another. Each group can be connected via lines between the bottoms/tops of nodes in a network, or by placing one component inside the other.\n\n\n\nAn Operator Family that contains its own Network. There are sixteen 3D Object Component and ten 2D Panel Component types. See also Network Path.\n\n\n\nThe Container component type is a Panel Component that holds, lays out and displays any number of other Panel Components.\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\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\nMATs or Materials are an Operator Family that applies a Shader to a SOP or 3D Geometry Object for rendering textured surfaces with lighting.\n\n\n\nA Parent Shortcut is a parameter on a component that contains a name that you can use anywhere inside the component to refer to that component using the syntax parent.Name, for example parent.Effect.width to obtain panel width.\n\n\n\nOperator shortcuts are Python objects that return operators (or sometimes parameters). These include Parent Shortcuts for accessing a component from within that component, and Global OP Shortcuts that access a unique component from anywhere in TouchDesigner.\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\nA text string that contains data (string, float, list, boolean, etc.) and operators (+ * < etc) that are evaluated by the node's language (python or Tscript) and returns a string, float list or boolean, etc. Expressions are used in parameters, DATs and in scripts.\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\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\n\n\n\n\n\nRetrieved from \"https://docs.derivative.ca/index.php?title=OP_Find_DAT&oldid=27897\"\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-08T00:37:49.179Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Active Cook",
      "label": "Active Cook",
      "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 OP Find  traverses the component hierarchy starting at one component and looking at all nodes within that component, and outputs a table with one row per node that matches criteria the user chooses. For example, the criteria could be all Ramp TOPs, or all nodes whose name starts with “wave”, or all nodes with the  parameter set to “master1”, or all Geometry components with a tag called “emitter”.\t\t\nThe criteria can limited to include only nodes of certain families, or certain operator types. It can filter on matching its path, certain parameters containing certain values (both constant and expressions), comments, tags, or the content of a  containing certain strings.\t\t\t\nYou can also cause the  to only look to some depth of the hierarchy from the specified component, such as 2 levels down, or limitless.\t\t\t\nCriteria can be case-sensitive or not, but case-sensitive On or Off applies to all criteria in the OP Find .\t\t\t\nFurthermore you can exclude some nodes using more specialized criteria by returning a True of False in a callback contained in the attached callback .\t\t\t\nWith the Combine Filters Menu (Any or All, Default is All), you can do an \"or\" or \"and\" on the pattern matching criterea.  \t\t\t\nIt also takes an optional  containing a list of operators (eg, another OP Find ) which can be used to chain filters.\t\t\t\n\n\nThere is a variety of columns that you can select from including name, id, paths, type and tags.  (id is a member of the operator, which is an integer unique to the node, and doesn't change during the running of the TouchDesigner process.)\t\t\t\nYou can also output custom columns by defining the column names in the callback , and filling in the column cells via another function in the callback . For example, you can output a custom column which is the tx parameter value of the node.\t\t\t\nYou can control when the OP Find  cooks. Normally it cooks whenever any of the nodes in the specified hierarchy changes. Using the Active  menu parameter, you can also force-cook it every frame, or turn off cooking entirely.  You can also click the  parameter on Active  in order to force-cook it once, or do the equivalent using the node.cookpulse.pulse() python call.\t\t\t\nInstead of being give the path to a component to start at, the OP Find  can take an input  containing a pre-generated list of paths to nodes to start from, and merge the results of each input line together in the output. To use this, the input  should contain the node “id” as the first column, which can be generated with another OP Find  with the Column called “ID” turned on.\t\t\t\nFor example, say you first list all components that are panels, then you separate into groups based on type or  parameter. The first OP Find  pre-filters a huge hierarchy to a small fraction of the nodes, the subsequent OP Find DATs are operating on simpler sets to eliminate a lot of checking and cooking.\t\t\t\nRefer to Help -> Operator Snippets.\t\t\t\nSee also: Script DAT\nopfindDAT_Class\n\nContents\n \n \n\n \n \n \n \n \n \n \n\n\n\n\n  activecook -  - Determines when to cook the .\n\n off - This stops the operator from cooking altogether. auto - Only cook / update the contents when the results would change. always - Continually cook this operator repeatedly for update cases that might be missed. incremental - This will cook each frame, but only add one result per cook, until all results are added. At that point cooking stops.\n\n  cookpulse - Manually force the OP Find  to update.\n\n\n\n  component - The path to the component where the search starts from.\n\n\n\n  includecomponent - Include the component the search starts from in the search itself.\n\n\n\n  includewired - Any components wired to the starting component are included in the search.\n\n\n\n  mindepth - Set a minmum depth for the sub-components the OP Find  should recursively search through.\n\n\n\n  limitmaxdepth - Turns on the Maximum Depth parameter to limit searching through sub-components. Turning this toggle off will search through all sub-networks.\n\n\n\n  maxdepth - Set the maximum depth for the sub-components the OP Find  should recursively search through.\n\n\n\n  limitmaxops - Limit the total number of operators iterated in the search.\n\n\n\n  maxops - Number of operators the search is limited to.\n\n\n\n\n\nThe page of parameters determines which operator families are included in the search.\n\n  objects - Include Object COMPs, like Geo , in the search.\n\n\n\n  panels - Include Panel COMPs, like  , in the search.\n\n\n\n  other - Include other type COMPs, like Base , in the search.\n\n\n\n  tops - Include  family operators in the search.\n\n\n\n  chops - Include  family operators in the search.\n\n\n\n  sops - Include  family operators in the search.\n\n\n\n  mats - Include  family operators in the search.\n\n\n\n  dats - Include  family operators in the search.\n\n\n\n\n\n  casesensitive - Use case sensitivity in all pattern matching below.\n\n\n\n  combinefilters -  - Combine 'All', 'Any' or 'Custom' of the filters below to get a match. 'Custom' allows for specifying a subselection of filters with 'or' and 'and' keywords.\n\n all - All filters must match for an operator to be included in the search result. (AND) any - Any of the filter conditions must be met for an operator to be included in the search result. (OR) custom -\n\n  customcombine - Specify which filters to combine in the search.\n\n\n\n  namefilter - Use the operator's names like 'wave1', 'wave2', etc.\n\n\n\n  typefilter - Use names like waveCHOP and panelexecuteDAT. Look at the column Type to see the syntax.\n\n\n\n  parentshortcutfilter - Only match operators that include the here specified .\n\n\n\n  opshortcutfilter - Only match operators that include the here specified OP .\n\n\n\n  pathfilter - Specify a path that the operator should be located in.\n\n\n\n  parentfilter - Specify a relative parent path that operators should be located in. This is a filter option on the parentPath column of this  that can be enabled by toggling the Parent  parameter on this 's Columns page.\n\n\n\n  excludefilter - Specify a relative path that should be excluded from the search.\n\n\n\n  wirepathfilter - \n\n\n\n  commentfilter - Only match operators that include the here specified comment string.\n\n\n\n  tagsfilter - Only match operators that match the here specified tags. Multiple tags can be searched for as a space seperated list.\n\n\n\n  textfilter - Only include operators that - in the case of being from the  family - match specified string in their content.\n\n\n\n  parnamefilter - Only match operators with specified parameter name.  Parameters must match ALL of name, value and expression to be included.\n\n\n\n  parvaluefilter - Only include operators that match specified parameter value. Parameters must match ALL of name, value and expression to be included.\n\n\n\n  parexpressionfilter - Only include operators that match specified parameter expression string. Parameters must match ALL of name, value and expression to be included.\n\n\n\n  parnondefaultonly - Only match with parameters that are non-default values.\n\n\n\n\n\n  legacycols - Use only when expecting column headers to be named with legacy titles.\n\n\n\n  idcol - An integer that uniquely defines the node in this process. It's the same number for the duration of the process, but may be different when you run the process again.\n\n\n\n  namecol - Inlcude the name of the operator in the result table.\n\n\n\n  typecol - Include the operator type in the result table. For example rampTOP.\n\n\n\n  parentshortcutcol - Include the operator's  in the result table.\n\n\n\n  opshortcutcol - Include the operator's OP  in the result table.\n\n\n\n  pathcol - Include the operator's path in the result table.\n\n\n\n  relpathcol - Include the operator's, relative to the search root, path in the result table.\n\n\n\n  parentpath - Include the parent path.\n\n\n\n  wirepathcol - Include the operator's wire path in the result table.\n\n\n\n  depthcol - Include a column showing the relative depth to the root path of the found operator.\n\n\n\n  cooktimescol - Include cook-time of found operators.\n\n\n\n  tagscol - Include the operator's tags.\n\n\n\n  genprop - Include the operator's name, id, isCOMP, node position, node size and dock id in the result table.\n\n\n\n  cputime - Include the operator's CPU cooktime in the result table.\n\n\n\n  gputime - Include the operator's  cooktime in the result table.\n\n\n\n  cpumem - Include the operator's CPU memory in the result table.\n\n\n\n  gpumem - Include the operator's  memory in the result table.\n\n\n\n  children - Include the children of the operator in the result table.\n\n\n\n\n\n  callbacks -  to a  containing callbacks for each event received. See opfindDAT_Class for usage.\n\n\n\n  convertbool - For boolean logic values, the value will be '1' or '0'. When this parameter is Off, they will be 'True\" or 'False'.\n\n\n\n  convertnone - For 'None' values, the value will be converted to Empty.\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. language - pick extension from DATs script language. custom - 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 -TouchDesigner 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\nCloning makes multiple components match the contents of a master component. A Component whose Clone parameter is set will be forced to contain the same nodes, wiring and parameters as its master component. Cloning does not create new components as does the Replicator COMP.\n\n\n\nTo re-compute the output data of the Operators. An operator cooks when (1) its inputs change, (2) its Parameters change, (3) when the timeline moves forward in some cases, or (4) Scripting commands are run on the node. When the operator is a Panel Component, it also cooks when a user interacts with it. When an operator cooks, it usually causes operators connected to its output to re-cook. When TouchDesigner draws the screen, it re-cooks all the Dependencies - the necessary operators in all Networks, contributing to a frame's total \"cook time\".\n\n\n\nTo \"pulse\" a parameter is to send it a signal from (1) an exported CHOP channel or (2) a python command or (3) a mouse click that causes a new action to occur immediately. A pulse via python is via the .pulse() function on a pulse-type parameter, such as Reset parameter in a Speed CHOP. A pulse from a CHOP is typically a 0 to 1 to 0 signal in an exported channel.\n\n\n\nAn Operator Family that contains its own Network. There are sixteen 3D Object Component and ten 2D Panel Component types. See also Network Path.\n\n\n\nThe connection of an output of one node to the input of another node in a network. In contrast, see Link.\n\n\n\nHierarchy relates components with other components. There are two groups of Hierarchy in TouchDesigner.  3D Object Components, and 2D Panel Components. Hierarchies let one component to be positioned relative to another. Each group can be connected via lines between the bottoms/tops of nodes in a network, or by placing one component inside the other.\n\n\n\nAn Operator Family that contains its own Network. There are sixteen 3D Object Component and ten 2D Panel Component types. See also Network Path.\n\n\n\nThe Container component type is a Panel Component that holds, lays out and displays any number of other Panel Components.\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\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\nMATs or Materials are an Operator Family that applies a Shader to a SOP or 3D Geometry Object for rendering textured surfaces with lighting.\n\n\n\nA Parent Shortcut is a parameter on a component that contains a name that you can use anywhere inside the component to refer to that component using the syntax parent.Name, for example parent.Effect.width to obtain panel width.\n\n\n\nOperator shortcuts are Python objects that return operators (or sometimes parameters). These include Parent Shortcuts for accessing a component from within that component, and Global OP Shortcuts that access a unique component from anywhere in TouchDesigner.\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\nA text string that contains data (string, float, list, boolean, etc.) and operators (+ * < etc) that are evaluated by the node's language (python or Tscript) and returns a string, float list or boolean, etc. Expressions are used in parameters, DATs and in scripts.\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\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\n\n\n\n\n\nRetrieved from \"https://docs.derivative.ca/index.php?title=OP_Find_DAT&oldid=27897\"",
      "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-08T00:37:49.181Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Active Cook",
      "label": "Active Cook",
      "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": "activecook -  - Determines when to cook the .\n\n off - This stops the operator from cooking altogether. auto - Only cook / update the contents when the results would change. always - Continually cook this operator repeatedly for update cases that might be missed. incremental - This will cook each frame, but only add one result per cook, until all results are added. At that point cooking stops.",
      "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-08T00:37:49.181Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Off",
      "label": "Off",
      "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": "off - This stops the operator from cooking altogether. auto - Only cook / update the contents when the results would change. always - Continually cook this operator repeatedly for update cases that might be missed. incremental - This will cook each frame, but only add one result per cook, until all results are added. At that point cooking stops.",
      "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-08T00:37:49.181Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Cook Pulse",
      "label": "Cook Pulse",
      "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": "cookpulse - Manually force the OP Find  to update.",
      "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-08T00:37:49.182Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Component",
      "label": "Component",
      "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": "component - The path to the component where the search starts from.",
      "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-08T00:37:49.182Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Include Component",
      "label": "Include Component",
      "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": "includecomponent - Include the component the search starts from in the search itself.",
      "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-08T00:37:49.182Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Include Wire Hierarchy",
      "label": "Include Wire Hierarchy",
      "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": "includewired - Any components wired to the starting component are included in the search.",
      "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-08T00:37:49.182Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Minimum Depth",
      "label": "Minimum Depth",
      "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": "mindepth - Set a minmum depth for the sub-components the OP Find  should recursively search through.",
      "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-08T00:37:49.182Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Limit Max Depth",
      "label": "Limit Max Depth",
      "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": "limitmaxdepth - Turns on the Maximum Depth parameter to limit searching through sub-components. Turning this toggle off will search through all sub-networks.",
      "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-08T00:37:49.182Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Maximum Depth",
      "label": "Maximum Depth",
      "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": "maxdepth - Set the maximum depth for the sub-components the OP Find  should recursively search through.",
      "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-08T00:37:49.182Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Limit Max Operators",
      "label": "Limit Max Operators",
      "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": "limitmaxops - Limit the total number of operators iterated in the search.",
      "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-08T00:37:49.182Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Maximum Operators",
      "label": "Maximum Operators",
      "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": "maxops - Number of operators the search is limited to.",
      "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-08T00:37:49.182Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Object COMPs",
      "label": "Object COMPs",
      "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": "objects - Include Object COMPs, like Geo , in the search.",
      "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-08T00:37:49.182Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Panel COMPs",
      "label": "Panel COMPs",
      "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": "panels - Include Panel COMPs, like  , in the search.",
      "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-08T00:37:49.182Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Other COMPs",
      "label": "Other COMPs",
      "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": "other - Include other type COMPs, like Base , in the search.",
      "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-08T00:37:49.182Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "TOPs",
      "label": "TOPs",
      "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": "tops - Include  family operators in the search.",
      "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-08T00:37:49.182Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "CHOPs",
      "label": "CHOPs",
      "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": "chops - Include  family operators in the search.",
      "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-08T00:37:49.182Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "SOPs",
      "label": "SOPs",
      "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": "sops - Include  family operators in the search.",
      "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-08T00:37:49.182Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "MATs",
      "label": "MATs",
      "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": "mats - Include  family operators in the search.",
      "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-08T00:37:49.182Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "DATs",
      "label": "DATs",
      "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": "dats - Include  family operators in the search.",
      "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-08T00:37:49.182Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Case Sensitive",
      "label": "Case Sensitive",
      "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": "casesensitive - Use case sensitivity in all pattern matching 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-08T00:37:49.182Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Combine Filters",
      "label": "Combine Filters",
      "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": "combinefilters -  - Combine 'All', 'Any' or 'Custom' of the filters below to get a match. 'Custom' allows for specifying a subselection of filters with 'or' and 'and' keywords.\n\n all - All filters must match for an operator to be included in the search result. (AND) any - Any of the filter conditions must be met for an operator to be included in the search result. (OR) custom -",
      "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-08T00:37:49.182Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "All",
      "label": "All",
      "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": "all - All filters must match for an operator to be included in the search result. (AND) any - Any of the filter conditions must be met for an operator to be included in the search result. (OR) custom -",
      "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-08T00:37:49.182Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Custom Combine",
      "label": "Custom Combine",
      "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": "customcombine - Specify which filters to combine in the search.",
      "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-08T00:37:49.182Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Name",
      "label": "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": "namefilter - Use the operator's names like 'wave1', 'wave2', etc.",
      "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-08T00:37:49.182Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Type",
      "label": "Type",
      "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": "typefilter - Use names like waveCHOP and panelexecuteDAT. Look at the column Type to see the syntax.",
      "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-08T00:37:49.183Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Parent Shortcut",
      "label": "Parent Shortcut",
      "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": "parentshortcutfilter - Only match operators that include the here specified .",
      "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-08T00:37:49.183Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "OP Shortcut",
      "label": "OP Shortcut",
      "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": "opshortcutfilter - Only match operators that include the here specified OP .",
      "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-08T00:37:49.183Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Path",
      "label": "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": "pathfilter - Specify a path that the operator should be located in.",
      "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-08T00:37:49.183Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Parent Path (relative)",
      "label": "Parent Path (relative)",
      "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": "parentfilter - Specify a relative parent path that operators should be located in. This is a filter option on the parentPath column of this  that can be enabled by toggling the Parent  parameter on this 's Columns page.",
      "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-08T00:37:49.183Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Exclude Path (relative)",
      "label": "Exclude Path (relative)",
      "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": "excludefilter - Specify a relative path that should be excluded from the search.",
      "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-08T00:37:49.183Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Wire Path",
      "label": "Wire 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": "wirepathfilter -",
      "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-08T00:37:49.183Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Comment",
      "label": "Comment",
      "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": "commentfilter - Only match operators that include the here specified comment string.",
      "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-08T00:37:49.183Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Tags",
      "label": "Tags",
      "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": "tagsfilter - Only match operators that match the here specified tags. Multiple tags can be searched for as a space seperated list.",
      "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-08T00:37:49.183Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "DAT Text",
      "label": "DAT Text",
      "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": "textfilter - Only include operators that - in the case of being from the  family - match specified string in their content.",
      "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-08T00:37:49.183Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Par Name",
      "label": "Par 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": "parnamefilter - Only match operators with specified parameter name.  Parameters must match ALL of name, value and expression to be included.",
      "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-08T00:37:49.183Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Par Value",
      "label": "Par Value",
      "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": "parvaluefilter - Only include operators that match specified parameter value. Parameters must match ALL of name, value and expression to be included.",
      "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-08T00:37:49.183Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Par Expression",
      "label": "Par Expression",
      "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": "parexpressionfilter - Only include operators that match specified parameter expression string. Parameters must match ALL of name, value and expression to be included.",
      "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-08T00:37:49.183Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Par Non-Default Only",
      "label": "Par Non-Default Only",
      "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": "parnondefaultonly - Only match with parameters that are non-default values.",
      "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-08T00:37:49.183Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Use Legacy Columns",
      "label": "Use Legacy Columns",
      "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": "legacycols - Use only when expecting column headers to be named with legacy titles.",
      "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-08T00:37:49.183Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "ID",
      "label": "ID",
      "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": "idcol - An integer that uniquely defines the node in this process. It's the same number for the duration of the process, but may be different when you run the process again.",
      "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-08T00:37:49.183Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Name",
      "label": "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": "namecol - Inlcude the name of the operator in the result table.",
      "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-08T00:37:49.183Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Type",
      "label": "Type",
      "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": "typecol - Include the operator type in the result table. For example rampTOP.",
      "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-08T00:37:49.183Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Parent Shortcut",
      "label": "Parent Shortcut",
      "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": "parentshortcutcol - Include the operator's  in the result table.",
      "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-08T00:37:49.183Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "OP Shortcut",
      "label": "OP Shortcut",
      "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": "opshortcutcol - Include the operator's OP  in the result table.",
      "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-08T00:37:49.183Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Path",
      "label": "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": "pathcol - Include the operator's path in the result table.",
      "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-08T00:37:49.183Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Relative Path",
      "label": "Relative 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": "relpathcol - Include the operator's, relative to the search root, path in the result table.",
      "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-08T00:37:49.183Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Parent Path",
      "label": "Parent 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": "parentpath - Include the parent path.",
      "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-08T00:37:49.183Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Wire Path",
      "label": "Wire 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": "wirepathcol - Include the operator's wire path in the result table.",
      "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-08T00:37:49.183Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Depth",
      "label": "Depth",
      "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": "depthcol - Include a column showing the relative depth to the root path of the found operator.",
      "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-08T00:37:49.184Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Cook Times",
      "label": "Cook Times",
      "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": "cooktimescol - Include cook-time of found operators.",
      "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-08T00:37:49.184Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Tags",
      "label": "Tags",
      "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": "tagscol - Include the operator's tags.",
      "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-08T00:37:49.184Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "General Properties",
      "label": "General Properties",
      "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": "genprop - Include the operator's name, id, isCOMP, node position, node size and dock id in the result table.",
      "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-08T00:37:49.184Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "CPU Time",
      "label": "CPU Time",
      "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": "cputime - Include the operator's CPU cooktime in the result table.",
      "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-08T00:37:49.184Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "GPU Time",
      "label": "GPU Time",
      "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": "gputime - Include the operator's  cooktime in the result table.",
      "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-08T00:37:49.184Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "CPU Memory",
      "label": "CPU Memory",
      "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": "cpumem - Include the operator's CPU memory in the result table.",
      "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-08T00:37:49.184Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "GPU Memory",
      "label": "GPU Memory",
      "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": "gpumem - Include the operator's  memory in the result table.",
      "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-08T00:37:49.184Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Children",
      "label": "Children",
      "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": "children - Include the children of the operator in the result table.",
      "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-08T00:37:49.184Z",
      "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 -  to a  containing callbacks for each event received. See opfindDAT_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-08T00:37:49.184Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Convert Bool to Int",
      "label": "Convert Bool to Int",
      "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": "convertbool - For boolean logic values, the value will be '1' or '0'. When this parameter is Off, they will be 'True\" or 'False'.",
      "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-08T00:37:49.184Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Convert None to Empty",
      "label": "Convert None to Empty",
      "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": "convertnone - For 'None' values, the value will be converted to Empty.",
      "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-08T00:37:49.184Z",
      "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-08T00:37:49.184Z",
      "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-08T00:37:49.184Z",
      "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. language - pick extension from DATs script language. custom - 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-08T00:37:49.184Z",
      "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. language - pick extension from DATs script language. custom - 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-08T00:37:49.184Z",
      "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-08T00:37:49.184Z",
      "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-08T00:37:49.184Z",
      "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-08T00:37:49.184Z",
      "rawData": {},
      "sourceElement": null
    }
  ],
  "parameterGroups": {},
  "codeExamples": [],
  "pythonExamples": [],
  "expressions": [],
  "commonInputs": [],
  "commonOutputs": [],
  "relatedOperators": [],
  "workflowPatterns": [],
  "images": [],
  "videos": [],
  "assets": [],
  "keywords": [
    "op",
    "find",
    "traverses",
    "component",
    "hierarchy",
    "starting",
    "looking",
    "nodes",
    "within",
    "component,"
  ],
  "tags": [
    "DAT",
    "TouchDesigner",
    "OP Find"
  ],
  "searchWeight": 1,
  "contentHash": "",
  "processingDate": "2025-08-08T00:37:49.185Z",
  "processingVersion": "1.0.0",
  "isValid": true,
  "validationErrors": []
}