Scene
interface SceneT = unknown
The main interface for scenes.
Any class implementing this interface should have a constructor matching
SceneConstructor.
Type Parameters
T = unknownThe type of the configuration object.
Implemented by
Properties​
creationStack​
creationStack?: string
logger​
meta​
readonly meta: ObjectMetaFieldseed: MetaFieldanynumber = ...timeEvents: MetaFieldSerializedTimeEvent[]SerializedTimeEvent[] = ...version: MetaFieldanynumber = ...
name​
readonly name: string
Name of the scene.
Will be passed as the second argument to the constructor.
playback​
readonly playback: PlaybackStatus
Reference to the project.
previousOnTop​
previousOnTop: SignalValueboolean
Should this scene be rendered below the previous scene during a transition?
random​
shaders​
readonly shaders: Shaders
slides​
sounds​
timeEvents​
readonly timeEvents: TimeEvents
variables​
Accessors​
LifecycleEvents​
public get LifecycleEvents(): LifecycleEvents
The LifecycleEvents of this scene.
Deprecated
Use lifecycleEvents instead.
experimentalFeatures​
public get experimentalFeatures(): boolean
Whether experimental features are enabled.
firstFrame​
public get firstFrame(): number
The frame at which this scene starts.
lastFrame​
public get lastFrame(): number
The frame at which this scene ends.
lifecycleEvents​
public get lifecycleEvents(): LifecycleEvents
The LifecycleEvents of this scene.
previous​
public get previous(): nullSceneunknown
The scene directly before this scene, or null if omitted for performance.
transitionDuration​
public get transitionDuration(): number
Scene transition duration in frames.
Events​
onCacheChanged​
public get onCacheChanged(): SubscribableValueEventCachedSceneData
Triggered when the cached data changes.
onRecalculated​
public get onRecalculated(): SubscribableEventvoid
Triggered after scene is recalculated.
onReloaded​
public get onReloaded(): SubscribableEventvoid
Triggered when the scene is reloaded.
onRenderLifecycle​
public get onRenderLifecycle(): SubscribableEventSceneRenderEventCanvasRenderingContext2D
Triggered at various stages of the render lifecycle with an event title and a Context2D.
onReset​
public get onReset(): SubscribableEventvoid
Triggered when the scene is reset.
Methods​
canTransitionOut​
public canTransitionOut(): boolean
Is this scene in the CanTransitionOut state?
enterAfterTransitionIn​
public enterAfterTransitionIn(): void
Enter the AfterTransitionIn state.
enterCanTransitionOut​
public enterCanTransitionOut(): void
Enter the CanTransitionOut state.
enterInitial​
public enterInitial(): void
Enter the Initial state.
getRealSize​
public getRealSize(): Vector2
Get the real size of this scene.
Returns the size of the scene multiplied by the resolution scale. This is the actual size of the canvas onto which the scene is rendered.
getSize​
public getSize(): Vector2
Get the size of this scene.
Usually returns this.project.getSize().
isAfterTransitionIn​
public isAfterTransitionIn(): boolean
Is this scene in the AfterTransitionIn state?
isCached​
public isCached(): boolean
Is this scene cached?
Used only by GeneratorScene. Seeking through a project that
contains at least one uncached scene will log a warning to the console.
Should always return true.
isFinished​
public isFinished(): boolean
Is this scene in the Finished state?
next​
public next(): Promisevoid
Progress this scene one frame forward.
recalculate​
Recalculate the scene.
The task of this method is to calculate new timings stored in the cache.
When this method is invoked, this.project.frame is set to the frame at
which this scene should start (firstFrame).
At the end of execution, this method should set this.project.frame to the
frame at which this scene ends (lastFrame).
Should trigger onRecalculated.
Parameters
reload​
public reloaddescription?: SceneDescriptionReloadT: void
Reload the scene.
This method is called whenever something related to this scene has changed: time events, source code, metadata, etc.
Should trigger onReloaded.
Parameters
description?: SceneDescriptionReloadTIf present, an updated version of the description.
render​
public rendercontext: CanvasRenderingContext2D: Promisevoid
Render the scene onto a canvas.
Parameters
context: CanvasRenderingContext2DThe context to used when rendering.
reset​
Reset this scene to its initial state.