Skip to main content

GeneratorScene

                            
                              
                                abstract 
                                class 
                                GeneratorScene
                                
                                  
                                    
                                      T
                                    
                                  
                                
                                implements 
                                
                                  
                                    
                                      Scene
                                      
                                        
                                          
                                            ThreadGeneratorFactory
                                            
                                              
                                                
                                                  T
                                                
                                              
                                            
                                          
                                        
                                      
                                    
                                    
                                      Threadable
                                    
                                  
                                
                              
                              

The default implementation of the Scene interface.

Uses generators to control the animation.

Type Parameters

Constructors

constructor

                            
                              
                                public 
                                new
                                GeneratorScene
                                
                                  
                                    
                                      T
                                    
                                  
                                
                                
                                  
                                    
                                      description
                                      : 
                                      FullSceneDescription
                                      
                                        
                                          
                                            ThreadGeneratorFactory
                                            
                                              
                                                
                                                  T
                                                
                                              
                                            
                                          
                                        
                                      
                                    
                                  
                                
                                : 
                                GeneratorScene
                                
                                  
                                    
                                      T
                                    
                                  
                                
                              
                              

Type Parameters

Parameters

  • description : FullSceneDescription ThreadGeneratorFactory T

Properties

creationStack

                            
                              
                                public 
                                creationStack
                                ?: 
                                string
                              
                              

experimentalFeatures

                            
                              
                                readonly 
                                public 
                                experimentalFeatures
                                : 
                                boolean
                              
                              

lifecycleEvents

                            
                              
                                readonly 
                                public 
                                lifecycleEvents
                                : 
                                LifecycleEvents
                                 = 
                                ...
                              
                              

logger

                            
                              
                                readonly 
                                public 
                                logger
                                : 
                                Logger
                              
                              

meta

                            
                              
                                readonly 
                                public 
                                meta
                                : 
                                ObjectMetaField
                                
                                  
                                    
                                      
                                        
                                          
                                            seed
                                            : 
                                            MetaField
                                            
                                              
                                                
                                                  any
                                                
                                                
                                                  number
                                                
                                              
                                            
                                             = 
                                            ...
                                          
                                          
                                            timeEvents
                                            : 
                                            MetaField
                                            
                                              
                                                
                                                  SerializedTimeEvent
                                                  []
                                                
                                                
                                                  SerializedTimeEvent
                                                  []
                                                
                                              
                                            
                                             = 
                                            ...
                                          
                                          
                                            version
                                            : 
                                            MetaField
                                            
                                              
                                                
                                                  any
                                                
                                                
                                                  number
                                                
                                              
                                            
                                             = 
                                            ...
                                          
                                        
                                      
                                    
                                  
                                
                              
                              

name

                            
                              
                                readonly 
                                public 
                                name
                                : 
                                string
                              
                              

Name of the scene.

Will be passed as the second argument to the constructor.


playback

                            
                              
                                readonly 
                                public 
                                playback
                                : 
                                PlaybackStatus
                              
                              

Reference to the project.


previousOnTop

                            
                              
                                public 
                                previousOnTop
                                : 
                                SignalValue
                                
                                  
                                    
                                      boolean
                                    
                                  
                                
                              
                              

Should this scene be rendered below the previous scene during a transition?


random

                            
                              
                                public 
                                random
                                : 
                                Random
                              
                              

shaders

                            
                              
                                readonly 
                                public 
                                shaders
                                : 
                                Shaders
                              
                              
Experimental
This is an experimental feature . The behavior and API may change drastically between minor releases.

slides

                            
                              
                                readonly 
                                public 
                                slides
                                : 
                                Slides
                              
                              

timeEvents

                            
                              
                                readonly 
                                public 
                                timeEvents
                                : 
                                TimeEvents
                              
                              

variables

                            
                              
                                readonly 
                                public 
                                variables
                                : 
                                Variables
                              
                              

Accessors

LifecycleEvents

                            
                              
                                public 
                                get 
                                LifecycleEvents
                                (): 
                                LifecycleEvents
                              
                              

The LifecycleEvents of this scene.

Deprecated

Use lifecycleEvents instead.


firstFrame

                            
                              
                                public 
                                get 
                                firstFrame
                                (): 
                                number
                              
                              

The frame at which this scene starts.


lastFrame

                            
                              
                                public 
                                get 
                                lastFrame
                                (): 
                                number
                              
                              

The frame at which this scene ends.


onCacheChanged

                            
                              
                                public 
                                get 
                                onCacheChanged
                                (): 
                                SubscribableValueEvent
                                
                                  
                                    
                                      CachedSceneData
                                    
                                  
                                
                              
                              

Triggered when the cached data changes.


onRecalculated

                            
                              
                                public 
                                get 
                                onRecalculated
                                (): 
                                Subscribable
                                
                                  
                                    
                                      void
                                    
                                    
                                      EventHandler
                                      
                                        
                                          
                                            void
                                          
                                        
                                      
                                    
                                  
                                
                              
                              

Triggered after scene is recalculated.


onReloaded

                            
                              
                                public 
                                get 
                                onReloaded
                                (): 
                                Subscribable
                                
                                  
                                    
                                      void
                                    
                                    
                                      EventHandler
                                      
                                        
                                          
                                            void
                                          
                                        
                                      
                                    
                                  
                                
                              
                              

Triggered when the scene is reloaded.


onRenderLifecycle

                            
                              
                                public 
                                get 
                                onRenderLifecycle
                                (): 
                                Subscribable
                                
                                  
                                    
                                      
                                        
                                          
                                            SceneRenderEvent
                                          
                                          
                                            CanvasRenderingContext2D
                                          
                                        
                                      
                                    
                                    
                                      EventHandler
                                      
                                        
                                          
                                            
                                              
                                                
                                                  SceneRenderEvent
                                                
                                                
                                                  CanvasRenderingContext2D
                                                
                                              
                                            
                                          
                                        
                                      
                                    
                                  
                                
                              
                              

Triggered at various stages of the render lifecycle with an event title and a Context2D.


onReset

                            
                              
                                public 
                                get 
                                onReset
                                (): 
                                Subscribable
                                
                                  
                                    
                                      void
                                    
                                    
                                      EventHandler
                                      
                                        
                                          
                                            void
                                          
                                        
                                      
                                    
                                  
                                
                              
                              

Triggered when the scene is reset.


onThreadChanged

                            
                              
                                public 
                                get 
                                onThreadChanged
                                (): 
                                SubscribableValueEvent
                                
                                  
                                    
                                      
                                        
                                          
                                            null
                                          
                                          
                                            Thread
                                          
                                        
                                      
                                    
                                  
                                
                              
                              

Triggered when the main thread changes.


previous

                            
                              
                                public 
                                get 
                                previous
                                (): 
                                
                                  
                                    
                                      null
                                    
                                    
                                      Scene
                                      
                                        
                                          
                                            unknown
                                          
                                        
                                      
                                    
                                  
                                
                              
                              

The scene directly before this scene, or null if omitted for performance.

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() .


getView

                            
                              
                                abstract 
                                public 
                                getView
                                (): 
                                T
                              
                              

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 thatcontains 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
                                (): 
                                Promise
                                
                                  
                                    
                                      void
                                    
                                  
                                
                              
                              

Progress this scene one frame forward.


recalculate

                            
                              
                                public 
                                recalculate
                                
                                  
                                    
                                      setFrame
                                      : 
                                      
                                        
                                          
                                            frame
                                            : 
                                            number
                                          
                                        
                                      
                                       => 
                                      void
                                    
                                  
                                
                                : 
                                Promise
                                
                                  
                                    
                                      void
                                    
                                  
                                
                              
                              

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 atwhich this scene should start ( firstFrame ).

At the end of execution, this method should set this.project.frame to theframe at which this scene ends ( lastFrame ).

Should trigger onRecalculated .

Parameters


reload

                            
                              
                                public 
                                reload
                                
                                  
                                    
                                      {...}
                                      : 
                                      SceneDescriptionReload
                                      
                                        
                                          
                                            ThreadGeneratorFactory
                                            
                                              
                                                
                                                  T
                                                
                                              
                                            
                                          
                                        
                                      
                                       = 
                                      {}
                                    
                                  
                                
                                : 
                                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

  • {...} : SceneDescriptionReload ThreadGeneratorFactory T = {}

    If present, an updated version of the description.


render

                            
                              
                                public 
                                render
                                
                                  
                                    
                                      context
                                      : 
                                      CanvasRenderingContext2D
                                    
                                  
                                
                                : 
                                Promise
                                
                                  
                                    
                                      void
                                    
                                  
                                
                              
                              

Render the scene onto a canvas.

Parameters


reset

                            
                              
                                public 
                                reset
                                
                                  
                                    
                                      previousScene
                                      : 
                                      
                                        
                                          
                                            null
                                          
                                          
                                            Scene
                                            
                                              
                                                
                                                  unknown
                                                
                                              
                                            
                                          
                                        
                                      
                                       = 
                                      null
                                    
                                  
                                
                                : 
                                Promise
                                
                                  
                                    
                                      void
                                    
                                  
                                
                              
                              

Reset this scene to its initial state.

Parameters

  • previousScene : null Scene unknown = null

    If present, the previous scene.


update

                            
                              
                                public 
                                update
                                (): 
                                void
                              
                              

Update the view.

Invoked after each step of the main generator.Can be used for calculating layout.

Can modify the state of the view.