Incisor® Inspector Tool Tips

"Top Bar→project name": "This is the public name for this project. Projects also have a 'code name' which is the name used within Javascript API."

"Top Bar→save star": "When this star is visible, the project differs from what is on disk and is in need of saving."

"Top Bar→disconnection icon": "This icon means that this instance of the Incisor® front-end has lost its connection with the Incisor® application. Open a new project from the 'Control Center' tab, or re-open the Incisor® application."

"Top Bar→Incisor® menu": "The menu containing options related to the Incisor® application."

"Top Bar→Project menu": "The menu containing options related to the current project."

"Project menu→Import": "Options to import data from third party applications, and to add stock components from the Template Library."

"Top Bar→Manage menu": "Menu with options to manage project definitions including Constructs, Timelines, Masks, and Layers."

"Top Bar→View menu": "Menu containing visuals options related to the Incisor inspector."

"Drag Handle": "This button indicates that the associated item can be 'rearranged'. Drag this button to move it up or down within the list that contains it."

"Keyframe": "One value at a specific time in a KeyframedValue.\n\nSELECT\n- Click selects\n- Shift+click adds, Cmd/Ctrl+click toggles\n- Double-click snaps the playhead to this keyframe\n- Right-click for options\n\nMOVE (drag)\n- Graph mode: time + value; dope sheet: time only\n- Shift locks to the dominant axis\n- Cmd/Ctrl stretches the selected keyframes in time, anchored at the far end\n- Option duplicates the selection and drags the copies\n- Boolean: up = true, down = false\n\nSTEPS ('left' / 'right' keyframes)\n- Hold a second value (dimmer dot + connector) for the far side of the time\n- Drag either dot; 'split' makes a step, 'type' sets standard/left/right\n\nHANDLES (graph mode, floatingPoint)\n- Drag a handle dot to shape the curve\n- Default: opposite handle stays rotation-locked (its angle follows)\n- Option: move only the dragged handle\n- Cmd/Ctrl: also match the opposite handle's length\n- Shift: flatten the dragged handle level\n\nRIGHT-CLICK also has ease presets: linear, ease in, ease out, ease in & out, smooth."

"SceneObject": "Click to select; Shift+click to add to selection; Cmd/Ctrl+click to toggle; right-click for more options."

"Animate→search all properties...": "Every animatable property of the selection in one searchable list, named by its full path. Hold Alt while opening this menu to go straight here."

"Animate Timelines→advanced": "Timeline invocations - play, pause, stop and the rest - are best avoided. They ignore Timeline weight, and they leave the target Timeline running in a state that is hard to anticipate once other Timelines and blending are in play. Keyframe 'time' instead: it pins the target Timeline's time to this Timeline's time, so it plays the same way every pass and blends like any other animated property."

"Panel Type": "Use this menu to select a panel type."

"Rearrange Inspector": "Drag the panel menu bar to a new location to rearrange the panels within the inspector."

"Add Panel": "Use this button to add a panel to the inspector."

"Close Panel": "Use this button to close the panel."

"Application Settings→logs": "Settings for how Incisor log files are written... Incisor log files are written to the 'Application Support' directory, which can be accessed from the Incisor menu."

"Application Settings→verbosity": "The amount of information included in the logs. Incisor log files are written to the 'Application Support' directory, which can be accessed from the Incisor menu."

"Application Settings→entryCharLimit": "When logging verbosity is set to anything but 'full' each log entry is limited to this number of characters. Incisor log files are written to the 'Application Support' directory, which can be accessed from the Incisor menu."

"Application Settings→browser": "Settings for the browser used to view the Incisor GUI and inspector."

"Application Settings→browserClient": "This field determines which browser is used for the Incisor front-end GUI and inspector. Type the name of the desired browser. Please be aware that different OSs refer to browsers differnetly (ei 'Google Chrome' vs 'Chrome')"

"Application Settings→browserClientAdditionalOpeningArgs:": "This field is used to feed the OS additional parameters when opening the given browser."

"Application Settings→connectionPorts:": "This is a list of ports that Incisor can use to connect to the front-end browser. Incisor does it's best to determine when ports are in use by other processes, but in some cases different ports must be used to enable Incisor to communicate properly."

"Application Settings→security": "Settings that affect Incisor security and options associated with risk."

"Application Settings→allowUniversalFileIO": "Setting to determine if Incisor is allowed universal FileIO from within projects. Be advised that by checking this box, project and extension code can affect any file on your computer. Please be aware of the risk you are assuming and take great care! Note: this governs FileIO while developing in Incisor; published Electron builds have their own separate 'allowUniversalFileIO' option on the Electron auxiliaryPublishingPackage."

"Application Settings→allowRemoteHosting": "Setting to determine if Incisor is allowed to host files remotely. This is primarily used to host published projects for testing on external devices. Be advised that remote hosting may expose your system to significant risk of unauthorized access. Please be aware of the risk you are assuming and take great care!"

"Application Settings→allowExternalExecutableProcesses": "Setting to determine if Incisor is allowed to run external executable processes on behalf of extensions code. Be advised that by checking this box, extension code can be used to run virtually any command on your system. Please be aware of the risk you are assuming and take great care!"

"Application Settings→applicationSetup": "Settings to configure how Incisor works."

"Application Settings→maxUndoStates": "The maximum number of Undo/Redo steps stored in Incisor memory during runtime."

"Application Settings→maxThreads": "The maximum number of threads Incisor can use in its operations."

"Application Settings→refreshOnAssetChange": "Setting determining if changing assets on disk causes the given project to automatically refresh."

"Application Settings→clearConsoleOnProjectRefresh": "Setting determining if refreshing the project clears the browser console."

"Application Settings→showToolTips": "Setting determining if tool tips are shown when hovering over controls."

"Application Settings→toolTipDisplayDelay": "The number of seconds the cursor must hover over a control before a tool tip appears."

"Application Settings→colorTheme": "Choose from built-in or custom color themes."

"Color Picker→2D area": "Represents the two color components that are not active in the selected color space.  For example, if 'saturation' is active, the X axis of this gradient represents 'hue', and the Y axis represents 'value'."

"Color Picker→selection gradient": "Represents the color component that is active."

"Color Picker→alpha": "Represents the alpha, or opacity, of the current color."

"Color Picker→hue active": "Selects the hue/saturation/value color space and makes 'hue' the active component."

"Color Picker→hue": "The 'hue' of the current color as expressed in the hue/saturation/value color space."

"Color Picker→saturation active": "Selects the hue/saturation/value color space and makes 'saturation' the active component."

"Color Picker→saturation": "The 'saturation' of the current color as expressed in the hue/saturation/value color space."

"Color Picker→value active": "Selects the hue/saturation/value color space and makes 'value' the active component."

"Color Picker→value": "The 'value' of the current color as expressed in the hue/saturation/value color space."

"Color Picker→red active": "Selects the red/green/blue color space and makes 'red' the active component."

"Color Picker→red": "The 'red' of the current color as expressed in the red/green/blue color space."

"Color Picker→green active": "Selects the red/green/blue color space and makes 'green' the active component."

"Color Picker→green": "The 'green' of the current color as expressed in the red/green/blue color space."

"Color Picker→blue active": "Selects the red/green/blue color space and makes 'blue' the active component."

"Color Picker→blue": "The 'blue' of the current color as expressed in the red/green/blue color space."

"Color Picker→hexadecimal": "The hexadecimal representation of the current color.  The red, green, and blue values are each represented as a hexadecimal value ranging from 00-FF."

"Color Picker→alpha": "The alpha, or opacity, of the current color."

"Color Picker→new color": "The current value of the color.  The color is show with and without the alpha, or opacity, applied."

"Color Picker→original color": "The original value of the color before any changes were made.  The color is show with and without the alpha, or opacity, applied."

"Color Picker→sample": "Allows selection of a color from within the Incisor® window."

"Lock Selection": "Toggles the selection lock. When locked, the panel's selection will not change as you click different objects in the scene."

"Loading Tiers Panel→auto-block tiers": "When on, loading tiers are automatically blocked as the project asks for them, so you can see how the project behaves while their assets are withheld. Turn it off to let every tier load normally."

"Loading Tiers Panel→un-block all": "Releases every blocked tier at once, sending out any request that was being held. With auto-block tiers on, the tiers are locked again on the next refresh."

"Loading Tiers Panel→added delay per tier": "Seconds of artificial delay added to each tier before its assets are processed, for testing how the project handles slow loading. A value of 0 leaves loading at its normal speed - anything that is not a non-negative number reverts to the previous value."

"Loading Tier→block": "Blocks this loading tier, holding its assets back so you can see how the project behaves without them. The closed padlock means the tier is blocked, the open padlock means it is free to load."

"": ""

"Loading Tier→auto loaded": "This tier is marked isAutoLoaded in ProjectSettings, so the project asks for it at startup rather than waiting on a call to nc.loadTier."

"Loading Tier→loadTier": "Asks the project for this tier, as a call to nc.loadTier would. It goes inactive once the tier has been asked for, since a tier can only be requested once."

"Loading Tier→edit": "Opens Project Settings and scrolls to this tier's entry under loadingTierDefinitions, where its isAutoLoaded, duplicate removal and asset data file size settings live."

"": ""

"": ""

"Sounds Panel→sound search": "Use this field to search for a particular Sound by name. Multiple space-separated keywords are each scored independently, and only Sounds matching them are listed."

"Sounds Panel→playing only": "Lists only the Sounds that are playing right now. Sounds that are paused or stopped are left out."

"Sounds Panel→sort": "Orders the list below - alphabetically by name, or by when each Sound last started playing, most or least recent first. Sounds that have never played are listed last either way."

"": ""

"Sounds Panel→play": "Plays this Sound from the inspector without the project asking for it, so it can be auditioned in place. The scrubber alongside moves its playhead."

"Sounds Panel→mainVolume": "This Sound's own volume, before any VolumeControl it answers to is applied. The level actually heard is its netVolume, which combines this with those VolumeControls."

"Transcript Panel→filter": "Filters the phrase list by phrase ID and phrase content across all languages. Multiple space-separated keywords are each scored independently - results are ranked by total match strength."

"Transcript Panel→Font Reduction...": "Opens the Font Reduction overview popup, showing how the current phrase and language settings map to the project's font assets."

"Transcript Panel→open/close all": "Expands or collapses all phrase entries in the list at once. The caret rotates to indicate the current state."

"Transcript Panel→set all to:": "Sets the displayed language for all currently visible phrase entries at once."

"Transcript Panel→Detect Pairings...": "Scans all project constructs for TextBox and TextAssembly objects using a phrase ID and surfaces any phrase-font pairs not yet registered in font definitions."

"Transcript Panel→phrase ID": "The unique identifier for this phrase entry. Edit to rename the phrase ID - the new name must not be empty or already in use."

"Transcript Panel→language": "Selects which language variant is displayed in the phrase field. The selection is stored per phrase and persists in panel state."

"Transcript Panel→phrase": "The phrase text for the currently selected language. Editing and committing updates the transcript data for this phrase ID and language. Switch languages using the dropdown above."

"Transcript Panel→include in fonts:": "Controls which font assets include this phrase in their character set. Font reduction uses this to trim each font to only the characters it actually needs, reducing per-language download size."

"include in fonts→" + _fontDef.fontName: "Toggles whether this phrase is included in the '" + _fontDef.fontName + "' font's character set for font reduction."

"Lock Timeline": "Toggles the timeline lock. When locked, this panel will not follow automatic timeline changes (selecting a timeline in the Construct Panel, or the Object Panel's viewTimeline button). Manual selection here still works."

"Timeline Panel→current:": "Selects which timeline this panel is editing. Lists every timeline across all constructs as [Construct]"+this._entrySeparator+"[Timeline]; type to search by construct or timeline name."

"Timeline Panel→play": "Plays or pauses the current timeline's playhead, advancing it at the timeline's playbackRate."

"Timeline Panel→play once": "Plays the current timeline through once and then stops, instead of looping."

"Timeline Panel→stop": "Stops the current timeline and resets its playhead to initialTime."

"Timeline Panel→time:": "Scrubs the current timeline's playhead between its startTime and endTime."

"Timeline Panel→startTime:": "The start of the current timeline's playback window, in time units. Playback and the scrub slider run from startTime to endTime. Must be less than endTime - a larger entry is rejected."

"Timeline Panel→endTime:": "The end of the current timeline's playback window, in time units. Playback and the scrub slider run from startTime to endTime. Must be greater than startTime - a smaller entry is rejected."

"Timeline Panel→playbackRate:": "The playback speed of the current timeline: 1 is normal speed, 2 is double, 0.5 is half; a negative value plays in reverse. The actions menu's 'normalize playbackRate' rebases the timeline so this becomes 1."

"Timeline Panel→autoplayMode:": "How the current timeline behaves when its Construct is instantiated: 'none' does not auto-play (manual control), 'loop' auto-plays and repeats continuously, and 'once' auto-plays through once and then stops."

"Timeline Panel→initialTime:": "The playhead time the current timeline starts at, and resets to when stopped, in time units."

"Timeline Panel→isDefaultTimeline:": "Whether the current timeline is the one that controls its Construct - a new instance gives it full weight and influence. Only one timeline can hold this, so checking it takes it from whichever timeline had it, and unchecking hands it back to NeutralState."

"Timeline Panel→actions→normalize playbackRate": "Rebases the current timeline to play at playbackRate 1 by scaling its start/end times and every keyframe time around 0 - the animation plays the same, just at rate 1. Destructive: keyframe time values shift slightly onto the grid. Inactive when the rate is already 1."

"Timeline Panel→actions→change timeStep": "Sets the current timeline's timeStep (the keyframe-time grid) and remaps every keyframe onto it, nudging as needed so none are lost. Destructive: keyframe time values shift slightly onto the new grid."

"Timeline Panel→time ruler": "Drag here to scrub the playhead (snapped to the timeStep); double-click to frame the view to the whole timeline. Hold Space and drag to pan the visible time span, or scroll to zoom it."

"Timeline Panel→expand/collapse all": "Expands or collapses the properties of every object at once. A convenience toggle - individual rows are still remembered on their own."

"Timeline Panel→reveal selected": "Scrolls to and flashes the next currently-selected object in the timeline. Click repeatedly to cycle through all selected objects that are in view."

"Timeline Panel→object search": "Filter the timeline's objects by name: matching objects are sorted to the top and non-matching ones are hidden. Clear the field to show everything again."

"Timeline Panel→Timeline Object Filter Presets": "Filter the object list to a saved group of objects (a Timeline Object Filter Preset). Create presets from the current selection; they are saved per construct and shared across all timeline panels."

"Timeline Panel→sort": "Choose how objects are ordered in the list: 'hierarchy' follows the construct's object order; 'alpha.' sorts them by name."

"Timeline Panel→property filter": "Toggles AnimatedProperty filtering on/off. When on, only the property types checked in the dropdown to the right are shown."

"Timeline Panel→visible properties": "Choose which AnimatedProperty types are shown (multi-select; the menu stays open). '(all)' shows every property, '(none)' hides them all. Only applies while the 'filter:' toggle is on."

"Timeline Panel→frame view": "Frames the visible time span to the whole timeline (same as double-clicking the time ruler)."

"Timeline Panel→previous keyframe (all properties)": "Snaps the playhead to the next keyframe to the left across every property currently shown in the list (loops to the last when already past the first)."

"Timeline Panel→next keyframe (all properties)": "Snaps the playhead to the next keyframe to the right across every property currently shown in the list (loops to the first when already past the last)."

"Timeline Panel→drop keyframe (selected properties)": "Adds a keyframe at the current time on every currently-selected AnimatedProperty, capturing each one's current value. Active only while one or more properties are selected."

"AnimatedProperty": "Click to select; Shift+click to add to selection; Cmd/Ctrl+click to toggle."

"Timeline Panel→drop keyframe": "Adds a keyframe for this property at the current time, capturing its current value."

"Timeline Panel→graph mode": "Toggles this property's keyframe track between the value graph and the standard keyframe view."

"Timeline Panel→previous keyframe": "Snaps the playhead to this property's next keyframe to the left (loops to the last keyframe when already past the first)."

"Timeline Panel→next keyframe": "Snaps the playhead to this property's next keyframe to the right (loops to the first keyframe when already past the last)."

"Publishing Analysis→Published Project": "The published project to analyze."

"Publishing Analysis→Asset Configuration": "Which asset configuration to analyze from the published project."

"Publishing Analysis→Asset Summary": "Show a summary of the number of assets that will be loaded by the published project."

"Publishing Analysis→Graphic Summary": "Show all graphics the published project will load, organized by loading tier."

"Lock Construct": "Toggles the construct lock. When locked, this panel will not follow automatic timeline changes made in the Timeline panel. This panel's own Construct/Timeline selectors still work."

"Assets Panel→object search": "Use this field to search for a particular asset by name."

"Live View Panel→camera": "Choose which Camera to view through. 'Target' shows the live project, and any other Camera shows that Camera's view for inspection."

"Live View Panel→checkerboard": "Toggles a checkerboard behind the Camera's view, so its transparent areas are easy to see. Only available while viewing a Camera other than 'Target'."

"Particle System Panel→Definition": "The ParticleSystemDefinition being edited.  If a ParticleSystem is currently selected, changing this will also change the ParticleSystemDefinition used by the ParticleSystem."

"Particle System Panel→create new": "Creates a new ParticleSystemDefinition based off of an existing or one of Incisor's embedded templates."

"Particle System Panel→Emission": "The collection of parameters to control way particles are emitted."

"Particle System Panel→Emission→particleLifetime": "The amount after of time after being emitted that each particle will last."

"Particle System Panel→Emission→particleLifetime→value": "The base value for particleLifetime."

"Particle System Panel→Emission→particleLifetime→randomness": "The lifetime for each particle will be the base value +/- a random number between 0 and this amount."

"Particle System Panel→Emission→emissionTimeRandomness": "A per particle perturbation of that particle's emission time. By default, particles are emitted at evenly spaced intervals. A random number between 0 and this value will added to the default emission time of each particle."

"Particle System Panel→Emission→emissionDuration": "The length of time over which to emit particles. Set to 0 to emit particles forever."

"Particle System Panel→Emission→emitterShape": "The shape of the area in which a particle may be created."

"Particle System Panel→Emission→emitterShape→emitterShape": "The shape of the area in which a particle may be created. 'point' emits particles from a point with no dimensions.  'rectangle' emits particles from points within a rectangle with dimensions determined by emitterShapeDimensions.  'circleUniform' emits particles from points uniformly distributed within a circle.  This circle can be made oblong using emitterShapeDimensions.  'circleCenter' emits particles from points distributed within a circle.  This distribution is biased to be more dense toward the center, which is more efficent that uniform distrubition. This circle can be made oblong using emitterShapeDimensions. 'custom' uses the contents to of customEmitterShapeExpression to determine the emission points."

"Particle System Panel→Emission→emitterShape→customEmitterShapeExpression": "This expression will be used to choose an initial position for each emitted particle. Note that precomputed random numbers are available as vec4s named rand0 through rand5, though typically rand2.x and rand2.y are used in this context. The value of emitterShapeDimensions is available in a vec2 by the same name."

"Particle System Panel→Emission→emitterShape→customEmitterShapeExpression": "This expression will be used to choose an initial position for each emitted particle. Note that precomputed random numbers are available as vec4s named rand0 through rand5, though typically rand2.x and rand2.y are used in this context."

"Particle System Panel→Emission→particlePoolCount": "The total number of particles that are required by this ParticleSystemDefinition. Because particles that have 'died' can often be reused as later particles, this number will often be less than the total number seen throughout the ParticleSystem's playback."

"Particle System Panel→Physics": "The collection of parameters to control the way particles are affected by physics."

"Particle System Panel→ageRemap": "An expression used to remap particle age values to a new value."

"Particle System Panel→ageRemap": "An expression used to remap particle age values to a new value."

"Particle System Panel→Rotation": "The collection of parameters to control the way particles rotate."

"Particle System Panel→Wiggle": "The collection of parameters to control the way particles randomly oscillate around the position determined by their physics parameters."

"Particle System Panel→Scale": "The collection of parameters to control the scale of each particle."

"Particle System Panel→Color/Alpha": "The collection of parameters to control the color and transparency of each particle."

"Particle System Panel→Randomness": "The collection of parameters to control the generation of per-particle randomness."

"Particle System Panel→randomizeOnPlay": "When enabled, a new randomSeed will be chosen each time the ParticleSystem instance is played from the beginning."

"Particle System Panel→randomSeed": "Changing this generates new values for all per particle randomness. This is the default value of the material's particleSystemRandomSeed EffectController for all ParticleSystem instances using this ParticleSystemDefinition."

"Particle System Panel→particleDrawOrderSeed": "When multiple GraphicAssets are used as particles, the draw order of all the particles is shuffled to randomly interleave the particles. This seed will deterministically alter the outcome of this shuffle, creating a different draw order of the particles. Note that changing this value at run time causes a costly rebuild of the particle system and is only recommended during initialization. To randomize the behavior of a ParticleSystem without this costly rebuild, see randomSeed."

"Particle System Panel→" + _parent.titleTextBox.string + "→" + _labelText: _toolTip

"Particle System Panel→" + _parent.titleTextBox.string + "→" + _labelText + "→type": "The data type for this parameter may be set to Constant, Expression, or Ramp.  Constant values do not change.  Expressions are used to write GLSL code defining the value.  Ramps define multiple values that to be mixed according to particle age or particle emission time."

"Particle System Panel→" + _parent.titleTextBox.string + "→" + _labelText + "→" + _randomnessLabel: _randomnessTip

"Particle System Panel→" + _parent.titleTextBox.string + "→" + _labelText + "→" + _randomnessLabel + "→type": "The data type for this parameter may be set to Constant, Expression, or Ramp.  Constant values do not change.  Expressions are used to write GLSL code defining the value.  Ramps define multiple values that to be mixed according to particle age or particle emission time."

"Hierarchy Panel→select Scene": "Select a Scene to inspect its hierarchy."

"Hierarchy Panel→object search": "Use this field to search for a particular object in this Scene by name."

"Hierarchy Panel→expand/collapse all": "Use this button to expand or collapse all objects in the Scene."

"Hierarchy Panel→reveal selected": "Click this button to reveal currently selected items within the Hierarchy panel."

"Inspected Object Quantity": "The Hierarchy panel is actively inspecting more than 1000 objects, which can affect performance of the inspector. Collapse objects to reduce the number of inspected objects."

"Hierarchy Panel→show disabled button": "Button that toggles whether or not disabled objects are displayed within the Hierarchy panel."

"Hierarchy Panel→show disabled": "Choose whether to show disabled objects."

"Lock Selection": "Toggles the selection lock. When locked, the panel's selection will not change as you click different objects in the scene."

"Template Library→search": "Filters the library down to matching items. While a search is underway the folder structure is set aside and only items are listed, so a name is enough to find something without knowing where it lives. Clear the field to return to the folders."

"Example Code→copy": "Copies the example code above to the clipboard, ready to paste into a code asset. The example is written against the item's default name, so a copy added to the project under a different name needs the name changed to match."

"Manage Timelines→default:": "Makes this the Timeline that controls the Construct - a new instance gives it full weight and influence."

"Select GraphicAsset→maintain current EffectNodes": "Every GraphicAsset carries EffectNode presets, and taking a new GraphicAsset normally replaces the GraphicObject's EffectNodes with that asset's presets. Check this to keep the EffectNodes already on the object instead, which is what you want when the object has been given effects of its own that the new asset's presets know nothing about. Leave it unchecked to adopt the new asset's presets wholesale. This resets to unchecked each time the window opens, since adopting the presets is the ordinary case."

"Select GraphicAsset→rename GraphicObject": "Renames the GraphicObject to match the GraphicAsset it is being given, so an object that shows a particular graphic is named for it. Checked by default, and applied to every object when several are selected at once - which does leave those objects sharing a name, so uncheck it when the names already mean something. This option is unavailable where the graphic does not stand for the object's identity: a SpriteSetter's keyGraphicAsset is one of many graphics it cycles through, and a ParticleSystem's graphic belongs to a ParticleInfo rather than to any one object."

"": ""

"": ""

"": ""

"": ""

"": ""

"": ""

"Object Panel→EffectControllers": "Effect Controllers drive shader parameters on the EffectNodes applied to this object's materials. EffectNodes are GPU-driven visual effects assigned to SceneObjects, GraphicObjects, and ultimately Materials. The EffectController settings on each SceneObject apply to its own Material effects as well as those of its descendants additively or multiplicatively."

"Object Panel→type": "The type of the currently selected SceneObject(s). For a single selection, the type icon and name are shown, followed by the full inherited type chain in parentheses - from most specific to most general. For a multi-selection, each distinct type is listed with the number of selected objects of that type in parentheses."

"Object Panel→SymbolReel Info": "The SymbolReel Info section exposes the properties of SymbolReel scene objects. A SymbolReel owns a set of symbol objects and moves them along a reel path to create a spinning reel. The class used to build those symbol objects is supplied in code through 'symbolClassDefinition' and is deliberately not settable here - until project code supplies one, a built-in placeholder symbol is used so the reel is visible while you lay it out. This section only appears when one or more selected objects are of type SymbolReel."

"SymbolReel Info→spin reel": "Spins the selected SymbolReel here in the editor, so the symbol path, windup and bounce can be watched in motion rather than read off their curves. Press once to start the spin - it brings itself gracefully to rest after a second and a half, or press again to slam it onto its target immediately. The reel is targeted at the initialReelData below, so it lands back on the symbols it started from and the preview reads as a round trip. The reel is granted immunity to the editor's pause while it is being previewed."

"SymbolReel Info→state": "Which point of the spin the selected reel is at, read straight off its 'reelState'. A reel at rest reads 'stopped', and a spin passes through 'windup', 'spinFree', 'stopping', 'stopImminent' and 'bounce' before returning to it. This is a readout rather than a setting - reelState is driven by the reel itself, through 'beginSpin', 'beginStop' and 'slam'. Several properties here are only accepted while the reel is 'stopped', so this is what to check when one of them refuses a change. With more than one reel selected it shows their shared state, or a dash while they differ."

"SymbolReel Info→defaultSymbolType": "Which built-in stand-in symbol this reel builds while project code has not supplied a symbolClassDefinition. 'TextBox' draws a grey card showing the symbol string itself, which reads clearly while laying a reel out. 'GraphicObject' draws the GraphicAsset whose name matches the symbol, falling back to the WhiteBox for a symbol naming no asset in this project - use it once the symbol names line up with real assets. This has no effect once project code supplies its own symbol class, which is the normal arrangement for a finished game. Changing it disposes the existing symbol objects and rebuilds them."

"SymbolReel Info→numTopBufferSymbols": "The number of symbol objects populated above the main visible symbols, giving the reel somewhere to bring new symbols in from. Since the symbol path is fully customizable these buffer symbols are not necessarily above the main symbols. Changing this disposes the existing symbol objects and rebuilds them, and is only permitted while the reelState is 'stopped'."

"SymbolReel Info→numMainSymbols": "The number of symbol objects meant to be the main, visible symbols on this SymbolReel. Changing this disposes the existing symbol objects and rebuilds them, so any symbol state is lost. The rebuild is deferred, so several count changes in a row cost only one rebuild. This can only be changed while the reel's reelState is 'stopped' - a change attempted mid-spin is refused and reported rather than applied."

"SymbolReel Info→numBottomBufferSymbols": "The number of symbol objects populated below the main visible symbols, giving the reel somewhere to carry symbols out to. Since the symbol path is fully customizable these buffer symbols are not necessarily below the main symbols. Changing this disposes the existing symbol objects and rebuilds them, and is only permitted while the reelState is 'stopped'."

"SymbolReel Info→spinSpeed": "The rate of motion for each symbol object during the spin, measured in symbol slots per sixtieth of a second - so a value of 1 moves each symbol one full symbol position every sixtieth of a second. Negative values travel toward increasing pathPosition, which for the default symbol path reads as spinning downward. The reel advances on real time rather than per tick, so this rate holds at any fixedUpdate rate."

"SymbolReel Info→pathPositionSnap": "The grid that Keyframe positions snap onto across every KeyframedValue this SymbolReel owns - the symbol path values as well as the windup and bounce curves. The reel holds this single value for all of them, in the same way that a Timeline holds one timeSnap for its AnimatedProperties, so it does not need setting per curve. Lower it when a curve needs finer detail than the default of 0.01. Setting it to zero or leaving it empty returns it to that default."

"SymbolReel Info→initialReelData": "The authored starting symbols for this reel, written as a comma-separated list. These are the symbols the reel displays when it builds, which is what makes a reel readable while you lay it out here - without them the placeholder symbols come up blank. The first 'numSymbols' entries are the ones actually shown, and any position without an entry has undefined handed to its symbol object's 'setSymbol' function. This list also seeds the working reel data that each spin adds to, unless project code has taken over supplying the reel strip itself. This list travels with the Construct - the full working reel strip never does."

"SymbolReel Info→windup": "The motion the reel makes just before the main portion of the spin, as it winds up. The curve below is sampled over a progress range of 0 to 1, where 1 is the full windupDuration, and its value is a pathPosition offset applied to every symbol at once - so a curve peaking at 0.5 pulls the whole reel back half a symbol position before it releases."

"windup→windupDuration": "How long, in seconds, the reel spends in the 'windup' state before it moves on to spinning freely. This is the time that the windup curve's 0 to 1 progress range is stretched across. Staggering this slightly across a row of reels is a common way to make them feel less mechanical."

"windup→windupMagnitude": "A plain multiplier applied to whatever the windup curve returns. The shape of the motion lives in the curve, so this exists to scale that shape without editing it - which is what makes it useful to drive from code at runtime, for instance to exaggerate the windup on a teaser spin."

"SymbolReel Info→bounce": "The recoil the reel makes as it settles, simulating a physical reel coming to rest. The curve below is sampled over a progress range of 0 to 1, where 1 is the full bounceDuration, and its value is a pathPosition offset applied to every symbol at once. The reel's symbols are already on their exact resting positions when the bounce begins, so this motion is purely visual and always returns to zero."

"bounce→bounceDuration": "How long, in seconds, the reel spends in the 'bounce' state before its reelState becomes 'stopped'. This is the time that the bounce curve's 0 to 1 progress range is stretched across. The reel is not considered stopped until this has elapsed, so game logic waiting on the 'stopped' state waits out this duration."

"bounce→bounceMagnitude": "A plain multiplier applied to whatever the bounce curve returns. The shape of the recoil lives in the curve, so this exists to scale that shape without editing it - which is what makes it useful to drive from code at runtime, for instance to land a big win harder than an ordinary stop."

"SymbolReel Info→symbol path": "How each symbol object is arranged as it travels along the reel. Every entry here keyframes one property of a symbol against that symbol's pathPosition, which is measured in symbol slots - so a Keyframe at 0 describes the first main visible position, 1 the next, and -1 the top buffer position. A new reel starts with a 'position.y' entry describing a straight vertical drop and a 'colorMultiply.alpha' entry fading the symbols out at the wrap points, and further entries can be added for anything a plain property path can reach, such as scale.x or rotation.z. These entries are ignored entirely while project code has set a symbol path override callback on the reel."

"symbol path→property path": "The property of each symbol object that this entry drives, written relative to a symbol object in dot notation. The KeyframedValue below is sampled at every symbol's pathPosition and written straight to this property, so only paths a plain property walk can reach are supported - where more is needed, expose a property with a getter and setter on the symbol class and drive that instead. Renaming moves the curve onto a different property with its Keyframes intact, and a name already driven by this reel is refused and reverted."

"symbol path→unresolved path": "This property path does not currently reach a settable property on the symbol objects, so the reel is leaving it alone rather than writing to it. Its Keyframes are kept exactly as they are, and it begins driving the symbols the moment the path names a property the symbol class actually has - so a curve can be authored here ahead of the property being implemented in code. This also shows for a path naming a whole object, such as 'position' in place of 'position.y', since writing a number over one of those would break the symbol."

"symbol path→reset keyframes": "Redraws this property's curve from scratch, discarding whatever Keyframes it currently holds. The fields here are inputs to that redraw rather than a reading of the curve, so they keep whatever was last typed into them and never report back what the curve holds now."

"symbol path→linear": "Lays down one handleless Keyframe per resting symbol position, each holding 'start' plus its own pathPosition times 'delta', extrapolating beyond both ends. This is the shape the reel gives 'position.y' when it first builds, where 'delta' is the vertical distance between neighbouring symbols."

"symbol path→fade in/out": "Lays down four Keyframes holding 1 across the resting range and 0 at each wrap point, so a symbol is invisible at the moment it takes on a new symbol. 'fadeTime' is how many symbol positions the ramp at each end covers. This is the shape the reel gives 'colorMultiply.alpha' when it first builds."

"Material Info→EffectNodes": "The EffectNodes applied to this Material. EffectNodes are GPU-driven visual effects assigned to SceneObjects, GraphicObjects, and ultimately Materials. EffectNodes can be added, removed, and rearranged by dragging. The order determines the sequence in which visual effects are applied to the Material."

"Material Info→EffectNodes→set EffectNodes": "Replaces all EffectNodes on this material with a chosen set."

"Material Info→EffectNodes→add EffectNodes": "Adds a chosen set of EffectNodes to this material without removing their existing ones."

"": ""

"Add EffectNode": "Adds a new EffectNode to this Material, inserted directly below this one."

"Material Info→EffectNodes→"+_key: _en.description || "An EffectNode applied to this Material."

"Material Info→EffectNodes→"+_key: _addEn.description || "An EffectNode applied to this Material."

"Object Panel→GraphicObject Info": "Properties common to all GraphicObjects: visibility, graphic asset, layer, sub-layer, frustum culling, masking, geometry modifiers, and sprite animation."

"GraphicObject Info→visible": "Whether the object is rendered. Unlike 'enabled', visibility does not affect descendants."

"GraphicObject Info→graphicAsset": "The graphic asset (texture or sprite sheet) assigned to this GraphicObject. Changing this value updates the Geometry, Textures, and other settings to reflect those of the new asset. Click to open the asset browser."

"GraphicObject Info→subLayer": "Fine-grained draw order within the same layer. Range: -1 to 1. Lower values render behind higher values."

"GraphicObject Info→layer": "The rendering layer that determines draw order relative to other objects. Objects on higher layers render in front."

"GraphicObject Info→frustumCulling": "When enabled, the object is skipped during rendering if it falls outside the camera's view (its frustum). This defaults to true, but should be disabled when an EffectNode is deforming the object's geometry on the GPU - in that case the object's scene position may indicate it should be culled while its actual deformed geometry is still in view and should still be rendered."

"GraphicObject Info→masking": "Settings that control whether this GraphicObject acts as a mask or is clipped by another object's mask."

"masking→enabled": "Activates masking for this GraphicObject. When false, the object renders normally regardless of any mask settings."

"masking→type": "'mask' means this object defines the masking shape. 'masked' means this object is clipped by a mask object."

"masking→invert": "Reverses the mask effect: the object renders outside the mask shape rather than inside it."

"masking→maskGroups": "In overlapping masking mode, mask groups link specific masks to specific masked objects. Check a group to include this object in it."

"maskGroups→manage MaskGroups": "Opens the Manage MaskGroups popup to add, remove, or rename MaskGroups in the project."

"GraphicObject Info→geometryMods": "Geometry modifiers that alter the rendered shape of the GraphicObject without affecting its scene transform."

"geometryMods→add geometry mod": "Adds a geometry modifier to the selected GraphicObject. PivotPointAdjuster offsets the visual pivot; GraphicExpander enables nine-slice stretching."

"add geometry mod→PivotPointAdjuster": "Adds a PivotPointAdjuster, which lets you offset the object's visual pivot independently of its transform origin."

"add geometry mod→GraphicExpander": "Adds a GraphicExpander, which stretches the nine-slice regions of the graphic asset to fill a specified expanded area."

"geometryMods→PivotPointAdjuster": "Offsets (or fully transforms) a GraphicObject's geometry locally, independently of its scene transform. Best used as a one-time adjustment - animating its values can cause performance issues, as each change sends updated geometry to the GPU."

"PivotPointAdjuster→position": "The position offset (x, y, z) applied to the graphic relative to the SceneObject's transform origin."

"PivotPointAdjuster→scale": "The scale (x, y, z) applied to the graphic by the PivotPointAdjuster, independent of the SceneObject's own scale."

"PivotPointAdjuster→rotation": "The rotation (x, y, z) in degrees applied to the graphic by the PivotPointAdjuster."

"PivotPointAdjuster→remove PivotPointAdjuster": "Removes the PivotPointAdjuster from the selected GraphicObject(s), restoring default pivot behavior."

"geometryMods→GraphicExpander": "Stretches the nine-slice regions of the graphic asset to fill an expanded area, allowing scalable panel-style graphics."

"GraphicExpander→symmetric": "When enabled, expandable and expanded areas are defined by a single width/height pair. When disabled, each edge is set independently."

"GraphicExpander→expandableWidth": "The width of the nine-slice center region that gets stretched when the graphic expands."

"GraphicExpander→expandableHeight": "The height of the nine-slice center region that gets stretched when the graphic expands."

"GraphicExpander→expandedWidth": "The total width the graphic should expand to fill."

"GraphicExpander→expandedHeight": "The total height the graphic should expand to fill."

"GraphicExpander→expandableAreaLeft": "Left edge of the nine-slice expandable region."

"GraphicExpander→expandableAreaRight": "Right edge of the nine-slice expandable region."

"GraphicExpander→expandableAreaTop": "Top edge of the nine-slice expandable region."

"GraphicExpander→expandableAreaBottom": "Bottom edge of the nine-slice expandable region."

"GraphicExpander→expandedAreaLeft": "Left boundary of the expanded area the graphic should fill."

"GraphicExpander→expandedAreaRight": "Right boundary of the expanded area the graphic should fill."

"GraphicExpander→expandedAreaTop": "Top boundary of the expanded area the graphic should fill."

"GraphicExpander→expandedAreaBottom": "Bottom boundary of the expanded area the graphic should fill."

"GraphicExpander→remove GraphicExpander": "Removes the GraphicExpander from the selected GraphicObject(s)."

"GraphicObject Info→spriteSetter": "The SpriteSetter drives animated sprite playback on a GraphicObject, cycling through frames of a sprite sheet based on a normalized value."

"spriteSetter→add SpriteSetter": "Adds a SpriteSetter to the selected GraphicObject(s) to enable sprite sheet animation."

"spriteSetter→keyGraphicAsset": "The sprite sheet graphic asset used to define the animation frames. Click to open the asset browser."

"spriteSetter→playbackRate": "The speed at which the sprite animation plays back, in frames per second."

"spriteSetter→autoplayMode": "Controls automatic playback: 'none' requires manual control, 'loop' repeats continuously, 'once' plays through and stops."

"spriteSetter→initialValue": "The starting frame value (0–100) for the sprite animation when first activated."

"spriteSetter→remove SpriteSetter": "Removes the SpriteSetter from the selected GraphicObject(s)."

"Object Panel→CustomAddOn Info": "CustomAddOns are project-defined, customizable add-ons that extend SceneObjects with additional behaviors and data. Their registered property values are adjustable here, savable within Constructs, and animatable in Construct Timelines. Applied CustomAddOns can be added, removed, and reordered. Examples can be found and added to the project via the Template Library."

"CustomAddOn Info→add CustomAddOn": "Adds a project-defined CustomAddOn to the selected SceneObject(s). CustomAddOn property values are adjustable, savable in Constructs, and animatable in Construct Timelines. Only add-ons compatible with the selected object type and not already applied are available. Examples can be found and added to the project via the Template Library."

"": ""

"Object Panel→SpineBone Info": "Displays the slot and attachment structure of the selected SpineBone."

"SpineBone Info→inheritScale": "Amount by which this bone inherits scale from its parent. Range: 0–1."

"SpineBone Info→inheritRotation": "Amount by which this bone inherits rotation from its parent. Range: 0–1."

"SpineBone Info→inheritReflection": "Amount by which this bone inherits reflection from its parent. Range: 0–1."

"SpineBone Info→shearX": "Horizontal shear applied to this bone, in degrees."

"SpineBone Info→shearY": "Vertical shear applied to this bone, in degrees."

"SpineBone Info→slots": "The slots belonging to this SpineBone and their current attachment states."

"Object Panel→SceneObject Info": "Properties common to all SceneObjects: name, enabled state, position, scale, and rotation."

"SceneObject Info→name": "The name of the currently selected SceneObject(s). Used primarily for reference within the GUI and in code."

"SceneObject Info→enabled": "The enabled state of the currently selected SceneObject(s). When false, the object and all of its descendants are excluded from rendering."

"SceneObject Info→position": "The position (x, y, z) of the selected SceneObject(s) relative to the parent's coordinate space."

"SceneObject Info→scale": "The scale (x, y, z) of the selected SceneObject(s). Values are multiplicative, so a scale of 2 makes the object twice as large along that axis."

"SceneObject Info→rotation": "The rotation (x, y, z) of the selected SceneObject(s) in degrees."

"actions→Set EffectNodes of descendants": "Replaces the EffectNodes on all descendants of the selected object(s) with a chosen set of EffectNodes."

"actions→Add EffectNodes to descendants": "Adds a chosen set of EffectNodes to all descendants of the selected object(s), without removing existing ones."

"actions→Set Layers of descendants": "Sets the layer of all GraphicObject descendants of the selected object(s) to a chosen layer."

"actions→Log object(s) to console": "Logs the currently selected SceneObject(s) to the browser console for inspection."

"Set Layers of descendants→include selected parents": "When enabled, the layer change also applies to the selected parent objects themselves, not just their descendants."

"SceneObject Info→actions": "Batch operations that can be applied to the selected SceneObject(s) and their descendants, such as setting EffectNodes or Layers."

"Object Panel→CustomObject Info": "CustomObjects are project-defined SceneObject types that extend a base SceneObject type with custom behaviors and registered properties. Their property values are adjustable here, savable within Constructs, and animatable in Construct Timelines. Examples can be found and added to the project via the Template Library."

"": ""

"CustomObject Info→baseType": "The SceneObject base type that this CustomObject extends."

"Object Panel→Material Info": "Materials control how the visual surfaces defined in a Geometry are configured and ultimately rendered by WebGL. Each material's EffectNodes, EffectControllers, and blending mode are configurable here."

"Material Info→Material": "Controls the EffectNodes, EffectControllers, and blending mode for this material slot on the selected GraphicObject(s)."

"Material Info→blendingMode": "The blending mode determines how this material composites with what is drawn behind it. 'standard' uses normal alpha blending; 'add' adds this material's color on top of what's behind it, which is useful for glow and fire effects; 'multiply' multiplies this material's color with what's behind it."

"Material Info→EffectControllers": "The EffectControllers driving parameters on the EffectNodes applied to this Material."

"Material Info→draw settings": "The settings that determine how this Material's fragments are written to the frame and depth buffers, and which side of each triangle is drawn at all."

"draw settings→faceCulling": "Names which side of each triangle is culled. 'back' drops the triangles facing away from the camera, 'front' drops the ones facing it, and 'none' draws both."

"draw settings→depthTest": "Tests each fragment against the depths already in the depth buffer, so that only the closest one is drawn. This is useful for geometries with a full 3D shape, such as those from OBJs."

"draw settings→depthWrite": "Writes the depth of each fragment into the depth buffer, allowing this Material to occlude the things drawn after it."

"draw settings→transparent": "Blends each fragment with what is already in the frame buffer rather than replacing it, and draws this Material after the opaque ones. This is independent of depthWrite and depthTest."

"Object Panel→Camera Info": "Properties common to all cameras: view depth range, adaptive sizing mode, precomp target dimensions, cursor interactivity, background color, and auto-render."

"Camera Info→viewNear": "The near clipping plane depth. Objects closer to the camera than this value are not rendered."

"Camera Info→viewFar": "The far clipping plane depth. Objects farther from the camera than this value are not rendered."

"Camera Info→adaptiveCameraMode": "Determines how the camera adapts its view when the canvas aspect ratio or size changes. 'none' keeps the core view fixed; 'maximizeSafeZone' expands the view to fill the canvas while keeping the core view fully visible; 'unitsMatchPixels' (orthographic only) scales so one unit equals one pixel; 'preserveViewAngleVertical' and 'preserveViewAngleHorizontal' (perspective only) lock the specified axis while adjusting the other."

"Camera Info→constructPrecompTargetWidth": "If this camera is the designated PrecompCamera for a Construct, this value sets the width of the associated RenderTarget."

"Camera Info→constructPrecompTargetHeight": "If this camera is the designated PrecompCamera for a Construct, this value sets the height of the associated RenderTarget."

"Camera Info→cursorInteractive": "When enabled, this camera processes cursor events for objects in its view."

"Camera Info→backgroundColor": "The background color rendered behind all objects in this camera's view."

"Camera Info→autoRender": "When enabled, this camera renders its scene automatically each frame."

"Camera Info→coreViewAngleHorizontal": "The initial horizontal field of view in degrees before any adaptiveCameraMode adjustments."

"Camera Info→coreViewAngleVertical": "The initial vertical field of view in degrees before any adaptiveCameraMode adjustments."

"Camera Info→coreViewWidth": "The initial view width in world units before any adaptiveCameraMode adjustments."

"Camera Info→coreViewHeight": "The initial view height in world units before any adaptiveCameraMode adjustments."

"SceneObject Info→Scene Path": "Displays the full ancestor chain of the currently selected scene object, from the scene root down to the selected object itself. Each entry is a clickable button - click to select that ancestor; Shift+click to add it to the current selection; Cmd/Ctrl+click to toggle; right-click to open the full scene-object context menu for that ancestor. Entries are indented to reflect their depth in the hierarchy. Only visible when exactly one object is selected."

"Object Panel→ParticleSystem Info": "The ParticleSystem Info section exposes the properties of ParticleSystem scene objects. A ParticleSystem plays back a particle effect defined by its linked ParticleSystemDefinition; its PlaybackController governs playback state and timing. This section only appears when one or more selected objects are of type ParticleSystem."

"ParticleSystem Info→particleSystemDefinition": "Selects the ParticleSystemDefinition that drives this particle effect. Options are populated from all definitions registered in the current project. Changing the definition swaps the emission rules, particle lifetimes, motion, and visual settings at runtime without resetting the PlaybackController state or autoplayMode. To create or edit a definition, open the Particle System panel."

"ParticleSystem Info→play / pause": "Plays the particle system from its current time position. While playing, this button becomes a pause button - click again to suspend playback without resetting the time. Playback runs between the startTime and endTime of the PlaybackController."

"ParticleSystem Info→play once / pause": "Plays the particle system once with lazyStop enabled, stopping automatically when the endTime is reached. While playing in this mode the button becomes a pause button. Use this to preview a single burst of the effect without looping."

"ParticleSystem Info→stop": "Stops playback immediately and resets the particle system's current time to the startTime of the PlaybackController."

"ParticleSystem Info→playbackRate": "Multiplies the rate at which the PlaybackController's time advances, so 2 plays the effect at twice speed and .5 at half. Negative values run the particle system backwards. This is the PlaybackController's own rate - any SpeedControls affecting it multiply on top of this value."

"ParticleSystem Info→autoplayMode": "Controls whether the particle system starts playing automatically at runtime. 'none' - no automatic playback; the PlaybackController must be triggered manually. 'loop' - begins playing immediately when the object becomes active and repeats continuously from the startTime each time the endTime is reached. 'once' - begins playing immediately and stops at the endTime without repeating. This property lives on the PlaybackController, not the ParticleSystem itself."

"Object Panel→Construct Info": "Timelines defined on this Construct. Each timeline has a weight (blend contribution) and, for non-NeutralState timelines, a playback controller."

"playOnceAndTakeWeight": "Takes weight from all other timelines and plays this timeline from the beginning once."

"viewTimeline": "Connects all open, unlocked Timeline panels to this live, running timeline instance (a temporary view — no changes are saved to the definition)."

"takeWeight": "Animates this timeline's weight to 1 while reducing all other timelines' weights to 0, over 1 second. Hold Shift for 0.25s, or "+(nc.mainModifierKey==="Meta"?"Cmd":"Ctrl")+" for 5s."

"Object Panel→Text Info": "Properties common to all TextBox and TextAssembly objects: the displayed string, phrase ID for localization, layout constraints, text format settings, and the character material's visual effects."

"Text Info→string": "The string displayed by this text object."

"Text Info→phraseID": "Links this text object to a localized string from the ProjectTranscript. When set, the string is automatically updated to reflect the project's current language setting. Phrases are defined in the ProjectTranscript."

"Text Info→add to transcript": "Creates a new phrase in the ProjectTranscript using this object's current string and links the text object to it via phraseID. Only available when no phraseID is assigned."

"Text Info→horizontalJustification": "How text is aligned horizontally within the box. Only has an effect when the box width is wider than the text."

"Text Info→verticalJustification": "How text is aligned vertically within the box. Only has an effect when the box height is taller than the text."

"Text Info→boxWidth": "Defines the width of the area the text is confined to. A value of 0 means no width restriction."

"Text Info→boxHeight": "Defines the height of the area the text is confined to. A value of 0 means no height restriction."

"Text Info→wrapToFit": "When enabled, newlines are automatically inserted to wrap text within the box width."

"Text Info→scaleToFit": "When enabled, the text is scaled down to fit within the box width and height."

"Text Info→baselinePosition": "The vertical position of the baseline within each line of text. 0 is the very bottom of the line; 1 is the top."

"Text Info→pivotPoint": "The anchor point of the text object relative to its center. (0.5, 0.5) corresponds to the top-left corner; (-0.5, -0.5) corresponds to the bottom-right corner."

"Text Info→isTrimmed": "When enabled, the TextBox geometry is reduced to remove excess transparent space around the text."

"Text Info→editingMode": "The current text editing state of this TextBox - determines whether it is idle or in an active editing state."

"Text Info→tabEndEditing": "When enabled, pressing Tab while editing this TextBox commits the edits and ends editing. When disabled, Tab inserts spaces."

"Text Info→returnEndsEditing": "When enabled, pressing Return while editing this TextBox commits the edits and ends editing. When disabled, Return inserts a newline."

"Text Info→numHorizontalGridSegments": "The number of horizontal geometry subdivisions in the TextBox mesh. Increase this for smoother vertex-deforming EffectNodes."

"Text Info→numVerticalGridSegments": "The number of vertical geometry subdivisions in the TextBox mesh. Increase this for smoother vertex-deforming EffectNodes."

"Text Info→Text Format": "Settings for the font, character scale, kerning, vertical shift, and line height of the selected text object(s). Also contains the CharacterMaterial, which controls visual effects on individual characters."

"Text Format→fontName": "The font used to render this text."

"Text Format→characterScaleX": "The horizontal scale applied to each character in this text."

"Text Format→characterScaleY": "The vertical scale applied to each character in this text."

"Text Format→kerning": "The spacing between characters. The value is relative to the font's 'characterWidth' value, which defaults to the width of the null character (Char0) but can be changed in the font definitions section of the project settings."

"Text Format→verticalShift": "A vertical offset applied to the text characters. The value is relative to the font's 'font height', which is defined in the ProjectSettings."

"Text Format→lineHeightMultiplier": "Scales the height of each line. A value of 1 corresponds to the font's native line height."

"Text Format→CharacterMaterial": "Controls the visual effects applied to each individual character in this text object. EffectNodes and EffectControllers can be assigned here just like on any other material."

"Text Format→CharacterMaterial→EffectControllers": "The EffectControllers driving parameters on the EffectNodes applied to the CharacterMaterial."

"Particle System Panel→Particles": "The collection of data specific to each type of particle."

"Particle System Panel→" + this._particleStacks[i].titleTextBox.string: "The data for this particle.  If additional particles are added, the GraphicAssets must be in the same spritesheet."

"Particle System Panel→" + this._particleStacks[i].titleTextBox.string + "→graphicAsset": "The GraphicAsset to add for this particle."

"Particle System Panel→" + this._particleStacks[i].titleTextBox.string + "→particlesPerSecond": "The number of this particle to add every second of 'emissionDuration'."

"Particle System Panel→" + this._particleStacks[i].titleTextBox.string + "→scale": "The scale to apply to each of these particles. Useful for reusing assets with mismatched scales in the same particle system."

"Particle System Panel→" + this._sectionName + "→" + this._label + "→expression": this._expressionToolTip

"Particle System Panel→" + this._sectionName + "→" + this._label + "→ramp→interpolationType": "When a Ramp is sampled at a given time, the values of the surrounding keyframes are interpolated according to this setting.  'smoothStep' eases away from the components of the first keyframe, then changes quickly more quickly, then eases into the components of the second keyframe.  'catmullRom' applies Catmull-Rom smoothing based on the surrounding 4 keyframes.  'linear' linearly interpolates between the components of the surrounding keyframes.  "

"Particle System Panel→" + this._sectionName + "→" + this._label + "→ramp→inputType": "The input type used to evaluate the Ramp. 'ageRatio' uses the particle's age, mapped to the range [0 - 1].  'emissionTime' uses the time at which the particle was emitted, mapped from the range [0 - inputMaximum] to [0 - 1]."

"Particle System Panel→" + this._sectionName + "→" + this._label + "→ramp→inputMaximum": "When inputType is set to 'emissionTime', this is the emission time at which the Ramp ends."

"Particle System Panel→" + this._sectionName + "→" + this._label + "→ramp→Add Keyframe": "Adds a new keyframe to the Ramp."

"Particle System Panel→" + this._sectionName + "→" + this._label + "→ramp→Remove Keyframe": "Removes the selected keyframe from the Ramp."

"Particle System Panel→" + this._sectionName + "→" + this._label + "→constant": this._constantToolTip

"Particle System Panel→" + this._sectionName + "→" + this._label + "→Constant": this._constantToolTip

"Project Settings→loadingTierDefinitions→loadingTier": "The number-designation of this loading tier. Loading tiers are identified via numbers, which gives the auto-loaded tiers an implicit ordering, allowing for built-in duplicate removal accross multiple tiers."

"Project Settings→fontDefinitions→kerningAdjustment": "Amount to add or subtract to the kerning of all characters within this font. This value is expressed as a multiple of this font's 'characterWidth' value."

"Project Settings→fontDefinitions→lineHeight": "The height of a line of text that uses this font, expressed in world units."

"Project Settings→fontDefinitions→characterWidth": "The width of the 'key' character for this font. This value is what is used for the width of a space in this font. This value also used as a basis for this font's kerning and other spacing related configurations."

"Project Settings→fontDefinitions→alwaysIncludeTheseCharacters": "A list of unicode characters that will always be included with this font, regardless of the current language."

"Project Settings→project info": ""

"Project Settings→latestIncisorUsed": "The latest version of Incisor that was used to make any changes to this project."

"Project Settings→usingTypescript": "Read-only flag denoting if this is a TypeScript project, or a standard JavaScript project."

"Project Settings→publicProjectName": "The public name of the project."

"Project Settings→publicProjectName": "The name of the project as it is used within code. Generally, this name should be more 'code safe', with no spaces, special characters etc..."

"Project Settings→assetConfigurationDefinitions": "This is where the asset configuration values are defined."

"Project Settings→assetPackageScaleDefinition→assetPackageScale": "A comma-separated list containing the numeric values for asset package scale, which determines an automatic scale value applied to all graphics in each configuration. Be sure to include all of the assetPackageScale that you intend to use for any of the development or publishing configurations. Values are expressed on a scale from 1 to 100, where 100 corresponds to 100% graphic scaling (including graphics at source size)."

"Project Settings→assetPackageScaleDefinition→soundQuality": "A comma separated list of items of the format AAA_BBB, where AAA is either 'mono' or 'stereo', and BBB is the bitrate in kilobytes. For example, acceptable values include 'stereo_115' or 'mono_55'."

"Project Settings→assetPackageScaleDefinition→language": "A comma separated list of strings representing language codes. For example 'en,es'."

"Project Settings→projectSetup": "Configure the project here."

"Project Settings→coreCanvasResolutionX": "This value represents the target canvas resolution width. Various scaling features such as 'adaptiveCamera' mode, and 'canvasSizeResolutionScaling' use this number as the 'native' resolution in calculations that react to dynamic resolution changes."

"Project Settings→mainCameraType": "This determines what camera type is used for the main camera."

"Project Settings→coreCanvasResolutionY": "This value represents the target canvas resolution height. Various scaling features such as 'adaptiveCamera' mode, and 'canvasSizeResolutionScaling' use this number as the 'native' resolution in calculations that react to dynamic resolution changes."

"Project Settings→maskingMode": "The amount of information included in the logs. Incisor log files are written to the 'Application Support' directory, which can be accessed from the Incisor menu."

"Project Settings→canvasTransparency": "If any portion of the canvas needs to be transparent, then this setting should be true. Otherwise it should be false."

"Project Settings→canvasTransparency": "If any portion of the canvas needs to be transparent, then this setting should be true. Otherwise it should be false."

"Project Settings→defaultGraphicAssetEffectNodes": "A comma separated list of the EffectNodes which will automatically be included on all GraphicAssets in this project. Please note that the 'ColorMultiply' EffectNode is required by many of the Incisor UI objects (UiButton,UiMenu,etc...)"

"Project Settings→conditionalCodeTagDefinitions": "A comma separated list of code tags that can be included or excluded based on which development or publishing configuration is used. Please note that the code tags must be 'code safe', which means free of spaces, special characters, and leading numbers."

"Project Settings→productivity": "Configure settings that affect the process of development."

"Project Settings→limitPublishBuildsKept": "The number in this feild is the limit on the quantity of published projects that are allowed to exist in the 'Publishing' directory. Once the limit is met, publishing deletes the oldest copy. Set this value to a positive integer to keep you project from getting too bloated..."

"Project Settings→autoClearMetaFiles": "Setting that determines if unused '.ncData' files are automatically cleared from the project."

"Project Settings→enableDynamicDocumentation": "Setting that determines if Incisor automatically updates the 'IncisorAPI' file in the project Utilities diractory so that autocomplete reflects project-specific items such as assets and definitions."

"Project Settings→screenShotDestination": "Provide a project-relative path for where screenshots will be saved."

"Project Settings→defaultTimelineTimeSnap": "The default keyframe-time snap grid (in seconds) that newly created Timelines adopt. Existing timelines keep their own stored value."

"Project Settings→developmentSettings→additionalLiveViewModes": "A comma separated list of view modes for the 'Live View' panel. The listed items are of the format 'AAAxBBB' or 'AAAxBBB_maximize', where AAA is the horizontal resolution, BBB is the vertical resolution, and '_maximize' is included if the view mode is meant to be fitted to fill as much of the Live View panel as possible."

"Project Settings→auxiliaryPublishingPackageDefinitions": "This is where all of the auxiliary publishing packages are defined. These packages can be enabled/disabled within any of the configurations below to activate additional publishing such as Electron publishing for native apps."

"Project Settings→auxiliaryPublishingPackageDefinitions→electron": "This is where all of the Electron auxiliary publishing packages are defined."

"Project Settings→configurations": "Configurations are interchangable sets of project settings that can be used to develop and publish projects in different modes. It is often helpful to have different settings for development, testing, and publishing. For example, in development you may want only a single language active and an active conditionalCodeTag that corresponds to blocks of code for debugging. While in testing you may want to enable all languages and a conditionalCodeTag that corresponds to test scripts. And lastly when publishing, you may want to include more assetPackageScales, enabled code minification, or remove optional code modules. Configurations can also be very useful for managing multiple publishing modes; if your project will be published for 2 or more differnt environments you can customize multiple configurations to meet the exact needs of those environments."

"Project Settings→devModeConfiguration": "This determines which configuration is used while developing in Incisor."

"Project Settings→loadingTierDefinitions": "Groups of lazy-loaded content are defined in these 'loading tiers'."

"Project Settings→fontDefinitions": "Settings for the fonts within this project. Fonts must be added or removed directly within the 'Assets' directory in a project. Including TTF and OTF files automatically generates new fonts sections below, also any graphic asset included that ends in '_Char0' is automatically assumed to be the null character of a new font."

"Project Settings→fontReduction": "Settings for how Incisor manages which characters are included for each font."

"Project Settings→fontReduction→includeStandardCharactersWhenUnPublished": "Setting that determines if Incisor automatically includes all of the characters from the 'standardFontCharacters' in all fonts when the project is in developoment mode."

"Project Settings→fontReduction→includeStandardCharactersWhenPublished": "Setting that determines if Incisor automatically includes all of the characters from the 'standardFontCharacters' in all fonts when the project is published."

"Project Settings→fontReduction→includeTranscriptCharacters": "Setting that determines if Incisor automatically includes all of the characters included in the 'ProjectTranscript.json' file."

"Project Settings→fontReduction→limitTranscriptCharactersByLanguage": "Setting that determines if the characters included from the 'ProjectTranscript.json' are limited by the current language. When true, only characters from phrases in the current language will be included with the associated fonts."

"Project Settings→fontReduction→limitTranscriptCharactersByPhrase": "Setting that determines if the characters included from the 'ProjectTranscript.json' are limited to only characters in the phrases indicated."

"Project Settings→fontReduction→standardFontCharacters": "A list of characters that are included for all fonts, as long as the associated 'includeStandardCharacters' setting indicates inclusion."

"Project Settings→configurations→supportedAssetConfigurations": "Determine which sets of asset configurations are included. When developing in Incisor, the first asset configuration listed is the one used."

"Project Settings→configurations→codeInclusion": "Settings for including and excluding code."

"Project Settings→configurations→conditionalCodeTagsInlcuded": "Check the boxes below to determine which conditional code sections to include in this configuration."

"Project Settings→configurations→optionalCodeModulesExcluded": "Check the boxes below to determine which optional code modules to exclude from Incisor functionality. Excluding as many optional modules as possible can help reduce the download size of your published project."

"Project Settings→configurations→optionalCodeModulesExcluded→"+_codeModule: _optionalCodeModuleDescription

"Project Settings→configurations→publishing": "Settings for publishing projects."

"Project Settings→configurations→publishIndexFile": "Flag determining if the project is published as a complete web-ready package, including the index file. Reasons to disable this could include publishing for an environment that uses the associated JavaScript directly, negating the need for html."

"Project Settings→configurations→removeComments": "Setting to determine if Incisor removes comments from the code when publishing the project."

"Project Settings→configurations→removeWhitespace": "Setting to determine if Incisor removes whitespace from code when publishing the project. It should be noted that whitespace removal requires semi-colons be pre-included in all project code prior to publishing."

"Project Settings→configurations→minification": "Settings for if/how Incisor minifies project and API code. Minification consists of replacing normal code tokens (i.e. variable names etc...) with shorter nonsense tokens. This serves 2 purposes. The first is to reduce the download size of code, and the second is to generally obfuscate the code to make reverse-engineering projects more difficult."

"Project Settings→configurations→minification→enableMinification": "Setting to determine if Incisor applies minification when publishing this project. Minification consists of replacing normal code tokens (i.e. variable names etc...) with shorter nonsense tokens. This serves 2 purposes. The first is to reduce the download size of code, and the second is to generally obfuscate the code to make reverse-engineering projects more difficult."

"Project Settings→configurations→minification→automaticallyMinifyAllKeywords": "This setting determines if minification is automatically applied to all project code tokens that are not marked as excluded from minification. If this flag is true, then you can 'opt-out' to minification on a per-token basis using the doNotMinifyPrefix, the doNotMinifySuffix, or a 'DoNotMinifyList'. If this flag is false, then you can 'opt-in' to minification on a per-token basis using the minifyPrefix, the minifySuffix, or a 'MinifyList'."

"Project Settings→configurations→minification→minifyIncisorApiKeywordsCallback": "Setting to determine if Incisor applies minification to the keywords from the Incisor API when publishing. Minification consists of replacing normal code tokens (i.e. variable names etc...) with shorter nonsense tokens. This serves 2 purposes. The first is to reduce the download size of code, and the second is to generally obfuscate the code to make reverse-engineering projects more difficult."

"Project Settings→configurations→minification→minifyAssetNames": "Setting to determine if Incisor applies minification to names of assets from the project. Minification consists of replacing normal code tokens (i.e. variable names etc...) with shorter nonsense tokens. This serves 2 purposes. The first is to reduce the download size of code, and the second is to generally obfuscate the code to make reverse-engineering projects more difficult."

"Project Settings→configurations→minification→doNotMinifyPrefix": "This field contains a prefix that when included in a code token (var name, class name, etc...), indicates that that code token should not be minified ."

"Project Settings→configurations→minification→minifyPrefix": "This field contains a prefix that when included in a code token (var name, class name, etc...), indicates that that code token should be minified ."

"Project Settings→configurations→minification→doNotMinifySuffix": "This field contains a prefix that when included in a code token (var name, class name, etc...), indicates that that code token should not be minified ."

"Project Settings→configurations→minification→minifyPrefix": "This field contains a prefix that when included in a code token (var name, class name, etc...), indicates that that code token should be minified ."

"Project Settings→configurations→minification→keywordAndStringPairTreatment": "Setting that determines how minification works when a token/string pair is encountered."

"Project Settings→configurations→minification→substituionAssignment": "The amount of information included in the logs. Incisor log files are written to the 'Application Support' directory, which can be accessed from the Incisor menu."

"Project Settings→configurations→auxiliaryPublishingPackages": "Determine which auxiliary publishing packages will be used when publishing with this configuration."

"ProjectSettings→auxiliaryPublishingPackageDefinitions→electron→application": "Settings the generated Electron application."

"ProjectSettings→auxiliaryPublishingPackageDefinitions→electron→targetOS": "The target OS for the ElectronBuild"

"ProjectSettings→auxiliaryPublishingPackageDefinitions→electron→icon": "The path to an icon png for an image the the OS uses to represent a specific window. The behaviour associated with this property can vary a lot by platform."

"ProjectSettings→auxiliaryPublishingPackageDefinitions→electron→type": "Determines the type of window created by this app. The effect of this property on the window is OS-dependent."

"ProjectSettings→auxiliaryPublishingPackageDefinitions→electron→windowPositioning": "Settings for how to position the Electron window."

"ProjectSettings→auxiliaryPublishingPackageDefinitions→electron→x": "The x position of the Electron window."

"ProjectSettings→auxiliaryPublishingPackageDefinitions→electron→center": "Determines if the Electron window centered in the screen."

"ProjectSettings→auxiliaryPublishingPackageDefinitions→electron→y": "The y position of the Electron window."

"ProjectSettings→auxiliaryPublishingPackageDefinitions→electron→windowScaling": "Settings for how to position the Electron window."

"ProjectSettings→auxiliaryPublishingPackageDefinitions→electron→width": "The width of the Electron window."

"ProjectSettings→auxiliaryPublishingPackageDefinitions→electron→windowPositionDelay": "The delay (in miliseconds) before positioning and scaling the window."

"ProjectSettings→auxiliaryPublishingPackageDefinitions→electron→height": "The initial height of the Electron window."

"ProjectSettings→auxiliaryPublishingPackageDefinitions→electron→minWidth": "The minimum width of the Electron window."

"ProjectSettings→auxiliaryPublishingPackageDefinitions→electron→maxWidth": "The maximum width of the Electron window."

"ProjectSettings→auxiliaryPublishingPackageDefinitions→electron→minHeight": "The minimum height of the Electron window."

"ProjectSettings→auxiliaryPublishingPackageDefinitions→electron→maxHeight": "The maximum width of the Electron window."

"ProjectSettings→auxiliaryPublishingPackageDefinitions→electron→windowFunctionality": "Settings for the functionality of the Electron window."

"ProjectSettings→auxiliaryPublishingPackageDefinitions→electron→resizable": "Determines if the Electron window is resizable."

"ProjectSettings→auxiliaryPublishingPackageDefinitions→electron→minimizable": "Determines if the Electron window is minimizable."

"ProjectSettings→auxiliaryPublishingPackageDefinitions→electron→movable": "Determines if the Electron window is movable."

"ProjectSettings→auxiliaryPublishingPackageDefinitions→electron→maximizable": "Determines if the Electron window is maximizable."

"ProjectSettings→auxiliaryPublishingPackageDefinitions→electron→closable": "Determines if the Electron window is closable."

"ProjectSettings→auxiliaryPublishingPackageDefinitions→electron→focusable": "Determines if the Electron window is focusable."

"ProjectSettings→auxiliaryPublishingPackageDefinitions→electron→fullscreenable": "Determines if the Electron window is fullscreenable."

"ProjectSettings→auxiliaryPublishingPackageDefinitions→electron→level": "This sets the window's stacking level relative to other windows on the system."

"ProjectSettings→auxiliaryPublishingPackageDefinitions→electron→enableContextMenu": "Enables a context menu in the electron window... The details of which are spelled out in the ElectronMain.js file which can be found in the project directory (after publshing with electron at least once) Utilities/auxiliaryPublishingSupport/electron/[MyElectronPublishingPackage]/ElectronMain."

"ProjectSettings→auxiliaryPublishingPackageDefinitions→electron→incisorFileIoLayer": "Determines whether this published Electron build exposes the native fileIO layer, letting nc.fileIO requests be serviced by the Electron runtime (reading and writing within the application's own data directory). Enabled by default. This only has an effect when the 'fileIO' and 'fileIoElectron' optional code modules are also included (see Project Settings, configurations, optionalCodeModulesExcluded). The scope of file access is further governed by the 'allowUniversalFileIO' option below."

"ProjectSettings→auxiliaryPublishingPackageDefinitions→electron→allowUniversalFileIO": "Determines whether this published Electron build may read and write files outside its own application data directory. Disabled by default, in which case fileIO is confined to relative paths within the app's data directory and non-relative paths are refused with an explanatory dialog. When enabled, the published application can access any file on the user's machine - enable with care. This applies only when the native fileIO layer is active (the 'incisorFileIoLayer' option above is enabled and the 'fileIO' and 'fileIoElectron' modules are included). This is the Electron-build equivalent of the application-level 'allowUniversalFileIO' setting that governs FileIO while developing in Incisor."

"ProjectSettings→auxiliaryPublishingPackageDefinitions→electron→windowAppearence": "Settings for the appearance of the Electron window."

"ProjectSettings→auxiliaryPublishingPackageDefinitions→electron→frame": "Determines if the Electron window has a frame."

"ProjectSettings→auxiliaryPublishingPackageDefinitions→electron→transparent": "Determines if the Electron window is transparent."

"ProjectSettings→auxiliaryPublishingPackageDefinitions→electron→backgroundColor": "The background color of the Electron window."

"ProjectSettings→auxiliaryPublishingPackageDefinitions→electron→opacity": "The opacity of the Electron window."

"ProjectSettings→auxiliaryPublishingPackageDefinitions→electron→vibrancy": "The vibrancy option enables a translucent, blurred background effect for windows on macOS. It's a macOS-specific visual effect (similar to 'blur behind') where the window content blends with whatever is behind it.."

"ProjectSettings→auxiliaryPublishingPackageDefinitions→electron→visualEffectState": "Can be used in conjunction with 'vibrancy', and also controls whether the effect stays visible when the app isn't active."

"darkTheme": "Determines if the Electron window uses darkTheme."

"ProjectSettings→auxiliaryPublishingPackageDefinitions→electron→hasShadow": "Determines if the Electron window has a shadow."

"ProjectSettings→auxiliaryPublishingPackageDefinitions→electron→menuBarVisible": "Determines if the Electron window menu bar is visible."

"ProjectSettings→auxiliaryPublishingPackageDefinitions→electron→autoHideMenuBar": "Determines if the Electron window menu bar automatically hidden."

"ProjectSettings→auxiliaryPublishingPackageDefinitions→electron→fullscreen": "Settings for if/when the Electron app enters fullscreen mode."

"ProjectSettings→auxiliaryPublishingPackageDefinitions→electron→simpleFullscreen": "'simpleFullscreen' enables a non-Space-creating fullscreen mode on macOS, and does not affect the generated app on other operating systems."

"ProjectSettings→auxiliaryPublishingPackageDefinitions→electron→fullScreen": "'fullscreen' enables enables native fullscreen mode for the window. Please note that for some versions of linux the 'frame' setting may need to be false for this to work properly."

"ProjectSettings→auxiliaryPublishingPackageDefinitions→electron→kiosk": "This setting is similar to the 'fullscreen' setting, but it goes further by actively preventing the user from leaving your app. Please note that for some versions of linux the 'frame' setting may need to be false for this to work properly."

"Project Settings→loadingTierDefinitions→loadingTier": "The number-designation of this loading tier. Loading tiers are identified via numbers, which gives the auto-loaded tiers an implicit ordering, allowing for built-in duplicate removal accross multiple tiers."

"Project Settings→loadingTierDefinitions→isAutoLoaded": "Flag determining the content associated with this tier is automatically loaded."

"Project Settings→loadingTierDefinitions→incrementalContentProcessing": "Flag determining if the content associated with this loading tier will be processed 'a little at a time' upon loading. This option helps avoid the potential performance hits from processing lazy-loaded content. In most cases this value should be false for tiers that load during a loading screen, and it should be true for tiers that will be loaded while the project is already usable by the end-user."

"Project Settings→loadingTierDefinitions→perfomDuprlicateRemoval": "Flag determining if the content associated with this tier is eligible for duplicate removal."

"Project Settings→loadingTierDefinitions→assetDataFileSizeLimitKB": "A soft limit on the size of asset data files within this tier. This setting can be used to ensure that no lazy-loaded asset data files can get too big; large asset data files can cause performance hits when they first load, as they can require large memory allocations. So for loading tiers that are loaded during a loading screen, this value can be fairly high, but for loading tiers that are lazy-loaded durung runtime set this number to be lower."