Adds a child node to this node's hierarchy. If the child already has a parent, it is automatically removed from that parent first. Sets the child's dirty flag to true to force transform updates.
The Node instance to append as a child.
Removes a child node from this node's hierarchy. Clears the parent reference of the child node and sets its dirty flag.
The Node instance to detach.
Performs a depth-first traversal of the node hierarchy starting from this node, executing the provided callback on each visited node.
The function to invoke for each node.
Recomputes the node's local transformation matrix. Base Node does not define individual translation, rotation, or scale properties. This should be overridden in subclasses (e.g. Node3D) that maintain distinct components.
Updates the global world matrix of this node and recursively propagates the updates down the hierarchy to all child nodes.
If true, forces transformation matrices to be recomputed even if they are not flagged as dirty.
ReadonlychildrenList of child nodes belonging to this node.
Whether the local transform has changed and needs to be recomputed and propagated.
Local transformation matrix relative to the parent node.
Unique identifier or friendly name for the node.
Parent node in the scene graph. Null if this is the root node.
Visibility flag. If false, this node and its descendants are typically skipped in rendering.
Global world transformation matrix relative to the scene origin.
Base class for all nodes in the scene graph hierarchy. Handles hierarchical parent-child relationships, traversal, and coordinate space transformations by propagating dirty transform states down the tree.