Implements camera control operations for the 3D viewer
Creates a new Camera instance
RPC client for camera communication
Frames all vims in the viewer to fit within the camera view
Duration of the camera animation in seconds (defaults to 0.5)
Promise that resolves when the framing animation is complete
Frames a specific bounding box in the viewer
The 3D bounding box to frame in the camera view
Frames a specific object in the camera view
The target object to frame
Animation duration in seconds
Promise resolving to the final camera position segment
Frames specific nodes of a Vim model in the camera view
The Vim model containing the nodes to frame
Array of node indices to frame, or 'all' to frame the entire model
Handles camera initialization when connection is established
Pauses or resumes rendering
True to pause rendering, false to resume
Restores the camera to its last tracked position
Duration of the camera animation in seconds
Resets the camera to the last saved position
Saves the current camera position for later restoration
Optional
Optional segment to save as the camera position
Implements camera control operations for the 3D viewer