@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
4,752 lines • 222 kB
JSON
{
"id": "text",
"name": "Text",
"displayName": "Text",
"category": "TOP",
"subcategory": "Filters",
"version": "",
"lastUpdated": "2025-08-08T00:37:54.592Z",
"sourceFile": "C:\\Program Files\\Derivative\\TouchDesigner\\Samples\\Learn\\OfflineHelp\\https.docs.derivative.ca\\Text_TOP.htm",
"url": "",
"description": "The Text TOP displays text strings in an image. It allows for multiple fonts, sizes, colors, borders, character separation and line separation. The text can be displayed as bit maps, anti-aliased lines, or filled polygon characters. Any TrueType font can be rendered by the Text TOP. Unicode is supported.\tThe new Scalable Display Method uses Slug Library to render scalable, resolution independent text at the highest qulaity available in the Text TOP.",
"summary": "The Text TOP displays text strings in an image. It allows for multiple fonts, sizes, colors, borders, character separation and line separation. The text can be displayed as bit maps, anti-aliased line",
"details": "",
"usage": "",
"tips": [],
"warnings": [],
"parameters": [
{
"id": null,
"name": "Field Component",
"label": "Field 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": "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 Text displays text strings in an image. It allows for multiple fonts, sizes, colors, borders, character separation and line separation. The text can be displayed as bit maps, anti-aliased lines, or filled polygon characters. Any TrueType font can be rendered by the Text . Unicode is supported.\tThe new Scalable Display Method uses Slug Library to render scalable, resolution independent text at the highest qulaity available in the Text .\t\nIt can display simple text strings with embedded numeric values. It can also format lines of text and numbers in decimal or floating point format, reading the numbers from a , using special formatting characters.\t\nIt can also render text strings from a Table DAT via the Specification parameter, where column headings are the parameter names that are to ve overidden when rendering a line of text for reach row of the table.\nAny TrueType or OpenType font that has been loaded into Windows can be rendered by the Text . To import a new font into your Windows system, open the Fonts folder in the , then drag and drop your font files in (.ttf/.otf file format). Fonts can also be specified as .ttf/.otf file paths in the Font File parameter.\t\t\t\t\nYou can render text by reading the text as a python string. See Unicode.\nTip: You can use the textTOP_Class.textWidth member to calculate the width of the text in the Text .\nSee also: Field COMP, Text SOP, Unicode.\t\t\t\t\n\ntextTOP_Class\n\nContents\n \n \n \n \n \n \n \n \n \n \n \n\n\n\n\n\n field - Specifies a Field Component to use as the source of the text. The font and style of the text displayed in the Field are set using the parameters in the Text .\n\n\n\t\t\t\n dat - Specifies a to use for the source of the text. Drag and Drop a onto this field, or manually enter the 's path.\n\n\n\t\t\t\n rowindex - The row number (starting from 0) of the cell, if the is a table.\n\n\n\t\t\t\n colindex - The column number of the cell, if the is a table.\n\n\n\t\t\t\n specdat - A that allows you to specify and position text by pixel, with the lower left corner being at 0, 0. Column headers must include position1 or x, position2 or y, and text. A sample table can be:\t\t\nx\ty\ttext\t\t\n0\t0\tlower left text\t\t\n100\t100\tsomewhere in the middle\n\n\n\n\t\t\t\n text - A string of text. It optionally can be followed by a numeric value and another post-string, as set with and below. If newlines or tabs are desired, the recommended way is to change this parameter to expression mode, and specify a Python string that includes \\n or \\t to signify newlines and tabs. E.g 'First Line\\nSecond Line'.\n\n\n\t\t\t\n legacyparsing - In older builds the syntax \\XXX (E.g \\200 would be character 200), \\t, \\n as well as [] and {} (to position strings) was parsed in the string. This is now deprecated. For specifying characters codes, \\t and \\n Python syntax should be used instead.. The 'Specification ' should be used to position strings instead of [], {}. This parameter can be enabled to turn back on this legacy parsing though. If this is enabled and you want to display the characters \\ [ ] { }, you must precede them with a \\.\n\n\n\t\t\t\n appendvalue - Enables the field defined below. This value is inserted between the string and the string.\n\n\n\t\t\t\n valuetouse - The numeric value to display.\n\n\n\t\t\t\n totaldigits - The total number of digits in the value displayed.\n\n\n\t\t\t\n decimaldigits - The number of digits displayed after the decimal place.\n\n\n\t\t\t\n posttext - The text string appended after Text and Value (if present).\n\n\n\t\t\t\n chopvaluereplace - Allows portions of the strings to be replaced by values via a syntax similar to C-style printf()/sprintf(). More details of the syntax are provided in the next parameter, '' .\n\n\n\t\t\t\n chop - The containing all the values to insert in the strings. The Text will repeat the Text string until all channels are displayed. They are displayed by using a special syntax in your string, defined as string starting with %, for example %4d:\t\t\n\t\t\t\t\n %[flags][width][.precision][type]\t\t\t\t\n\n\t\t\t\t\nflags (optional) - Alignment options.\n- : left align (text is right aligned by default)\n0 : pad the left side with zeros\nwidth (optional) - Total number of digits in the number displayed.\nprecision (optional) - Number of digits after the decimal place.\ntype - Number format.\nd : integer\nf : float\ng : double, exponential format is used only when the exponent of the value is less than ?4.Drag and Drop a onto this field, or manually enter the 's path.\t\t\t\t\n\n\n\n\n wordwrap - When checked text is automatically line wrapped so it doesn't extend outside the 's borders. When using Word Wrap and Auto-Size together, the text will first word-wrap based on the specified font size, then auto size the resulting block of text.\n\n\n\t\n smartquote - Enables smart quotes which use a left (opening) quotation mark and a right (closing) quotation mark instead of straight quotes.\n\n\n\n\n\n font - Select the font for the text from this drop down menu. All fonts are provided by Windows, any TrueType font that is loaded into Windows can be used.\n\n\n\t\t\t\n fontfile - Specify any TrueType font file (.ttf file) to use for the text. When using a font file, the Font menu above is disabled.\n\n\n\t\t\t\n charset - - Select which character set to use.\n\n unicode - symbol -\n\t\t\t\n dispmethod - - The display method used.\n\n automatic - Automatically chooses which display mode to use based on font size and settings. polygon - Uses polygons to display the text. Polygons look better using large font sizes. They also support anti-aliasing (see Anti-Aliased below). stroke - Same as polygons but only an outline of the text is displayed. bitmap - Uses bitmap images for the text. Bitmap fonts are better for very small font sizes where high precision is required. scalable - Uses Slug Library to render high-quality, scalable, resolution independent text.\n\t\t\t\n antialias - - Smoothes out the edges of the text. Not available for Texture Display Mode.\n\n aa1 - aa2 - aa4 - aa8mid - aa8high - aa16low - aa16mid - aa16high - aa32 -\n\t\t\t\n strokewidth - Controls the width of the outline when using Stroke Display Method.\n\n\n\t\t\t\n bold - Displays the text in bold.\n\n\n\t\t\t\n italic - Displays the text in Italic.\n\n\n\t\t\t\n fontautosize - - Automatically controls font size using one of the following 3 options. When using this feature along with Word Wrap turned on, it will first word-wrap the text based on the specified font size, then auto size the resulting block of text.\n\n nofit - Does not use any auto-fitting. Font Size specified in Font Size X and Font Size Y parameters. alwaysfit - The font size will be increased or decreased so the text fits across the Text from edge to edge. fitiffat - Only auto sizes the text if the text is too large and spills past the edges of the Text . In this case the font size will be decreased to fit it within the borders of the .\n\t\t\t\n fontsizex - Sets the font size in X (horizontal). Note: Floating point font sizes are permissable when using and Outline .\n\n\n\t\t\t\n fontsizexunit - Select the units for this parameter from Pixels, Fraction, Fraction Aspect or Points (font point size).\tA is defined using the Windows conventions for 100% scaling, which is 96 pixels to 72 points. That is, a point size of 10 is the same as a pixel size of 10*(96/72) = 13.333.\n\n\n\t\t\t\n fontsizey - Sets the font size in Y (vertical). Note: Floating point font sizes are permissable when using and Outline .\n\n\n\t\t\t\n fontsizeyunit - Select the units for this parameter from Pixels, Fraction, Fraction Aspect or Points (font point size).\n\n\n\t\t\t\n keepfontratio - Ignores Y value in Font Size. Sets both X and Y size to X.\n\n\n\t\t\t\n breaklang - Language type hint to help format the glyphs correctly.\n\n\n\t\t\t\n readingdirection - - Use to set whether the language reads Left to Right or Right to Left.\n\n lefttoright - righttoleft -\n\t\t\t\n tracking - - The amount of space to add between letters in X and Y. Tracking is way of adding an arbitrary offset between letters. There already is a default offset associated with each font so the letters are flush against each other. The Tracking parameter this adds to that and allows for a Y offset.\n\ntracking1 -tracking2 -\n\t\t\t\n position - - The starting position of the text in X and Y.\t\t\n Inside the Text and Post Text fields the position can be overridden by using brackets.\t\t\t\t\n\n[x,y] - \"bleh[x,y]newtext\" will place newtext at position (x,y) on the screen.\n{X,Y} - \"bleh{(+/-)x,(+/-)y}newtext\" will offset newtext x,y from current position.\n\\n - using \"\\n\" causes the text to move down to the next line and reset its position. (i.e. New Line and Carriage Return)\nposition1 -position2 -\n\t\t\t\n positionunit - Select the units for this parameter from Pixels, Fraction (0-1), Fraction Aspect (0-1 considering aspect ratio).\n\n\n\t\t\t\n linespacing - Determines the amount of space between lines of text.\n\n\n\t\t\t\n linespacingunit - Select the units for this parameter from Pixels, Fraction (0-1), Fraction Aspect (0-1 considering aspect ratio).\n\n\n\t\t\t\n alignx - - Sets the horizontal alignment.\n\n left - Left justifies the text. center - Centers the text. right - Right justifies the text.\n\t\n alignxmode - - Determines how horizontal alignment is calculated.\n\n metrics - Uses the font's built-in information to position the text. bbox - Uses a bounding box around the text to position the text.\n\n aligny - - Sets the vertical alignment.\n\n bottom - Bottom justifies the text. center - Centers the text. top - Top justifies the text.\n\n alignymode - - Determines how vertical alignment is calculated.\n\n metrics - Uses the font's built-in information to position the text. bbox - Uses a bounding box around the text to position the text.\n\t\t\t\t\t\n borderspace - - When using Auto-Size Font, it will further shrink the text to give it a border.\n\nborderspace1 -borderspace2 -\n\n\n\n multrgbbyalpha - Multiplies the RGB channels by the alpha channel.\n\n\n\t\t\t\n fontcolor - - RGBA values for the text displayed. (default: white (1,1,1,1))\n\n fontcolorr - fontcolorg - fontcolorb -\n\t\t\t\n fontalpha - Set the alpha value for the font.\n\n\n\t\t\t\n bgcolor - - RGBA values for the background. (default: black (0,0,0,0))\n\n bgcolorr - bgcolorg - bgcolorb -\n\t\t\t\n bgalpha - Set the alpha value for the background.\n\n\n\t\t\t\n bordera - - RGBA values for border A color.\n\n borderar - borderag - borderab -\n\t\t\t\n borderaalpha - Set the alpha value for border A.\n\n\n\t\t\t\n borderb - - RGBA values for border B color.\n\n borderbr - borderbg - borderbb -\n\t\t\t\n borderbalpha - Set the alpha value for border B.\n\n\n\t\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\t\n leftborderi - Same as above parameter but used for an inside border.\n\n\n\t\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\t\n rightborderi - Same as above parameter but used for an inside border.\n\n\n\t\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\t\n bottomborderi - Same as above parameter but used for an inside border.\n\n\n\t\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\t\n topborderi - Same as above parameter but used for an inside border.\n\n\n\n\n\n compoverinput - Turning this On will composite the input with the image.\n\n\n\t\n operand - - Choose which composite operation is performed from this menu. Search the web for 'blend modes' for more detailed information on the effects of each type.\n\n add - input1.rgba + input2.rgba atop - (input1.rgba * input2.a) + (input2.rgba * (1.0 - input1.a)) average - (input1.rgba + input2.rgba)/2 brightest - burncolor - burnlinear - chromadifference - color - darkercolor - difference - absoluteValue(input1.rgb - input2.rgb). Alpha always equals 1.0 dimmest - divide - input1.rgba / input2.rgba dodge - exclude - freeze - glow - hardlight - hardmix - heat - hue - inside - input1.rgba * clamp(input2.a, 0.0, 1.0) insideluminance - inverse - lightercolor - luminancedifference - maximum - max(input1.r, input2.r), max(input1.g, input2.g), max(input1.b, input2.b), max(input1.a, input2.a) minimum - min(input1.r, input2.r), min(input1.g, input2.g), min(input1.b, input2.b), min(input1.a, input2.a) multiply - negate - outside - input1.rgba * (1.0 - input2.a) outsideluminance - over - (input2.rgba * (1.0 - input1.a)) + input1.rgba overlay - pinlight - reflect - screen - 1.0 - ((1.0 - input1.rgba) * (1.0 - input2.rgba)) softlight - linearlight - stencilluminance - subtract - input1.rgba - input2.rgba subtractive - under - (input1.rgba * (1.0 - input2.a)) + input2.rgba vividlight - xor - (input1.rgba * (1.0 - input2.a)) + (input2.rgba * (1.0 - input1.a)) yfilm - zfilm -\n\t\t\n swaporder - Swaps the order of the composite with the input.\n\n\n\n\n\n outputresolution - - quickly change the resolution of the 's data.\n\n useinput - Uses the input's resolution. eighth - Multiply the input's resolution by that amount. quarter - Multiply the input's resolution by that amount. half - Multiply the input's resolution by that amount. 2x - Multiply the input's resolution by that amount. 4x - Multiply the input's resolution by that amount. 8x - Multiply the input's resolution by that amount. fit - Grow or shrink the input resolution to fit this resolution, while keeping the aspect ratio the same. limit - Limit the input resolution to be not larger than this resolution, while keeping the aspect ratio the same. custom - Directly control the width and height.\n\n resolution - - Enabled only when the parameter is set to Custom . Some Generators like Constant and Ramp do not use inputs and only use this field to determine their size. The drop down menu on the right provides some commonly used resolutions.\n\n resolutionw - resolutionh -\n\n resmenu - A drop-down menu with some commonly used resolutions.\n\n\n\n resmult - Uses the Global Multiplier found in Edit>Preferences>TOPs. This multiplies all the TOPs resolutions by the set amount. This is handy when working on computers with different hardware specifications. If a project is designed on a desktop workstation with lots of graphics memory, a user on a laptop with only 64MB VRAM can set the Global Multiplier to a value of half or quarter so it runs at an acceptable speed. By checking this checkbox on, this is affected by the global multiplier.\n\n\n\n outputaspect - - Sets the image aspect ratio allowing any textures to be viewed in any size. Watch for unexpected results when compositing TOPs with different aspect ratios. (You can define images with non-square pixels using xres, yres, aspectx, aspecty where xres/yres != aspectx/aspecty.)\n\n useinput - Uses the input's aspect ratio. resolution - Uses the aspect of the image's defined resolution (ie 512x256 would be 2:1), whereby each pixel is square. custom - Lets you explicitly define a custom aspect ratio in the Aspect parameter below.\n\n aspect - - Use when Output Aspect parameter is set to Custom Aspect.\n\n aspect1 - aspect2 -\n\n armenu - A drop-down menu with some commonly used aspect ratios.\n\n\n\n inputfiltertype - - This controls pixel filtering on the input image of the .\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. This is how you 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.\n\n fillmode - - Determine how the image is displayed in the viewer.\nNOTE:To get an understanding of how TOPs work with images, you will want to set this to Native as you lay down TOPs when starting out. This will let you see what is actually happening without any automatic viewer resizing.\n\n\n useinput - Uses the same Fill Viewer settings as it's input. fill - Stretches the image to fit the edges of the viewer. width - Stretches image to fit viewer horizontally. height - Stretches image to fit viewer vertically. best - Stretches or squashes image so no part of image is cropped. outside - Stretches or squashes image so image fills viewer while constraining it's proportions. This often leads to part of image getting cropped by viewer. nativeres - Displays the native resolution of the image in the viewer.\n\n filtertype - - This controls pixel filtering in the viewers.\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\n npasses - Duplicates the operation of the the specified number of times. For every pass after the first it takes the result of the previous pass and replaces the node's first input with the result of the previous pass. One exception to this is the GLSL TOP when using compute shaders, where the input will continue to be the connected 's image.\n\n\n\n chanmask - Allows you to choose which channels (R, G, B, or A) the will operate on. All channels are selected by default.\n\n\n\n format - - Format used to store data for each channel in the image (ie. R, G, B, and A). Refer to Pixel Formats for more information.\n\n useinput - Uses the input's pixel format. rgba8fixed - Uses 8-bit integer values for each channel. srgba8fixed - Uses 8-bit integer values for each channel and stores color in sRGB colorspace. Note that this does not apply an sRGB curve to the pixel values, it only stores them using an sRGB curve. This means more data is used for the darker values and less for the brighter values. When the values are read downstream they will be converted back to linear. For more information refer to sRGB. rgba16float - Uses 16-bits per color channel, 64-bits per pixel. rgba32float - Uses 32-bits per color channel, 128-bits per pixels. rgb10a2fixed - Uses 10-bits per color channel and 2-bits for alpha, 32-bits total per pixel. rgba16fixed - Uses 16-bits per color channel, 64-bits total per pixel. rgba11float - A RGB floating point format that has 11 bits for the Red and Green channels, and 10-bits for the Blue , 32-bits total per pixel (therefore the same memory usage as 8-bit RGBA). The Alpha channel in this format will always be 1. Values can go above one, but can't be negative. ie. the range is [0, infinite). rgb16float - rgb32float - mono8fixed - Single channel, where RGB will all have the same value, and Alpha will be 1.0. 8-bits per pixel. mono16fixed - Single channel, where RGB will all have the same value, and Alpha will be 1.0. 16-bits per pixel. mono16float - Single channel, where RGB will all have the same value, and Alpha will be 1.0. 16-bits per pixel. mono32float - Single channel, where RGB will all have the same value, and Alpha will be 1.0. 32-bits per pixel. rg8fixed - A 2 channel format, R and G have values, while B is 0 always and Alpha is 1.0. 8-bits per channel, 16-bits total per pixel. rg16fixed - A 2 channel format, R and G have values, while B is 0 always and Alpha is 1.0. 16-bits per channel, 32-bits total per pixel. rg16float - A 2 channel format, R and G have values, while B is 0 always and Alpha is 1.0. 16-bits per channel, 32-bits total per pixel. rg32float - A 2 channel format, R and G have values, while B is 0 always and Alpha is 1.0. 32-bits per channel, 64-bits total per pixel. a8fixed - An Alpha only format that has 8-bits per channel, 8-bits per pixel. a16fixed - An Alpha only format that has 16-bits per channel, 16-bits per pixel. a16float - An Alpha only format that has 16-bits per channel, 16-bits per pixel. a32float - An Alpha only format that has 32-bits per channel, 32-bits per pixel. monoalpha8fixed - A 2 channel format, one value for RGB and one value for Alpha. 8-bits per channel, 16-bits per pixel. monoalpha16fixed - A 2 channel format, one value for RGB and one value for Alpha. 16-bits per channel, 32-bits per pixel. monoalpha16float - A 2 channel format, one value for RGB and one value for Alpha. 16-bits per channel, 32-bits per pixel. monoalpha32float - A 2 channel format, one value for RGB and one value for Alpha. 32-bits per channel, 64-bits per pixel.\n\n\n\n - Control the Composite operation via the parameters on the Output Page of this operator.\n\nExtra Information for the Text can be accessed via an Info CHOP.\n\n\n - - - - - - - -\n - Horizontal resolution of the in pixels. - Vertical resolution of the in pixels. - Horizontal aspect of the . - Vertical aspect of the . - Depth of 2D or 3D array if this contains a 2D or 3D texture array. - Total amount of texture memory used by this .\n - Number of times the operator has cooked since the process started. - Duration of the last cook in milliseconds. - Frame number when this operator was last cooked relative to the component timeline. - Frame number when this operator was last cooked relative to the absolute time. - Time in milliseconds at which the operator started cooking in the frame it was cooked. - Time in milliseconds at which the operator finished cooking in the frame it was cooked. - 1 if operator was cooked this frame. - Number of warnings in this operator if any. - Number of errors in this operator if any.\nTouchDesigner Build: Latest\\n2022.241402021.100002018.28070before 2018.28070\nTOPs\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\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\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\nA custom interactive control panel built within TouchDesigner. Panels are created using Panel Components.\n\n\n\nUnicode text is fully supported in TouchDesigner. Unicode can be typed into parameters, DATs, Python scripts etc. Unicode encoded text files can be loaded into DATs. File paths can include any unicode character that is legal for a file path.\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\nA form of DATs (Data Operators) that is structured as rows and columns of text strings.\n\n\n\nA polygon is a type of Primitive that is formed from a set of Vertices in 3D that are implicitly connected together to form a multi-edge shape.\n\n\n\nEach SOP has a list of Points. Each point has an XYZ 3D position value plus other optional attributes. Each polygon Primitive is defined by a vertex list, which is list of point numbers.\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 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 CHOP outputs one or more channels, where a channel is simply a sequence of numbers (Samples), representing motion, audio, etc. Channels are passed between CHOPs in TouchDesigner networks. Channels can be Exported to Parameters.\n\n\n\n\n\n\n\n\nRetrieved from \"https://docs.derivative.ca/index.php?title=Text_TOP&oldid=27220\"\n\t\tCategory: TOPs",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:54.576Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Field Component",
"label": "Field 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": "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 Text displays text strings in an image. It allows for multiple fonts, sizes, colors, borders, character separation and line separation. The text can be displayed as bit maps, anti-aliased lines, or filled polygon characters. Any TrueType font can be rendered by the Text . Unicode is supported.\tThe new Scalable Display Method uses Slug Library to render scalable, resolution independent text at the highest qulaity available in the Text .\t\nIt can display simple text strings with embedded numeric values. It can also format lines of text and numbers in decimal or floating point format, reading the numbers from a , using special formatting characters.\t\nIt can also render text strings from a Table DAT via the Specification parameter, where column headings are the parameter names that are to ve overidden when rendering a line of text for reach row of the table.\nAny TrueType or OpenType font that has been loaded into Windows can be rendered by the Text . To import a new font into your Windows system, open the Fonts folder in the , then drag and drop your font files in (.ttf/.otf file format). Fonts can also be specified as .ttf/.otf file paths in the Font File parameter.\t\t\t\t\nYou can render text by reading the text as a python string. See Unicode.\nTip: You can use the textTOP_Class.textWidth member to calculate the width of the text in the Text .\nSee also: Field COMP, Text SOP, Unicode.\t\t\t\t\n\ntextTOP_Class\n\nContents\n \n \n \n \n \n \n \n \n \n \n \n\n\n\n\n\n field - Specifies a Field Component to use as the source of the text. The font and style of the text displayed in the Field are set using the parameters in the Text .\n\n\n\t\t\t\n dat - Specifies a to use for the source of the text. Drag and Drop a onto this field, or manually enter the 's path.\n\n\n\t\t\t\n rowindex - The row number (starting from 0) of the cell, if the is a table.\n\n\n\t\t\t\n colindex - The column number of the cell, if the is a table.\n\n\n\t\t\t\n specdat - A that allows you to specify and position text by pixel, with the lower left corner being at 0, 0. Column headers must include position1 or x, position2 or y, and text. A sample table can be:\t\t\nx\ty\ttext\t\t\n0\t0\tlower left text\t\t\n100\t100\tsomewhere in the middle\n\n\n\n\t\t\t\n text - A string of text. It optionally can be followed by a numeric value and another post-string, as set with and below. If newlines or tabs are desired, the recommended way is to change this parameter to expression mode, and specify a Python string that includes \\n or \\t to signify newlines and tabs. E.g 'First Line\\nSecond Line'.\n\n\n\t\t\t\n legacyparsing - In older builds the syntax \\XXX (E.g \\200 would be character 200), \\t, \\n as well as [] and {} (to position strings) was parsed in the string. This is now deprecated. For specifying characters codes, \\t and \\n Python syntax should be used instead.. The 'Specification ' should be used to position strings instead of [], {}. This parameter can be enabled to turn back on this legacy parsing though. If this is enabled and you want to display the characters \\ [ ] { }, you must precede them with a \\.\n\n\n\t\t\t\n appendvalue - Enables the field defined below. This value is inserted between the string and the string.\n\n\n\t\t\t\n valuetouse - The numeric value to display.\n\n\n\t\t\t\n totaldigits - The total number of digits in the value displayed.\n\n\n\t\t\t\n decimaldigits - The number of digits displayed after the decimal place.\n\n\n\t\t\t\n posttext - The text string appended after Text and Value (if present).\n\n\n\t\t\t\n chopvaluereplace - Allows portions of the strings to be replaced by values via a syntax similar to C-style printf()/sprintf(). More details of the syntax are provided in the next parameter, '' .\n\n\n\t\t\t\n chop - The containing all the values to insert in the strings. The Text will repeat the Text string until all channels are displayed. They are displayed by using a special syntax in your string, defined as string starting with %, for example %4d:\t\t\n\t\t\t\t\n %[flags][width][.precision][type]\t\t\t\t\n\n\t\t\t\t\nflags (optional) - Alignment options.\n- : left align (text is right aligned by default)\n0 : pad the left side with zeros\nwidth (optional) - Total number of digits in the number displayed.\nprecision (optional) - Number of digits after the decimal place.\ntype - Number format.\nd : integer\nf : float\ng : double, exponential format is used only when the exponent of the value is less than ?4.Drag and Drop a onto this field, or manually enter the 's path.\t\t\t\t\n\n\n\n\n wordwrap - When checked text is automatically line wrapped so it doesn't extend outside the 's borders. When using Word Wrap and Auto-Size together, the text will first word-wrap based on the specified font size, then auto size the resulting block of text.\n\n\n\t\n smartquote - Enables smart quotes which use a left (opening) quotation mark and a right (closing) quotation mark instead of straight quotes.\n\n\n\n\n\n font - Select the font for the text from this drop down menu. All fonts are provided by Windows, any TrueType font that is loaded into Windows can be used.\n\n\n\t\t\t\n fontfile - Specify any TrueType font file (.ttf file) to use for the text. When using a font file, the Font menu above is disabled.\n\n\n\t\t\t\n charset - - Select which character set to use.\n\n unicode - symbol -\n\t\t\t\n dispmethod - - The display method used.\n\n automatic - Automatically chooses which display mode to use based on font size and settings. polygon - Uses polygons to display the text. Polygons look better using large font sizes. They also support anti-aliasing (see Anti-Aliased below). stroke - Same as polygons but only an outline of the text is displayed. bitmap - Uses bitmap images for the text. Bitmap fonts are better for very small font sizes where high precision is required. scalable - Uses Slug Library to render high-quality, scalable, resolution independent text.\n\t\t\t\n antialias - - Smoothes out the edges of the text. Not available for Texture Display Mode.\n\n aa1 - aa2 - aa4 - aa8mid - aa8high - aa16low - aa16mid - aa16high - aa32 -\n\t\t\t\n strokewidth - Controls the width of the outline when using Stroke Display Method.\n\n\n\t\t\t\n bold - Displays the text in bold.\n\n\n\t\t\t\n italic - Displays the text in Italic.\n\n\n\t\t\t\n fontautosize - - Automatically controls font size using one of the following 3 options. When using this feature along with Word Wrap turned on, it will first word-wrap the text based on the specified font size, then auto size the resulting block of text.\n\n nofit - Does not use any auto-fitting. Font Size specified in Font Size X and Font Size Y parameters. alwaysfit - The font size will be increased or decreased so the text fits across the Text from edge to edge. fitiffat - Only auto sizes the text if the text is too large and spills past the edges of the Text . In this case the font size will be decreased to fit it within the borders of the .\n\t\t\t\n fontsizex - Sets the font size in X (horizontal). Note: Floating point font sizes are permissable when using and Outline .\n\n\n\t\t\t\n fontsizexunit - Select the units for this parameter from Pixels, Fraction, Fraction Aspect or Points (font point size).\tA is defined using the Windows conventions for 100% scaling, which is 96 pixels to 72 points. That is, a point size of 10 is the same as a pixel size of 10*(96/72) = 13.333.\n\n\n\t\t\t\n fontsizey - Sets the font size in Y (vertical). Note: Floating point font sizes are permissable when using and Outline .\n\n\n\t\t\t\n fontsizeyunit - Select the units for this parameter from Pixels, Fraction, Fraction Aspect or Points (font point size).\n\n\n\t\t\t\n keepfontratio - Ignores Y value in Font Size. Sets both X and Y size to X.\n\n\n\t\t\t\n breaklang - Language type hint to help format the glyphs correctly.\n\n\n\t\t\t\n readingdirection - - Use to set whether the language reads Left to Right or Right to Left.\n\n lefttoright - righttoleft -\n\t\t\t\n tracking - - The amount of space to add between letters in X and Y. Tracking is way of adding an arbitrary offset between letters. There already is a default offset associated with each font so the letters are flush against each other. The Tracking parameter this adds to that and allows for a Y offset.\n\ntracking1 -tracking2 -\n\t\t\t\n position - - The starting position of the text in X and Y.\t\t\n Inside the Text and Post Text fields the position can be overridden by using brackets.\t\t\t\t\n\n[x,y] - \"bleh[x,y]newtext\" will place newtext at position (x,y) on the screen.\n{X,Y} - \"bleh{(+/-)x,(+/-)y}newtext\" will offset newtext x,y from current position.\n\\n - using \"\\n\" causes the text to move down to the next line and reset its position. (i.e. New Line and Carriage Return)\nposition1 -position2 -\n\t\t\t\n positionunit - Select the units for this parameter from Pixels, Fraction (0-1), Fraction Aspect (0-1 considering aspect ratio).\n\n\n\t\t\t\n linespacing - Determines the amount of space between lines of text.\n\n\n\t\t\t\n linespacingunit - Select the units for this parameter from Pixels, Fraction (0-1), Fraction Aspect (0-1 considering aspect ratio).\n\n\n\t\t\t\n alignx - - Sets the horizontal alignment.\n\n left - Left justifies the text. center - Centers the text. right - Right justifies the text.\n\t\n alignxmode - - Determines how horizontal alignment is calculated.\n\n metrics - Uses the font's built-in information to position the text. bbox - Uses a bounding box around the text to position the text.\n\n aligny - - Sets the vertical alignment.\n\n bottom - Bottom justifies the text. center - Centers the text. top - Top justifies the text.\n\n alignymode - - Determines how vertical alignment is calculated.\n\n metrics - Uses the font's built-in information to position the text. bbox - Uses a bounding box around the text to position the text.\n\t\t\t\t\t\n borderspace - - When using Auto-Size Font, it will further shrink the text to give it a border.\n\nborderspace1 -borderspace2 -\n\n\n\n multrgbbyalpha - Multiplies the RGB channels by the alpha channel.\n\n\n\t\t\t\n fontcolor - - RGBA values for the text displayed. (default: white (1,1,1,1))\n\n fontcolorr - fontcolorg - fontcolorb -\n\t\t\t\n fontalpha - Set the alpha value for the font.\n\n\n\t\t\t\n bgcolor - - RGBA values for the background. (default: black (0,0,0,0))\n\n bgcolorr - bgcolorg - bgcolorb -\n\t\t\t\n bgalpha - Set the alpha value for the background.\n\n\n\t\t\t\n bordera - - RGBA values for border A color.\n\n borderar - borderag - borderab -\n\t\t\t\n borderaalpha - Set the alpha value for border A.\n\n\n\t\t\t\n borderb - - RGBA values for border B color.\n\n borderbr - borderbg - borderbb -\n\t\t\t\n borderbalpha - Set the alpha value for border B.\n\n\n\t\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\t\n leftborderi - Same as above parameter but used for an inside border.\n\n\n\t\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\t\n rightborderi - Same as above parameter but used for an inside border.\n\n\n\t\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\t\n bottomborderi - Same as above parameter but used for an inside border.\n\n\n\t\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\t\n topborderi - Same as above parameter but used for an inside border.\n\n\n\n\n\n compoverinput - Turning this On will composite the input with the image.\n\n\n\t\n operand - - Choose which composite operation is performed from this menu. Search the web for 'blend modes' for more detailed information on the effects of each type.\n\n add - input1.rgba + input2.rgba atop - (input1.rgba * input2.a) + (input2.rgba * (1.0 - input1.a)) average - (input1.rgba + input2.rgba)/2 brightest - burncolor - burnlinear - chromadifference - color - darkercolor - difference - absoluteValue(input1.rgb - input2.rgb). Alpha always equals 1.0 dimmest - divide - input1.rgba / input2.rgba dodge - exclude - freeze - glow - hardlight - hardmix - heat - hue - inside - input1.rgba * clamp(input2.a, 0.0, 1.0) insideluminance - inverse - lightercolor - luminancedifference - maximum - max(input1.r, input2.r), max(input1.g, input2.g), max(input1.b, input2.b), max(input1.a, input2.a) minimum - min(input1.r, input2.r), min(input1.g, input2.g), min(input1.b, input2.b), min(input1.a, input2.a) multiply - negate - outside - input1.rgba * (1.0 - input2.a) outsideluminance - over - (input2.rgba * (1.0 - input1.a)) + input1.rgba overlay - pinlight - reflect - screen - 1.0 - ((1.0 - input1.rgba) * (1.0 - input2.rgba)) softlight - linearlight - stencilluminance - subtract - input1.rgba - input2.rgba subtractive - under - (input1.rgba * (1.0 - input2.a)) + input2.rgba vividlight - xor - (input1.rgba * (1.0 - input2.a)) + (input2.rgba * (1.0 - input1.a)) yfilm - zfilm -\n\t\t\n swaporder - Swaps the order of the composite with the input.\n\n\n\n\n\n outputresolution - - quickly change the resolution of the 's data.\n\n useinput - Uses the input's resolution. eighth - Multiply the input's resolution by that amount. quarter - Multiply the input's resolution by that amount. half - Multiply the input's resolution by that amount. 2x - Multiply the input's resolution by that amount. 4x - Multiply the input's resolution by that amount. 8x - Multiply the input's resolution by that amount. fit - Grow or shrink the input resolution to fit this resolution, while keeping the aspect ratio the same. limit - Limit the input resolution to be not larger than this resolution, while keeping the aspect ratio the same. custom - Directly control the width and height.\n\n resolution - - Enabled only when the parameter is set to Custom . Some Generators like Constant and Ramp do not use inputs and only use this field to determine their size. The drop down menu on the right provides some commonly used resolutions.\n\n resolutionw - resolutionh -\n\n resmenu - A drop-down menu with some commonly used resolutions.\n\n\n\n resmult - Uses the Global Multiplier found in Edit>Preferences>TOPs. This multiplies all the TOPs resolutions by the set amount. This is handy when working on computers with different hardware specifications. If a project is designed on a desktop workstation with lots of graphics memory, a user on a laptop with only 64MB VRAM can set the Global Multiplier to a value of half or quarter so it runs at an acceptable speed. By checking this checkbox on, this is affected by the global multiplier.\n\n\n\n outputaspect - - Sets the image aspect ratio allowing any textures to be viewed in any size. Watch for unexpected results when compositing TOPs with different aspect ratios. (You can define images with non-square pixels using xres, yres, aspectx, aspecty where xres/yres != aspectx/aspecty.)\n\n useinput - Uses the input's aspect ratio. resolution - Uses the aspect of the image's defined resolution (ie 512x256 would be 2:1), whereby each pixel is square. custom - Lets you explicitly define a custom aspect ratio in the Aspect parameter below.\n\n aspect - - Use when Output Aspect parameter is set to Custom Aspect.\n\n aspect1 - aspect2 -\n\n armenu - A drop-down menu with some commonly used aspect ratios.\n\n\n\n inputfiltertype - - This controls pixel filtering on the input image of the .\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. This is how you 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.\n\n fillmode - - Determine how the image is displayed in the viewer.\nNOTE:To get an understanding of how TOPs work with images, you will want to set this to Native as you lay down TOPs when starting out. This will let you see what is actually happening without any automatic viewer resizing.\n\n\n useinput - Uses the same Fill Viewer settings as it's input. fill - Stretches the image to fit the edges of the viewer. width - Stretches image to fit viewer horizontally. height - Stretches image to fit viewer vertically. best - Stretches or squashes image so no part of image is cropped. outside - Stretches or squashes image so image fills viewer while constraining it's proportions. This often leads to part of image getting cropped by viewer. nativeres - Displays the native resolution of the image in the viewer.\n\n filtertype - - This controls pixel filtering in the viewers.\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\n npasses - Duplicates the operation of the the specified number of times. For every pass after the first it takes the result of the previous pass and replaces the node's first input with the result of the previous pass. One exception to this is the GLSL TOP when using compute shaders, where the input will continue to be the connected 's image.\n\n\n\n chanmask - Allows you to choose which channels (R, G, B, or A) the will operate on. All channels are selected by default.\n\n\n\n format - - Format used to store data for each channel in the image (ie. R, G, B, and A). Refer to Pixel Formats for more information.\n\n useinput - Uses the input's pixel format. rgba8fixed - Uses 8-bit integer values for each channel. srgba8fixed - Uses 8-bit integer values for each channel and stores color in sRGB colorspace. Note that this does not apply an sRGB curve to the pixel values, it only stores them using an sRGB curve. This means more data is used for the darker values and less for the brighter values. When the values are read downstream they will be converted back to linear. For more information refer to sRGB. rgba16float - Uses 16-bits per color channel, 64-bits per pixel. rgba32float - Uses 32-bits per color channel, 128-bits per pixels. rgb10a2fixed - Uses 10-bits per color channel and 2-bits for alpha, 32-bits total per pixel. rgba16fixed - Uses 16-bits per color channel, 64-bits total per pixel. rgba11float - A RGB floating point format that has 11 bits for the Red and Green channels, and 10-bits for the Blue , 32-bits total per pixel (therefore the same memory usage as 8-bit RGBA). The Alpha channel in this format will always be 1. Values can go above one, but can't be negative. ie. the range is [0, infinite). rgb16float - rgb32float - mono8fixed - Single channel, where RGB will all have the same value, and Alpha will be 1.0. 8-bits per pixel. mono16fixed - Single channel, where RGB will all have the same value, and Alpha will be 1.0. 16-bits per pixel. mono16float - Single channel, where RGB will all have the same value, and Alpha will be 1.0. 16-bits per pixel. mono32float - Single channel, where RGB will all have the same value, and Alpha will be 1.0. 32-bits per pixel. rg8fixed - A 2 channel format, R and G have values, while B is 0 always and Alpha is 1.0. 8-bits per channel, 16-bits total per pixel. rg16fixed - A 2 channel format, R and G have values, while B is 0 always and Alpha is 1.0. 16-bits per channel, 32-bits total per pixel. rg16float - A 2 channel format, R and G have values, while B is 0 always and Alpha is 1.0. 16-bits per channel, 32-bits total per pixel. rg32float - A 2 channel format, R and G have values, while B is 0 always and Alpha is 1.0. 32-bits per channel, 64-bits total per pixel. a8fixed - An Alpha only format that has 8-bits per channel, 8-bits per pixel. a16fixed - An Alpha only format that has 16-bits per channel, 16-bits per pixel. a16float - An Alpha only format that has 16-bits per channel, 16-bits per pixel. a32float - An Alpha only format that has 32-bits per channel, 32-bits per pixel. monoalpha8fixed - A 2 channel format, one value for RGB and one value for Alpha. 8-bits per channel, 16-bits per pixel. monoalpha16fixed - A 2 channel format, one value for RGB and one value for Alpha. 16-bits per channel, 32-bits per pixel. monoalpha16float - A 2 channel format, one value for RGB and one value for Alpha. 16-bits per channel, 32-bits per pixel. monoalpha32float - A 2 channel format, one value for RGB and one value for Alpha. 32-bits per channel, 64-bits per pixel.\n\n\n\n - Control the Composite operation via the parameters on the Output Page of this operator.\n\nExtra Information for the Text can be accessed via an Info CHOP.\n\n\n - - - - - - - -\n - Horizontal resolution of the in pixels. - Vertical resolution of the in pixels. - Horizontal aspect of the . - Vertical aspect of the . - Depth of 2D or 3D array if this contains a 2D or 3D texture array. - Total amount of texture memory used by this .\n - Number of times the operator has cooked since the process started. - Duration of the last cook in milliseconds. - Frame number when this operator was last cooked relative to the component timeline. - Frame number when this operator was last cooked relative to the absolute time. - Time in milliseconds at which the operator started cooking in the frame it was cooked. - Time in milliseconds at which the operator finished cooking in the frame it was cooked. - 1 if operator was cooked this frame. - Number of warnings in this operator if any. - Number of errors in this operator if any.\nTouchDesigner Build: Latest\\n2022.241402021.100002018.28070before 2018.28070\nTOPs\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\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\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\nA custom interactive control panel built within TouchDesigner. Panels are created using Panel Components.\n\n\n\nUnicode text is fully supported in TouchDesigner. Unicode can be typed into parameters, DATs, Python scripts etc. Unicode encoded text files can be loaded into DATs. File paths can include any unicode character that is legal for a file path.\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\nA form of DATs (Data Operators) that is structured as rows and columns of text strings.\n\n\n\nA polygon is a type of Primitive that is formed from a set of Vertices in 3D that are implicitly connected together to form a multi-edge shape.\n\n\n\nEach SOP has a list of Points. Each point has an XYZ 3D position value plus other optional attributes. Each polygon Primitive is defined by a vertex list, which is list of point numbers.\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 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 CHOP outputs one or more channels, where a channel is simply a sequence of numbers (Samples), representing motion, audio, etc. Channels are passed between CHOPs in TouchDesigner networks. Channels can be Exported to Parameters.\n\n\n\n\n\n\n\n\nRetrieved from \"https://docs.derivative.ca/index.php?title=Text_TOP&oldid=27220\"\n\t\tCategory: TOPs",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:54.580Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Field Component",
"label": "Field 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": "The Text displays text strings in an image. It allows for multiple fonts, sizes, colors, borders, character separation and line separation. The text can be displayed as bit maps, anti-aliased lines, or filled polygon characters. Any TrueType font can be rendered by the Text . Unicode is supported.\tThe new Scalable Display Method uses Slug Library to render scalable, resolution independent text at the highest qulaity available in the Text .\t\nIt can display simple text strings with embedded numeric values. It can also format lines of text and numbers in decimal or floating point format, reading the numbers from a , using special formatting characters.\t\nIt can also render text strings from a Table DAT via the Specification parameter, where column headings are the parameter names that are to ve overidden when rendering a line of text for reach row of the table.\nAny TrueType or OpenType font that has been loaded into Windows can be rendered by the Text . To import a new font into your Windows system, open the Fonts folder in the , then drag and drop your font files in (.ttf/.otf file format). Fonts can also be specified as .ttf/.otf file paths in the Font File parameter.\t\t\t\t\nYou can render text by reading the text as a python string. See Unicode.\nTip: You can use the textTOP_Class.textWidth member to calculate the width of the text in the Text .\nSee also: Field COMP, Text SOP, Unicode.\t\t\t\t\n\ntextTOP_Class\n\nContents\n \n \n \n \n \n \n \n \n \n \n \n\n\n\n\n\n field - Specifies a Field Component to use as the source of the text. The font and style of the text displayed in the Field are set using the parameters in the Text .\n\n\n\t\t\t\n dat - Specifies a to use for the source of the text. Drag and Drop a onto this field, or manually enter the 's path.\n\n\n\t\t\t\n rowindex - The row number (starting from 0) of the cell, if the is a table.\n\n\n\t\t\t\n colindex - The column number of the cell, if the is a table.\n\n\n\t\t\t\n specdat - A that allows you to specify and position text by pixel, with the lower left corner being at 0, 0. Column headers must include position1 or x, position2 or y, and text. A sample table can be:\t\t\nx\ty\ttext\t\t\n0\t0\tlower left text\t\t\n100\t100\tsomewhere in the middle\n\n\n\n\t\t\t\n text - A string of text. It optionally can be followed by a numeric value and another post-string, as set with and below. If newlines or tabs are desired, the recommended way is to change this parameter to expression mode, and specify a Python string that includes \\n or \\t to signify newlines and tabs. E.g 'First Line\\nSecond Line'.\n\n\n\t\t\t\n legacyparsing - In older builds the syntax \\XXX (E.g \\200 would be character 200), \\t, \\n as well as [] and {} (to position strings) was parsed in the string. This is now deprecated. For specifying characters codes, \\t and \\n Python syntax should be used instead.. The 'Specification ' should be used to position strings instead of [], {}. This parameter can be enabled to turn back on this legacy parsing though. If this is enabled and you want to display the characters \\ [ ] { }, you must precede them with a \\.\n\n\n\t\t\t\n appendvalue - Enables the field defined below. This value is inserted between the string and the string.\n\n\n\t\t\t\n valuetouse - The numeric value to display.\n\n\n\t\t\t\n totaldigits - The total number of digits in the value displayed.\n\n\n\t\t\t\n decimaldigits - The number of digits displayed after the decimal place.\n\n\n\t\t\t\n posttext - The text string appended after Text and Value (if present).\n\n\n\t\t\t\n chopvaluereplace - Allows portions of the strings to be replaced by values via a syntax similar to C-style printf()/sprintf(). More details of the syntax are provided in the next parameter, '' .\n\n\n\t\t\t\n chop - The containing all the values to insert in the strings. The Text will repeat the Text string until all channels are displayed. They are displayed by using a special syntax in your string, defined as string starting with %, for example %4d:\t\t\n\t\t\t\t\n %[flags][width][.precision][type]\t\t\t\t\n\n\t\t\t\t\nflags (optional) - Alignment options.\n- : left align (text is right aligned by default)\n0 : pad the left side with zeros\nwidth (optional) - Total number of digits in the number displayed.\nprecision (optional) - Number of digits after the decimal place.\ntype - Number format.\nd : integer\nf : float\ng : double, exponential format is used only when the exponent of the value is less than ?4.Drag and Drop a onto this field, or manually enter the 's path.\t\t\t\t\n\n\n\n\n wordwrap - When checked text is automatically line wrapped so it doesn't extend outside the 's borders. When using Word Wrap and Auto-Size together, the text will first word-wrap based on the specified font size, then auto size the resulting block of text.\n\n\n\t\n smartquote - Enables smart quotes which use a left (opening) quotation mark and a right (closing) quotation mark instead of straight quotes.\n\n\n\n\n\n font - Select the font for the text from this drop down menu. All fonts are provided by Windows, any TrueType font that is loaded into Windows can be used.\n\n\n\t\t\t\n fontfile - Specify any TrueType font file (.ttf file) to use for the text. When using a font file, the Font menu above is disabled.\n\n\n\t\t\t\n charset - - Select which character set to use.\n\n unicode - symbol -\n\t\t\t\n dispmethod - - The display method used.\n\n automatic - Automatically chooses which display mode to use based on font size and settings. polygon - Uses polygons to display the text. Polygons look better using large font sizes. They also support anti-aliasing (see Anti-Aliased below). stroke - Same as polygons but only an outline of the text is displayed. bitmap - Uses bitmap images for the text. Bitmap fonts are better for very small font sizes where high precision is required. scalable - Uses Slug Library to render high-quality, scalable, resolution independent text.\n\t\t\t\n antialias - - Smoothes out the edges of the text. Not available for Texture Display Mode.\n\n aa1 - aa2 - aa4 - aa8mid - aa8high - aa16low - aa16mid - aa16high - aa32 -\n\t\t\t\n strokewidth - Controls the width of the outline when using Stroke Display Method.\n\n\n\t\t\t\n bold - Displays the text in bold.\n\n\n\t\t\t\n italic - Displays the text in Italic.\n\n\n\t\t\t\n fontautosize - - Automatically controls font size using one of the following 3 options. When using this feature along with Word Wrap turned on, it will first word-wrap the text based on the specified font size, then auto size the resulting block of text.\n\n nofit - Does not use any auto-fitting. Font Size specified in Font Size X and Font Size Y parameters. alwaysfit - The font size will be increased or decreased so the text fits across the Text from edge to edge. fitiffat - Only auto sizes the text if the text is too large and spills past the edges of the Text . In this case the font size will be decreased to fit it within the borders of the .\n\t\t\t\n fontsizex - Sets the font size in X (horizontal). Note: Floating point font sizes are permissable when using and Outline .\n\n\n\t\t\t\n fontsizexunit - Select the units for this parameter from Pixels, Fraction, Fraction Aspect or Points (font point size).\tA is defined using the Windows conventions for 100% scaling, which is 96 pixels to 72 points. That is, a point size of 10 is the same as a pixel size of 10*(96/72) = 13.333.\n\n\n\t\t\t\n fontsizey - Sets the font size in Y (vertical). Note: Floating point font sizes are permissable when using and Outline .\n\n\n\t\t\t\n fontsizeyunit - Select the units for this parameter from Pixels, Fraction, Fraction Aspect or Points (font point size).\n\n\n\t\t\t\n keepfontratio - Ignores Y value in Font Size. Sets both X and Y size to X.\n\n\n\t\t\t\n breaklang - Language type hint to help format the glyphs correctly.\n\n\n\t\t\t\n readingdirection - - Use to set whether the language reads Left to Right or Right to Left.\n\n lefttoright - righttoleft -\n\t\t\t\n tracking - - The amount of space to add between letters in X and Y. Tracking is way of adding an arbitrary offset between letters. There already is a default offset associated with each font so the letters are flush against each other. The Tracking parameter this adds to that and allows for a Y offset.\n\ntracking1 -tracking2 -\n\t\t\t\n position - - The starting position of the text in X and Y.\t\t\n Inside the Text and Post Text fields the position can be overridden by using brackets.\t\t\t\t\n\n[x,y] - \"bleh[x,y]newtext\" will place newtext at position (x,y) on the screen.\n{X,Y} - \"bleh{(+/-)x,(+/-)y}newtext\" will offset newtext x,y from current position.\n\\n - using \"\\n\" causes the text to move down to the next line and reset its position. (i.e. New Line and Carriage Return)\nposition1 -position2 -\n\t\t\t\n positionunit - Select the units for this parameter from Pixels, Fraction (0-1), Fraction Aspect (0-1 considering aspect ratio).\n\n\n\t\t\t\n linespacing - Determines the amount of space between lines of text.\n\n\n\t\t\t\n linespacingunit - Select the units for this parameter from Pixels, Fraction (0-1), Fraction Aspect (0-1 considering aspect ratio).\n\n\n\t\t\t\n alignx - - Sets the horizontal alignment.\n\n left - Left justifies the text. center - Centers the text. right - Right justifies the text.\n\t\n alignxmode - - Determines how horizontal alignment is calculated.\n\n metrics - Uses the font's built-in information to position the text. bbox - Uses a bounding box around the text to position the text.\n\n aligny - - Sets the vertical alignment.\n\n bottom - Bottom justifies the text. center - Centers the text. top - Top justifies the text.\n\n alignymode - - Determines how vertical alignment is calculated.\n\n metrics - Uses the font's built-in information to position the text. bbox - Uses a bounding box around the text to position the text.\n\t\t\t\t\t\n borderspace - - When using Auto-Size Font, it will further shrink the text to give it a border.\n\nborderspace1 -borderspace2 -\n\n\n\n multrgbbyalpha - Multiplies the RGB channels by the alpha channel.\n\n\n\t\t\t\n fontcolor - - RGBA values for the text displayed. (default: white (1,1,1,1))\n\n fontcolorr - fontcolorg - fontcolorb -\n\t\t\t\n fontalpha - Set the alpha value for the font.\n\n\n\t\t\t\n bgcolor - - RGBA values for the background. (default: black (0,0,0,0))\n\n bgcolorr - bgcolorg - bgcolorb -\n\t\t\t\n bgalpha - Set the alpha value for the background.\n\n\n\t\t\t\n bordera - - RGBA values for border A color.\n\n borderar - borderag - borderab -\n\t\t\t\n borderaalpha - Set the alpha value for border A.\n\n\n\t\t\t\n borderb - - RGBA values for border B color.\n\n borderbr - borderbg - borderbb -\n\t\t\t\n borderbalpha - Set the alpha value for border B.\n\n\n\t\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\t\n leftborderi - Same as above parameter but used for an inside border.\n\n\n\t\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\t\n rightborderi - Same as above parameter but used for an inside border.\n\n\n\t\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\t\n bottomborderi - Same as above parameter but used for an inside border.\n\n\n\t\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\t\n topborderi - Same as above parameter but used for an inside border.\n\n\n\n\n\n compoverinput - Turning this On will composite the input with the image.\n\n\n\t\n operand - - Choose which composite operation is performed from this menu. Search the web for 'blend modes' for more detailed information on the effects of each type.\n\n add - input1.rgba + input2.rgba atop - (input1.rgba * input2.a) + (input2.rgba * (1.0 - input1.a)) average - (input1.rgba + input2.rgba)/2 brightest - burncolor - burnlinear - chromadifference - color - darkercolor - difference - absoluteValue(input1.rgb - input2.rgb). Alpha always equals 1.0 dimmest - divide - input1.rgba / input2.rgba dodge - exclude - freeze - glow - hardlight - hardmix - heat - hue - inside - input1.rgba * clamp(input2.a, 0.0, 1.0) insideluminance - inverse - lightercolor - luminancedifference - maximum - max(input1.r, input2.r), max(input1.g, input2.g), max(input1.b, input2.b), max(input1.a, input2.a) minimum - min(input1.r, input2.r), min(input1.g, input2.g), min(input1.b, input2.b), min(input1.a, input2.a) multiply - negate - outside - input1.rgba * (1.0 - input2.a) outsideluminance - over - (input2.rgba * (1.0 - input1.a)) + input1.rgba overlay - pinlight - reflect - screen - 1.0 - ((1.0 - input1.rgba) * (1.0 - input2.rgba)) softlight - linearlight - stencilluminance - subtract - input1.rgba - input2.rgba subtractive - under - (input1.rgba * (1.0 - input2.a)) + input2.rgba vividlight - xor - (input1.rgba * (1.0 - input2.a)) + (input2.rgba * (1.0 - input1.a)) yfilm - zfilm -\n\t\t\n swaporder - Swaps the order of the composite with the input.\n\n\n\n\n\n outputresolution - - quickly change the resolution of the 's data.\n\n useinput - Uses the input's resolution. eighth - Multiply the input's resolution by that amount. quarter - Multiply the input's resolution by that amount. half - Multiply the input's resolution by that amount. 2x - Multiply the input's resolution by that amount. 4x - Multiply the input's resolution by that amount. 8x - Multiply the input's resolution by that amount. fit - Grow or shrink the input resolution to fit this resolution, while keeping the aspect ratio the same. limit - Limit the input resolution to be not larger than this resolution, while keeping the aspect ratio the same. custom - Directly control the width and height.\n\n resolution - - Enabled only when the parameter is set to Custom . Some Generators like Constant and Ramp do not use inputs and only use this field to determine their size. The drop down menu on the right provides some commonly used resolutions.\n\n resolutionw - resolutionh -\n\n resmenu - A drop-down menu with some commonly used resolutions.\n\n\n\n resmult - Uses the Global Multiplier found in Edit>Preferences>TOPs. This multiplies all the TOPs resolutions by the set amount. This is handy when working on computers with different hardware specifications. If a project is designed on a desktop workstation with lots of graphics memory, a user on a laptop with only 64MB VRAM can set the Global Multiplier to a value of half or quarter so it runs at an acceptable speed. By checking this checkbox on, this is affected by the global multiplier.\n\n\n\n outputaspect - - Sets the image aspect ratio allowing any textures to be viewed in any size. Watch for unexpected results when compositing TOPs with different aspect ratios. (You can define images with non-square pixels using xres, yres, aspectx, aspecty where xres/yres != aspectx/aspecty.)\n\n useinput - Uses the input's aspect ratio. resolution - Uses the aspect of the image's defined resolution (ie 512x256 would be 2:1), whereby each pixel is square. custom - Lets you explicitly define a custom aspect ratio in the Aspect parameter below.\n\n aspect - - Use when Output Aspect parameter is set to Custom Aspect.\n\n aspect1 - aspect2 -\n\n armenu - A drop-down menu with some commonly used aspect ratios.\n\n\n\n inputfiltertype - - This controls pixel filtering on the input image of the .\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. This is how you 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.\n\n fillmode - - Determine how the image is displayed in the viewer.\nNOTE:To get an understanding of how TOPs work with images, you will want to set this to Native as you lay down TOPs when starting out. This will let you see what is actually happening without any automatic viewer resizing.\n\n\n useinput - Uses the same Fill Viewer settings as it's input. fill - Stretches the image to fit the edges of the viewer. width - Stretches image to fit viewer horizontally. height - Stretches image to fit viewer vertically. best - Stretches or squashes image so no part of image is cropped. outside - Stretches or squashes image so image fills viewer while constraining it's proportions. This often leads to part of image getting cropped by viewer. nativeres - Displays the native resolution of the image in the viewer.\n\n filtertype - - This controls pixel filtering in the viewers.\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\n npasses - Duplicates the operation of the the specified number of times. For every pass after the first it takes the result of the previous pass and replaces the node's first input with the result of the previous pass. One exception to this is the GLSL TOP when using compute shaders, where the input will continue to be the connected 's image.\n\n\n\n chanmask - Allows you to choose which channels (R, G, B, or A) the will operate on. All channels are selected by default.\n\n\n\n format - - Format used to store data for each channel in the image (ie. R, G, B, and A). Refer to Pixel Formats for more information.\n\n useinput - Uses the input's pixel format. rgba8fixed - Uses 8-bit integer values for each channel. srgba8fixed - Uses 8-bit integer values for each channel and stores color in sRGB colorspace. Note that this does not apply an sRGB curve to the pixel values, it only stores them using an sRGB curve. This means more data is used for the darker values and less for the brighter values. When the values are read downstream they will be converted back to linear. For more information refer to sRGB. rgba16float - Uses 16-bits per color channel, 64-bits per pixel. rgba32float - Uses 32-bits per color channel, 128-bits per pixels. rgb10a2fixed - Uses 10-bits per color channel and 2-bits for alpha, 32-bits total per pixel. rgba16fixed - Uses 16-bits per color channel, 64-bits total per pixel. rgba11float - A RGB floating point format that has 11 bits for the Red and Green channels, and 10-bits for the Blue , 32-bits total per pixel (therefore the same memory usage as 8-bit RGBA). The Alpha channel in this format will always be 1. Values can go above one, but can't be negative. ie. the range is [0, infinite). rgb16float - rgb32float - mono8fixed - Single channel, where RGB will all have the same value, and Alpha will be 1.0. 8-bits per pixel. mono16fixed - Single channel, where RGB will all have the same value, and Alpha will be 1.0. 16-bits per pixel. mono16float - Single channel, where RGB will all have the same value, and Alpha will be 1.0. 16-bits per pixel. mono32float - Single channel, where RGB will all have the same value, and Alpha will be 1.0. 32-bits per pixel. rg8fixed - A 2 channel format, R and G have values, while B is 0 always and Alpha is 1.0. 8-bits per channel, 16-bits total per pixel. rg16fixed - A 2 channel format, R and G have values, while B is 0 always and Alpha is 1.0. 16-bits per channel, 32-bits total per pixel. rg16float - A 2 channel format, R and G have values, while B is 0 always and Alpha is 1.0. 16-bits per channel, 32-bits total per pixel. rg32float - A 2 channel format, R and G have values, while B is 0 always and Alpha is 1.0. 32-bits per channel, 64-bits total per pixel. a8fixed - An Alpha only format that has 8-bits per channel, 8-bits per pixel. a16fixed - An Alpha only format that has 16-bits per channel, 16-bits per pixel. a16float - An Alpha only format that has 16-bits per channel, 16-bits per pixel. a32float - An Alpha only format that has 32-bits per channel, 32-bits per pixel. monoalpha8fixed - A 2 channel format, one value for RGB and one value for Alpha. 8-bits per channel, 16-bits per pixel. monoalpha16fixed - A 2 channel format, one value for RGB and one value for Alpha. 16-bits per channel, 32-bits per pixel. monoalpha16float - A 2 channel format, one value for RGB and one value for Alpha. 16-bits per channel, 32-bits per pixel. monoalpha32float - A 2 channel format, one value for RGB and one value for Alpha. 32-bits per channel, 64-bits per pixel.\n\n\n\n - Control the Composite operation via the parameters on the Output Page of this operator.\n\nExtra Information for the Text can be accessed via an Info CHOP.\n\n\n - - - - - - - -\n - Horizontal resolution of the in pixels. - Vertical resolution of the in pixels. - Horizontal aspect of the . - Vertical aspect of the . - Depth of 2D or 3D array if this contains a 2D or 3D texture array. - Total amount of texture memory used by this .\n - Number of times the operator has cooked since the process started. - Duration of the last cook in milliseconds. - Frame number when this operator was last cooked relative to the component timeline. - Frame number when this operator was last cooked relative to the absolute time. - Time in milliseconds at which the operator started cooking in the frame it was cooked. - Time in milliseconds at which the operator finished cooking in the frame it was cooked. - 1 if operator was cooked this frame. - Number of warnings in this operator if any. - Number of errors in this operator if any.\nTouchDesigner Build: Latest\\n2022.241402021.100002018.28070before 2018.28070\nTOPs\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\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\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\nA custom interactive control panel built within TouchDesigner. Panels are created using Panel Components.\n\n\n\nUnicode text is fully supported in TouchDesigner. Unicode can be typed into parameters, DATs, Python scripts etc. Unicode encoded text files can be loaded into DATs. File paths can include any unicode character that is legal for a file path.\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\nA form of DATs (Data Operators) that is structured as rows and columns of text strings.\n\n\n\nA polygon is a type of Primitive that is formed from a set of Vertices in 3D that are implicitly connected together to form a multi-edge shape.\n\n\n\nEach SOP has a list of Points. Each point has an XYZ 3D position value plus other optional attributes. Each polygon Primitive is defined by a vertex list, which is list of point numbers.\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 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 CHOP outputs one or more channels, where a channel is simply a sequence of numbers (Samples), representing motion, audio, etc. Channels are passed between CHOPs in TouchDesigner networks. Channels can be Exported to Parameters.\n\n\n\n\n\n\n\n\nRetrieved from \"https://docs.derivative.ca/index.php?title=Text_TOP&oldid=27220\"",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:54.583Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Field Component",
"label": "Field 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": "field - Specifies a Field Component to use as the source of the text. The font and style of the text displayed in the Field are set using the parameters in the Text .",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:54.584Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "DAT",
"label": "DAT",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "dat - Specifies a to use for the source of the text. Drag and Drop a onto this field, or manually enter the 's path.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:54.584Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "DAT Row",
"label": "DAT Row",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "rowindex - The row number (starting from 0) of the cell, if the is a table.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:54.584Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "DAT Col",
"label": "DAT Col",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "colindex - The column number of the cell, if the is a table.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:54.584Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Specification DAT",
"label": "Specification 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": "specdat - A that allows you to specify and position text by pixel, with the lower left corner being at 0, 0. Column headers must include position1 or x, position2 or y, and text. A sample table can be:\t\t\nx\ty\ttext\t\t\n0\t0\tlower left text\t\t\n100\t100\tsomewhere in the middle",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:54.584Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Text",
"label": "Text",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "text - A string of text. It optionally can be followed by a numeric value and another post-string, as set with and below. If newlines or tabs are desired, the recommended way is to change this parameter to expression mode, and specify a Python string that includes \\n or \\t to signify newlines and tabs. E.g 'First Line\\nSecond Line'.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:54.584Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Legacy Parsing",
"label": "Legacy Parsing",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "legacyparsing - In older builds the syntax \\XXX (E.g \\200 would be character 200), \\t, \\n as well as [] and {} (to position strings) was parsed in the string. This is now deprecated. For specifying characters codes, \\t and \\n Python syntax should be used instead.. The 'Specification ' should be used to position strings instead of [], {}. This parameter can be enabled to turn back on this legacy parsing though. If this is enabled and you want to display the characters \\ [ ] { }, you must precede them with a \\.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:54.584Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Append Value",
"label": "Append 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": "appendvalue - Enables the field defined below. This value is inserted between the string and the string.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:54.584Z",
"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": "valuetouse - The numeric value to display.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:54.584Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Total Digits",
"label": "Total Digits",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "totaldigits - The total number of digits in the value displayed.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:54.584Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Decimal Digits",
"label": "Decimal Digits",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "decimaldigits - The number of digits displayed after the decimal place.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:54.584Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Post Text",
"label": "Post Text",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "posttext - The text string appended after Text and Value (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-08T00:37:54.584Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "CHOP Value %-Replace",
"label": "CHOP Value %-Replace",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "chopvaluereplace - Allows portions of the strings to be replaced by values via a syntax similar to C-style printf()/sprintf(). More details of the syntax are provided in the next parameter, '' .",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:54.584Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "CHOP",
"label": "CHOP",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "chop - The containing all the values to insert in the strings. The Text will repeat the Text string until all channels are displayed. They are displayed by using a special syntax in your string, defined as string starting with %, for example %4d:\t\t\n\t\t\t\t\n %[flags][width][.precision][type]\t\t\t\t\n\n\t\t\t\t\nflags (optional) - Alignment options.\n- : left align (text is right aligned by default)\n0 : pad the left side with zeros\nwidth (optional) - Total number of digits in the number displayed.\nprecision (optional) - Number of digits after the decimal place.\ntype - Number format.\nd : integer\nf : float\ng : double, exponential format is used only when the exponent of the value is less than ?4.Drag and Drop a onto this field, or manually enter the 's path.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:54.584Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Word Wrap",
"label": "Word Wrap",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "wordwrap - When checked text is automatically line wrapped so it doesn't extend outside the 's borders. When using Word Wrap and Auto-Size together, the text will first word-wrap based on the specified font size, then auto size the resulting block of text.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:54.584Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Smart Quote",
"label": "Smart Quote",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "smartquote - Enables smart quotes which use a left (opening) quotation mark and a right (closing) quotation mark instead of straight quotes.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:54.584Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Font",
"label": "Font",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "font - Select the font for the text from this drop down menu. All fonts are provided by Windows, any TrueType font that is loaded into Windows can be used.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:54.584Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Font File",
"label": "Font File",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "fontfile - Specify any TrueType font file (.ttf file) to use for the text. When using a font file, the Font menu above is disabled.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:54.584Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Character Set",
"label": "Character Set",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "charset - - Select which character set to use.\n\n unicode - symbol -",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:54.584Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Unicode",
"label": "Unicode",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "unicode - symbol -",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:54.584Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Display Method",
"label": "Display Method",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "dispmethod - - The display method used.\n\n automatic - Automatically chooses which display mode to use based on font size and settings. polygon - Uses polygons to display the text. Polygons look better using large font sizes. They also support anti-aliasing (see Anti-Aliased below). stroke - Same as polygons but only an outline of the text is displayed. bitmap - Uses bitmap images for the text. Bitmap fonts are better for very small font sizes where high precision is required. scalable - Uses Slug Library to render high-quality, scalable, resolution independent text.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:54.584Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Automatic",
"label": "Automatic",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "automatic - Automatically chooses which display mode to use based on font size and settings. polygon - Uses polygons to display the text. Polygons look better using large font sizes. They also support anti-aliasing (see Anti-Aliased below). stroke - Same as polygons but only an outline of the text is displayed. bitmap - Uses bitmap images for the text. Bitmap fonts are better for very small font sizes where high precision is required. scalable - Uses Slug Library to render high-quality, scalable, resolution independent text.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:54.585Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Anti-Alias",
"label": "Anti-Alias",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "antialias - - Smoothes out the edges of the text. Not available for Texture Display Mode.\n\n aa1 - aa2 - aa4 - aa8mid - aa8high - aa16low - aa16mid - aa16high - aa32 -",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:54.585Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "1x (Off)",
"label": "1x (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": "aa1 - aa2 - aa4 - aa8mid - aa8high - aa16low - aa16mid - aa16high - aa32 -",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:54.585Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Stroke Width",
"label": "Stroke 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": "strokewidth - Controls the width of the outline when using Stroke Display Method.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:54.585Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Bold",
"label": "Bold",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "bold - Displays the text in bold.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:54.585Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Italic",
"label": "Italic",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "italic - Displays the text in Italic.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:54.585Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Auto-Size Font",
"label": "Auto-Size Font",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "fontautosize - - Automatically controls font size using one of the following 3 options. When using this feature along with Word Wrap turned on, it will first word-wrap the text based on the specified font size, then auto size the resulting block of text.\n\n nofit - Does not use any auto-fitting. Font Size specified in Font Size X and Font Size Y parameters. alwaysfit - The font size will be increased or decreased so the text fits across the Text from edge to edge. fitiffat - Only auto sizes the text if the text is too large and spills past the edges of the Text . In this case the font size will be decreased to fit it within the borders of the .",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:54.585Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "No Auto-Fit",
"label": "No Auto-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": "nofit - Does not use any auto-fitting. Font Size specified in Font Size X and Font Size Y parameters. alwaysfit - The font size will be increased or decreased so the text fits across the Text from edge to edge. fitiffat - Only auto sizes the text if the text is too large and spills past the edges of the Text . In this case the font size will be decreased to fit it within the borders of the .",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:54.585Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Font Size X",
"label": "Font Size 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": "fontsizex - Sets the font size in X (horizontal). Note: Floating point font sizes are permissable when using and Outline .",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:54.585Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Font Size X Unit",
"label": "Font Size X Unit",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "fontsizexunit - Select the units for this parameter from Pixels, Fraction, Fraction Aspect or Points (font point size).\tA is defined using the Windows conventions for 100% scaling, which is 96 pixels to 72 points. That is, a point size of 10 is the same as a pixel size of 10*(96/72) = 13.333.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:54.585Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Font Size Y",
"label": "Font Size 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": "fontsizey - Sets the font size in Y (vertical). Note: Floating point font sizes are permissable when using and Outline .",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:54.585Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Font Size Y Unit",
"label": "Font Size Y Unit",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "fontsizeyunit - Select the units for this parameter from Pixels, Fraction, Fraction Aspect or Points (font point size).",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:54.585Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Keep Font Ratio",
"label": "Keep Font 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": "keepfontratio - Ignores Y value in Font Size. Sets both X and Y size to X.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:54.585Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Break Language",
"label": "Break Language",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "breaklang - Language type hint to help format the glyphs correctly.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:54.586Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Reading Direction",
"label": "Reading Direction",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "readingdirection - - Use to set whether the language reads Left to Right or Right to Left.\n\n lefttoright - righttoleft -",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:54.586Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Left To Right",
"label": "Left To Right",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "lefttoright - righttoleft -",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:54.586Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Tracking",
"label": "Tracking",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "tracking - - The amount of space to add between letters in X and Y. Tracking is way of adding an arbitrary offset between letters. There already is a default offset associated with each font so the letters are flush against each other. The Tracking parameter this adds to that and allows for a Y offset.\n\ntracking1 -tracking2 -",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:54.586Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Position",
"label": "Position",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "position - - The starting position of the text in X and Y.\t\t\n Inside the Text and Post Text fields the position can be overridden by using brackets.\t\t\t\t\n\n[x,y] - \"bleh[x,y]newtext\" will place newtext at position (x,y) on the screen.\n{X,Y} - \"bleh{(+/-)x,(+/-)y}newtext\" will offset newtext x,y from current position.\n\\n - using \"\\n\" causes the text to move down to the next line and reset its position. (i.e. New Line and Carriage Return)\nposition1 -position2 -",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:54.586Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Position Unit",
"label": "Position Unit",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "positionunit - Select the units for this parameter from Pixels, Fraction (0-1), Fraction Aspect (0-1 considering aspect ratio).",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:54.586Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Line Spacing",
"label": "Line 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": "linespacing - Determines the amount of space between lines of text.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:54.586Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Line Spacing Unit",
"label": "Line Spacing Unit",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "linespacingunit - Select the units for this parameter from Pixels, Fraction (0-1), Fraction Aspect (0-1 considering aspect ratio).",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:54.586Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Horizontal Align",
"label": "Horizontal 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": "alignx - - Sets the horizontal alignment.\n\n left - Left justifies the text. center - Centers the text. right - Right justifies the text.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:54.586Z",
"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": "left - Left justifies the text. center - Centers the text. right - Right justifies the text.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:54.586Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Horizontal Align Mode",
"label": "Horizontal Align 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": "alignxmode - - Determines how horizontal alignment is calculated.\n\n metrics - Uses the font's built-in information to position the text. bbox - Uses a bounding box around the text to position the text.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:54.586Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Use Font Metrics",
"label": "Use Font Metrics",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "metrics - Uses the font's built-in information to position the text. bbox - Uses a bounding box around the text to position the text.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:54.586Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Vertical Align",
"label": "Vertical 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": "aligny - - Sets the vertical alignment.\n\n bottom - Bottom justifies the text. center - Centers the text. top - Top justifies the text.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:54.586Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Bottom",
"label": "Bottom",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "bottom - Bottom justifies the text. center - Centers the text. top - Top justifies the text.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:54.586Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Vertical Align Mode",
"label": "Vertical Align 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": "alignymode - - Determines how vertical alignment is calculated.\n\n metrics - Uses the font's built-in information to position the text. bbox - Uses a bounding box around the text to position the text.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:54.587Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Use Font Metrics",
"label": "Use Font Metrics",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "metrics - Uses the font's built-in information to position the text. bbox - Uses a bounding box around the text to position the text.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:54.587Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Border Space",
"label": "Border Space",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "borderspace - - When using Auto-Size Font, it will further shrink the text to give it a border.\n\nborderspace1 -borderspace2 -",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:54.587Z",
"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": "multrgbbyalpha - 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-08T00:37:54.587Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Font Color",
"label": "Font 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": "fontcolor - - RGBA values for the text displayed. (default: white (1,1,1,1))\n\n fontcolorr - fontcolorg - fontcolorb -",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:54.587Z",
"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": "fontcolorr - fontcolorg - fontcolorb -",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:54.587Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Font Alpha",
"label": "Font 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": "fontalpha - Set the alpha value for the font.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:54.587Z",
"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 - - RGBA values for the background. (default: black (0,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-08T00:37:54.587Z",
"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-08T00:37:54.587Z",
"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-08T00:37:54.587Z",
"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 - - RGBA 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-08T00:37:54.587Z",
"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-08T00:37:54.587Z",
"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 - Set the alpha value for border A.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:54.587Z",
"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-08T00:37:54.588Z",
"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-08T00:37:54.588Z",
"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 - Set the alpha value for 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-08T00:37:54.588Z",
"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-08T00:37:54.588Z",
"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-08T00:37:54.588Z",
"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-08T00:37:54.588Z",
"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-08T00:37:54.588Z",
"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-08T00:37:54.588Z",
"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-08T00:37:54.588Z",
"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-08T00:37:54.588Z",
"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-08T00:37:54.588Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Comp Over Input",
"label": "Comp Over Input",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "compoverinput - Turning this On will composite the input with the image.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:54.588Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Operation",
"label": "Operation",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "operand - - Choose which composite operation is performed from this menu. Search the web for 'blend modes' for more detailed information on the effects of each type.\n\n add - input1.rgba + input2.rgba atop - (input1.rgba * input2.a) + (input2.rgba * (1.0 - input1.a)) average - (input1.rgba + input2.rgba)/2 brightest - burncolor - burnlinear - chromadifference - color - darkercolor - difference - absoluteValue(input1.rgb - input2.rgb). Alpha always equals 1.0 dimmest - divide - input1.rgba / input2.rgba dodge - exclude - freeze - glow - hardlight - hardmix - heat - hue - inside - input1.rgba * clamp(input2.a, 0.0, 1.0) insideluminance - inverse - lightercolor - luminancedifference - maximum - max(input1.r, input2.r), max(input1.g, input2.g), max(input1.b, input2.b), max(input1.a, input2.a) minimum - min(input1.r, input2.r), min(input1.g, input2.g), min(input1.b, input2.b), min(input1.a, input2.a) multiply - negate - outside - input1.rgba * (1.0 - input2.a) outsideluminance - over - (input2.rgba * (1.0 - input1.a)) + input1.rgba overlay - pinlight - reflect - screen - 1.0 - ((1.0 - input1.rgba) * (1.0 - input2.rgba)) softlight - linearlight - stencilluminance - subtract - input1.rgba - input2.rgba subtractive - under - (input1.rgba * (1.0 - input2.a)) + input2.rgba vividlight - xor - (input1.rgba * (1.0 - input2.a)) + (input2.rgba * (1.0 - input1.a)) yfilm - zfilm -",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:54.589Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Add",
"label": "Add",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "add - input1.rgba + input2.rgba atop - (input1.rgba * input2.a) + (input2.rgba * (1.0 - input1.a)) average - (input1.rgba + input2.rgba)/2 brightest - burncolor - burnlinear - chromadifference - color - darkercolor - difference - absoluteValue(input1.rgb - input2.rgb). Alpha always equals 1.0 dimmest - divide - input1.rgba / input2.rgba dodge - exclude - freeze - glow - hardlight - hardmix - heat - hue - inside - input1.rgba * clamp(input2.a, 0.0, 1.0) insideluminance - inverse - lightercolor - luminancedifference - maximum - max(input1.r, input2.r), max(input1.g, input2.g), max(input1.b, input2.b), max(input1.a, input2.a) minimum - min(input1.r, input2.r), min(input1.g, input2.g), min(input1.b, input2.b), min(input1.a, input2.a) multiply - negate - outside - input1.rgba * (1.0 - input2.a) outsideluminance - over - (input2.rgba * (1.0 - input1.a)) + input1.rgba overlay - pinlight - reflect - screen - 1.0 - ((1.0 - input1.rgba) * (1.0 - input2.rgba)) softlight - linearlight - stencilluminance - subtract - input1.rgba - input2.rgba subtractive - under - (input1.rgba * (1.0 - input2.a)) + input2.rgba vividlight - xor - (input1.rgba * (1.0 - input2.a)) + (input2.rgba * (1.0 - input1.a)) yfilm - zfilm -",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:54.589Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Swap Order",
"label": "Swap 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": "swaporder - Swaps the order of the composite with the input.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:54.589Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Output Resolution",
"label": "Output Resolution",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "outputresolution - - quickly change the resolution of the 's data.\n\n useinput - Uses the input's resolution. eighth - Multiply the input's resolution by that amount. quarter - Multiply the input's resolution by that amount. half - Multiply the input's resolution by that amount. 2x - Multiply the input's resolution by that amount. 4x - Multiply the input's resolution by that amount. 8x - Multiply the input's resolution by that amount. fit - Grow or shrink the input resolution to fit this resolution, while keeping the aspect ratio the same. limit - Limit the input resolution to be not larger than this resolution, while keeping the aspect ratio the same. custom - Directly control the width and 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-08T00:37:54.589Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Use Input",
"label": "Use Input",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "useinput - Uses the input's resolution. eighth - Multiply the input's resolution by that amount. quarter - Multiply the input's resolution by that amount. half - Multiply the input's resolution by that amount. 2x - Multiply the input's resolution by that amount. 4x - Multiply the input's resolution by that amount. 8x - Multiply the input's resolution by that amount. fit - Grow or shrink the input resolution to fit this resolution, while keeping the aspect ratio the same. limit - Limit the input resolution to be not larger than this resolution, while keeping the aspect ratio the same. custom - Directly control the width and 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-08T00:37:54.590Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Resolution",
"label": "Resolution",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "resolution - - Enabled only when the parameter is set to Custom . Some Generators like Constant and Ramp do not use inputs and only use this field to determine their size. The drop down menu on the right provides some commonly used resolutions.\n\n resolutionw - resolutionh -",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:54.590Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "W",
"label": "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": "resolutionw - resolutionh -",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:54.590Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Resolution Menu",
"label": "Resolution Menu",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "resmenu - A drop-down menu with some commonly used resolutions.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:54.590Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Use Global Res Multiplier",
"label": "Use Global Res Multiplier",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "resmult - Uses the Global Multiplier found in Edit>Preferences>TOPs. This multiplies all the TOPs resolutions by the set amount. This is handy when working on computers with different hardware specifications. If a project is designed on a desktop workstation with lots of graphics memory, a user on a laptop with only 64MB VRAM can set the Global Multiplier to a value of half or quarter so it runs at an acceptable speed. By checking this checkbox on, this is affected by the global multiplier.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:54.590Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Output Aspect",
"label": "Output 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": "outputaspect - - Sets the image aspect ratio allowing any textures to be viewed in any size. Watch for unexpected results when compositing TOPs with different aspect ratios. (You can define images with non-square pixels using xres, yres, aspectx, aspecty where xres/yres != aspectx/aspecty.)\n\n useinput - Uses the input's aspect ratio. resolution - Uses the aspect of the image's defined resolution (ie 512x256 would be 2:1), whereby each pixel is square. custom - Lets you explicitly define a custom aspect ratio in the Aspect 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-08T00:37:54.590Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Use Input",
"label": "Use Input",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "useinput - Uses the input's aspect ratio. resolution - Uses the aspect of the image's defined resolution (ie 512x256 would be 2:1), whereby each pixel is square. custom - Lets you explicitly define a custom aspect ratio in the Aspect 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-08T00:37:54.590Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Aspect",
"label": "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": "aspect - - Use when Output Aspect parameter is set to Custom Aspect.\n\n aspect1 - aspect2 -",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:54.590Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Aspect1",
"label": "Aspect1",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "aspect1 - aspect2 -",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:54.590Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Aspect Menu",
"label": "Aspect Menu",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "armenu - A drop-down menu with some commonly used aspect ratios.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:54.590Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Input Smoothness",
"label": "Input 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": "inputfiltertype - - This controls pixel filtering on the input image of the .\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. This is how you 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.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:54.590Z",
"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. This is how you 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.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:54.590Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Fill Viewer",
"label": "Fill 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": "fillmode - - Determine how the image is displayed in the viewer.\nNOTE:To get an understanding of how TOPs work with images, you will want to set this to Native as you lay down TOPs when starting out. This will let you see what is actually happening without any automatic viewer resizing.\n\n\n useinput - Uses the same Fill Viewer settings as it's input. fill - Stretches the image to fit the edges of the viewer. width - Stretches image to fit viewer horizontally. height - Stretches image to fit viewer vertically. best - Stretches or squashes image so no part of image is cropped. outside - Stretches or squashes image so image fills viewer while constraining it's proportions. This often leads to part of image getting cropped by viewer. nativeres - Displays the native resolution of the image in the viewer.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:54.590Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Use Input",
"label": "Use Input",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "useinput - Uses the same Fill Viewer settings as it's input. fill - Stretches the image to fit the edges of the viewer. width - Stretches image to fit viewer horizontally. height - Stretches image to fit viewer vertically. best - Stretches or squashes image so no part of image is cropped. outside - Stretches or squashes image so image fills viewer while constraining it's proportions. This often leads to part of image getting cropped by viewer. nativeres - Displays the native resolution of the image in the viewer.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:54.590Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Viewer Smoothness",
"label": "Viewer 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": "filtertype - - This controls pixel filtering in the viewers.\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-08T00:37:54.590Z",
"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-08T00:37:54.591Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Passes",
"label": "Passes",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "npasses - Duplicates the operation of the the specified number of times. For every pass after the first it takes the result of the previous pass and replaces the node's first input with the result of the previous pass. One exception to this is the GLSL TOP when using compute shaders, where the input will continue to be the connected 's image.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:54.591Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Channel Mask",
"label": "Channel Mask",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "chanmask - Allows you to choose which channels (R, G, B, or A) the will operate on. All channels are selected by default.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:54.591Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Pixel Format",
"label": "Pixel Format",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "format - - Format used to store data for each channel in the image (ie. R, G, B, and A). Refer to Pixel Formats for more information.\n\n useinput - Uses the input's pixel format. rgba8fixed - Uses 8-bit integer values for each channel. srgba8fixed - Uses 8-bit integer values for each channel and stores color in sRGB colorspace. Note that this does not apply an sRGB curve to the pixel values, it only stores them using an sRGB curve. This means more data is used for the darker values and less for the brighter values. When the values are read downstream they will be converted back to linear. For more information refer to sRGB. rgba16float - Uses 16-bits per color channel, 64-bits per pixel. rgba32float - Uses 32-bits per color channel, 128-bits per pixels. rgb10a2fixed - Uses 10-bits per color channel and 2-bits for alpha, 32-bits total per pixel. rgba16fixed - Uses 16-bits per color channel, 64-bits total per pixel. rgba11float - A RGB floating point format that has 11 bits for the Red and Green channels, and 10-bits for the Blue , 32-bits total per pixel (therefore the same memory usage as 8-bit RGBA). The Alpha channel in this format will always be 1. Values can go above one, but can't be negative. ie. the range is [0, infinite). rgb16float - rgb32float - mono8fixed - Single channel, where RGB will all have the same value, and Alpha will be 1.0. 8-bits per pixel. mono16fixed - Single channel, where RGB will all have the same value, and Alpha will be 1.0. 16-bits per pixel. mono16float - Single channel, where RGB will all have the same value, and Alpha will be 1.0. 16-bits per pixel. mono32float - Single channel, where RGB will all have the same value, and Alpha will be 1.0. 32-bits per pixel. rg8fixed - A 2 channel format, R and G have values, while B is 0 always and Alpha is 1.0. 8-bits per channel, 16-bits total per pixel. rg16fixed - A 2 channel format, R and G have values, while B is 0 always and Alpha is 1.0. 16-bits per channel, 32-bits total per pixel. rg16float - A 2 channel format, R and G have values, while B is 0 always and Alpha is 1.0. 16-bits per channel, 32-bits total per pixel. rg32float - A 2 channel format, R and G have values, while B is 0 always and Alpha is 1.0. 32-bits per channel, 64-bits total per pixel. a8fixed - An Alpha only format that has 8-bits per channel, 8-bits per pixel. a16fixed - An Alpha only format that has 16-bits per channel, 16-bits per pixel. a16float - An Alpha only format that has 16-bits per channel, 16-bits per pixel. a32float - An Alpha only format that has 32-bits per channel, 32-bits per pixel. monoalpha8fixed - A 2 channel format, one value for RGB and one value for Alpha. 8-bits per channel, 16-bits per pixel. monoalpha16fixed - A 2 channel format, one value for RGB and one value for Alpha. 16-bits per channel, 32-bits per pixel. monoalpha16float - A 2 channel format, one value for RGB and one value for Alpha. 16-bits per channel, 32-bits per pixel. monoalpha32float - A 2 channel format, one value for RGB and one value for Alpha. 32-bits per channel, 64-bits per pixel.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:54.591Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Use Input",
"label": "Use Input",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "useinput - Uses the input's pixel format. rgba8fixed - Uses 8-bit integer values for each channel. srgba8fixed - Uses 8-bit integer values for each channel and stores color in sRGB colorspace. Note that this does not apply an sRGB curve to the pixel values, it only stores them using an sRGB curve. This means more data is used for the darker values and less for the brighter values. When the values are read downstream they will be converted back to linear. For more information refer to sRGB. rgba16float - Uses 16-bits per color channel, 64-bits per pixel. rgba32float - Uses 32-bits per color channel, 128-bits per pixels. rgb10a2fixed - Uses 10-bits per color channel and 2-bits for alpha, 32-bits total per pixel. rgba16fixed - Uses 16-bits per color channel, 64-bits total per pixel. rgba11float - A RGB floating point format that has 11 bits for the Red and Green channels, and 10-bits for the Blue , 32-bits total per pixel (therefore the same memory usage as 8-bit RGBA). The Alpha channel in this format will always be 1. Values can go above one, but can't be negative. ie. the range is [0, infinite). rgb16float - rgb32float - mono8fixed - Single channel, where RGB will all have the same value, and Alpha will be 1.0. 8-bits per pixel. mono16fixed - Single channel, where RGB will all have the same value, and Alpha will be 1.0. 16-bits per pixel. mono16float - Single channel, where RGB will all have the same value, and Alpha will be 1.0. 16-bits per pixel. mono32float - Single channel, where RGB will all have the same value, and Alpha will be 1.0. 32-bits per pixel. rg8fixed - A 2 channel format, R and G have values, while B is 0 always and Alpha is 1.0. 8-bits per channel, 16-bits total per pixel. rg16fixed - A 2 channel format, R and G have values, while B is 0 always and Alpha is 1.0. 16-bits per channel, 32-bits total per pixel. rg16float - A 2 channel format, R and G have values, while B is 0 always and Alpha is 1.0. 16-bits per channel, 32-bits total per pixel. rg32float - A 2 channel format, R and G have values, while B is 0 always and Alpha is 1.0. 32-bits per channel, 64-bits total per pixel. a8fixed - An Alpha only format that has 8-bits per channel, 8-bits per pixel. a16fixed - An Alpha only format that has 16-bits per channel, 16-bits per pixel. a16float - An Alpha only format that has 16-bits per channel, 16-bits per pixel. a32float - An Alpha only format that has 32-bits per channel, 32-bits per pixel. monoalpha8fixed - A 2 channel format, one value for RGB and one value for Alpha. 8-bits per channel, 16-bits per pixel. monoalpha16fixed - A 2 channel format, one value for RGB and one value for Alpha. 16-bits per channel, 32-bits per pixel. monoalpha16float - A 2 channel format, one value for RGB and one value for Alpha. 16-bits per channel, 32-bits per pixel. monoalpha32float - A 2 channel format, one value for RGB and one value for Alpha. 32-bits per channel, 64-bits per pixel.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:54.591Z",
"rawData": {},
"sourceElement": null
}
],
"parameterGroups": {},
"codeExamples": [],
"pythonExamples": [],
"expressions": [],
"commonInputs": [],
"commonOutputs": [],
"relatedOperators": [],
"workflowPatterns": [],
"images": [],
"videos": [],
"assets": [],
"keywords": [
"text",
"displays",
"strings",
"image.",
"allows",
"multiple",
"fonts,",
"sizes,",
"colors,"
],
"tags": [
"TOP",
"TouchDesigner",
"Text"
],
"searchWeight": 1,
"contentHash": "",
"processingDate": "2025-08-08T00:37:54.592Z",
"processingVersion": "1.0.0",
"isValid": true,
"validationErrors": []
}