Skip to content

@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

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