Class: Camera
Defined in: nodes/base/camera-node.ts:22
Camera node — renders its children through a viewport transform defined by
zoom, centerOn, and heading. The camera's own layout rect determines
the viewport bounds on screen.
Extends
Constructors
Constructor
new Camera(
props):Camera
Defined in: nodes/base/camera-node.ts:31
Parameters
props
NodeConfig<Camera, CameraProps>
Returns
Camera
Overrides
Properties
__mappers?
optional__mappers?:Map<string, (ext,prev?) =>any>
Defined in: nodes/base/node.ts:197
Maps external prop value → internal cell value for fields that need it.
Inherited from
__signals?
optional__signals?:Map<string,Signal<any>>
Defined in: nodes/base/node.ts:193
Inherited from
__tweens?
optional__tweens?:Map<string,TweenFn<any>>
Defined in: nodes/base/node.ts:195
Inherited from
__upgraders?
optional__upgraders?:Map<string, () =>Signal<any>>
Defined in: nodes/base/node.ts:194
Inherited from
centerOn
centerOn:
Vector2
Defined in: nodes/base/camera-node.ts:27
World-space focus point (default: {x:0, y:0}).
colSpan
readonlycolSpan:number
Defined in: nodes/base/node.ts:215
Inherited from
column
readonlycolumn:number|undefined
Defined in: nodes/base/node.ts:213
Inherited from
effects
readonlyeffects:SceneEffect[]
Defined in: nodes/base/node.ts:208
Inherited from
flex
readonlyflex:number
Defined in: nodes/base/node.ts:212
Inherited from
heading
heading:
number
Defined in: nodes/base/camera-node.ts:29
View rotation in degrees (default: 0).
height
readonlyheight:SizeInput
Defined in: nodes/base/node.ts:204
Inherited from
id
readonlyid:string
Defined in: nodes/base/node.ts:191
Inherited from
opacity
readonlyopacity:number
Defined in: nodes/base/node.ts:207
Inherited from
padding
readonlypadding:PaddingResolved
Defined in: nodes/base/node.ts:209
Inherited from
pivot
readonlypivot:Vector2
Defined in: nodes/base/node.ts:210
Inherited from
rotation
readonlyrotation:number
Defined in: nodes/base/node.ts:206
Inherited from
row
readonlyrow:number|undefined
Defined in: nodes/base/node.ts:214
Inherited from
rowSpan
readonlyrowSpan:number
Defined in: nodes/base/node.ts:216
Inherited from
scale
readonlyscale:number
Defined in: nodes/base/node.ts:205
Inherited from
width
readonlywidth:SizeInput
Defined in: nodes/base/node.ts:203
Inherited from
x
readonlyx:number
Defined in: nodes/base/node.ts:201
Inherited from
y
readonlyy:number
Defined in: nodes/base/node.ts:202
Inherited from
zoom
zoom:
number
Defined in: nodes/base/camera-node.ts:25
Magnification factor (default: 1).
Accessors
assets
Get Signature
get assets():
AssetCatalog
Defined in: nodes/base/node.ts:181
Returns
Inherited from
bottomCenter
Get Signature
get bottomCenter():
Vector2
Defined in: nodes/base/node.ts:669
Returns
Inherited from
bottomLeft
Get Signature
get bottomLeft():
Vector2
Defined in: nodes/base/node.ts:654
Returns
Inherited from
bottomRight
Get Signature
get bottomRight():
Vector2
Defined in: nodes/base/node.ts:659
Returns
Inherited from
center
Get Signature
get center():
Vector2
Defined in: nodes/base/node.ts:640
Center of the node — equivalent to its x/y position (0,0 is the center of the layout cell).
Returns
Inherited from
children
Get Signature
Defined in: nodes/base/node.ts:694
Returns
Inherited from
clock
Get Signature
get clock():
Readonly<NodeClock>
Defined in: nodes/base/node.ts:569
Internal timing state.
Returns
Readonly<NodeClock>
Inherited from
leftCenter
Get Signature
get leftCenter():
Vector2
Defined in: nodes/base/node.ts:674
Returns
Inherited from
measuredHeight
Get Signature
get measuredHeight():
number
Defined in: nodes/base/node.ts:617
Returns
number
Inherited from
measuredWidth
Get Signature
get measuredWidth():
number
Defined in: nodes/base/node.ts:613
Returns
number
Inherited from
name
Get Signature
get name():
string
Defined in: nodes/base/node.ts:378
Returns
string
Inherited from
parent
Get Signature
Defined in: nodes/base/node.ts:177
Returns
Inherited from
properties
Get Signature
get properties():
P
Defined in: nodes/base/node.ts:368
Returns
P
Inherited from
rightCenter
Get Signature
get rightCenter():
Vector2
Defined in: nodes/base/node.ts:679
Returns
Inherited from
topCenter
Get Signature
get topCenter():
Vector2
Defined in: nodes/base/node.ts:664
Returns
Inherited from
topLeft
Get Signature
get topLeft():
Vector2
Defined in: nodes/base/node.ts:644
Returns
Inherited from
topRight
Get Signature
get topRight():
Vector2
Defined in: nodes/base/node.ts:649
Returns
Inherited from
Methods
_prepareStep()
_prepareStep(
to,duration,easing?):TweenStepper
Defined in: nodes/base/node.ts:404
Resolve a single to() step into a flat TweenStepper — all the
per-key setup (anchor handling, mapper, numeric-vs-custom routing) happens
once here, then advance(dt) is allocation-free. Used by both the
generator path (_toGen) and the batched parallel path.
Parameters
to
Partial<P>
duration
number
easing?
Returns
Inherited from
_toGen()
_toGen(
to,duration,easing?):FrameGenerator
Defined in: nodes/base/node.ts:480
Parameters
to
Partial<P>
duration
number
easing?
Returns
Inherited from
addChild()
addChild(
child):void
Defined in: nodes/base/node.ts:698
Parameters
child
Returns
void
Inherited from
addChildAt()
Call Signature
addChildAt(
child,index):void
Defined in: nodes/base/node.ts:725
Parameters
child
index
number
Returns
void
Inherited from
Call Signature
addChildAt(
child,index,duration,easing?):FrameGenerator
Defined in: nodes/base/node.ts:726
Parameters
child
index
number
duration
number
easing?
Returns
Inherited from
addChildren()
addChildren(
children):void
Defined in: nodes/base/node.ts:713
Parameters
children
Returns
void
Inherited from
afterRender()
afterRender(
ctx):void
Defined in: nodes/base/node.ts:815
Parameters
ctx
Returns
void
Inherited from
beforeRender()
beforeRender(
ctx):void
Defined in: nodes/base/node.ts:786
Parameters
ctx
Returns
void
Inherited from
bindAssets()
bindAssets(
context):void
Defined in: nodes/base/node.ts:588
Parameters
context
Returns
void
Inherited from
clearChildren()
clearChildren():
void
Defined in: nodes/base/node.ts:720
Returns
void
Inherited from
dispose()
dispose():
void
Defined in: nodes/base/node.ts:925
Returns
void
Inherited from
ellapse()
ellapse(
totalTime):void
Defined in: nodes/base/node.ts:573
Parameters
totalTime
number
Returns
void
Inherited from
fadeTo()
fadeTo(
opacity,duration,ease?):FrameGenerator
Defined in: nodes/base/node.ts:530
Animate opacity to the target value.
Parameters
opacity
number
Target opacity in the range [0, 1].
duration
number
ease?
Returns
Example
yield* node.fadeTo(0, 0.3); // fade out
yield* node.fadeTo(1, 0.3); // fade in
Inherited from
isAutoSize()
isAutoSize(
axis):boolean
Defined in: nodes/base/node.ts:684
Parameters
axis
"width" | "height"
Returns
boolean
Inherited from
layout()
layout(
rect,_scope):void
Defined in: nodes/base/node.ts:829
Parameters
rect
_scope
Returns
void
Inherited from
measure()
measure(
constraints,_scope):Partial<Size2D>
Defined in: nodes/base/node.ts:833
Parameters
constraints
_scope
Returns
Partial<Size2D>
Inherited from
moveTo()
moveTo(
x,y,duration,ease?):FrameGenerator
Defined in: nodes/base/node.ts:498
Animate both x and y to the given position.
Parameters
x
number
y
number
duration
number
ease?
Returns
Example
yield* node.moveTo(200, 100, 0.5, ease.outCubic);
Inherited from
moveX()
moveX(
x,duration,ease?):FrameGenerator
Defined in: nodes/base/node.ts:508
Animate only the horizontal position (x).
Parameters
x
number
duration
number
ease?
Returns
Example
yield* node.moveX(300, 0.4);
Inherited from
moveY()
moveY(
y,duration,ease?):FrameGenerator
Defined in: nodes/base/node.ts:518
Animate only the vertical position (y).
Parameters
y
number
duration
number
ease?
Returns
Example
yield* node.moveY(-50, 0.4);
Inherited from
onRender()
onRender(
ctx):void
Defined in: nodes/base/camera-node.ts:38
Parameters
ctx
Returns
void
Overrides
prepare()
prepare(
_storage):void
Defined in: nodes/base/node.ts:593
Parameters
_storage
Returns
void
Inherited from
prepareAssets()
prepareAssets(
storage):void
Defined in: nodes/base/node.ts:606
Parameters
storage
Returns
void
Inherited from
removeChild()
Defined in: nodes/base/node.ts:705
Parameters
child
Returns
Inherited from
removeChildAt()
Call Signature
Defined in: nodes/base/node.ts:738
Parameters
index
number
Returns
Inherited from
Call Signature
removeChildAt(
index,duration,easing?):FrameGenerator
Defined in: nodes/base/node.ts:739
Parameters
index
number
duration
number
easing?
Returns
Inherited from
render()
render(
ctx):void
Defined in: nodes/base/node.ts:819
Parameters
ctx
Returns
void
Inherited from
renderChildren()
renderChildren(
ctx):void
Defined in: nodes/base/node.ts:782
Parameters
ctx
Returns
void
Inherited from
reparent()
Call Signature
reparent(
newParent):void
Defined in: nodes/base/node.ts:845
Parameters
newParent
Returns
void
Inherited from
Call Signature
reparent(
newParent,duration,easing?):FrameGenerator
Defined in: nodes/base/node.ts:846
Parameters
newParent
duration
number
easing?
Returns
Inherited from
resolveSizeInput()
resolveSizeInput(
sizeInput,availableSize,childrenSize):number
Defined in: nodes/base/node.ts:688
Parameters
sizeInput
SizeInput
availableSize
number
childrenSize
number
Returns
number
Inherited from
rotateTo()
rotateTo(
rotation,duration,ease?):FrameGenerator
Defined in: nodes/base/node.ts:540
Animate rotate to the target angle (degrees, clockwise).
Parameters
rotation
number
duration
number
ease?
Returns
Example
yield* node.rotateTo(180, 0.6, ease.inOutQuad);
Inherited from
scaleTo()
scaleTo(
scale,duration,ease?):FrameGenerator
Defined in: nodes/base/node.ts:551
Animate scale to the target factor.
Parameters
scale
number
duration
number
ease?
Returns
Example
yield* node.scaleTo(1.5, 0.4); // grow
yield* node.scaleTo(0, 0.3); // shrink to nothing
Inherited from
set()
set(
props):void
Defined in: nodes/base/node.ts:382
Parameters
props
bottomCenter?
Vector2 | (() => Vector2) | (() => Vector2 | (() => Vector2))
bottomLeft?
Vector2 | (() => Vector2) | (() => Vector2 | (() => Vector2))
bottomRight?
Vector2 | (() => Vector2) | (() => Vector2 | (() => Vector2))
center?
Vector2 | (() => Vector2) | (() => Vector2 | (() => Vector2))
centerOn?
World-space point that maps to the centre of the camera viewport.
children?
Node<NodeProps> | Node<NodeProps>[] | (() => Node<NodeProps> | Node<NodeProps>[])
colSpan?
number | (() => number)
How many grid columns this child spans. Default 1.
column?
number | (() => number)
1-based column index for explicit grid placement. Undefined = auto-placed.
effects?
ChainableFx | (() => ChainableFx)
flex?
number | (() => number)
Proportional share of the free space along the parent's main axis,
relative to sibling fill children (like Flutter's Expanded(flex:)).
Only meaningful when this node fills the main axis — in a row that's
width:'fill', in a column height:'fill'. Two siblings with flex 2
and 1 split the free space 2:1. Defaults to 1. Specifying flex without
an explicit width/height defaults both to 'fill'.
heading?
number | (() => number)
Rotation of the camera view in degrees (clockwise).
height?
SizeInput | (() => SizeInput)
leftCenter?
Vector2 | (() => Vector2) | (() => Vector2 | (() => Vector2))
opacity?
number | (() => number)
padding?
PaddingProps | (() => PaddingProps)
Inner spacing between this node's edges and its content/children.
pivot?
Pivot point for rotation and scale. (0,0)=center, (-1,1)=top-left, (1,-1)=bottom-right. Set automatically when an anchor prop is used.
rightCenter?
Vector2 | (() => Vector2) | (() => Vector2 | (() => Vector2))
rotation?
number | (() => number)
row?
number | (() => number)
1-based row index for explicit grid placement. Undefined = auto-placed.
rowSpan?
number | (() => number)
How many grid rows this child spans. Default 1.
scale?
number | (() => number)
topCenter?
Vector2 | (() => Vector2) | (() => Vector2 | (() => Vector2))
topLeft?
Vector2 | (() => Vector2) | (() => Vector2 | (() => Vector2))
topRight?
Vector2 | (() => Vector2) | (() => Vector2 | (() => Vector2))
width?
SizeInput | (() => SizeInput)
x?
number | (() => number)
y?
number | (() => number)
zoom?
number | (() => number)
Magnification factor. Values > 1 zoom in; < 1 zoom out.
Returns
void
Inherited from
tick()
tick(
_globalTime):void
Defined in: nodes/base/node.ts:564
Parameters
_globalTime
number
Returns
void
Inherited from
to()
to(
to,duration,easing?):AnimationBuilder<CameraProps>
Defined in: nodes/base/node.ts:394
Parameters
to
Partial<P>
duration
number
easing?
Returns
Inherited from
waveform()
waveform():
WaveformInfo[] |undefined
Defined in: nodes/base/node.ts:602
Audio clips this node owns, surfaced to the timeline as waveforms. The base node has no audio; nodes that do (e.g. Scene) override this. Returns undefined when there is nothing to show.
Returns
WaveformInfo[] | undefined