Skip to content

CameraRig

Defined in: camera/camera.ts:148

Mutable camera + viewport holder. Every mutation notifies onChange exactly once, which is the single hook the render loop needs — no caller anywhere has to remember to request a draw.

new CameraRig(readViewport, camera): CameraRig

Defined in: camera/camera.ts:156

() => Viewport

Camera

CameraRig

camera: Camera

Defined in: camera/camera.ts:150

The current camera. Change it through set, so onChange fires.


limit: ((camera) => Camera) | null = null

Defined in: camera/camera.ts:154

Keeps every camera set within limits (limitCamera), or null for none.


onChange: (() => void) | null = null

Defined in: camera/camera.ts:152

Called after every change of camera.

get viewport(): Viewport

Defined in: camera/camera.ts:164

The current viewport, read fresh each time.

Viewport

panByScreen(dx, dy): void

Defined in: camera/camera.ts:176

Pan by a screen-space delta (the direction a finger/mouse moved: content follows it).

number

number

void


screenToWorld(screenX, screenY): ScreenPoint

Defined in: camera/camera.ts:197

Which world point is under a screen point now.

number

number

ScreenPoint


set(camera): void

Defined in: camera/camera.ts:169

Moves the camera, clamping its scale and applying limit, and notifies onChange.

Camera

void


worldToScreen(worldX, worldY): ScreenPoint

Defined in: camera/camera.ts:192

Where a world point is on screen now.

number

number

ScreenPoint


zoomAtScreen(screen, factor): void

Defined in: camera/camera.ts:181

Zooms by factor about a screen point, keeping that point still.

ScreenPoint

number

void