Gets the API version of the underlying RPC client.
The API version string.
Creates multiple material instances with the same smoothness but different colors. Large color arrays are automatically processed in batches for better performance.
The base material to create instances from
The smoothness value to apply (clamped between 0 and 1)
Array of colors for each material instance
Array of handles for the created material instances
Creates a 3D text element in the scene.
The world-space position for the text
The color of the text
The content to display
Promise resolving to the handle of the created text component
Frames specific instances within a component. For large numbers of instances, automatically switches to bounding box framing for better performance.
The component containing the instances
Array of node indices to frame
Duration of the camera transition in seconds (non-negative)
Promise resolving to camera segment representing the final position
Frames a specific VIM component in the scene.
The handle of the VIM component to frame
Duration of the camera transition in seconds (non-negative)
Promise resolving to camera segment representing the final position
Calculates the bounding box for specified nodes in a component. Large node arrays are automatically processed in batches for better performance.
The component containing the nodes
Array of node indices to calculate bounds for
Promise resolving to the combined bounding box
Retrieves the current loading state and progress of a VIM component.
The handle of the VIM component
Promise resolving to the current loading state and progress
Makes specified nodes semi-transparent (ghosted) in a component. Large node arrays are automatically processed in batches.
The component containing the nodes
Array of node indices to ghost
Hides the axis-aligned bounding boxes (AABBs) for specified nodes. Large node arrays are automatically processed in batches.
The component containing the nodes
Array of node indices whose AABBs should be hidden
Sends a mouse button event to the viewer.
The normalized screen coordinates (0-1, 0-1)
The mouse button code (0=left, 1=middle, 2=right)
True if button is pressed down, false if released
Performs hit testing at a specified screen position.
Normalized screen coordinates (0-1, 0-1)
Promise resolving to hit test result if something was hit, undefined otherwise
Sets the lighting settings for the scene.
The lighting settings to apply
Sets material overrides for specific nodes in a component. Large arrays are automatically processed in batches for better performance.
The component containing the nodes
Array of node indices to override
Array of material instance handles to apply (must match nodes length)
Shows axis-aligned bounding boxes (AABBs) for specified nodes with custom colors. Large arrays are automatically processed in batches for better performance.
The component containing the nodes
Array of node indices to show AABBs for
Array of colors for each AABB (must match nodes length)
Initializes and starts the scene with specified settings.
Optional
settings: Partial<SceneSettings>Optional partial scene settings to override defaults
Provides safe, validated methods to interact with the RpcClient. This class wraps the raw RPC methods with input validation and batching support for large operations.