GUI configuration options
ProtectednameDisplay name
Protected OptionaliconOptional leading icon (inline SVG string, rail-style).
ProtectedparentParent folder (null for root GUI)
ProtectedcontrollersChild controllers
ProtectedfoldersChild folders
ProtectedchildrenDOM element for children
ProtectedeventEvent manager for cleanup
Root DOM element - override parent optional type
PrivateguiGUI configuration
Add a controller for a property
Auto-detects controller type based on value type and arguments
Target object
Property name
Optionalarg1: number | string[] | Record<string, any>
Min value OR options array/object
Optionalarg2: number
Max value (if arg1 is min)
Optionalarg3: number
Step value (if arg1 and arg2 are min/max)
Created controller
Add a nested folder
Folder name
Optionalicon: string
Optional leading icon (inline SVG string, rail-style)
Created folder
Get all controllers recursively (including nested folders)
Array of all controllers
Open the folder
this (for chaining)
Close the folder
this (for chaining)
ProtecteddisposeDispose all controllers and folders
PrivatecreateCreate the root DOM element with header and title
Structure (for liquid glass pseudo-element support):
Show the GUI panel
this (for chaining)
Hide the GUI panel
this (for chaining)
Destroy the GUI and clean up all resources
CRITICAL: Must remove ALL event listeners to prevent memory leaks
Create a new GUI instance