Scene ManagementTree NodesNodeOn this pageNode Description: Class used for building a hierarchical tree structure of game objects. Class Object: Node Class. Inherits from: Object. order Type: Field. Description: The order of the node in the parent's children array. Signature: order: integer angle Type: Field. Description: The rotation angle of the node in degrees. Signature: angle: number angleX Type: Field. Description: The X-axis rotation angle of the node in degrees. Signature: angleX: number angleY Type: Field. Description: The Y-axis rotation angle of the node in degrees. Signature: angleY: number scaleX Type: Field. Description: The X-axis scale factor of the node. Signature: scaleX: number scaleY Type: Field. Description: The Y-axis scale factor of the node. Signature: scaleY: number x Type: Field. Description: The X-axis position of the node. Signature: x: number y Type: Field. Description: The Y-axis position of the node. Signature: y: number z Type: Field. Description: The Z-axis position of the node. Signature: z: number position Type: Field. Description: The position of the node as a Vec2 object. Signature: position: Vec2 skewX Type: Field. Description: The X-axis skew angle of the node in degrees. Signature: skewX: number skewY Type: Field. Description: The Y-axis skew angle of the node in degrees. Signature: skewY: number visible Type: Field. Description: Whether the node is visible. Signature: visible: boolean anchor Type: Field. Description: The anchor point of the node as a Vec2 object. Signature: anchor: Vec2 width Type: Field. Description: The width of the node. Signature: width: number height Type: Field. Description: The height of the node. Signature: height: number size Type: Field. Description: The size of the node as a Size object. Signature: size: Size tag Type: Field. Description: The tag of the node as a string. Signature: tag: string opacity Type: Field. Description: The opacity of the node, should be 0 to 1.0. Signature: opacity: number color Type: Field. Description: The color of the node as a Color object. Signature: color: Color color3 Type: Field. Description: The color of the node as a Color3 object. Signature: color3: Color3 passOpacity Type: Field. Description: Whether to pass the opacity value to child nodes. Signature: passOpacity: boolean passColor3 Type: Field. Description: Whether to pass the color value to child nodes. Signature: passColor3: boolean transformTarget Type: Field. Description: The target node acts as a parent node for transforming this node. Signature: transformTarget: Node scheduler Type: Field. Description: The scheduler used for scheduling update and action callbacks. Signature: scheduler: Scheduler hasChildren Type: Readonly Field. Description: Whether the node has children. Signature: const hasChildren: boolean children Type: Readonly Field. Description: The children of the node as an Array object, could be nil. Signature: const children: Array parent Type: Readonly Field. Description: The parent node of the node. Signature: const parent: Node running Type: Readonly Field. Description: Whether the node is currently running in a scene tree. Signature: const running: boolean scheduled Type: Readonly Field. Description: Whether the node is currently scheduling a function or a coroutine for updates. Signature: const scheduled: boolean actionCount Type: Readonly Field. Description: The number of actions currently running on the node. Signature: const actionCount: integer data Type: Readonly Field. Description: Additional data stored on the node as a Dictionary object. Signature: const data: Dictionary touchEnabled Type: Field. Description: Whether touch events are enabled on the node. Signature: touchEnabled: boolean swallowTouches Type: Field. Description: Whether the node should swallow touch events. Signature: swallowTouches: boolean swallowMouseWheel Type: Field. Description: Whether the node should swallow mouse wheel events. Signature: swallowMouseWheel: boolean keyboardEnabled Type: Field. Description: Whether keyboard events are enabled on the node. Signature: keyboardEnabled: boolean controllerEnabled Type: Field. Description: Whether controller events are enabled on the node. Signature: controllerEnabled: boolean renderGroup Type: Field. Description: Whether to group the node's rendering with all its recursive children. Signature: renderGroup: boolean showDebug Type: Field. Description: Whether debug graphic should be displayed for the node. Signature: showDebug: boolean renderOrder Type: Field. Description: The rendering order number for group rendering. Nodes with lower rendering orders are rendered earlier. Signature: renderOrder: integer addChild Type: Function. Description: Adds a child node to the current node. Signature: addChild: function( self: Node, child: Node, order?: integer --[[0]], tag?: string --[[""]] ) Parameters: ParameterTypeDescriptionchildNodeThe child node to add.orderinteger[optional] The drawing order of the child node. Default is 0.tagstring[optional] The tag of the child node. Default is an empty string. addTo Type: Function. Description: Adds the current node to a parent node. Signature: addTo: function( self: Node, parent: Node, order?: integer --[[0]], tag?: string --[[""]] ): Node Parameters: ParameterTypeDescriptionparentNodeThe parent node to add the current node to.orderinteger[optional] The drawing order of the current node. Default is 0.tagstring[optional] The tag of the current node. Default is an empty string. Returns: Return TypeDescriptionNodeThe current node. removeChild Type: Function. Description: Removes a child node from the current node. Signature: removeChild: function( self: Node, child: Node, cleanup?: boolean --[[true]] ) Parameters: ParameterTypeDescriptionchildNodeThe child node to remove.cleanupboolean[optional] Whether to cleanup the child node. Default is true. removeChildByTag Type: Function. Description: Removes a child node from the current node by tag. Signature: removeChildByTag: function( self: Node, tag: string, cleanup?: boolean --[[true]] ) Parameters: ParameterTypeDescriptiontagstringThe tag of the child node to remove.cleanupboolean[optional] Whether to cleanup the child node. Default is true. removeAllChildren Type: Function. Description: Removes all child nodes from the current node. Signature: removeAllChildren: function( self: Node, cleanup?: boolean --[[true]] ) Parameters: ParameterTypeDescriptioncleanupboolean[optional] Whether to cleanup the child nodes. Default is true. removeFromParent Type: Function. Description: Removes the current node from its parent node. Signature: removeFromParent: function( self: Node, cleanup?: boolean --[[true]] ) Parameters: ParameterTypeDescriptioncleanupboolean[optional] Whether to cleanup the current node. Default is true. moveToParent Type: Function. Description: Moves the current node to a new parent node without triggering node events. Signature: moveToParent: function(self: Node, parent: Node) Parameters: ParameterTypeDescriptionparentNodeThe new parent node to move the current node to. cleanup Type: Function. Description: Cleans up the current node. Signature: cleanup: function(self: Node) getChildByTag Type: Function. Description: Gets a child node by tag. Signature: getChildByTag: function(self: Node, tag: string): Node Parameters: ParameterTypeDescriptiontagstringThe tag of the child node to get. Returns: Return TypeDescriptionNodeThe child node, or nil if not found. schedule Type: Function. Description: Schedules a main function to run every frame. Call this function again to replace the previous scheduled main function or coroutine. Signature: schedule: function(self: Node, func: function(number): boolean) Parameters: ParameterTypeDescriptionfuncfunctionThe main function to run, returns true to stop. schedule Type: Function. Description: Schedules a main coroutine to run. Call this function again to replace the previous scheduled main function or coroutine. Signature: schedule: function(self: Node, job: Routine.Job) Parameters: ParameterTypeDescriptionjobRoutine.JobThe main coroutine to run, return or yield true to stop. unschedule Type: Function. Description: Unschedules the current node's scheduled main function or coroutine. Signature: unschedule: function(self: Node) once Type: Function. Description: Schedules a function that runs in a coroutine once. Call this function to replace the previous scheduled main function or coroutine. Signature: once: function(self: Node, func: function()) Parameters: ParameterTypeDescriptionfuncfunctionThe function to run once. loop Type: Function. Description: Schedules a function that runs in a coroutine in a loop. Call this function to replace the previous scheduled main function or coroutine. Signature: loop: function(self: Node, func: function(): boolean) Parameters: ParameterTypeDescriptionfuncfunctionThe function to run in a loop, returns true to stop. convertToNodeSpace Type: Function. Description: Converts a point in world space to node space. Signature: convertToNodeSpace: function(self: Node, worldPoint: Vec2): Vec2 Parameters: ParameterTypeDescriptionworldPointVec2The point to convert. Returns: Return TypeDescriptionVec2The converted point. convertToNodeSpace Type: Function. Description: Converts a point in world space to node space. Signature: convertToNodeSpace: function(self: Node, worldPoint: Vec2, z: number): Vec2, number Parameters: ParameterTypeDescriptionworldPointVec2The point to convert.znumberThe z-coordinate of the point. Returns: Return TypeDescriptionVec2The converted point.numberThe converted z-coordinate. convertToWorldSpace Type: Function. Description: Converts a point from node space to world space. Signature: convertToWorldSpace: function(self: Node, nodePoint: Vec2): Vec2 Parameters: ParameterTypeDescriptionnodePointVec2The point in node space. Returns: Return TypeDescriptionVec2The converted point in world space. convertToWorldSpace Type: Function. Description: Converts a point from node space to world space. Signature: convertToWorldSpace: function(self: Node, nodePoint: Vec2, z: number): Vec2, number Parameters: ParameterTypeDescriptionnodePointVec2The point in node space.znumberThe z coordinate in node space. Returns: Return TypeDescriptionVec2The converted point in world space.numberThe converted z coordinate in world space . convertToWindowSpace Type: Function. Description: Converts a point from node space to window space. Signature: convertToWindowSpace: function(self: Node, nodePoint: Vec2, callback: function(Vec2)) Parameters: ParameterTypeDescriptionnodePointVec2The point in node space.callbackfunctionThe callback function to receive the converted point in window space. eachChild Type: Function. Description: Calls the given function for each child node of this node. The child nodes can not be added or removed during the iteration. Signature: eachChild: function(self: Node, func: function(Node): boolean): boolean Parameters: ParameterTypeDescriptionfuncfunctionThe function to call for each child node. The function should return a boolean value indicating whether to continue the iteration. Return true to stop iteration. Returns: Return TypeDescriptionbooleanFalse if all children have been visited, true if the iteration was interrupted by the function. traverse Type: Function. Description: Traverses the node hierarchy starting from this node and calls the given function for each visited node. The nodes without TraverseEnabled flag are not visited. The nodes can not be added or removed during the iteration. Signature: traverse: function(self: Node, func: function(Node): boolean): boolean Parameters: ParameterTypeDescriptionfuncfunctionThe function to call for each visited node. The function should return a boolean value indicating whether to continue the traversal. Return true to stop iteration. Returns: Return TypeDescriptionbooleanFalse if all nodes have been visited, true if the traversal was interrupted by the function. traverseAll Type: Function. Description: Traverses the entire node hierarchy starting from this node and calls the given function for each visited node. The nodes without TraverseEnabled flag are also visited. The nodes can not be added or removed during the iteration. Signature: traverseAll: function(self: Node, func: function(Node): boolean): boolean Parameters: ParameterTypeDescriptionfuncfunctionThe function to call for each visited node. The function should return a boolean value indicating whether to continue the traversal. Returns: Return TypeDescriptionbooleanTrue if all nodes have been visited, false if the traversal was interrupted by the function. runAction Type: Function. Description: Runs the given action on this node. Signature: runAction: function(self: Node, action: Action, loop?: boolean): number Parameters: ParameterTypeDescriptionactionActionThe action to run.loopboolean[optional] Whether to loop the action. Default is false. Returns: Return TypeDescriptionnumberThe duration of the newly running action in seconds. runAction Type: Function. Description: Runs an action defined by the given action definition on this node. Signature: runAction: function(self: Node, actionDef: ActionDef, loop?: boolean): number Parameters: ParameterTypeDescriptionactionDefActionDefThe action definition to run.loopboolean[optional] Whether to loop the action. Default is false. Returns: Return TypeDescriptionnumberThe duration of the newly running action in seconds. stopAllActions Type: Function. Description: Stops all actions running on this node. Signature: stopAllActions: function(self: Node) perform Type: Function. Description: Runs the given action immediately without adding it to the action queue. Signature: perform: function(self: Node, action: Action, loop?: boolean): number Parameters: ParameterTypeDescriptionactionActionThe action to run.loopboolean[optional] Whether to loop the action. Default is false. Returns: Return TypeDescriptionnumberThe duration of the newly running action. perform Type: Function. Description: Runs an action defined by the given action definition right after clear all the previous running actions. Signature: perform: function(self: Node, actionDef: ActionDef, loop?: boolean): number Parameters: ParameterTypeDescriptionactionDefActionDefThe action definition to run.loopboolean[optional] Whether to loop the action. Default is false. Returns: Return TypeDescriptionnumberThe duration of the newly running action. stopAction Type: Function. Description: Stops the given action running on this node. Signature: stopAction: function(self: Node, action: Action) Parameters: ParameterTypeDescriptionactionActionThe action to stop. alignItemsVertically Type: Function. Description: Vertically aligns all child nodes of this node. Signature: alignItemsVertically: function( self: Node, padding?: number --[[10]] ): Size Parameters: ParameterTypeDescriptionpaddingnumber[optional] The padding between child nodes. Defaults to 10. Returns: Return TypeDescriptionSizeThe size of the aligned child nodes. alignItemsVertically Type: Function. Description: Vertically aligns all child nodes within the node using the given size and padding. Signature: alignItemsVertically: function( self: Node, size: Size, padding?: number --[[10]] ): Size Parameters: ParameterTypeDescriptionsizeSizeThe size to use for alignment.paddingnumber[optional] The amount of padding to use between each child node (default is 10). Returns: Return TypeDescriptionSizeThe size of the node after alignment. alignItemsHorizontally Type: Function. Description: Horizontally aligns all child nodes within the node using the given padding. Signature: alignItemsHorizontally: function( self: Node, padding?: number --[[10]] ): Size Parameters: ParameterTypeDescriptionpaddingnumber[optional] The amount of padding to use between each child node (default is 10). Returns: Return TypeDescriptionSizeThe size of the node after alignment. alignItemsHorizontally Type: Function. Description: Horizontally aligns all child nodes within the node using the given size and padding. Signature: alignItemsHorizontally: function( self: Node, size: Size, padding?: number --[[10]] ): Size Parameters: ParameterTypeDescriptionsizeSizeThe size to hint for alignment.paddingnumber[optional] The amount of padding to use between each child node (default is 10). Returns: Return TypeDescriptionSizeThe size of the node after alignment. alignItems Type: Function. Description: Aligns all child nodes within the node using the given size and padding. Signature: alignItems: function( self: Node, padding?: number --[[10]] ): Size Parameters: ParameterTypeDescriptionpaddingnumber[optional] The amount of padding to use between each child node (default is 10). Returns: Return TypeDescriptionSizeThe size of the node after alignment. alignItems Type: Function. Description: Aligns all child nodes within the node using the given size and padding. Signature: alignItems: function( self: Node, size: Size, padding?: number --[[10]] ): Size Parameters: ParameterTypeDescriptionsizeSizeThe size to use for alignment.paddingnumber[optional] The amount of padding to use between each child node (default is 10). Returns: Return TypeDescriptionSizeThe size of the node after alignment. moveAndCullItems Type: Function. Description: Moves and changes child nodes' visibility based on their position in parent's area. Signature: moveAndCullItems: function(self: Node, delta: Vec2) Parameters: ParameterTypeDescriptiondeltaVec2The distance to move its children. attachIME Type: Function. Description: Attaches the input method editor (IME) to the node. Makes node recieving "AttachIME", "DetachIME", "TextInput", "TextEditing" events. Signature: attachIME: function(self: Node) detachIME Type: Function. Description: Detaches the input method editor (IME) from the node. Signature: detachIME: function(self: Node) gslot Type: Function. Description: Gets the global event listener associated with the given event name in this node. Signature: gslot: function(self: Node, eventName: string): {GSlot} Parameters: ParameterTypeDescriptioneventNamestringThe name of the global event. Returns: Return TypeDescription{GSlot}All the global event listeners associated with the event. gslot Type: Function. Description: Associates the given event handler function with a global event. Signature: gslot: function(self: Node, eventName: string, handler: function()): GSlot Parameters: ParameterTypeDescriptioneventNamestringThe name of the global event.handlerfunctionThe handler function to associate with the event. Returns: Return TypeDescriptionGSlotThe global event listener associated with the event in this node. slot Type: Function. Description: Gets the node event listener associated with the given node event name. Signature: slot: function(self: Node, eventName: string): Slot Parameters: ParameterTypeDescriptioneventNamestringThe name of the node event. Returns: Return TypeDescriptionSlotThe node event listener associated with the node event. slot Type: Function. Description: Associates the given handler function with the node event. Signature: slot: function(self: Node, eventName: string, handler: function()) Parameters: ParameterTypeDescriptioneventNamestringThe name of the node event.handlerfunctionThe handler function to associate with the node event. emit Type: Function. Description: Emits a node event with a given event name and arguments. Signature: emit: function(self: Node, eventName: string, ...: any) Parameters: ParameterTypeDescriptioneventNamestringThe name of the node event.......anyThe arguments to pass to the node event handler functions. grab Type: Function. Description: Creates or removes a texture grabber for the specified node. Signature: grab: function( self: Node, enabled?: boolean --[[true]] ): Grabber Parameters: ParameterTypeDescriptionenabledboolean[optional] Whether to enable or disable the grabber. Default is true. Returns: Return TypeDescriptionGrabberA Grabber object with gridX == 1 and gridY == 1 when enabled. grab Type: Function. Description: Creates a texture grabber for the specified node with a specified grid size. Signature: grab: function(self: Node, gridX: number, gridY: number): Grabber Parameters: ParameterTypeDescriptiongridXnumberThe number of horizontal grid cells to divide the grabber into.gridYnumberThe number of vertical grid cells to divide the grabber into. Returns: Return TypeDescriptionGrabberA Grabber object. onUpdate Type: Function. Description: Schedules a function to run every frame. Call this function again to schedule multiple functions. Signature: onUpdate: function(self: Node, func: function(number): boolean) Parameters: ParameterTypeDescriptionfuncfunctionThe function to run every frame, returns true to stop. onUpdate Type: Function. Description: Schedules a coroutine to run every frame. Call this function again to schedule multiple coroutines. Signature: onUpdate: function(self: Node, job: Routine.Job) Parameters: ParameterTypeDescriptionjobRoutine.JobThe coroutine to run every frame. onActionEnd Type: Function. Description: Registers a callback for event triggered when an action is finished. Signature: onActionEnd: function(self: Node, callback: function(action: Action, target: Node)) Parameters: ParameterTypeDescriptioncallbackfunctionThe callback function to register. onTapFilter Type: Function. Description: Registers a callback for event triggered before the TapBegan slot and can be used to filter out certain taps. This function also sets node.touchEnabled = true. Signature: onTapFilter: function(self: Node, callback: function(touch: Touch)) Parameters: ParameterTypeDescriptioncallbackfunctionThe callback function to register. onTapBegan Type: Function. Description: Registers callback for event triggered when a tap is detected. This function also sets node.touchEnabled = true. Signature: onTapBegan: function(self: Node, callback: function(touch: Touch)) Parameters: ParameterTypeDescriptioncallbackfunctionThe callback function to register. onTapEnded Type: Function. Description: Registers callback for event triggered when a tap ends. This function also sets node.touchEnabled = true. Signature: onTapEnded: function(self: Node, callback: function(touch: Touch)) Parameters: ParameterTypeDescriptioncallbackfunctionThe callback function to register. onTapped Type: Function. Description: Registers callback for event triggered when a tap is detected and has ended. This function also sets node.touchEnabled = true. Signature: onTapped: function(self: Node, callback: function(touch: Touch)) Parameters: ParameterTypeDescriptioncallbackfunctionThe callback function to register. onTapMoved Type: Function. Description: Registers callback for event triggered when a tap moves. This function also sets node.touchEnabled = true. Signature: onTapMoved: function(self: Node, callback: function(touch: Touch)) Parameters: ParameterTypeDescriptioncallbackfunctionThe callback function to register. onMouseWheel Type: Function. Description: Registers callback for event triggered when the mouse wheel is scrolled. This function also sets node.touchEnabled = true. Signature: onMouseWheel: function(self: Node, callback: function(delta: Vec2)) Parameters: ParameterTypeDescriptioncallbackfunctionThe callback function to register. onGesture Type: Function. Description: Registers callback for event triggered when a gesture is recognized. This function also sets node.touchEnabled = true. Signature: onGesture: function(self: Node, callback: function(center: Vec2, numFingers: integer, deltaDist: number, deltaAngle: number)) Parameters: ParameterTypeDescriptioncallbackfunctionThe callback function to register. onEnter Type: Function. Description: Registers callback for event triggered when a node is added to the scene graph. Signature: onEnter: function(self: Node, callback: function()) Parameters: ParameterTypeDescriptioncallbackfunctionThe callback function to register. onExit Type: Function. Description: Registers callback for event triggered when a node is removed from the scene graph. Signature: onExit: function(self: Node, callback: function()) Parameters: ParameterTypeDescriptioncallbackfunctionThe callback function to register. onCleanup Type: Function. Description: Registers callback for event triggered when a node is cleaned up. Signature: onCleanup: function(self: Node, callback: function()) Parameters: ParameterTypeDescriptioncallbackfunctionThe callback function to register. onKeyDown Type: Function. Description: Registers callback for event triggered when a key is pressed down. This function also sets node.keyboardEnabled = true. Signature: onKeyDown: function(self: Node, callback: function(keyName: Keyboard.KeyName)) Parameters: ParameterTypeDescriptioncallbackfunctionThe callback function to register. onKeyUp Type: Function. Description: Registers callback for event triggered when a key is released. This function also sets node.keyboardEnabled = true. Signature: onKeyUp: function(self: Node, callback: function(keyName: Keyboard.KeyName)) Parameters: ParameterTypeDescriptioncallbackfunctionThe callback function to register. onKeyPressed Type: Function. Description: Registers callback for event triggered when a key is pressed. This function also sets node.keyboardEnabled = true. Signature: onKeyPressed: function(self: Node, callback: function(keyName: Keyboard.KeyName)) Parameters: ParameterTypeDescriptioncallbackfunctionThe callback function to register. onAttachIME Type: Function. Description: Registers callback for event triggered when the input method editor (IME) is attached. Signature: onAttachIME: function(self: Node, callback: function()) Parameters: ParameterTypeDescriptioncallbackfunctionThe callback function to register. onDetachIME Type: Function. Description: Registers callback for event triggered when the input method editor (IME) is detached. Signature: onDetachIME: function(self: Node, callback: function()) Parameters: ParameterTypeDescriptioncallbackfunctionThe callback function to register. onTextInput Type: Function. Description: Registers callback for event triggered when text input is received. Signature: onTextInput: function(self: Node, callback: function(text: string)) Parameters: ParameterTypeDescriptioncallbackfunctionThe callback function to register. onTextEditing Type: Function. Description: Registers callback for event triggered when text is being edited. Signature: onTextEditing: function(self: Node, callback: function(text: string, startPos: integer)) Parameters: ParameterTypeDescriptioncallbackfunctionThe callback function to register. onButtonDown Type: Function. Description: Registers callback for event triggered when a button is pressed down on a controller. This function also sets node.controllerEnabled = true. Signature: onButtonDown: function(self: Node, callback: function(controllerId: integer, buttonName: Controller.ButtonName)) Parameters: ParameterTypeDescriptioncallbackfunctionThe callback function to register. onButtonUp Type: Function. Description: Registers callback for event triggered when a button is released on a controller. This function also sets node.controllerEnabled = true. Signature: onButtonUp: function(self: Node, callback: function(controllerId: integer, buttonName: Controller.ButtonName)) Parameters: ParameterTypeDescriptioncallbackfunctionThe callback function to register. onButtonPressed Type: Function. Description: Registers callback for event triggered when a button is pressed on a controller. This function also sets node.controllerEnabled = true. Signature: onButtonPressed: function(self: Node, callback: function(controllerId: integer, buttonName: Controller.ButtonName)) Parameters: ParameterTypeDescriptioncallbackfunctionThe callback function to register. onAxis Type: Function. Description: Registers callback for event triggered when an axis is moved on a controller. This function also sets node.controllerEnabled = true. Signature: onAxis: function(self: Node, callback: function(controllerId: integer, axisName: Controller.AxisName, value: number)) Parameters: ParameterTypeDescriptioncallbackfunctionThe callback function to register. Node.AppEventType Type: Enumeration. Description: Enumeration of application events. Signature: enum AppEventType -- The application is about to quit. "Quit" -- The application gets a low memory warning. "LowMemory" -- The application is about to enter the background. "WillEnterBackground" -- The application has entered the background. "DidEnterBackground" -- The application is about to enter the foreground. "WillEnterForeground" -- The application has entered the foreground. "DidEnterForeground"end onAppEvent Type: Function. Description: Registers callback for event triggered when an application event occurs. Signature: onAppEvent: function(self: Node, callback: function(eventType: AppEventType)) Parameters: ParameterTypeDescriptioncallbackfunctionThe callback function to register. Node.AppSettingName Type: Enumeration. Description: Enumeration of application settings. Signature: enum AppSettingName -- The application's locale. "Locale" -- The application's theme color. "Theme" -- The application window's fullscreen state. "FullScreen" -- The application window's position. "Position" -- The application window's size. "Size"end onAppChange Type: Function. Description: Registers callback for event triggered when an application setting changes. Signature: onAppChange: function(self: Node, callback: function(settingName: AppSettingName)) Parameters: ParameterTypeDescriptioncallbackfunctionThe callback function to register. Node.AppWSEvent Type: Enumeration. Description: Enumeration of application WebSocket events. Signature: enum AppWSEvent -- A WebSocket connection is opened. "Open" -- A WebSocket connection is closed. "Close" -- The WebSocket receives a message. "Send" -- The WebSocket broadcasts a message. "Receive"end onAppWS Type: Function. Description: Registers callback for event triggered when an application WebSocket event occurs. Signature: onAppWS: function(self: Node, callback: function(event: AppWSEvent, message: string)) Parameters: ParameterTypeDescriptioncallbackfunctionThe callback function to register.