The client-side Scene document which extends the common BaseScene model.
Track the viewed position of each scene (while in memory only, not persisted) When switching back to a previously viewed scene, we can automatically pan to the previous position.
Track whether the scene is the active view
Determine the canvas dimensions this Scene would occupy, if rendered
Provide a thumbnail image path used to represent this document.
A convenience accessor for whether the Scene is currently viewed
Set this scene as currently active
A Promise which resolves to the current scene once it has been successfully activated
Set this scene as the current view
Get the Canvas dimensions which would be used to display this Scene. Apply padding to enlarge the playable space and round to the nearest 2x grid size to ensure symmetry. The rounding accomplishes that the padding buffer around the map always contains whole grid spaces.
Create a 300px by 100px thumbnail image for this scene background
Options which modify thumbnail creation
The created thumbnail data.
Handle Scene activation workflow if the active state is changed to true
Is the scene now active?
Handle repositioning of placed objects when the Scene dimensions change