@bottobot/td-mcp
Version:
TouchDesigner Documentation MCP Server v2.3 - Pure MCP server for VS Code/Codium with comprehensive operator documentation for 629 operators + 7 tutorials across all categories (TOP, CHOP, SOP, DAT, MAT, COMP, POP). Features experimental POP operators wit
8,184 lines • 330 kB
JSON
{
"id": "glsl_comp",
"name": "GLSL COMP",
"displayName": "GLSL COMP",
"category": "COMP",
"subcategory": "Components",
"version": "",
"lastUpdated": "2025-08-07T07:50:01.541Z",
"sourceFile": "C:\\Program Files\\Derivative\\TouchDesigner\\Samples\\Learn\\OfflineHelp\\https.docs.derivative.ca\\GLSL_COMP.htm",
"url": "",
"description": "The GLSL COMP uses shaders to render an image in a panel directly to the screen. It is useful for rendering pixel accurate UIs as the resolution will automatically adapt to the DPI scaling of the screen it is displayed on. Panel variables can be accessed in the shader for responding to user events,",
"summary": "The GLSL COMP uses shaders to render an image in a panel directly to the screen. It is useful for rendering pixel accurate UIs as the resolution will automatically adapt to the DPI scaling of the scre",
"details": "",
"usage": "",
"tips": [],
"warnings": [],
"parameters": [
{
"id": null,
"name": "Vertex Shader",
"label": "Vertex Shader",
"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 GLSL uses shaders to render an image in a panel directly to the screen. It is useful for rendering pixel accurate UIs as the resolution will automatically adapt to the DPI scaling of the screen it is displayed on. Panel variables can be accessed in the shader for responding to user events,\nFor more information on writing a shader, see the GLSL Category.\nglslCOMP_Class\n\nContents\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n\n\n\n vertexdat - to the that holds the vertex shader code.\n\n\n\n pixeldat - to the that holds the pixel shader code.\n\n\n\n\n\n sampler - Sequence of samplers\n\n\n\n sampler0name - This is the sampler name that the GLSL program will use to sample from this . The samplers need to be declared at the same dimensions as the (sampler2D for a 2D , sampler3D for 3D ).\n\n\n \n sampler0top - - This is the that will be referenced by the above sampler name above it.\nExposed by the + Button, texture sampling parameters:\t\t\t\t\nRefer to the Texture Sampling Parameters article for more information on the parameters exposed by pressing the + button. The parameter prefix for each of the parameters is sampler[digit].\n\n\n sampler0extendu - - \n\n hold - zero - repeat - mirror -\n\n sampler0extendv - - \n\n hold - zero - repeat - mirror -\n\n sampler0extendw - - \n\n hold - zero - repeat - mirror -\n\n sampler0filter - - \n\n nearest - linear - mipmaplinear -\n\n sampler0anisotropy - - \n\n off - 2x - 4x - 8x - 16x -\n\n\n\n\n\n vec - Sequence of named vectors to be used as uniforms in the shader\n\n\n\n vec0name - The name of the uniform.\n\n\n \n vec0value - - The value to assign to the uniform. If the uniform is a float the first entry of the four is used, if the uniform is a vec2 the first two entries are used, etc.\n\n vec0valuex - vec0valuey - vec0valuez - vec0valuew -\n\n\n\nSpecialization Constants can optionally have their values assigned here.\n\n const0name - The constant name, as declared in the shader.\n\n\n\n const0value - The value to give the constant.\n\n\n\n\n\nThe parameter page controls the size and position of the panel.\n\n x - Specify the horizontal position in pixels relative to its parent.\n\n\n\t\t\n y - Specify the vertical position in pixels relative to its parent.\n\n\n\t\t\n w - Specify the panel's width in pixels.\n\n\n\t\t\n h - Specify the 's height in pixels.\n\n\n\t\t\n fixedaspect - - Allows easy creation of panels with a specific aspect set in the Aspect Ratio parameter below. Only requires setting the width or height of the panel and the other dimension is calculated based on the Aspect Ratio parameter.\n\n off - horizontal - vertical -\n\t\t\n aspect - Specify the ratio when using Fixed Aspect parameter above, the ratio is width/height.\n\n\n\t\t\n layer - Specifies the order the panel components are drawn in, similar to layers in Photoshop. Higher values will be drawn over any other panel with a lower value (that is at the same level of hierarchy). If two panel components have the same Depth Layer value then they are ordered based on the operator's name.\n\n\n\t\t\n hmode - - Select one of 3 modes to determine the horizontal width of the panel.\n\n fixed - Uses the Width parameter above to set this panel's width in pixels. fill - The width of this panel will match (fill) the width of the parent panel. anchors - The width of this panel is set by the Left Anchor and Right Anchor parameters below which will maintain a relative width to the parent panel as the parent panel changes size. This allows for stretchy panels. These anchor parameters are normalized 0-1 like uv coordinates where 0 is the left edge and 1 is the right edge of the parent panel. For example, Left Anchor = 0.2 and Right Anchor = 0.8 will maintain the width proportionally to the parent panel such that the left edge is 20% (0.2) in from the left and the right edge is 20% (0.8) in from the right.\n\t\t\n leftanchor - Position of the left anchor of the panel with respect to the parent. This value is normalized 0-1, 0 is the left edge of the parent and 1 is the right edge of the parent.\n\n\n\t\t\n leftoffset - An offset for the left anchor in pixels.\n\n\n\t\t\n rightanchor - Position of the right anchor of the panel with respect to the parent. This value is normalized 0-1, 0 is the left edge of the parent and 1 is the right edge of the parent.\n\n\n\t\t\n rightoffset - An offset for the right anchor in pixels.\n\n\n\t\t\n horigin - Sets the position of the panel's origin horizontally. The default origin (0,0) is the bottom-left corner of the panel.\n\n\n\t\t\n hfillweight - When multiple panels are using Horizontal Mode = Fill and being aligned by the parent either Left to Right or Right to Left, this fill weight parameter can be used to bias the fill width of the panels.\n\n\n\t\t\n vmode - - Select one of 3 modes to determine the vertical height of the panel.\n\n fixed - Uses the Height parameter above to set this panel's height in pixels. fill - The height of this panel will match (fill) the height of the parent panel. anchors - The height of this panel is set by the Bottom Anchor and Top Anchor parameters below which will maintain a relative and proportionally height to the parent panel as the parent panel changes size. This allows for stretchy panels. These anchor parameters are normalized 0-1 like uv coordinates where 0 is the bottom edge and 1 is the top edge of the parent panel. For example, Bottom Anchor = 0.3 and Right Anchor = 0.5 will maintain the height proportionally to the parent panel such that the bottom edge is 30% (0.3) up from the bottom and the top edge is 50% (0.5) down from the top.\n\t\t\n bottomanchor - Position of the bottom anchor of the panel with respect to the parent. This value is normalized 0-1, 0 is the bottom edge of the parent and 1 is the top edge of the parent.\n\n\n\t\t\n bottomoffset - An offset for the bottom anchor in pixels.\n\n\n\t\t\n topanchor - Position of the top anchor of the panel with respect to the parent. This value is normalized 0-1, 0 is the bottom edge of the parent and 1 is the top edge of the parent.\n\n\n\t\t\n topoffset - An offset for the top anchor in pixels.\n\n\n\t\t\n vorigin - Sets the position of the panel's origin vertically. The default origin (0,0) is the bottom-left corner of the panel.\n\n\n\t\t\n vfillweight - When multiple panels are using Vertical Mode = Fill and being aligned by the parent either Top to Bottom or Bottom to Top, this fill weight parameter can be used to bias the fill height of the panels.\n\n\n\t\t\n alignallow - - When set to Ignore, the Panel will ignore any Align parameter settings from its parent.\n\n allow - Aligns the panel based on settings in parent. ignore - Does not align the panel but respects margins. ignoremargin - Does not align the panel and disregards margins.\n\t\t\n alignorder - This parameter allows you to specify the align position when its parent's Align parameter is set to something other then None or Match Network Nodes. Lower numbers are first.\n\n\n\t\t\n postoffset - - Adds an offset after all other postions and alignment options have been applied to the panel.\n\n postoffsetx - postoffsety -\n\t\t\n sizefromwindow - When enabled the panel component's width and height are set by resizing its floating viewer window.\n\n\n\n\n\nThe Panel parameter page controls panel attributes such as display on/off, enable on/off, panel help, and interactions with the cursor.\n\n display - Specifies if the panel is displayed or hidden. Changing this parameter may incur some layout processing costs. For simple cases, such as overlays it is more performant to adjust the opacity parameter instead.\n\n\n\n enable - Allows you to prevent all interaction with this panel.\n\n\n\n helpdat - Lets you specify the path to a Text DAT whose content will be displayed as a rollover pop-up help for the control panel.\n\n\n\n cursor - - Changes the cursor displayed when cursor is over the panel.\n\n pointer - linkselect - ibeam - cross - busy - activate - invisible -\n\n multitouch - - When enabled, this panel will process the first touch it gets in a similar manner to how it processes a mouse click, with updates to u, v, state etc. The touch event must be initiated from the panel. Subsequent touches are ignored. If this panel handles multi-touch events via the Multi Touch In DAT, you may want to disable Built-in so it won't interfere with script processing.\n\n mtouchparent - Use the parent's setting. This defaults to enabled in the root component. mtouchyes - Enable use of first touch as mouse. mtouchno - Disable use of first touch as mouse.\n\n constraincursor - Constrains the cursor to this panel, keeping it inside once it enters.\n\n\n\n clickthrough - When enabled all mouse clicks are ignored by this Panel Component.\n\n\n\n mousewheel - Turn on to capture events when the mouse wheel is used over the panel.\n\n\n\n uvbuttons - - Allows you to specify which mouse buttons update the uv Panel Values.\n\n uvbuttonsleft - uvbuttonsmiddle - uvbuttonsright -\n\n mouserel - When enabled the uv Panel Values will reflect relative mouse movement.\n\n\n\n resize - - Four checkboxes allow you to enable resizing a panel by grabbing the corresponding edge or corner: Resize Left, Right, Bottom, Top.\n\n resizel - resizer - resizeb - resizet -\n\n resizew - - Limits the left-right (width) resizing range.\n\nresizewmin -resizewmax -\n\n resizeh - - Limits the bottom-top (height) resizing range.\n\nresizehmin -resizehmax -\n\n reposition - - Enables repositioning of the panel or window by dragging with the mouse.\n\n off - window - component -\n\n repocomp - Enabled by choosing the option from the Reposition parameter. Specify the path to the panel component you would like to reposition by mouse.\n\n\n\n repositionx - - Enabled by choosing the option from the Reposition parameter. Sets the maximum range for repositioning the panel component horizontally.\n\nrepositionxmin -repositionxmax -\n\n repositiony - - Enabled by choosing the option from the Reposition parameter. Sets the maximum range for repositioning the panel component vertically.\n\nrepositionymin -repositionymax -\n\n anchordrag - - When Drag To Reposition parameter is set to , and the panel's Horizontal Mode and/or Vertical Mode is set to Anchors, this menu determines whether drag-to-reposition actions change Anchor values or Offset values.\n\n anchors - Drag-to-reposition actions change Anchor parameter values offsets - Drag-to-reposition actions change Offset parameter values\n\n scrolloverlay - - Controls whether the panel is affected by scrollbar position. This allows the creation of panel overlays that aren't affected by the panel's scrollbars.\n\n off - Scrollbar affects panel normally. ignore - Panel will not move when scrollbar is moved. Panel depth is determined by Depth Layer parameter normally. ignoreover - Panel will not move when scrollbar is moved. Panel is drawn over scrollbars and sibling panels.\n\n\n\nThe Color parameter page sets the panel's background, border, and disabled colors.\n\n bgcolor - - RGB values for the background. (default: black (0,0,0))\n\n bgcolorr - bgcolorg - bgcolorb -\n\t\t\n bgalpha - Set the alpha value for the background.\n\n\n\t\t\n top - Allows you to specify a TOP as the background for the panel.\n\n\n\t\t\n topfill - - This menu specifies the way the Background will fill the panel's background.\n\n off - horizontal - vertical - best - native -\n\t\n topsmoothness - - This menu controls background 's viewer smoothness settings. In previous builds of TouchDesigner, this was always 'Mipmap Pixels', so old files will load with this setting whereas the default for new Panel 's is 'Interpolate Pixels'.\n\n nearest - Uses nearest pixel or accurate image representation. Images will look jaggy when viewing at any zoom level other than Native . linear - Uses linear filtering between pixels. Use this to get images in viewers to look good at various zoom levels, especially useful when using any Fill Viewer setting other than Native . mipmap - Uses mipmap filtering when scaling images. This can be used to reduce artifacts and sparkling in moving/scaling images that have lots of detail. When the input is 32-bit float format, only nearest filtering will be used (regardless of what is selected).\n\t\n bordera - - RGB values for border A color.\n\n borderar - borderag - borderab -\n\t\t\n borderaalpha - Alpha value for border A color.\n\n\n\t\t\n borderb - - RGBA values for border B color.\n\n borderbr - borderbg - borderbb -\n\t\t\n borderbalpha - Alpha value for border B color.\n\n\n\t\t\n leftborder - What color the 2 left-most pixels are. Options are 0 (no change), Border A (uses color defined in Border A), or Border B (uses color defined in Border B).\n\n\n\t\t\n leftborderi - Same as above parameter but used for an inside border.\n\n\n\t\t\n rightborder - What color the 2 right-most pixels are. Options are 0 (no change), Border A (uses color defined in Border A), or Border B (uses color defined in Border B).\n\n\n\t\t\n rightborderi - Same as above parameter but used for an inside border.\n\n\n\t\t\n bottomborder - What color the 2 bottom-most pixels are. Options are 0 (no change), Border A (uses color defined in Border A), or Border B (uses color defined in Border B).\n\n\n\t\t\n bottomborderi - Same as above parameter but used for an inside border.\n\n\n\t\t\n topborder - What color the 2 top-most pixels are. Options are 0 (no change), Border A (uses color defined in Border A), or Border B (uses color defined in Border B).\n\n\n\t\t\n topborderi - Same as above parameter but used for an inside border.\n\n\n\t\t\n borderover - Draws the panel's borders on top of all children panels.\n\n\n\t\t\n dodisablecolor - Enable the use of a unique disable color below when the panel's Enable = Off.\n\n\n\t\t\n disablecolor - - RGB values for the disable color. (default: black (0,0,0))\n\n disablecolorr - disablecolorg - disablecolorb -\n\t\t\n disablealpha - Set the alpha value for the disable color.\n\n\n\t\t\n multrgb - Multiplies the RGB channels by the alpha channel.\n\n\n\t\t\n composite - - Selects how the panel is composited with its siblings panels. See the Composite TOP for a description of the various composite methods.\n\n over - under - inside - outside - add - subtract - multiply -\n\t\t\n opacity - Allows you to control the transparency of the panel.\n\n\n\n\n\nThe Children parameter page controls aspects of the 's children alignment, size, and position.\n\n align - - This menu allows you to specify how the children inside the will be laid out. The options Grid Rows, Grid Columns and Match Network Nodes will scale the 's children to fit the . They use the Align Order of each of the children to determine the ordering of the children.\n\n none - horizlr - horizrl - verttb - vertbt - gridrows - gridcols - nodes -\n\n spacing - This is enabled by choosing any Align option other than None or Match Network Nodes. It defines the space between the children when they are being aligned.\n\n\n\n alignmax - This is enabled by choosing any Align option other than None, Grid Horizontal, Grid Vertical, or Match Network Nodes, and defines the maximum number of children placed in one row or column.\n\n\n\n margin - - The four fields allow you to specify the space that surrounds the . The margin is the space between the 's border and the outer edge. \t\nThe Margin is defined in absolute pixels and does not stretch with the window, as a result margin is not reflected in the node's panel viewer but only when the parent is drawn in a floating window.\n\n\n marginl - marginr - marginb - margint -\n\n justifymethod - - This menu specifies if the panel's children are being justified as a group or individually using the Jusitfy Horizontal / Vertical parameters below.\n\n individual - Align all children individually, separately from each other. group - Align all children as a group. First group all children into a bounding box, then align that box.\n\n justifyh - - This menu specifies if the panel's children are being justified horizontally.\n\n off - left - center - right -\n\n justifyv - - This menu specifies if the panel's children are being justified vertically.\n\n off - top - center - bottom -\n\n fit - - This menu allows you to scale the panel's children. It overrides the Justify Horizontal and Justify Vertical parameters.\n\n off - horizontal - vertical - best -\n\n scale - - Allows you to uniformly scale the 's children.\n\n scalex - scaley -\n\n offset - - Allows you to offset the 's children. This parameter is overwritten by the Align, Justify Horizontal, and Justify Vertical parameters above.\n\n offsetx - offsety -\n\n crop - - This menu determines if any children panels which are positioned partially or completely outside the panel component's dimensions get cropped.\n\n off - on - never -\n\n phscrollbar - - Setting for horizontal scrollbar on this panel.\n\n off - No scrollbar. on - Always include scrollbar. auto - Include scrollbar only when child width is greater than this panel's width.\n\n pvscrollbar - - Setting for vertical scrollbar on this panel.\n\n off - No scrollbar. on - Always include scrollbar. auto - Include scrollbar only when child height is greater than this panel's height.\n\n scrollbarthickness - Set the thickness of the scrollbars in pixels.\n\n\n\n\n\nPlease refer to Drag-and-Drop for a full explanation on how Drag and Drop between Panel Components functions.\n\n drag - - Specify if this can be dragged.\n\n dragparent - Follow the parent Panel Components Drag setting. legacy - Allow Dragging for this . Use the Paramters Drag , Drop Destination and Dropped to control the behaviour. dragno - Disallows Dragging for this .\n\t\t\n dragscript - Specify a script that will be executed when starting to drag a . Please refer to the Drag section of the Drag and Drop page.\n\n\n\t\t\n dropdestscript - Specify a script that will be executed when the dragged is dropped. A temporary network is created and the component (or the alternative operator specified in Dropped ) is copied to this network. You can add or modify operators in this network. Please refer to the Drop Destination section of the Drag and Drop page.\n\n\n\t\t\n droptypescript - If a drop destination script is specified, you can also add a table with a list of return types that the drop destination script will provide. Return types can be one of the op types (,,,,,), channel, or supported filetypes. Please refer to the Drop Types section of the Drag and Drop page.\n\n\n\t\t\n paneldragop - The Dropped parameter is the easiest way to specify an alternative operator to drop. Note that this alternative operator must exist, otherwise the component itself will be dropped. The alternative is only used when dropping onto a network or control panel. Text pasted via dragging and dropping, or files saved via dropping onto the desktop, will still use the original.\n\n\n\t\t\n drop - - Specify if this accepts items that are dropped onto it.\n\n dropparent - Follow the parent Panel Components Drop setting. legacy - Allow Dropping onto this . Use the Paramter Drop to control the behaviour. dropno - Disallows Dropping onto this .\n\t\t\n dropscript - A component's Drop is run when you drop another component or an external file into that component. Please refer to the Drop Scripts - Text section of the Drag and Drop page.\nAlternatively specify a in the drop script field. TouchDesigner will automatically look for 2 columns in the table. The first column should indicate the data type and the second should indicate the Text that holds the script to process that data type. Please refer to the Drop - Tables section of the Drag and Drop page.\n\n\n\n\n\nThe parameter page sets the component's python extensions. Please see extensions for more information.\n\n ext - Sequence of info for creating extensions on this component\n\n\n\n ext0object - A number of class instances that can be attached to the component.\n\n\n \n ext0name - Optional name to search by, instead of the instance class name.\n\n\n\n ext0promote - Controls whether or not the extensions are visible directly at the component level, or must be accessed through the .ext member. Example: n.Somefunction vs n.ext.Somefunction\n\n\n\n\n reinitextensions - Recompile all extension objects. Normally extension objects are compiled only when they are referenced and their definitions have changed.\n\n\n\n\n\nThe Common parameter page sets the component's node viewer and clone relationships.\n\n parentshortcut - Specifies a name you can use anywhere inside the component as the path to that component. See Parent Shortcut.\n\n\n\n opshortcut - Specifies a name you can use anywhere at all as the path to that component. See Global OP Shortcut.\n\n\n\n iop - Sequence header for internal operators.\n\n\n\n iop0shortcut - Specifies a name you can use anywhere inside the component as a path to \"Internal \" below. See Internal Operators.\n\n\n\n iop0op - The path to the Internal OP inside this component. See Internal Operators.\n\n\n\n\n nodeview - - Determines what is displayed in the node viewer, also known as the Node Viewer. Some options will not be available depending on the type (Object Component, Panel Component, Misc.)\n\n default - Displays the default viewer for the component type, a 3D Viewer for Object COMPS and a Viewer for Panel COMPs. opviewer - Displays the node viewer from any operator specified in the Operator Viewer parameter below.\n\n opviewer - Select which operator's node viewer to use when the Node View parameter above is set to Operator .\n\n\n\n keepmemory - \n\n\n\n enablecloning - Control if the OP should be actively cloneing. Turning this off causes this node to stop cloning it's ' Master'.\n\n\n\n enablecloningpulse - Instantaneously clone the contents.\n\n\n\n clone - to a component used as the Master Clone.\n\n\n\n loadondemand - Loads the component into memory only when required. Good to use for components that are not always used in the project.\n\n\n\n enableexternaltox - When on (default), the external file will be loaded when the starts and the contents of the will match that of the external . This can be turned off to avoid loading from the referenced external on startup if desired (the contents of the are instead loaded from the file). Useful if you wish to have a reference an external but not always load from it unless you specifically push the Re-Init Network parameter button.\n\n\n\n enableexternaltoxpulse - This button will re-load from the external file (if present).\n\n\n\n externaltox - to a file on disk which will source the component's contents upon start of a . This allows for components to contain networks that can be updated independently. If the file can not be found, whatever the file was saved with will be loaded.\n\n\n\n reloadcustom - When this checkbox is enabled, the values of the component's Custom Parameters are reloaded when the .tox is reloaded. This only affects top-level parameters on the component, all parameters on nodes inside the component are always reloaded with the .tox.\n\n\n\n reloadbuiltin - When this checkbox is enabled, the values of the component's built-in parameters are reloaded when the .tox is reloaded. This only affects top-level parameters on the component, all parameters on nodes inside the component are always reloaded with the .tox.\n\n\n\n savebackup - When this checkbox is enabled, a backup copy of the component specified by the External parameter is saved in the file. This backup copy will be used if the External can not be found. This may happen if the was renamed, deleted, or the file is running on another computer that is missing component media.\n\n\n\n subcompname - When loading from an External file, this option allows you to reach into the and pull out a and make that the top-level , ignoring everything else in the file (except for the contents of that ). For example if a file named project1 contains project1/geo1, putting geo1 as the Sub- to Load, will result in geo1 being loaded in place of the current . If this parameter is blank, it just loads the file normally using the top level in the file.\n\n\n\n relpath - - Set whether the child file paths within this are relative to the itself or the , or inherit from parent.\n\n inherit - Inherit setting from parent. project - The path, when specified as a relative path, will be relative to the file. externaltox - The path, when specified as a relative path, will be relative to the file. When no external file is specified, or when Enable External is not toggled on, this doesn't have any impact.\n\n\n\nExtra Information for the GLSL can be accessed via an Info CHOP.\n\n\n\n - Number of children in this component.\n - Number of times the operator has cooked since the process started. - Duration of the last cook in milliseconds. - Frame number when this operator was last cooked relative to the component timeline. - Frame number when this operator was last cooked relative to the absolute time. - Time in milliseconds at which the operator started cooking in the frame it was cooked. - Time in milliseconds at which the operator finished cooking in the frame it was cooked. - 1 if operator was cooked this frame. - Number of warnings in this operator if any. - Number of errors in this operator if any.\n\nTouchDesigner Build: Latest\\nwikieditorwikieditorwikieditorwikieditorwikieditorwikieditorwikieditor2023.11280\nCOMPs\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\nA sequence of vertices form a Polygon in a SOP. Each vertex is an integer index into the Point List, and each Point holds an XYZ position and attributes like Normals and Texture Coordinates.\n\n\n\nThe OpenGL (pre-2022) or Vulkan (2022-) code that runs on the GPU and creates rendered images from polygons and textures. A shader is programmed in Text DATs and referenced by a GLSL Material or a GLSL TOP. Shaders are composed of up to three parts: Vertex Shader, Pixel Shader and Compute Shader.\n\n\n\nThe location of an operator within the TouchDesigner environment, for example, /geo1/circle1, a node called circle1 in a component called geo1. The path / is called Root. This path is displayed at the top of every Pane, showing which Component's network you are currently in. To refer instead to a filesystem folder, directory, disk file or http: address, see Folder.\n\n\n\nAn Operator Family that manipulates text strings: multi-line text or tables. Multi-line text is often a python Script or GLSL Shader, but can be any multi-line text. Tables are rows and columns of cells, each containing a text string.\n\n\n\nAn Operator Family that creates, composites and modifies images, and reads/writes images and movies to/from files and the network. TOPs run on the graphics card's GPU.\n\n\n\nOperators that need 1 or more inputs are called Filters in TouchDesigner, like a Math CHOP. See Generator.\n\n\n\n(1) The TouchDesigner window is made of a menu bar at the top, a Timeline at the bottom, plus one of a choice of Layouts in the middle. A Layout is made on one or more Panes, each Pane can contain a Network Editor, Viewer, Panel, etc. See Pane and Bookmark. (2) Nodes in a network are arranged using Layout commands in the RMB menu.\n\n\n\nA custom interactive control panel built within TouchDesigner. Panels are created using Panel Components.\n\n\n\nA Window in TouchDesigner is a window in Microsoft Windows or macOS that contains either (1) the TouchDesigner editing interface that exists in Designer Mode, or (2) a user-created Panel inside a Window Component. The user-created windows can span Multiple Monitors borderless, or be floating windows with borders, or popups.\n\n\n\nA Link. The grey dashed lines between nodes is a Reference or Link that indicates one operator is getting data from another operator from any Operator Family.\n\n\nA Link or Reference is a dashed line between nodes that represent other data flowing between nodes. Examples are CHOP Exports, node Paths in parameters, and expressions in parameters referencing CHOP channels, DAT tables and other nodes. In contrast is a Wire that connects nodes in the same Operator Family.\n\n\n\nDisplay devices in TouchDesigner that support multiple-finger or control-point input.\n\n\n\nThere are 2 kinds of parenting. The \"parent component\" is the component in which a node resides. The metaphor is extended to include grand parents, grand-grand parents, etc. The root / is the ultimate parent to all nodes. See also 3D Parenting and panel Parenting.\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 width and height of an image in pixels. Most TOPs, like the Movie File In TOP can set the image resolution. See Aspect Ratio for the width/height ratio of an image, taking into account non-square pixels.\n\n\n\nThe sub-Family of Components that are used to create custom interactive 2D control panels (Container, Widget, Text COMP Slider, Button, etc.).\n\n\n\nA set of commands located in a Text DAT that are triggered to run under certain conditions. There are two scripting languages in TouchDesigner: Python and the original Tscript. Scripts and single-line commands can also be run in the Textport.\n\n\n\nAny of the procedural data operators. OPs do all the work in TouchDesigner. They \"cook\" and output data to other OPs, which ultimately result in new images, data and audio being generated. See Node.\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 form of DATs (Data Operators) that is structured as rows and columns of text strings.\n\n\n\nAny component can be extended with its own Python classes which contain python functions and data.\n\n\n\nThe sub-Family of Component types that are used to define and render 3D scenes. A Geometry Component is an Object that contains the 3D shapes to render. A Camera COMP and Light COMP are other Object types. Separately, \"Objects\" also refers to Python objects.\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\nA name for a component that is accessible from any node in a project, which can be declared in a component's Global Operator Shortcut parameter.\n\n\n\nAny of the procedural data operators. OPs do all the work in TouchDesigner. They \"cook\" and output data to other OPs, which ultimately result in new images, data and audio being generated. See Node.\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 viewer of a node can be (1) the interior of a node (the Node Viewer), (2) a floating window (RMB->View... on node), or (3) a Pane that graphically shows the results of an operator.\n\n\n\nA custom interactive control panel built within TouchDesigner. Panels are created using Panel Components.\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 \"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\nTouchDesigner Component file, the file type used to save a Component of your TouchDesigner project.\n\n\n\nTOuch Environment file, the file type used by TouchDesigner to save your entire project.\n\n\n\n\n\n\n\n\nRetrieved from \"https://docs.derivative.ca/index.php?title=GLSL_COMP&oldid=31704\"\n\t\tCategory: COMPs",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.521Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Vertex Shader",
"label": "Vertex Shader",
"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 GLSL uses shaders to render an image in a panel directly to the screen. It is useful for rendering pixel accurate UIs as the resolution will automatically adapt to the DPI scaling of the screen it is displayed on. Panel variables can be accessed in the shader for responding to user events,\nFor more information on writing a shader, see the GLSL Category.\nglslCOMP_Class\n\nContents\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n\n\n\n vertexdat - to the that holds the vertex shader code.\n\n\n\n pixeldat - to the that holds the pixel shader code.\n\n\n\n\n\n sampler - Sequence of samplers\n\n\n\n sampler0name - This is the sampler name that the GLSL program will use to sample from this . The samplers need to be declared at the same dimensions as the (sampler2D for a 2D , sampler3D for 3D ).\n\n\n \n sampler0top - - This is the that will be referenced by the above sampler name above it.\nExposed by the + Button, texture sampling parameters:\t\t\t\t\nRefer to the Texture Sampling Parameters article for more information on the parameters exposed by pressing the + button. The parameter prefix for each of the parameters is sampler[digit].\n\n\n sampler0extendu - - \n\n hold - zero - repeat - mirror -\n\n sampler0extendv - - \n\n hold - zero - repeat - mirror -\n\n sampler0extendw - - \n\n hold - zero - repeat - mirror -\n\n sampler0filter - - \n\n nearest - linear - mipmaplinear -\n\n sampler0anisotropy - - \n\n off - 2x - 4x - 8x - 16x -\n\n\n\n\n\n vec - Sequence of named vectors to be used as uniforms in the shader\n\n\n\n vec0name - The name of the uniform.\n\n\n \n vec0value - - The value to assign to the uniform. If the uniform is a float the first entry of the four is used, if the uniform is a vec2 the first two entries are used, etc.\n\n vec0valuex - vec0valuey - vec0valuez - vec0valuew -\n\n\n\nSpecialization Constants can optionally have their values assigned here.\n\n const0name - The constant name, as declared in the shader.\n\n\n\n const0value - The value to give the constant.\n\n\n\n\n\nThe parameter page controls the size and position of the panel.\n\n x - Specify the horizontal position in pixels relative to its parent.\n\n\n\t\t\n y - Specify the vertical position in pixels relative to its parent.\n\n\n\t\t\n w - Specify the panel's width in pixels.\n\n\n\t\t\n h - Specify the 's height in pixels.\n\n\n\t\t\n fixedaspect - - Allows easy creation of panels with a specific aspect set in the Aspect Ratio parameter below. Only requires setting the width or height of the panel and the other dimension is calculated based on the Aspect Ratio parameter.\n\n off - horizontal - vertical -\n\t\t\n aspect - Specify the ratio when using Fixed Aspect parameter above, the ratio is width/height.\n\n\n\t\t\n layer - Specifies the order the panel components are drawn in, similar to layers in Photoshop. Higher values will be drawn over any other panel with a lower value (that is at the same level of hierarchy). If two panel components have the same Depth Layer value then they are ordered based on the operator's name.\n\n\n\t\t\n hmode - - Select one of 3 modes to determine the horizontal width of the panel.\n\n fixed - Uses the Width parameter above to set this panel's width in pixels. fill - The width of this panel will match (fill) the width of the parent panel. anchors - The width of this panel is set by the Left Anchor and Right Anchor parameters below which will maintain a relative width to the parent panel as the parent panel changes size. This allows for stretchy panels. These anchor parameters are normalized 0-1 like uv coordinates where 0 is the left edge and 1 is the right edge of the parent panel. For example, Left Anchor = 0.2 and Right Anchor = 0.8 will maintain the width proportionally to the parent panel such that the left edge is 20% (0.2) in from the left and the right edge is 20% (0.8) in from the right.\n\t\t\n leftanchor - Position of the left anchor of the panel with respect to the parent. This value is normalized 0-1, 0 is the left edge of the parent and 1 is the right edge of the parent.\n\n\n\t\t\n leftoffset - An offset for the left anchor in pixels.\n\n\n\t\t\n rightanchor - Position of the right anchor of the panel with respect to the parent. This value is normalized 0-1, 0 is the left edge of the parent and 1 is the right edge of the parent.\n\n\n\t\t\n rightoffset - An offset for the right anchor in pixels.\n\n\n\t\t\n horigin - Sets the position of the panel's origin horizontally. The default origin (0,0) is the bottom-left corner of the panel.\n\n\n\t\t\n hfillweight - When multiple panels are using Horizontal Mode = Fill and being aligned by the parent either Left to Right or Right to Left, this fill weight parameter can be used to bias the fill width of the panels.\n\n\n\t\t\n vmode - - Select one of 3 modes to determine the vertical height of the panel.\n\n fixed - Uses the Height parameter above to set this panel's height in pixels. fill - The height of this panel will match (fill) the height of the parent panel. anchors - The height of this panel is set by the Bottom Anchor and Top Anchor parameters below which will maintain a relative and proportionally height to the parent panel as the parent panel changes size. This allows for stretchy panels. These anchor parameters are normalized 0-1 like uv coordinates where 0 is the bottom edge and 1 is the top edge of the parent panel. For example, Bottom Anchor = 0.3 and Right Anchor = 0.5 will maintain the height proportionally to the parent panel such that the bottom edge is 30% (0.3) up from the bottom and the top edge is 50% (0.5) down from the top.\n\t\t\n bottomanchor - Position of the bottom anchor of the panel with respect to the parent. This value is normalized 0-1, 0 is the bottom edge of the parent and 1 is the top edge of the parent.\n\n\n\t\t\n bottomoffset - An offset for the bottom anchor in pixels.\n\n\n\t\t\n topanchor - Position of the top anchor of the panel with respect to the parent. This value is normalized 0-1, 0 is the bottom edge of the parent and 1 is the top edge of the parent.\n\n\n\t\t\n topoffset - An offset for the top anchor in pixels.\n\n\n\t\t\n vorigin - Sets the position of the panel's origin vertically. The default origin (0,0) is the bottom-left corner of the panel.\n\n\n\t\t\n vfillweight - When multiple panels are using Vertical Mode = Fill and being aligned by the parent either Top to Bottom or Bottom to Top, this fill weight parameter can be used to bias the fill height of the panels.\n\n\n\t\t\n alignallow - - When set to Ignore, the Panel will ignore any Align parameter settings from its parent.\n\n allow - Aligns the panel based on settings in parent. ignore - Does not align the panel but respects margins. ignoremargin - Does not align the panel and disregards margins.\n\t\t\n alignorder - This parameter allows you to specify the align position when its parent's Align parameter is set to something other then None or Match Network Nodes. Lower numbers are first.\n\n\n\t\t\n postoffset - - Adds an offset after all other postions and alignment options have been applied to the panel.\n\n postoffsetx - postoffsety -\n\t\t\n sizefromwindow - When enabled the panel component's width and height are set by resizing its floating viewer window.\n\n\n\n\n\nThe Panel parameter page controls panel attributes such as display on/off, enable on/off, panel help, and interactions with the cursor.\n\n display - Specifies if the panel is displayed or hidden. Changing this parameter may incur some layout processing costs. For simple cases, such as overlays it is more performant to adjust the opacity parameter instead.\n\n\n\n enable - Allows you to prevent all interaction with this panel.\n\n\n\n helpdat - Lets you specify the path to a Text DAT whose content will be displayed as a rollover pop-up help for the control panel.\n\n\n\n cursor - - Changes the cursor displayed when cursor is over the panel.\n\n pointer - linkselect - ibeam - cross - busy - activate - invisible -\n\n multitouch - - When enabled, this panel will process the first touch it gets in a similar manner to how it processes a mouse click, with updates to u, v, state etc. The touch event must be initiated from the panel. Subsequent touches are ignored. If this panel handles multi-touch events via the Multi Touch In DAT, you may want to disable Built-in so it won't interfere with script processing.\n\n mtouchparent - Use the parent's setting. This defaults to enabled in the root component. mtouchyes - Enable use of first touch as mouse. mtouchno - Disable use of first touch as mouse.\n\n constraincursor - Constrains the cursor to this panel, keeping it inside once it enters.\n\n\n\n clickthrough - When enabled all mouse clicks are ignored by this Panel Component.\n\n\n\n mousewheel - Turn on to capture events when the mouse wheel is used over the panel.\n\n\n\n uvbuttons - - Allows you to specify which mouse buttons update the uv Panel Values.\n\n uvbuttonsleft - uvbuttonsmiddle - uvbuttonsright -\n\n mouserel - When enabled the uv Panel Values will reflect relative mouse movement.\n\n\n\n resize - - Four checkboxes allow you to enable resizing a panel by grabbing the corresponding edge or corner: Resize Left, Right, Bottom, Top.\n\n resizel - resizer - resizeb - resizet -\n\n resizew - - Limits the left-right (width) resizing range.\n\nresizewmin -resizewmax -\n\n resizeh - - Limits the bottom-top (height) resizing range.\n\nresizehmin -resizehmax -\n\n reposition - - Enables repositioning of the panel or window by dragging with the mouse.\n\n off - window - component -\n\n repocomp - Enabled by choosing the option from the Reposition parameter. Specify the path to the panel component you would like to reposition by mouse.\n\n\n\n repositionx - - Enabled by choosing the option from the Reposition parameter. Sets the maximum range for repositioning the panel component horizontally.\n\nrepositionxmin -repositionxmax -\n\n repositiony - - Enabled by choosing the option from the Reposition parameter. Sets the maximum range for repositioning the panel component vertically.\n\nrepositionymin -repositionymax -\n\n anchordrag - - When Drag To Reposition parameter is set to , and the panel's Horizontal Mode and/or Vertical Mode is set to Anchors, this menu determines whether drag-to-reposition actions change Anchor values or Offset values.\n\n anchors - Drag-to-reposition actions change Anchor parameter values offsets - Drag-to-reposition actions change Offset parameter values\n\n scrolloverlay - - Controls whether the panel is affected by scrollbar position. This allows the creation of panel overlays that aren't affected by the panel's scrollbars.\n\n off - Scrollbar affects panel normally. ignore - Panel will not move when scrollbar is moved. Panel depth is determined by Depth Layer parameter normally. ignoreover - Panel will not move when scrollbar is moved. Panel is drawn over scrollbars and sibling panels.\n\n\n\nThe Color parameter page sets the panel's background, border, and disabled colors.\n\n bgcolor - - RGB values for the background. (default: black (0,0,0))\n\n bgcolorr - bgcolorg - bgcolorb -\n\t\t\n bgalpha - Set the alpha value for the background.\n\n\n\t\t\n top - Allows you to specify a TOP as the background for the panel.\n\n\n\t\t\n topfill - - This menu specifies the way the Background will fill the panel's background.\n\n off - horizontal - vertical - best - native -\n\t\n topsmoothness - - This menu controls background 's viewer smoothness settings. In previous builds of TouchDesigner, this was always 'Mipmap Pixels', so old files will load with this setting whereas the default for new Panel 's is 'Interpolate Pixels'.\n\n nearest - Uses nearest pixel or accurate image representation. Images will look jaggy when viewing at any zoom level other than Native . linear - Uses linear filtering between pixels. Use this to get images in viewers to look good at various zoom levels, especially useful when using any Fill Viewer setting other than Native . mipmap - Uses mipmap filtering when scaling images. This can be used to reduce artifacts and sparkling in moving/scaling images that have lots of detail. When the input is 32-bit float format, only nearest filtering will be used (regardless of what is selected).\n\t\n bordera - - RGB values for border A color.\n\n borderar - borderag - borderab -\n\t\t\n borderaalpha - Alpha value for border A color.\n\n\n\t\t\n borderb - - RGBA values for border B color.\n\n borderbr - borderbg - borderbb -\n\t\t\n borderbalpha - Alpha value for border B color.\n\n\n\t\t\n leftborder - What color the 2 left-most pixels are. Options are 0 (no change), Border A (uses color defined in Border A), or Border B (uses color defined in Border B).\n\n\n\t\t\n leftborderi - Same as above parameter but used for an inside border.\n\n\n\t\t\n rightborder - What color the 2 right-most pixels are. Options are 0 (no change), Border A (uses color defined in Border A), or Border B (uses color defined in Border B).\n\n\n\t\t\n rightborderi - Same as above parameter but used for an inside border.\n\n\n\t\t\n bottomborder - What color the 2 bottom-most pixels are. Options are 0 (no change), Border A (uses color defined in Border A), or Border B (uses color defined in Border B).\n\n\n\t\t\n bottomborderi - Same as above parameter but used for an inside border.\n\n\n\t\t\n topborder - What color the 2 top-most pixels are. Options are 0 (no change), Border A (uses color defined in Border A), or Border B (uses color defined in Border B).\n\n\n\t\t\n topborderi - Same as above parameter but used for an inside border.\n\n\n\t\t\n borderover - Draws the panel's borders on top of all children panels.\n\n\n\t\t\n dodisablecolor - Enable the use of a unique disable color below when the panel's Enable = Off.\n\n\n\t\t\n disablecolor - - RGB values for the disable color. (default: black (0,0,0))\n\n disablecolorr - disablecolorg - disablecolorb -\n\t\t\n disablealpha - Set the alpha value for the disable color.\n\n\n\t\t\n multrgb - Multiplies the RGB channels by the alpha channel.\n\n\n\t\t\n composite - - Selects how the panel is composited with its siblings panels. See the Composite TOP for a description of the various composite methods.\n\n over - under - inside - outside - add - subtract - multiply -\n\t\t\n opacity - Allows you to control the transparency of the panel.\n\n\n\n\n\nThe Children parameter page controls aspects of the 's children alignment, size, and position.\n\n align - - This menu allows you to specify how the children inside the will be laid out. The options Grid Rows, Grid Columns and Match Network Nodes will scale the 's children to fit the . They use the Align Order of each of the children to determine the ordering of the children.\n\n none - horizlr - horizrl - verttb - vertbt - gridrows - gridcols - nodes -\n\n spacing - This is enabled by choosing any Align option other than None or Match Network Nodes. It defines the space between the children when they are being aligned.\n\n\n\n alignmax - This is enabled by choosing any Align option other than None, Grid Horizontal, Grid Vertical, or Match Network Nodes, and defines the maximum number of children placed in one row or column.\n\n\n\n margin - - The four fields allow you to specify the space that surrounds the . The margin is the space between the 's border and the outer edge. \t\nThe Margin is defined in absolute pixels and does not stretch with the window, as a result margin is not reflected in the node's panel viewer but only when the parent is drawn in a floating window.\n\n\n marginl - marginr - marginb - margint -\n\n justifymethod - - This menu specifies if the panel's children are being justified as a group or individually using the Jusitfy Horizontal / Vertical parameters below.\n\n individual - Align all children individually, separately from each other. group - Align all children as a group. First group all children into a bounding box, then align that box.\n\n justifyh - - This menu specifies if the panel's children are being justified horizontally.\n\n off - left - center - right -\n\n justifyv - - This menu specifies if the panel's children are being justified vertically.\n\n off - top - center - bottom -\n\n fit - - This menu allows you to scale the panel's children. It overrides the Justify Horizontal and Justify Vertical parameters.\n\n off - horizontal - vertical - best -\n\n scale - - Allows you to uniformly scale the 's children.\n\n scalex - scaley -\n\n offset - - Allows you to offset the 's children. This parameter is overwritten by the Align, Justify Horizontal, and Justify Vertical parameters above.\n\n offsetx - offsety -\n\n crop - - This menu determines if any children panels which are positioned partially or completely outside the panel component's dimensions get cropped.\n\n off - on - never -\n\n phscrollbar - - Setting for horizontal scrollbar on this panel.\n\n off - No scrollbar. on - Always include scrollbar. auto - Include scrollbar only when child width is greater than this panel's width.\n\n pvscrollbar - - Setting for vertical scrollbar on this panel.\n\n off - No scrollbar. on - Always include scrollbar. auto - Include scrollbar only when child height is greater than this panel's height.\n\n scrollbarthickness - Set the thickness of the scrollbars in pixels.\n\n\n\n\n\nPlease refer to Drag-and-Drop for a full explanation on how Drag and Drop between Panel Components functions.\n\n drag - - Specify if this can be dragged.\n\n dragparent - Follow the parent Panel Components Drag setting. legacy - Allow Dragging for this . Use the Paramters Drag , Drop Destination and Dropped to control the behaviour. dragno - Disallows Dragging for this .\n\t\t\n dragscript - Specify a script that will be executed when starting to drag a . Please refer to the Drag section of the Drag and Drop page.\n\n\n\t\t\n dropdestscript - Specify a script that will be executed when the dragged is dropped. A temporary network is created and the component (or the alternative operator specified in Dropped ) is copied to this network. You can add or modify operators in this network. Please refer to the Drop Destination section of the Drag and Drop page.\n\n\n\t\t\n droptypescript - If a drop destination script is specified, you can also add a table with a list of return types that the drop destination script will provide. Return types can be one of the op types (,,,,,), channel, or supported filetypes. Please refer to the Drop Types section of the Drag and Drop page.\n\n\n\t\t\n paneldragop - The Dropped parameter is the easiest way to specify an alternative operator to drop. Note that this alternative operator must exist, otherwise the component itself will be dropped. The alternative is only used when dropping onto a network or control panel. Text pasted via dragging and dropping, or files saved via dropping onto the desktop, will still use the original.\n\n\n\t\t\n drop - - Specify if this accepts items that are dropped onto it.\n\n dropparent - Follow the parent Panel Components Drop setting. legacy - Allow Dropping onto this . Use the Paramter Drop to control the behaviour. dropno - Disallows Dropping onto this .\n\t\t\n dropscript - A component's Drop is run when you drop another component or an external file into that component. Please refer to the Drop Scripts - Text section of the Drag and Drop page.\nAlternatively specify a in the drop script field. TouchDesigner will automatically look for 2 columns in the table. The first column should indicate the data type and the second should indicate the Text that holds the script to process that data type. Please refer to the Drop - Tables section of the Drag and Drop page.\n\n\n\n\n\nThe parameter page sets the component's python extensions. Please see extensions for more information.\n\n ext - Sequence of info for creating extensions on this component\n\n\n\n ext0object - A number of class instances that can be attached to the component.\n\n\n \n ext0name - Optional name to search by, instead of the instance class name.\n\n\n\n ext0promote - Controls whether or not the extensions are visible directly at the component level, or must be accessed through the .ext member. Example: n.Somefunction vs n.ext.Somefunction\n\n\n\n\n reinitextensions - Recompile all extension objects. Normally extension objects are compiled only when they are referenced and their definitions have changed.\n\n\n\n\n\nThe Common parameter page sets the component's node viewer and clone relationships.\n\n parentshortcut - Specifies a name you can use anywhere inside the component as the path to that component. See Parent Shortcut.\n\n\n\n opshortcut - Specifies a name you can use anywhere at all as the path to that component. See Global OP Shortcut.\n\n\n\n iop - Sequence header for internal operators.\n\n\n\n iop0shortcut - Specifies a name you can use anywhere inside the component as a path to \"Internal \" below. See Internal Operators.\n\n\n\n iop0op - The path to the Internal OP inside this component. See Internal Operators.\n\n\n\n\n nodeview - - Determines what is displayed in the node viewer, also known as the Node Viewer. Some options will not be available depending on the type (Object Component, Panel Component, Misc.)\n\n default - Displays the default viewer for the component type, a 3D Viewer for Object COMPS and a Viewer for Panel COMPs. opviewer - Displays the node viewer from any operator specified in the Operator Viewer parameter below.\n\n opviewer - Select which operator's node viewer to use when the Node View parameter above is set to Operator .\n\n\n\n keepmemory - \n\n\n\n enablecloning - Control if the OP should be actively cloneing. Turning this off causes this node to stop cloning it's ' Master'.\n\n\n\n enablecloningpulse - Instantaneously clone the contents.\n\n\n\n clone - to a component used as the Master Clone.\n\n\n\n loadondemand - Loads the component into memory only when required. Good to use for components that are not always used in the project.\n\n\n\n enableexternaltox - When on (default), the external file will be loaded when the starts and the contents of the will match that of the external . This can be turned off to avoid loading from the referenced external on startup if desired (the contents of the are instead loaded from the file). Useful if you wish to have a reference an external but not always load from it unless you specifically push the Re-Init Network parameter button.\n\n\n\n enableexternaltoxpulse - This button will re-load from the external file (if present).\n\n\n\n externaltox - to a file on disk which will source the component's contents upon start of a . This allows for components to contain networks that can be updated independently. If the file can not be found, whatever the file was saved with will be loaded.\n\n\n\n reloadcustom - When this checkbox is enabled, the values of the component's Custom Parameters are reloaded when the .tox is reloaded. This only affects top-level parameters on the component, all parameters on nodes inside the component are always reloaded with the .tox.\n\n\n\n reloadbuiltin - When this checkbox is enabled, the values of the component's built-in parameters are reloaded when the .tox is reloaded. This only affects top-level parameters on the component, all parameters on nodes inside the component are always reloaded with the .tox.\n\n\n\n savebackup - When this checkbox is enabled, a backup copy of the component specified by the External parameter is saved in the file. This backup copy will be used if the External can not be found. This may happen if the was renamed, deleted, or the file is running on another computer that is missing component media.\n\n\n\n subcompname - When loading from an External file, this option allows you to reach into the and pull out a and make that the top-level , ignoring everything else in the file (except for the contents of that ). For example if a file named project1 contains project1/geo1, putting geo1 as the Sub- to Load, will result in geo1 being loaded in place of the current . If this parameter is blank, it just loads the file normally using the top level in the file.\n\n\n\n relpath - - Set whether the child file paths within this are relative to the itself or the , or inherit from parent.\n\n inherit - Inherit setting from parent. project - The path, when specified as a relative path, will be relative to the file. externaltox - The path, when specified as a relative path, will be relative to the file. When no external file is specified, or when Enable External is not toggled on, this doesn't have any impact.\n\n\n\nExtra Information for the GLSL can be accessed via an Info CHOP.\n\n\n\n - Number of children in this component.\n - Number of times the operator has cooked since the process started. - Duration of the last cook in milliseconds. - Frame number when this operator was last cooked relative to the component timeline. - Frame number when this operator was last cooked relative to the absolute time. - Time in milliseconds at which the operator started cooking in the frame it was cooked. - Time in milliseconds at which the operator finished cooking in the frame it was cooked. - 1 if operator was cooked this frame. - Number of warnings in this operator if any. - Number of errors in this operator if any.\n\nTouchDesigner Build: Latest\\nwikieditorwikieditorwikieditorwikieditorwikieditorwikieditorwikieditor2023.11280\nCOMPs\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\nA sequence of vertices form a Polygon in a SOP. Each vertex is an integer index into the Point List, and each Point holds an XYZ position and attributes like Normals and Texture Coordinates.\n\n\n\nThe OpenGL (pre-2022) or Vulkan (2022-) code that runs on the GPU and creates rendered images from polygons and textures. A shader is programmed in Text DATs and referenced by a GLSL Material or a GLSL TOP. Shaders are composed of up to three parts: Vertex Shader, Pixel Shader and Compute Shader.\n\n\n\nThe location of an operator within the TouchDesigner environment, for example, /geo1/circle1, a node called circle1 in a component called geo1. The path / is called Root. This path is displayed at the top of every Pane, showing which Component's network you are currently in. To refer instead to a filesystem folder, directory, disk file or http: address, see Folder.\n\n\n\nAn Operator Family that manipulates text strings: multi-line text or tables. Multi-line text is often a python Script or GLSL Shader, but can be any multi-line text. Tables are rows and columns of cells, each containing a text string.\n\n\n\nAn Operator Family that creates, composites and modifies images, and reads/writes images and movies to/from files and the network. TOPs run on the graphics card's GPU.\n\n\n\nOperators that need 1 or more inputs are called Filters in TouchDesigner, like a Math CHOP. See Generator.\n\n\n\n(1) The TouchDesigner window is made of a menu bar at the top, a Timeline at the bottom, plus one of a choice of Layouts in the middle. A Layout is made on one or more Panes, each Pane can contain a Network Editor, Viewer, Panel, etc. See Pane and Bookmark. (2) Nodes in a network are arranged using Layout commands in the RMB menu.\n\n\n\nA custom interactive control panel built within TouchDesigner. Panels are created using Panel Components.\n\n\n\nA Window in TouchDesigner is a window in Microsoft Windows or macOS that contains either (1) the TouchDesigner editing interface that exists in Designer Mode, or (2) a user-created Panel inside a Window Component. The user-created windows can span Multiple Monitors borderless, or be floating windows with borders, or popups.\n\n\n\nA Link. The grey dashed lines between nodes is a Reference or Link that indicates one operator is getting data from another operator from any Operator Family.\n\n\nA Link or Reference is a dashed line between nodes that represent other data flowing between nodes. Examples are CHOP Exports, node Paths in parameters, and expressions in parameters referencing CHOP channels, DAT tables and other nodes. In contrast is a Wire that connects nodes in the same Operator Family.\n\n\n\nDisplay devices in TouchDesigner that support multiple-finger or control-point input.\n\n\n\nThere are 2 kinds of parenting. The \"parent component\" is the component in which a node resides. The metaphor is extended to include grand parents, grand-grand parents, etc. The root / is the ultimate parent to all nodes. See also 3D Parenting and panel Parenting.\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 width and height of an image in pixels. Most TOPs, like the Movie File In TOP can set the image resolution. See Aspect Ratio for the width/height ratio of an image, taking into account non-square pixels.\n\n\n\nThe sub-Family of Components that are used to create custom interactive 2D control panels (Container, Widget, Text COMP Slider, Button, etc.).\n\n\n\nA set of commands located in a Text DAT that are triggered to run under certain conditions. There are two scripting languages in TouchDesigner: Python and the original Tscript. Scripts and single-line commands can also be run in the Textport.\n\n\n\nAny of the procedural data operators. OPs do all the work in TouchDesigner. They \"cook\" and output data to other OPs, which ultimately result in new images, data and audio being generated. See Node.\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 form of DATs (Data Operators) that is structured as rows and columns of text strings.\n\n\n\nAny component can be extended with its own Python classes which contain python functions and data.\n\n\n\nThe sub-Family of Component types that are used to define and render 3D scenes. A Geometry Component is an Object that contains the 3D shapes to render. A Camera COMP and Light COMP are other Object types. Separately, \"Objects\" also refers to Python objects.\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\nA name for a component that is accessible from any node in a project, which can be declared in a component's Global Operator Shortcut parameter.\n\n\n\nAny of the procedural data operators. OPs do all the work in TouchDesigner. They \"cook\" and output data to other OPs, which ultimately result in new images, data and audio being generated. See Node.\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 viewer of a node can be (1) the interior of a node (the Node Viewer), (2) a floating window (RMB->View... on node), or (3) a Pane that graphically shows the results of an operator.\n\n\n\nA custom interactive control panel built within TouchDesigner. Panels are created using Panel Components.\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 \"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\nTouchDesigner Component file, the file type used to save a Component of your TouchDesigner project.\n\n\n\nTOuch Environment file, the file type used by TouchDesigner to save your entire project.\n\n\n\n\n\n\n\n\nRetrieved from \"https://docs.derivative.ca/index.php?title=GLSL_COMP&oldid=31704\"\n\t\tCategory: COMPs",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.526Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Vertex Shader",
"label": "Vertex Shader",
"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 GLSL uses shaders to render an image in a panel directly to the screen. It is useful for rendering pixel accurate UIs as the resolution will automatically adapt to the DPI scaling of the screen it is displayed on. Panel variables can be accessed in the shader for responding to user events,\nFor more information on writing a shader, see the GLSL Category.\nglslCOMP_Class\n\nContents\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n\n\n\n vertexdat - to the that holds the vertex shader code.\n\n\n\n pixeldat - to the that holds the pixel shader code.\n\n\n\n\n\n sampler - Sequence of samplers\n\n\n\n sampler0name - This is the sampler name that the GLSL program will use to sample from this . The samplers need to be declared at the same dimensions as the (sampler2D for a 2D , sampler3D for 3D ).\n\n\n \n sampler0top - - This is the that will be referenced by the above sampler name above it.\nExposed by the + Button, texture sampling parameters:\t\t\t\t\nRefer to the Texture Sampling Parameters article for more information on the parameters exposed by pressing the + button. The parameter prefix for each of the parameters is sampler[digit].\n\n\n sampler0extendu - - \n\n hold - zero - repeat - mirror -\n\n sampler0extendv - - \n\n hold - zero - repeat - mirror -\n\n sampler0extendw - - \n\n hold - zero - repeat - mirror -\n\n sampler0filter - - \n\n nearest - linear - mipmaplinear -\n\n sampler0anisotropy - - \n\n off - 2x - 4x - 8x - 16x -\n\n\n\n\n\n vec - Sequence of named vectors to be used as uniforms in the shader\n\n\n\n vec0name - The name of the uniform.\n\n\n \n vec0value - - The value to assign to the uniform. If the uniform is a float the first entry of the four is used, if the uniform is a vec2 the first two entries are used, etc.\n\n vec0valuex - vec0valuey - vec0valuez - vec0valuew -\n\n\n\nSpecialization Constants can optionally have their values assigned here.\n\n const0name - The constant name, as declared in the shader.\n\n\n\n const0value - The value to give the constant.\n\n\n\n\n\nThe parameter page controls the size and position of the panel.\n\n x - Specify the horizontal position in pixels relative to its parent.\n\n\n\t\t\n y - Specify the vertical position in pixels relative to its parent.\n\n\n\t\t\n w - Specify the panel's width in pixels.\n\n\n\t\t\n h - Specify the 's height in pixels.\n\n\n\t\t\n fixedaspect - - Allows easy creation of panels with a specific aspect set in the Aspect Ratio parameter below. Only requires setting the width or height of the panel and the other dimension is calculated based on the Aspect Ratio parameter.\n\n off - horizontal - vertical -\n\t\t\n aspect - Specify the ratio when using Fixed Aspect parameter above, the ratio is width/height.\n\n\n\t\t\n layer - Specifies the order the panel components are drawn in, similar to layers in Photoshop. Higher values will be drawn over any other panel with a lower value (that is at the same level of hierarchy). If two panel components have the same Depth Layer value then they are ordered based on the operator's name.\n\n\n\t\t\n hmode - - Select one of 3 modes to determine the horizontal width of the panel.\n\n fixed - Uses the Width parameter above to set this panel's width in pixels. fill - The width of this panel will match (fill) the width of the parent panel. anchors - The width of this panel is set by the Left Anchor and Right Anchor parameters below which will maintain a relative width to the parent panel as the parent panel changes size. This allows for stretchy panels. These anchor parameters are normalized 0-1 like uv coordinates where 0 is the left edge and 1 is the right edge of the parent panel. For example, Left Anchor = 0.2 and Right Anchor = 0.8 will maintain the width proportionally to the parent panel such that the left edge is 20% (0.2) in from the left and the right edge is 20% (0.8) in from the right.\n\t\t\n leftanchor - Position of the left anchor of the panel with respect to the parent. This value is normalized 0-1, 0 is the left edge of the parent and 1 is the right edge of the parent.\n\n\n\t\t\n leftoffset - An offset for the left anchor in pixels.\n\n\n\t\t\n rightanchor - Position of the right anchor of the panel with respect to the parent. This value is normalized 0-1, 0 is the left edge of the parent and 1 is the right edge of the parent.\n\n\n\t\t\n rightoffset - An offset for the right anchor in pixels.\n\n\n\t\t\n horigin - Sets the position of the panel's origin horizontally. The default origin (0,0) is the bottom-left corner of the panel.\n\n\n\t\t\n hfillweight - When multiple panels are using Horizontal Mode = Fill and being aligned by the parent either Left to Right or Right to Left, this fill weight parameter can be used to bias the fill width of the panels.\n\n\n\t\t\n vmode - - Select one of 3 modes to determine the vertical height of the panel.\n\n fixed - Uses the Height parameter above to set this panel's height in pixels. fill - The height of this panel will match (fill) the height of the parent panel. anchors - The height of this panel is set by the Bottom Anchor and Top Anchor parameters below which will maintain a relative and proportionally height to the parent panel as the parent panel changes size. This allows for stretchy panels. These anchor parameters are normalized 0-1 like uv coordinates where 0 is the bottom edge and 1 is the top edge of the parent panel. For example, Bottom Anchor = 0.3 and Right Anchor = 0.5 will maintain the height proportionally to the parent panel such that the bottom edge is 30% (0.3) up from the bottom and the top edge is 50% (0.5) down from the top.\n\t\t\n bottomanchor - Position of the bottom anchor of the panel with respect to the parent. This value is normalized 0-1, 0 is the bottom edge of the parent and 1 is the top edge of the parent.\n\n\n\t\t\n bottomoffset - An offset for the bottom anchor in pixels.\n\n\n\t\t\n topanchor - Position of the top anchor of the panel with respect to the parent. This value is normalized 0-1, 0 is the bottom edge of the parent and 1 is the top edge of the parent.\n\n\n\t\t\n topoffset - An offset for the top anchor in pixels.\n\n\n\t\t\n vorigin - Sets the position of the panel's origin vertically. The default origin (0,0) is the bottom-left corner of the panel.\n\n\n\t\t\n vfillweight - When multiple panels are using Vertical Mode = Fill and being aligned by the parent either Top to Bottom or Bottom to Top, this fill weight parameter can be used to bias the fill height of the panels.\n\n\n\t\t\n alignallow - - When set to Ignore, the Panel will ignore any Align parameter settings from its parent.\n\n allow - Aligns the panel based on settings in parent. ignore - Does not align the panel but respects margins. ignoremargin - Does not align the panel and disregards margins.\n\t\t\n alignorder - This parameter allows you to specify the align position when its parent's Align parameter is set to something other then None or Match Network Nodes. Lower numbers are first.\n\n\n\t\t\n postoffset - - Adds an offset after all other postions and alignment options have been applied to the panel.\n\n postoffsetx - postoffsety -\n\t\t\n sizefromwindow - When enabled the panel component's width and height are set by resizing its floating viewer window.\n\n\n\n\n\nThe Panel parameter page controls panel attributes such as display on/off, enable on/off, panel help, and interactions with the cursor.\n\n display - Specifies if the panel is displayed or hidden. Changing this parameter may incur some layout processing costs. For simple cases, such as overlays it is more performant to adjust the opacity parameter instead.\n\n\n\n enable - Allows you to prevent all interaction with this panel.\n\n\n\n helpdat - Lets you specify the path to a Text DAT whose content will be displayed as a rollover pop-up help for the control panel.\n\n\n\n cursor - - Changes the cursor displayed when cursor is over the panel.\n\n pointer - linkselect - ibeam - cross - busy - activate - invisible -\n\n multitouch - - When enabled, this panel will process the first touch it gets in a similar manner to how it processes a mouse click, with updates to u, v, state etc. The touch event must be initiated from the panel. Subsequent touches are ignored. If this panel handles multi-touch events via the Multi Touch In DAT, you may want to disable Built-in so it won't interfere with script processing.\n\n mtouchparent - Use the parent's setting. This defaults to enabled in the root component. mtouchyes - Enable use of first touch as mouse. mtouchno - Disable use of first touch as mouse.\n\n constraincursor - Constrains the cursor to this panel, keeping it inside once it enters.\n\n\n\n clickthrough - When enabled all mouse clicks are ignored by this Panel Component.\n\n\n\n mousewheel - Turn on to capture events when the mouse wheel is used over the panel.\n\n\n\n uvbuttons - - Allows you to specify which mouse buttons update the uv Panel Values.\n\n uvbuttonsleft - uvbuttonsmiddle - uvbuttonsright -\n\n mouserel - When enabled the uv Panel Values will reflect relative mouse movement.\n\n\n\n resize - - Four checkboxes allow you to enable resizing a panel by grabbing the corresponding edge or corner: Resize Left, Right, Bottom, Top.\n\n resizel - resizer - resizeb - resizet -\n\n resizew - - Limits the left-right (width) resizing range.\n\nresizewmin -resizewmax -\n\n resizeh - - Limits the bottom-top (height) resizing range.\n\nresizehmin -resizehmax -\n\n reposition - - Enables repositioning of the panel or window by dragging with the mouse.\n\n off - window - component -\n\n repocomp - Enabled by choosing the option from the Reposition parameter. Specify the path to the panel component you would like to reposition by mouse.\n\n\n\n repositionx - - Enabled by choosing the option from the Reposition parameter. Sets the maximum range for repositioning the panel component horizontally.\n\nrepositionxmin -repositionxmax -\n\n repositiony - - Enabled by choosing the option from the Reposition parameter. Sets the maximum range for repositioning the panel component vertically.\n\nrepositionymin -repositionymax -\n\n anchordrag - - When Drag To Reposition parameter is set to , and the panel's Horizontal Mode and/or Vertical Mode is set to Anchors, this menu determines whether drag-to-reposition actions change Anchor values or Offset values.\n\n anchors - Drag-to-reposition actions change Anchor parameter values offsets - Drag-to-reposition actions change Offset parameter values\n\n scrolloverlay - - Controls whether the panel is affected by scrollbar position. This allows the creation of panel overlays that aren't affected by the panel's scrollbars.\n\n off - Scrollbar affects panel normally. ignore - Panel will not move when scrollbar is moved. Panel depth is determined by Depth Layer parameter normally. ignoreover - Panel will not move when scrollbar is moved. Panel is drawn over scrollbars and sibling panels.\n\n\n\nThe Color parameter page sets the panel's background, border, and disabled colors.\n\n bgcolor - - RGB values for the background. (default: black (0,0,0))\n\n bgcolorr - bgcolorg - bgcolorb -\n\t\t\n bgalpha - Set the alpha value for the background.\n\n\n\t\t\n top - Allows you to specify a TOP as the background for the panel.\n\n\n\t\t\n topfill - - This menu specifies the way the Background will fill the panel's background.\n\n off - horizontal - vertical - best - native -\n\t\n topsmoothness - - This menu controls background 's viewer smoothness settings. In previous builds of TouchDesigner, this was always 'Mipmap Pixels', so old files will load with this setting whereas the default for new Panel 's is 'Interpolate Pixels'.\n\n nearest - Uses nearest pixel or accurate image representation. Images will look jaggy when viewing at any zoom level other than Native . linear - Uses linear filtering between pixels. Use this to get images in viewers to look good at various zoom levels, especially useful when using any Fill Viewer setting other than Native . mipmap - Uses mipmap filtering when scaling images. This can be used to reduce artifacts and sparkling in moving/scaling images that have lots of detail. When the input is 32-bit float format, only nearest filtering will be used (regardless of what is selected).\n\t\n bordera - - RGB values for border A color.\n\n borderar - borderag - borderab -\n\t\t\n borderaalpha - Alpha value for border A color.\n\n\n\t\t\n borderb - - RGBA values for border B color.\n\n borderbr - borderbg - borderbb -\n\t\t\n borderbalpha - Alpha value for border B color.\n\n\n\t\t\n leftborder - What color the 2 left-most pixels are. Options are 0 (no change), Border A (uses color defined in Border A), or Border B (uses color defined in Border B).\n\n\n\t\t\n leftborderi - Same as above parameter but used for an inside border.\n\n\n\t\t\n rightborder - What color the 2 right-most pixels are. Options are 0 (no change), Border A (uses color defined in Border A), or Border B (uses color defined in Border B).\n\n\n\t\t\n rightborderi - Same as above parameter but used for an inside border.\n\n\n\t\t\n bottomborder - What color the 2 bottom-most pixels are. Options are 0 (no change), Border A (uses color defined in Border A), or Border B (uses color defined in Border B).\n\n\n\t\t\n bottomborderi - Same as above parameter but used for an inside border.\n\n\n\t\t\n topborder - What color the 2 top-most pixels are. Options are 0 (no change), Border A (uses color defined in Border A), or Border B (uses color defined in Border B).\n\n\n\t\t\n topborderi - Same as above parameter but used for an inside border.\n\n\n\t\t\n borderover - Draws the panel's borders on top of all children panels.\n\n\n\t\t\n dodisablecolor - Enable the use of a unique disable color below when the panel's Enable = Off.\n\n\n\t\t\n disablecolor - - RGB values for the disable color. (default: black (0,0,0))\n\n disablecolorr - disablecolorg - disablecolorb -\n\t\t\n disablealpha - Set the alpha value for the disable color.\n\n\n\t\t\n multrgb - Multiplies the RGB channels by the alpha channel.\n\n\n\t\t\n composite - - Selects how the panel is composited with its siblings panels. See the Composite TOP for a description of the various composite methods.\n\n over - under - inside - outside - add - subtract - multiply -\n\t\t\n opacity - Allows you to control the transparency of the panel.\n\n\n\n\n\nThe Children parameter page controls aspects of the 's children alignment, size, and position.\n\n align - - This menu allows you to specify how the children inside the will be laid out. The options Grid Rows, Grid Columns and Match Network Nodes will scale the 's children to fit the . They use the Align Order of each of the children to determine the ordering of the children.\n\n none - horizlr - horizrl - verttb - vertbt - gridrows - gridcols - nodes -\n\n spacing - This is enabled by choosing any Align option other than None or Match Network Nodes. It defines the space between the children when they are being aligned.\n\n\n\n alignmax - This is enabled by choosing any Align option other than None, Grid Horizontal, Grid Vertical, or Match Network Nodes, and defines the maximum number of children placed in one row or column.\n\n\n\n margin - - The four fields allow you to specify the space that surrounds the . The margin is the space between the 's border and the outer edge. \t\nThe Margin is defined in absolute pixels and does not stretch with the window, as a result margin is not reflected in the node's panel viewer but only when the parent is drawn in a floating window.\n\n\n marginl - marginr - marginb - margint -\n\n justifymethod - - This menu specifies if the panel's children are being justified as a group or individually using the Jusitfy Horizontal / Vertical parameters below.\n\n individual - Align all children individually, separately from each other. group - Align all children as a group. First group all children into a bounding box, then align that box.\n\n justifyh - - This menu specifies if the panel's children are being justified horizontally.\n\n off - left - center - right -\n\n justifyv - - This menu specifies if the panel's children are being justified vertically.\n\n off - top - center - bottom -\n\n fit - - This menu allows you to scale the panel's children. It overrides the Justify Horizontal and Justify Vertical parameters.\n\n off - horizontal - vertical - best -\n\n scale - - Allows you to uniformly scale the 's children.\n\n scalex - scaley -\n\n offset - - Allows you to offset the 's children. This parameter is overwritten by the Align, Justify Horizontal, and Justify Vertical parameters above.\n\n offsetx - offsety -\n\n crop - - This menu determines if any children panels which are positioned partially or completely outside the panel component's dimensions get cropped.\n\n off - on - never -\n\n phscrollbar - - Setting for horizontal scrollbar on this panel.\n\n off - No scrollbar. on - Always include scrollbar. auto - Include scrollbar only when child width is greater than this panel's width.\n\n pvscrollbar - - Setting for vertical scrollbar on this panel.\n\n off - No scrollbar. on - Always include scrollbar. auto - Include scrollbar only when child height is greater than this panel's height.\n\n scrollbarthickness - Set the thickness of the scrollbars in pixels.\n\n\n\n\n\nPlease refer to Drag-and-Drop for a full explanation on how Drag and Drop between Panel Components functions.\n\n drag - - Specify if this can be dragged.\n\n dragparent - Follow the parent Panel Components Drag setting. legacy - Allow Dragging for this . Use the Paramters Drag , Drop Destination and Dropped to control the behaviour. dragno - Disallows Dragging for this .\n\t\t\n dragscript - Specify a script that will be executed when starting to drag a . Please refer to the Drag section of the Drag and Drop page.\n\n\n\t\t\n dropdestscript - Specify a script that will be executed when the dragged is dropped. A temporary network is created and the component (or the alternative operator specified in Dropped ) is copied to this network. You can add or modify operators in this network. Please refer to the Drop Destination section of the Drag and Drop page.\n\n\n\t\t\n droptypescript - If a drop destination script is specified, you can also add a table with a list of return types that the drop destination script will provide. Return types can be one of the op types (,,,,,), channel, or supported filetypes. Please refer to the Drop Types section of the Drag and Drop page.\n\n\n\t\t\n paneldragop - The Dropped parameter is the easiest way to specify an alternative operator to drop. Note that this alternative operator must exist, otherwise the component itself will be dropped. The alternative is only used when dropping onto a network or control panel. Text pasted via dragging and dropping, or files saved via dropping onto the desktop, will still use the original.\n\n\n\t\t\n drop - - Specify if this accepts items that are dropped onto it.\n\n dropparent - Follow the parent Panel Components Drop setting. legacy - Allow Dropping onto this . Use the Paramter Drop to control the behaviour. dropno - Disallows Dropping onto this .\n\t\t\n dropscript - A component's Drop is run when you drop another component or an external file into that component. Please refer to the Drop Scripts - Text section of the Drag and Drop page.\nAlternatively specify a in the drop script field. TouchDesigner will automatically look for 2 columns in the table. The first column should indicate the data type and the second should indicate the Text that holds the script to process that data type. Please refer to the Drop - Tables section of the Drag and Drop page.\n\n\n\n\n\nThe parameter page sets the component's python extensions. Please see extensions for more information.\n\n ext - Sequence of info for creating extensions on this component\n\n\n\n ext0object - A number of class instances that can be attached to the component.\n\n\n \n ext0name - Optional name to search by, instead of the instance class name.\n\n\n\n ext0promote - Controls whether or not the extensions are visible directly at the component level, or must be accessed through the .ext member. Example: n.Somefunction vs n.ext.Somefunction\n\n\n\n\n reinitextensions - Recompile all extension objects. Normally extension objects are compiled only when they are referenced and their definitions have changed.\n\n\n\n\n\nThe Common parameter page sets the component's node viewer and clone relationships.\n\n parentshortcut - Specifies a name you can use anywhere inside the component as the path to that component. See Parent Shortcut.\n\n\n\n opshortcut - Specifies a name you can use anywhere at all as the path to that component. See Global OP Shortcut.\n\n\n\n iop - Sequence header for internal operators.\n\n\n\n iop0shortcut - Specifies a name you can use anywhere inside the component as a path to \"Internal \" below. See Internal Operators.\n\n\n\n iop0op - The path to the Internal OP inside this component. See Internal Operators.\n\n\n\n\n nodeview - - Determines what is displayed in the node viewer, also known as the Node Viewer. Some options will not be available depending on the type (Object Component, Panel Component, Misc.)\n\n default - Displays the default viewer for the component type, a 3D Viewer for Object COMPS and a Viewer for Panel COMPs. opviewer - Displays the node viewer from any operator specified in the Operator Viewer parameter below.\n\n opviewer - Select which operator's node viewer to use when the Node View parameter above is set to Operator .\n\n\n\n keepmemory - \n\n\n\n enablecloning - Control if the OP should be actively cloneing. Turning this off causes this node to stop cloning it's ' Master'.\n\n\n\n enablecloningpulse - Instantaneously clone the contents.\n\n\n\n clone - to a component used as the Master Clone.\n\n\n\n loadondemand - Loads the component into memory only when required. Good to use for components that are not always used in the project.\n\n\n\n enableexternaltox - When on (default), the external file will be loaded when the starts and the contents of the will match that of the external . This can be turned off to avoid loading from the referenced external on startup if desired (the contents of the are instead loaded from the file). Useful if you wish to have a reference an external but not always load from it unless you specifically push the Re-Init Network parameter button.\n\n\n\n enableexternaltoxpulse - This button will re-load from the external file (if present).\n\n\n\n externaltox - to a file on disk which will source the component's contents upon start of a . This allows for components to contain networks that can be updated independently. If the file can not be found, whatever the file was saved with will be loaded.\n\n\n\n reloadcustom - When this checkbox is enabled, the values of the component's Custom Parameters are reloaded when the .tox is reloaded. This only affects top-level parameters on the component, all parameters on nodes inside the component are always reloaded with the .tox.\n\n\n\n reloadbuiltin - When this checkbox is enabled, the values of the component's built-in parameters are reloaded when the .tox is reloaded. This only affects top-level parameters on the component, all parameters on nodes inside the component are always reloaded with the .tox.\n\n\n\n savebackup - When this checkbox is enabled, a backup copy of the component specified by the External parameter is saved in the file. This backup copy will be used if the External can not be found. This may happen if the was renamed, deleted, or the file is running on another computer that is missing component media.\n\n\n\n subcompname - When loading from an External file, this option allows you to reach into the and pull out a and make that the top-level , ignoring everything else in the file (except for the contents of that ). For example if a file named project1 contains project1/geo1, putting geo1 as the Sub- to Load, will result in geo1 being loaded in place of the current . If this parameter is blank, it just loads the file normally using the top level in the file.\n\n\n\n relpath - - Set whether the child file paths within this are relative to the itself or the , or inherit from parent.\n\n inherit - Inherit setting from parent. project - The path, when specified as a relative path, will be relative to the file. externaltox - The path, when specified as a relative path, will be relative to the file. When no external file is specified, or when Enable External is not toggled on, this doesn't have any impact.\n\n\n\nExtra Information for the GLSL can be accessed via an Info CHOP.\n\n\n\n - Number of children in this component.\n - Number of times the operator has cooked since the process started. - Duration of the last cook in milliseconds. - Frame number when this operator was last cooked relative to the component timeline. - Frame number when this operator was last cooked relative to the absolute time. - Time in milliseconds at which the operator started cooking in the frame it was cooked. - Time in milliseconds at which the operator finished cooking in the frame it was cooked. - 1 if operator was cooked this frame. - Number of warnings in this operator if any. - Number of errors in this operator if any.\n\nTouchDesigner Build: Latest\\nwikieditorwikieditorwikieditorwikieditorwikieditorwikieditorwikieditor2023.11280\nCOMPs\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\nA sequence of vertices form a Polygon in a SOP. Each vertex is an integer index into the Point List, and each Point holds an XYZ position and attributes like Normals and Texture Coordinates.\n\n\n\nThe OpenGL (pre-2022) or Vulkan (2022-) code that runs on the GPU and creates rendered images from polygons and textures. A shader is programmed in Text DATs and referenced by a GLSL Material or a GLSL TOP. Shaders are composed of up to three parts: Vertex Shader, Pixel Shader and Compute Shader.\n\n\n\nThe location of an operator within the TouchDesigner environment, for example, /geo1/circle1, a node called circle1 in a component called geo1. The path / is called Root. This path is displayed at the top of every Pane, showing which Component's network you are currently in. To refer instead to a filesystem folder, directory, disk file or http: address, see Folder.\n\n\n\nAn Operator Family that manipulates text strings: multi-line text or tables. Multi-line text is often a python Script or GLSL Shader, but can be any multi-line text. Tables are rows and columns of cells, each containing a text string.\n\n\n\nAn Operator Family that creates, composites and modifies images, and reads/writes images and movies to/from files and the network. TOPs run on the graphics card's GPU.\n\n\n\nOperators that need 1 or more inputs are called Filters in TouchDesigner, like a Math CHOP. See Generator.\n\n\n\n(1) The TouchDesigner window is made of a menu bar at the top, a Timeline at the bottom, plus one of a choice of Layouts in the middle. A Layout is made on one or more Panes, each Pane can contain a Network Editor, Viewer, Panel, etc. See Pane and Bookmark. (2) Nodes in a network are arranged using Layout commands in the RMB menu.\n\n\n\nA custom interactive control panel built within TouchDesigner. Panels are created using Panel Components.\n\n\n\nA Window in TouchDesigner is a window in Microsoft Windows or macOS that contains either (1) the TouchDesigner editing interface that exists in Designer Mode, or (2) a user-created Panel inside a Window Component. The user-created windows can span Multiple Monitors borderless, or be floating windows with borders, or popups.\n\n\n\nA Link. The grey dashed lines between nodes is a Reference or Link that indicates one operator is getting data from another operator from any Operator Family.\n\n\nA Link or Reference is a dashed line between nodes that represent other data flowing between nodes. Examples are CHOP Exports, node Paths in parameters, and expressions in parameters referencing CHOP channels, DAT tables and other nodes. In contrast is a Wire that connects nodes in the same Operator Family.\n\n\n\nDisplay devices in TouchDesigner that support multiple-finger or control-point input.\n\n\n\nThere are 2 kinds of parenting. The \"parent component\" is the component in which a node resides. The metaphor is extended to include grand parents, grand-grand parents, etc. The root / is the ultimate parent to all nodes. See also 3D Parenting and panel Parenting.\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 width and height of an image in pixels. Most TOPs, like the Movie File In TOP can set the image resolution. See Aspect Ratio for the width/height ratio of an image, taking into account non-square pixels.\n\n\n\nThe sub-Family of Components that are used to create custom interactive 2D control panels (Container, Widget, Text COMP Slider, Button, etc.).\n\n\n\nA set of commands located in a Text DAT that are triggered to run under certain conditions. There are two scripting languages in TouchDesigner: Python and the original Tscript. Scripts and single-line commands can also be run in the Textport.\n\n\n\nAny of the procedural data operators. OPs do all the work in TouchDesigner. They \"cook\" and output data to other OPs, which ultimately result in new images, data and audio being generated. See Node.\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 form of DATs (Data Operators) that is structured as rows and columns of text strings.\n\n\n\nAny component can be extended with its own Python classes which contain python functions and data.\n\n\n\nThe sub-Family of Component types that are used to define and render 3D scenes. A Geometry Component is an Object that contains the 3D shapes to render. A Camera COMP and Light COMP are other Object types. Separately, \"Objects\" also refers to Python objects.\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\nA name for a component that is accessible from any node in a project, which can be declared in a component's Global Operator Shortcut parameter.\n\n\n\nAny of the procedural data operators. OPs do all the work in TouchDesigner. They \"cook\" and output data to other OPs, which ultimately result in new images, data and audio being generated. See Node.\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 viewer of a node can be (1) the interior of a node (the Node Viewer), (2) a floating window (RMB->View... on node), or (3) a Pane that graphically shows the results of an operator.\n\n\n\nA custom interactive control panel built within TouchDesigner. Panels are created using Panel Components.\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 \"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\nTouchDesigner Component file, the file type used to save a Component of your TouchDesigner project.\n\n\n\nTOuch Environment file, the file type used by TouchDesigner to save your entire project.\n\n\n\n\n\n\n\n\nRetrieved from \"https://docs.derivative.ca/index.php?title=GLSL_COMP&oldid=31704\"",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.531Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Vertex Shader",
"label": "Vertex Shader",
"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": "vertexdat - to the that holds the vertex shader code.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.531Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Pixel Shader",
"label": "Pixel Shader",
"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": "pixeldat - to the that holds the pixel shader code.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.531Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Sampler",
"label": "Sampler",
"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": "sampler - Sequence of samplers",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.531Z",
"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": "sampler0name - This is the sampler name that the GLSL program will use to sample from this . The samplers need to be declared at the same dimensions as the (sampler2D for a 2D , sampler3D for 3D ).",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.531Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "TOP",
"label": "TOP",
"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": "sampler0top - - This is the that will be referenced by the above sampler name above it.\nExposed by the + Button, texture sampling parameters:\t\t\t\t\nRefer to the Texture Sampling Parameters article for more information on the parameters exposed by pressing the + button. The parameter prefix for each of the parameters is sampler[digit].\n\n\n sampler0extendu - - \n\n hold - zero - repeat - mirror -\n\n sampler0extendv - - \n\n hold - zero - repeat - mirror -\n\n sampler0extendw - - \n\n hold - zero - repeat - mirror -\n\n sampler0filter - - \n\n nearest - linear - mipmaplinear -\n\n sampler0anisotropy - - \n\n off - 2x - 4x - 8x - 16x -",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.531Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Extend U",
"label": "Extend U",
"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": "sampler0extendu - - \n\n hold - zero - repeat - mirror -\n\n sampler0extendv - - \n\n hold - zero - repeat - mirror -\n\n sampler0extendw - - \n\n hold - zero - repeat - mirror -\n\n sampler0filter - - \n\n nearest - linear - mipmaplinear -\n\n sampler0anisotropy - - \n\n off - 2x - 4x - 8x - 16x -",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.531Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Extend U",
"label": "Extend U",
"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": "sampler0extendu - - \n\n hold - zero - repeat - mirror -",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.531Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Hold",
"label": "Hold",
"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": "hold - zero - repeat - mirror -",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.532Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Extend V",
"label": "Extend V",
"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": "sampler0extendv - - \n\n hold - zero - repeat - mirror -",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.532Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Hold",
"label": "Hold",
"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": "hold - zero - repeat - mirror -",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.532Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Extend W",
"label": "Extend W",
"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": "sampler0extendw - - \n\n hold - zero - repeat - mirror -",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.532Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Hold",
"label": "Hold",
"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": "hold - zero - repeat - mirror -",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.532Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Filter",
"label": "Filter",
"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": "sampler0filter - - \n\n nearest - linear - mipmaplinear -",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.532Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Nearest",
"label": "Nearest",
"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": "nearest - linear - mipmaplinear -",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.532Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Anisotropic Filter",
"label": "Anisotropic Filter",
"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": "sampler0anisotropy - - \n\n off - 2x - 4x - 8x - 16x -",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.532Z",
"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 - 2x - 4x - 8x - 16x -",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.532Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Vector",
"label": "Vector",
"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": "vec - Sequence of named vectors to be used as uniforms in the shader",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.532Z",
"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": "vec0name - The name of the uniform.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.532Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Value",
"label": "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": "vec0value - - The value to assign to the uniform. If the uniform is a float the first entry of the four is used, if the uniform is a vec2 the first two entries are used, etc.\n\n vec0valuex - vec0valuey - vec0valuez - vec0valuew -",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.532Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Value",
"label": "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": "vec0valuex - vec0valuey - vec0valuez - vec0valuew -",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.532Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Constant Name",
"label": "Constant 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": "const0name - The constant name, as declared in the shader.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.532Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Value",
"label": "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": "const0value - The value to give the constant.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.532Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "X",
"label": "X",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "x - Specify the horizontal position in pixels relative to its parent.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.532Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Y",
"label": "Y",
"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": "y - Specify the vertical position in pixels relative to its parent.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.532Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Width",
"label": "Width",
"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": "w - Specify the panel's width in pixels.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.532Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Height",
"label": "Height",
"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": "h - Specify the 's height in pixels.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.532Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Fixed Aspect",
"label": "Fixed Aspect",
"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": "fixedaspect - - Allows easy creation of panels with a specific aspect set in the Aspect Ratio parameter below. Only requires setting the width or height of the panel and the other dimension is calculated based on the Aspect Ratio parameter.\n\n off - horizontal - vertical -",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.533Z",
"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 - horizontal - vertical -",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.533Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Aspect Ratio",
"label": "Aspect Ratio",
"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": "aspect - Specify the ratio when using Fixed Aspect parameter above, the ratio is width/height.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.533Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Depth Layer",
"label": "Depth Layer",
"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": "layer - Specifies the order the panel components are drawn in, similar to layers in Photoshop. Higher values will be drawn over any other panel with a lower value (that is at the same level of hierarchy). If two panel components have the same Depth Layer value then they are ordered based on the operator's name.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.533Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Horizontal Mode",
"label": "Horizontal Mode",
"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": "hmode - - Select one of 3 modes to determine the horizontal width of the panel.\n\n fixed - Uses the Width parameter above to set this panel's width in pixels. fill - The width of this panel will match (fill) the width of the parent panel. anchors - The width of this panel is set by the Left Anchor and Right Anchor parameters below which will maintain a relative width to the parent panel as the parent panel changes size. This allows for stretchy panels. These anchor parameters are normalized 0-1 like uv coordinates where 0 is the left edge and 1 is the right edge of the parent panel. For example, Left Anchor = 0.2 and Right Anchor = 0.8 will maintain the width proportionally to the parent panel such that the left edge is 20% (0.2) in from the left and the right edge is 20% (0.8) in from the right.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.533Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Fixed Width",
"label": "Fixed Width",
"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": "fixed - Uses the Width parameter above to set this panel's width in pixels. fill - The width of this panel will match (fill) the width of the parent panel. anchors - The width of this panel is set by the Left Anchor and Right Anchor parameters below which will maintain a relative width to the parent panel as the parent panel changes size. This allows for stretchy panels. These anchor parameters are normalized 0-1 like uv coordinates where 0 is the left edge and 1 is the right edge of the parent panel. For example, Left Anchor = 0.2 and Right Anchor = 0.8 will maintain the width proportionally to the parent panel such that the left edge is 20% (0.2) in from the left and the right edge is 20% (0.8) in from the right.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.533Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Left Anchor",
"label": "Left Anchor",
"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": "leftanchor - Position of the left anchor of the panel with respect to the parent. This value is normalized 0-1, 0 is the left edge of the parent and 1 is the right edge of the parent.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.533Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Left Offset",
"label": "Left Offset",
"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": "leftoffset - An offset for the left anchor in pixels.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.533Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Right Anchor",
"label": "Right Anchor",
"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": "rightanchor - Position of the right anchor of the panel with respect to the parent. This value is normalized 0-1, 0 is the left edge of the parent and 1 is the right edge of the parent.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.533Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Right Offset",
"label": "Right Offset",
"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": "rightoffset - An offset for the right anchor in pixels.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.533Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Horizontal Origin",
"label": "Horizontal Origin",
"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": "horigin - Sets the position of the panel's origin horizontally. The default origin (0,0) is the bottom-left corner of the panel.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.533Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Horizontal Fill Weight",
"label": "Horizontal Fill Weight",
"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": "hfillweight - When multiple panels are using Horizontal Mode = Fill and being aligned by the parent either Left to Right or Right to Left, this fill weight parameter can be used to bias the fill width of the panels.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.533Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Vertical Mode",
"label": "Vertical Mode",
"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": "vmode - - Select one of 3 modes to determine the vertical height of the panel.\n\n fixed - Uses the Height parameter above to set this panel's height in pixels. fill - The height of this panel will match (fill) the height of the parent panel. anchors - The height of this panel is set by the Bottom Anchor and Top Anchor parameters below which will maintain a relative and proportionally height to the parent panel as the parent panel changes size. This allows for stretchy panels. These anchor parameters are normalized 0-1 like uv coordinates where 0 is the bottom edge and 1 is the top edge of the parent panel. For example, Bottom Anchor = 0.3 and Right Anchor = 0.5 will maintain the height proportionally to the parent panel such that the bottom edge is 30% (0.3) up from the bottom and the top edge is 50% (0.5) down from the top.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.533Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Fixed Height",
"label": "Fixed Height",
"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": "fixed - Uses the Height parameter above to set this panel's height in pixels. fill - The height of this panel will match (fill) the height of the parent panel. anchors - The height of this panel is set by the Bottom Anchor and Top Anchor parameters below which will maintain a relative and proportionally height to the parent panel as the parent panel changes size. This allows for stretchy panels. These anchor parameters are normalized 0-1 like uv coordinates where 0 is the bottom edge and 1 is the top edge of the parent panel. For example, Bottom Anchor = 0.3 and Right Anchor = 0.5 will maintain the height proportionally to the parent panel such that the bottom edge is 30% (0.3) up from the bottom and the top edge is 50% (0.5) down from the top.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.533Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Bottom Anchor",
"label": "Bottom Anchor",
"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": "bottomanchor - Position of the bottom anchor of the panel with respect to the parent. This value is normalized 0-1, 0 is the bottom edge of the parent and 1 is the top edge of the parent.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.533Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Bottom Offset",
"label": "Bottom Offset",
"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": "bottomoffset - An offset for the bottom anchor in pixels.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.533Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Top Anchor",
"label": "Top Anchor",
"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": "topanchor - Position of the top anchor of the panel with respect to the parent. This value is normalized 0-1, 0 is the bottom edge of the parent and 1 is the top edge of the parent.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.533Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Top Offset",
"label": "Top Offset",
"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": "topoffset - An offset for the top anchor in pixels.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.533Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Vertical Origin",
"label": "Vertical Origin",
"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": "vorigin - Sets the position of the panel's origin vertically. The default origin (0,0) is the bottom-left corner of the panel.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.533Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Vertical Fill Weight",
"label": "Vertical Fill Weight",
"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": "vfillweight - When multiple panels are using Vertical Mode = Fill and being aligned by the parent either Top to Bottom or Bottom to Top, this fill weight parameter can be used to bias the fill height of the panels.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.533Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Parent Alignment",
"label": "Parent Alignment",
"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": "alignallow - - When set to Ignore, the Panel will ignore any Align parameter settings from its parent.\n\n allow - Aligns the panel based on settings in parent. ignore - Does not align the panel but respects margins. ignoremargin - Does not align the panel and disregards margins.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.533Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Allow",
"label": "Allow",
"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": "allow - Aligns the panel based on settings in parent. ignore - Does not align the panel but respects margins. ignoremargin - Does not align the panel and disregards margins.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.533Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Align Order",
"label": "Align Order",
"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": "alignorder - This parameter allows you to specify the align position when its parent's Align parameter is set to something other then None or Match Network Nodes. Lower numbers are first.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.533Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Post Offset",
"label": "Post Offset",
"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": "postoffset - - Adds an offset after all other postions and alignment options have been applied to the panel.\n\n postoffsetx - postoffsety -",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.534Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "X",
"label": "X",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "postoffsetx - postoffsety -",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.534Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Size from Window",
"label": "Size from Window",
"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": "sizefromwindow - When enabled the panel component's width and height are set by resizing its floating viewer window.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.534Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Display",
"label": "Display",
"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": "display - Specifies if the panel is displayed or hidden. Changing this parameter may incur some layout processing costs. For simple cases, such as overlays it is more performant to adjust the opacity parameter instead.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.534Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Enable",
"label": "Enable",
"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": "enable - Allows you to prevent all interaction with this panel.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.534Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Help DAT",
"label": "Help 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": "helpdat - Lets you specify the path to a Text DAT whose content will be displayed as a rollover pop-up help for the control panel.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.534Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Cursor",
"label": "Cursor",
"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": "cursor - - Changes the cursor displayed when cursor is over the panel.\n\n pointer - linkselect - ibeam - cross - busy - activate - invisible -",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.534Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Normal Select",
"label": "Normal Select",
"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": "pointer - linkselect - ibeam - cross - busy - activate - invisible -",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.534Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Multi-Touch",
"label": "Multi-Touch",
"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": "multitouch - - When enabled, this panel will process the first touch it gets in a similar manner to how it processes a mouse click, with updates to u, v, state etc. The touch event must be initiated from the panel. Subsequent touches are ignored. If this panel handles multi-touch events via the Multi Touch In DAT, you may want to disable Built-in so it won't interfere with script processing.\n\n mtouchparent - Use the parent's setting. This defaults to enabled in the root component. mtouchyes - Enable use of first touch as mouse. mtouchno - Disable use of first touch as mouse.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.534Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Use Parent's Multi-Touch Settings",
"label": "Use Parent's Multi-Touch Settings",
"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": "mtouchparent - Use the parent's setting. This defaults to enabled in the root component. mtouchyes - Enable use of first touch as mouse. mtouchno - Disable use of first touch as mouse.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.534Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Constrain Cursor",
"label": "Constrain Cursor",
"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": "constraincursor - Constrains the cursor to this panel, keeping it inside once it enters.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.534Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Click Through",
"label": "Click Through",
"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": "clickthrough - When enabled all mouse clicks are ignored by this Panel Component.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.534Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Use Mouse Wheel",
"label": "Use Mouse Wheel",
"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": "mousewheel - Turn on to capture events when the mouse wheel is used over the panel.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.534Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Mouse UV Buttons",
"label": "Mouse UV Buttons",
"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": "uvbuttons - - Allows you to specify which mouse buttons update the uv Panel Values.\n\n uvbuttonsleft - uvbuttonsmiddle - uvbuttonsright -",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.534Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Left",
"label": "Left",
"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": "uvbuttonsleft - uvbuttonsmiddle - uvbuttonsright -",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.534Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Relative UV",
"label": "Relative UV",
"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": "mouserel - When enabled the uv Panel Values will reflect relative mouse movement.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.534Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Drag Edges to Resize",
"label": "Drag Edges to Resize",
"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": "resize - - Four checkboxes allow you to enable resizing a panel by grabbing the corresponding edge or corner: Resize Left, Right, Bottom, Top.\n\n resizel - resizer - resizeb - resizet -",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.534Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "L",
"label": "L",
"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": "resizel - resizer - resizeb - resizet -",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.534Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "W Range",
"label": "W Range",
"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": "resizew - - Limits the left-right (width) resizing range.\n\nresizewmin -resizewmax -",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.535Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "H Range",
"label": "H Range",
"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": "resizeh - - Limits the bottom-top (height) resizing range.\n\nresizehmin -resizehmax -",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.535Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Drag to Reposition",
"label": "Drag to Reposition",
"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": "reposition - - Enables repositioning of the panel or window by dragging with the mouse.\n\n off - window - component -",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.535Z",
"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 - window - component -",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.535Z",
"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": "repocomp - Enabled by choosing the option from the Reposition parameter. Specify the path to the panel component you would like to reposition by mouse.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.535Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "X Range",
"label": "X Range",
"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": "repositionx - - Enabled by choosing the option from the Reposition parameter. Sets the maximum range for repositioning the panel component horizontally.\n\nrepositionxmin -repositionxmax -",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.535Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Y Range",
"label": "Y Range",
"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": "repositiony - - Enabled by choosing the option from the Reposition parameter. Sets the maximum range for repositioning the panel component vertically.\n\nrepositionymin -repositionymax -",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.535Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Anchor Drag",
"label": "Anchor Drag",
"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": "anchordrag - - When Drag To Reposition parameter is set to , and the panel's Horizontal Mode and/or Vertical Mode is set to Anchors, this menu determines whether drag-to-reposition actions change Anchor values or Offset values.\n\n anchors - Drag-to-reposition actions change Anchor parameter values offsets - Drag-to-reposition actions change Offset parameter 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-07T07:50:01.535Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Anchors",
"label": "Anchors",
"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": "anchors - Drag-to-reposition actions change Anchor parameter values offsets - Drag-to-reposition actions change Offset parameter 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-07T07:50:01.535Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Scroll Overlay",
"label": "Scroll Overlay",
"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": "scrolloverlay - - Controls whether the panel is affected by scrollbar position. This allows the creation of panel overlays that aren't affected by the panel's scrollbars.\n\n off - Scrollbar affects panel normally. ignore - Panel will not move when scrollbar is moved. Panel depth is determined by Depth Layer parameter normally. ignoreover - Panel will not move when scrollbar is moved. Panel is drawn over scrollbars and sibling panels.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.535Z",
"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 - Scrollbar affects panel normally. ignore - Panel will not move when scrollbar is moved. Panel depth is determined by Depth Layer parameter normally. ignoreover - Panel will not move when scrollbar is moved. Panel is drawn over scrollbars and sibling panels.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.535Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Background Color",
"label": "Background Color",
"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": "bgcolor - - RGB values for the background. (default: black (0,0,0))\n\n bgcolorr - bgcolorg - bgcolorb -",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.535Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Red",
"label": "Red",
"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": "bgcolorr - bgcolorg - bgcolorb -",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.535Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Background Alpha",
"label": "Background Alpha",
"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": "bgalpha - Set the alpha value for the background.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.535Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Background TOP",
"label": "Background TOP",
"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": "top - Allows you to specify a TOP as the background for the panel.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.535Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "TOP Fill",
"label": "TOP Fill",
"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": "topfill - - This menu specifies the way the Background will fill the panel's background.\n\n off - horizontal - vertical - best - native -",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.535Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Stretch",
"label": "Stretch",
"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 - horizontal - vertical - best - native -",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.535Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "TOP Smoothness",
"label": "TOP Smoothness",
"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": "topsmoothness - - This menu controls background 's viewer smoothness settings. In previous builds of TouchDesigner, this was always 'Mipmap Pixels', so old files will load with this setting whereas the default for new Panel 's is 'Interpolate Pixels'.\n\n nearest - Uses nearest pixel or accurate image representation. Images will look jaggy when viewing at any zoom level other than Native . linear - Uses linear filtering between pixels. Use this to get images in viewers to look good at various zoom levels, especially useful when using any Fill Viewer setting other than Native . mipmap - Uses mipmap filtering when scaling images. This can be used to reduce artifacts and sparkling in moving/scaling images that have lots of detail. When the input is 32-bit float format, only nearest filtering will be used (regardless of what is selected).",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.536Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Nearest Pixel",
"label": "Nearest Pixel",
"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": "nearest - Uses nearest pixel or accurate image representation. Images will look jaggy when viewing at any zoom level other than Native . linear - Uses linear filtering between pixels. Use this to get images in viewers to look good at various zoom levels, especially useful when using any Fill Viewer setting other than Native . mipmap - Uses mipmap filtering when scaling images. This can be used to reduce artifacts and sparkling in moving/scaling images that have lots of detail. When the input is 32-bit float format, only nearest filtering will be used (regardless of what is selected).",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.536Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Border A",
"label": "Border A",
"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": "bordera - - RGB values for border A color.\n\n borderar - borderag - borderab -",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.536Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Red",
"label": "Red",
"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": "borderar - borderag - borderab -",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.536Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Border A Alpha",
"label": "Border A Alpha",
"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": "borderaalpha - Alpha value for border A color.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.536Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Border B",
"label": "Border B",
"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": "borderb - - RGBA values for border B color.\n\n borderbr - borderbg - borderbb -",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.536Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Red",
"label": "Red",
"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": "borderbr - borderbg - borderbb -",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.536Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Border B Alpha",
"label": "Border B Alpha",
"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": "borderbalpha - Alpha value for border B color.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.536Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Left Border",
"label": "Left Border",
"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": "leftborder - What color the 2 left-most pixels are. Options are 0 (no change), Border A (uses color defined in Border A), or Border B (uses color defined in Border B).",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.536Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Left Border Inside",
"label": "Left Border Inside",
"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": "leftborderi - Same as above parameter but used for an inside border.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.536Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Right Border",
"label": "Right Border",
"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": "rightborder - What color the 2 right-most pixels are. Options are 0 (no change), Border A (uses color defined in Border A), or Border B (uses color defined in Border B).",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.536Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Right Border Inside",
"label": "Right Border Inside",
"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": "rightborderi - Same as above parameter but used for an inside border.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.536Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Bottom Border",
"label": "Bottom Border",
"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": "bottomborder - What color the 2 bottom-most pixels are. Options are 0 (no change), Border A (uses color defined in Border A), or Border B (uses color defined in Border B).",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.536Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Bottom Border Inside",
"label": "Bottom Border Inside",
"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": "bottomborderi - Same as above parameter but used for an inside border.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.536Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Top Border",
"label": "Top Border",
"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": "topborder - What color the 2 top-most pixels are. Options are 0 (no change), Border A (uses color defined in Border A), or Border B (uses color defined in Border B).",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.536Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Top Border Inside",
"label": "Top Border Inside",
"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": "topborderi - Same as above parameter but used for an inside border.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.536Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Border Over Children",
"label": "Border Over 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": "borderover - Draws the panel's borders on top of all children panels.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.536Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Disable Color",
"label": "Disable Color",
"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": "dodisablecolor - Enable the use of a unique disable color below when the panel's Enable = Off.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.536Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Disable Color",
"label": "Disable Color",
"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": "disablecolor - - RGB values for the disable color. (default: black (0,0,0))\n\n disablecolorr - disablecolorg - disablecolorb -",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.536Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Red",
"label": "Red",
"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": "disablecolorr - disablecolorg - disablecolorb -",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.536Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Disable Alpha",
"label": "Disable Alpha",
"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": "disablealpha - Set the alpha value for the disable color.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.536Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Multiply RGB by Alpha",
"label": "Multiply RGB by Alpha",
"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": "multrgb - Multiplies the RGB channels by the alpha channel.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.537Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Composite",
"label": "Composite",
"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": "composite - - Selects how the panel is composited with its siblings panels. See the Composite TOP for a description of the various composite methods.\n\n over - under - inside - outside - add - subtract - multiply -",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.537Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Over",
"label": "Over",
"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": "over - under - inside - outside - add - subtract - multiply -",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.537Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Opacity",
"label": "Opacity",
"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": "opacity - Allows you to control the transparency of the panel.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.537Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Align",
"label": "Align",
"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": "align - - This menu allows you to specify how the children inside the will be laid out. The options Grid Rows, Grid Columns and Match Network Nodes will scale the 's children to fit the . They use the Align Order of each of the children to determine the ordering of the children.\n\n none - horizlr - horizrl - verttb - vertbt - gridrows - gridcols - nodes -",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.537Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "None",
"label": "None",
"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": "none - horizlr - horizrl - verttb - vertbt - gridrows - gridcols - nodes -",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.537Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Spacing",
"label": "Spacing",
"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": "spacing - This is enabled by choosing any Align option other than None or Match Network Nodes. It defines the space between the children when they are being aligned.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.537Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Max per Line",
"label": "Max per Line",
"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": "alignmax - This is enabled by choosing any Align option other than None, Grid Horizontal, Grid Vertical, or Match Network Nodes, and defines the maximum number of children placed in one row or column.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.537Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Margin",
"label": "Margin",
"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": "margin - - The four fields allow you to specify the space that surrounds the . The margin is the space between the 's border and the outer edge. \t\nThe Margin is defined in absolute pixels and does not stretch with the window, as a result margin is not reflected in the node's panel viewer but only when the parent is drawn in a floating window.\n\n\n marginl - marginr - marginb - margint -",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.537Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "L",
"label": "L",
"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": "marginl - marginr - marginb - margint -",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.537Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Justify Mathod",
"label": "Justify Mathod",
"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": "justifymethod - - This menu specifies if the panel's children are being justified as a group or individually using the Jusitfy Horizontal / Vertical parameters below.\n\n individual - Align all children individually, separately from each other. group - Align all children as a group. First group all children into a bounding box, then align that box.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.537Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "individual",
"label": "individual",
"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": "individual - Align all children individually, separately from each other. group - Align all children as a group. First group all children into a bounding box, then align that box.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.537Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Justify Horizontal",
"label": "Justify Horizontal",
"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": "justifyh - - This menu specifies if the panel's children are being justified horizontally.\n\n off - left - center - right -",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.537Z",
"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 - left - center - right -",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.537Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Justify Vertical",
"label": "Justify Vertical",
"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": "justifyv - - This menu specifies if the panel's children are being justified vertically.\n\n off - top - center - bottom -",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.537Z",
"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 - top - center - bottom -",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.538Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Fit",
"label": "Fit",
"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": "fit - - This menu allows you to scale the panel's children. It overrides the Justify Horizontal and Justify Vertical parameters.\n\n off - horizontal - vertical - best -",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.538Z",
"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 - horizontal - vertical - best -",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.538Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Scale",
"label": "Scale",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "scale - - Allows you to uniformly scale the 's children.\n\n scalex - scaley -",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.538Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "X",
"label": "X",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "scalex - scaley -",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.538Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Offset",
"label": "Offset",
"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": "offset - - Allows you to offset the 's children. This parameter is overwritten by the Align, Justify Horizontal, and Justify Vertical parameters above.\n\n offsetx - offsety -",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.538Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "X",
"label": "X",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "offsetx - offsety -",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.538Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Crop",
"label": "Crop",
"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": "crop - - This menu determines if any children panels which are positioned partially or completely outside the panel component's dimensions get cropped.\n\n off - on - never -",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.538Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Off (Use Parent)",
"label": "Off (Use Parent)",
"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 - on - never -",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.538Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Horizontal Scrollbar",
"label": "Horizontal Scrollbar",
"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": "phscrollbar - - Setting for horizontal scrollbar on this panel.\n\n off - No scrollbar. on - Always include scrollbar. auto - Include scrollbar only when child width is greater than this panel's width.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.538Z",
"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 - No scrollbar. on - Always include scrollbar. auto - Include scrollbar only when child width is greater than this panel's width.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.538Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Vertical Scrollbar",
"label": "Vertical Scrollbar",
"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": "pvscrollbar - - Setting for vertical scrollbar on this panel.\n\n off - No scrollbar. on - Always include scrollbar. auto - Include scrollbar only when child height is greater than this panel's height.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.538Z",
"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 - No scrollbar. on - Always include scrollbar. auto - Include scrollbar only when child height is greater than this panel's height.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.538Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Thickness",
"label": "Thickness",
"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": "scrollbarthickness - Set the thickness of the scrollbars in pixels.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.538Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "When Dragging This",
"label": "When Dragging This",
"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": "drag - - Specify if this can be dragged.\n\n dragparent - Follow the parent Panel Components Drag setting. legacy - Allow Dragging for this . Use the Paramters Drag , Drop Destination and Dropped to control the behaviour. dragno - Disallows Dragging for this .",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.538Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Use Parent's Drag Settings",
"label": "Use Parent's Drag Settings",
"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": "dragparent - Follow the parent Panel Components Drag setting. legacy - Allow Dragging for this . Use the Paramters Drag , Drop Destination and Dropped to control the behaviour. dragno - Disallows Dragging for this .",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.538Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Drag Script",
"label": "Drag Script",
"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": "dragscript - Specify a script that will be executed when starting to drag a . Please refer to the Drag section of the Drag and Drop 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-07T07:50:01.539Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Drop Destination Script",
"label": "Drop Destination Script",
"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": "dropdestscript - Specify a script that will be executed when the dragged is dropped. A temporary network is created and the component (or the alternative operator specified in Dropped ) is copied to this network. You can add or modify operators in this network. Please refer to the Drop Destination section of the Drag and Drop 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-07T07:50:01.539Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Drop Types",
"label": "Drop Types",
"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": "droptypescript - If a drop destination script is specified, you can also add a table with a list of return types that the drop destination script will provide. Return types can be one of the op types (,,,,,), channel, or supported filetypes. Please refer to the Drop Types section of the Drag and Drop 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-07T07:50:01.539Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Dropped Operator",
"label": "Dropped Operator",
"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": "paneldragop - The Dropped parameter is the easiest way to specify an alternative operator to drop. Note that this alternative operator must exist, otherwise the component itself will be dropped. The alternative is only used when dropping onto a network or control panel. Text pasted via dragging and dropping, or files saved via dropping onto the desktop, will still use the original.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.539Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "On Dropping Into",
"label": "On Dropping Into",
"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": "drop - - Specify if this accepts items that are dropped onto it.\n\n dropparent - Follow the parent Panel Components Drop setting. legacy - Allow Dropping onto this . Use the Paramter Drop to control the behaviour. dropno - Disallows Dropping onto this .",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.539Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Use Parent's Drop Settings",
"label": "Use Parent's Drop Settings",
"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": "dropparent - Follow the parent Panel Components Drop setting. legacy - Allow Dropping onto this . Use the Paramter Drop to control the behaviour. dropno - Disallows Dropping onto this .",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.539Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Drop Script",
"label": "Drop Script",
"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": "dropscript - A component's Drop is run when you drop another component or an external file into that component. Please refer to the Drop Scripts - Text section of the Drag and Drop page.\nAlternatively specify a in the drop script field. TouchDesigner will automatically look for 2 columns in the table. The first column should indicate the data type and the second should indicate the Text that holds the script to process that data type. Please refer to the Drop - Tables section of the Drag and Drop 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-07T07:50:01.539Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Extension",
"label": "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": "ext - Sequence of info for creating extensions on this component\n\n\n\n ext0object - A number of class instances that can be attached to the component.\n\n\n \n ext0name - Optional name to search by, instead of the instance class name.\n\n\n\n ext0promote - Controls whether or not the extensions are visible directly at the component level, or must be accessed through the .ext member. Example: n.Somefunction vs n.ext.Somefunction",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.539Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Object",
"label": "Object",
"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": "ext0object - A number of class instances that can be attached to the component.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.539Z",
"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": "ext0name - Optional name to search by, instead of the instance class name.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.539Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Promote",
"label": "Promote",
"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": "ext0promote - Controls whether or not the extensions are visible directly at the component level, or must be accessed through the .ext member. Example: n.Somefunction vs n.ext.Somefunction",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.539Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Re-Init Extensions",
"label": "Re-Init Extensions",
"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": "reinitextensions - Recompile all extension objects. Normally extension objects are compiled only when they are referenced and their definitions have changed.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.539Z",
"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": "parentshortcut - Specifies a name you can use anywhere inside the component as the path to that component. See Parent Shortcut.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.539Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Global OP Shortcut",
"label": "Global 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": "opshortcut - Specifies a name you can use anywhere at all as the path to that component. See Global OP Shortcut.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.539Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Internal OP",
"label": "Internal OP",
"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": "iop - Sequence header for internal operators.\n\n\n\n iop0shortcut - Specifies a name you can use anywhere inside the component as a path to \"Internal \" below. See Internal Operators.\n\n\n\n iop0op - The path to the Internal OP inside this component. See Internal 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-07T07:50:01.539Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Shortcut",
"label": "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": "iop0shortcut - Specifies a name you can use anywhere inside the component as a path to \"Internal \" below. See Internal 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-07T07:50:01.539Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "OP",
"label": "OP",
"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": "iop0op - The path to the Internal OP inside this component. See Internal 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-07T07:50:01.539Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Node View",
"label": "Node View",
"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": "nodeview - - Determines what is displayed in the node viewer, also known as the Node Viewer. Some options will not be available depending on the type (Object Component, Panel Component, Misc.)\n\n default - Displays the default viewer for the component type, a 3D Viewer for Object COMPS and a Viewer for Panel COMPs. opviewer - Displays the node viewer from any operator specified in the Operator Viewer parameter below.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.540Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Default Viewer",
"label": "Default Viewer",
"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": "default - Displays the default viewer for the component type, a 3D Viewer for Object COMPS and a Viewer for Panel COMPs. opviewer - Displays the node viewer from any operator specified in the Operator Viewer parameter below.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.540Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Operator Viewer",
"label": "Operator Viewer",
"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": "opviewer - Select which operator's node viewer to use when the Node View parameter above is set to 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-07T07:50:01.540Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Keep in Memory",
"label": "Keep in 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": "keepmemory -",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.540Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Enable Cloning",
"label": "Enable Cloning",
"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": "enablecloning - Control if the OP should be actively cloneing. Turning this off causes this node to stop cloning it's ' Master'.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.540Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Enable Cloning Pulse",
"label": "Enable Cloning 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": "enablecloningpulse - Instantaneously clone the contents.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.540Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Clone Master",
"label": "Clone Master",
"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": "clone - to a component used as the Master Clone.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.540Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Load on Demand",
"label": "Load on Demand",
"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": "loadondemand - Loads the component into memory only when required. Good to use for components that are not always used in the project.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.540Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Enable External .tox",
"label": "Enable External .tox",
"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": "enableexternaltox - When on (default), the external file will be loaded when the starts and the contents of the will match that of the external . This can be turned off to avoid loading from the referenced external on startup if desired (the contents of the are instead loaded from the file). Useful if you wish to have a reference an external but not always load from it unless you specifically push the Re-Init Network parameter button.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.540Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Enable External .tox Pulse",
"label": "Enable External .tox 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": "enableexternaltoxpulse - This button will re-load from the external file (if present).",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.540Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "External .tox Path",
"label": "External .tox 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": "externaltox - to a file on disk which will source the component's contents upon start of a . This allows for components to contain networks that can be updated independently. If the file can not be found, whatever the file was saved with will be loaded.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.540Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Reload Custom Parameters",
"label": "Reload Custom Parameters",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "reloadcustom - When this checkbox is enabled, the values of the component's Custom Parameters are reloaded when the .tox is reloaded. This only affects top-level parameters on the component, all parameters on nodes inside the component are always reloaded with the .tox.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.540Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Reload Built-In Parameters",
"label": "Reload Built-In Parameters",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "reloadbuiltin - When this checkbox is enabled, the values of the component's built-in parameters are reloaded when the .tox is reloaded. This only affects top-level parameters on the component, all parameters on nodes inside the component are always reloaded with the .tox.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.540Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Save Backup of External",
"label": "Save Backup of External",
"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": "savebackup - When this checkbox is enabled, a backup copy of the component specified by the External parameter is saved in the file. This backup copy will be used if the External can not be found. This may happen if the was renamed, deleted, or the file is running on another computer that is missing component media.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.540Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Sub-Component to Load",
"label": "Sub-Component to Load",
"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": "subcompname - When loading from an External file, this option allows you to reach into the and pull out a and make that the top-level , ignoring everything else in the file (except for the contents of that ). For example if a file named project1 contains project1/geo1, putting geo1 as the Sub- to Load, will result in geo1 being loaded in place of the current . If this parameter is blank, it just loads the file normally using the top level in the file.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.540Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Relative File Path Behavior",
"label": "Relative File Path Behavior",
"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": "relpath - - Set whether the child file paths within this are relative to the itself or the , or inherit from parent.\n\n inherit - Inherit setting from parent. project - The path, when specified as a relative path, will be relative to the file. externaltox - The path, when specified as a relative path, will be relative to the file. When no external file is specified, or when Enable External is not toggled on, this doesn't have any impact.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.540Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Use Parent's Behavior",
"label": "Use Parent's Behavior",
"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": "inherit - Inherit setting from parent. project - The path, when specified as a relative path, will be relative to the file. externaltox - The path, when specified as a relative path, will be relative to the file. When no external file is specified, or when Enable External is not toggled on, this doesn't have any impact.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-07T07:50:01.540Z",
"rawData": {},
"sourceElement": null
}
],
"parameterGroups": {},
"codeExamples": [],
"pythonExamples": [],
"expressions": [],
"commonInputs": [],
"commonOutputs": [],
"relatedOperators": [],
"workflowPatterns": [],
"images": [],
"videos": [],
"assets": [],
"keywords": [
"glsl",
"comp",
"uses",
"shaders",
"render",
"image",
"panel",
"directly",
"screen.",
"useful"
],
"tags": [
"COMP",
"TouchDesigner",
"GLSL COMP"
],
"searchWeight": 1,
"contentHash": "",
"processingDate": "2025-08-07T07:50:01.541Z",
"processingVersion": "1.0.0",
"isValid": true,
"validationErrors": []
}