@ue-too/board / CameraRig
Interface: CameraRig
Defined in: packages/board/src/camera/camera-rig/camera-rig.ts:72
High-level camera control interface providing intuitive methods for pan, zoom, and rotation. The camera rig acts as a facade over the camera, handling coordinate conversions and constraints.
Remarks
CameraRig provides:
- Coordinate-aware methods: Separate methods for viewport and world coordinates
- Anchor-point zooming: Keep points stationary during zoom (zoom-to-cursor)
- Configuration management: Unified config for all camera operations
- Handler composition: Combines pan, zoom, rotation handlers with proper sequencing
The rig ensures correct transformation order when combining operations (e.g., zoom-at-point requires zoom followed by pan compensation).
See
- DefaultCameraRig for the default implementation
- createDefaultCameraRig for a factory function
Extends
BaseContext
Properties
camera
camera:
ObservableBoardCamera
Defined in: packages/board/src/camera/camera-rig/camera-rig.ts:74
The underlying observable camera being controlled
config
config:
CameraRigConfig
Defined in: packages/board/src/camera/camera-rig/camera-rig.ts:77
Current configuration for all camera operations
panByViewPort()
panByViewPort: (
delta) =>void
Defined in: packages/board/src/camera/camera-rig/camera-rig.ts:94
Pans the camera by a delta in viewport coordinates.
Parameters
delta
Point
Movement delta in viewport space (CSS pixels, origin at center)
Returns
void
panByWorld()
panByWorld: (
delta) =>void
Defined in: packages/board/src/camera/camera-rig/camera-rig.ts:106
Pans the camera by a delta in world coordinates.
Parameters
delta
Point
Movement delta in world space
Returns
void
panToViewPort()
panToViewPort: (
target) =>void
Defined in: packages/board/src/camera/camera-rig/camera-rig.ts:100
Pans the camera to a target position in viewport coordinates.
Parameters
target
Point
Target position in viewport space
Returns
void
panToWorld()
panToWorld: (
target) =>void
Defined in: packages/board/src/camera/camera-rig/camera-rig.ts:112
Pans the camera to a target position in world coordinates.
Parameters
target
Point
Target position in world space
Returns
void
rotateBy()
rotateBy: (
delta) =>void
Defined in: packages/board/src/camera/camera-rig/camera-rig.ts:118
Rotates the camera by a delta angle.
Parameters
delta
number
Rotation delta in radians
Returns
void
rotateTo()
rotateTo: (
target) =>void
Defined in: packages/board/src/camera/camera-rig/camera-rig.ts:124
Rotates the camera to a target angle.
Parameters
target
number
Target rotation in radians
Returns
void
zoomBy()
zoomBy: (
delta) =>void
Defined in: packages/board/src/camera/camera-rig/camera-rig.ts:150
Zooms by a delta at viewport center.
Parameters
delta
number
Zoom delta
Returns
void
zoomByAt()
zoomByAt: (
delta,at) =>void
Defined in: packages/board/src/camera/camera-rig/camera-rig.ts:138
Zooms by a delta, keeping a viewport point stationary.
Parameters
delta
number
Zoom delta
at
Point
Anchor point in viewport coordinates
Returns
void
zoomByAtWorld()
zoomByAtWorld: (
delta,at) =>void
Defined in: packages/board/src/camera/camera-rig/camera-rig.ts:164
Zooms by a delta, keeping a world point stationary.
Parameters
delta
number
Zoom delta
at
Point
Anchor point in world coordinates
Returns
void
zoomTo()
zoomTo: (
targetZoom) =>void
Defined in: packages/board/src/camera/camera-rig/camera-rig.ts:144
Zooms to a target level at viewport center.
Parameters
targetZoom
number
Target zoom level
Returns
void
zoomToAt()
zoomToAt: (
targetZoom,at) =>void
Defined in: packages/board/src/camera/camera-rig/camera-rig.ts:131
Zooms to a target level, keeping a viewport point stationary.
Parameters
targetZoom
number
Target zoom level
at
Point
Anchor point in viewport coordinates
Returns
void
zoomToAtWorld()
zoomToAtWorld: (
targetZoom,at) =>void
Defined in: packages/board/src/camera/camera-rig/camera-rig.ts:157
Zooms to a target level, keeping a world point stationary.
Parameters
targetZoom
number
Target zoom level
at
Point
Anchor point in world coordinates
Returns
void
Methods
cleanup()
cleanup():
void
Defined in: packages/being/dist/interface.d.ts:31
Returns
void
Inherited from
BaseContext.cleanup
configure()
configure(
config):void
Defined in: packages/board/src/camera/camera-rig/camera-rig.ts:83
Updates the camera rig configuration.
Parameters
config
Partial<CameraRigConfig>
Partial configuration to merge with current config
Returns
void
setup()
setup():
void
Defined in: packages/being/dist/interface.d.ts:30
Returns
void
Inherited from
BaseContext.setup
update()
update():
void
Defined in: packages/board/src/camera/camera-rig/camera-rig.ts:88
Updates the camera rig state (called per frame if needed).
Returns
void