MotionScript

@motion-script/core


@motion-script/core / OrthographicCamera3D

Interface: OrthographicCamera3D

Defined in: render3d/camera.ts:34

An orthographic camera — parallel rays, so size is independent of distance. For isometric views, technical diagrams and 2.5D layouts.

frustumHeight is the ergonomic control: it sets the visible world height and derives the width from the node's aspect ratio. Set the four explicit edges instead only when you need an asymmetric frustum.

Extends

Properties

bottom?

optional bottom?: number

Defined in: render3d/camera.ts:44


castShadow?

optional castShadow?: boolean

Defined in: render3d/transform.ts:32

Inherited from

Transform3D.castShadow


far?

optional far?: number

Defined in: render3d/camera.ts:39


frustumHeight?

optional frustumHeight?: number

Defined in: render3d/camera.ts:37

Visible world-space height; width follows the node's aspect. Default 10.


key?

optional key?: string

Defined in: render3d/transform.ts:48

Explicit reconciler identity.

By default the renderer caches one live 3D object per op, keyed by the op's structural path — its group() nesting plus its index within that group. That is stable for a builder that emits the same ops in the same order every frame, which is the normal case.

Set key when your builder emits ops conditionally, so a slot's meaning shifts between frames (if (t > 2) g.box(...)). Without it, inserting an op renumbers every later slot and forces the tail of the cache to rebuild.

Inherited from

Transform3D.key


left?

optional left?: number

Defined in: render3d/camera.ts:41

Explicit frustum edges. Override frustumHeight when all four are set.


lookAt?

optional lookAt?: Vector3Input

Defined in: render3d/transform.ts:29

World-space point to orient toward, applied after position. Wins over both rotation and quaternion.

Inherited from

Transform3D.lookAt


near?

optional near?: number

Defined in: render3d/camera.ts:38


params?

optional params?: Record<string, unknown>

Defined in: render3d/geometry.ts:14

Inherited from

Passthrough3D.params


position?

optional position?: Vector3Input

Defined in: render3d/transform.ts:12

Position in the parent's local space. Default origin.

Inherited from

Transform3D.position


quaternion?

optional quaternion?: Quaternion

Defined in: render3d/transform.ts:22

Rotation as a unit quaternion. Wins over rotation — use it (with slerpQuaternion) for tumbles where Euler interpolation would gimbal.

Inherited from

Transform3D.quaternion


receiveShadow?

optional receiveShadow?: boolean

Defined in: render3d/transform.ts:33

Inherited from

Transform3D.receiveShadow


renderOrder?

optional renderOrder?: number

Defined in: render3d/transform.ts:35

Draw-order override, for tuning transparent sorting.

Inherited from

Transform3D.renderOrder


optional right?: number

Defined in: render3d/camera.ts:42


rotation?

optional rotation?: Vector3Input | Euler3

Defined in: render3d/transform.ts:17

Euler rotation in degrees, applied in order (default "XYZ"). Ignored when quaternion is set.

Inherited from

Transform3D.rotation


scale?

optional scale?: Vector3Input

Defined in: render3d/transform.ts:24

Per-axis scale; a scalar scales uniformly. Default 1.

Inherited from

Transform3D.scale


top?

optional top?: number

Defined in: render3d/camera.ts:43


type

type: "orthographic"

Defined in: render3d/camera.ts:35


visible?

optional visible?: boolean

Defined in: render3d/transform.ts:31

Hide without removing (keeps the cached object alive). Default true.

Inherited from

Transform3D.visible


zoom?

optional zoom?: number

Defined in: render3d/camera.ts:45