- rewrite with typescript
- change package type to module
- all classes are exported under Stage namespace
- Stage is not callable, and is not a class anymore
- removed Stage.app(callback)
- added Stage.mount() to create a new app
- added await Stage.atlas({ }) to preload images
- added Component class as the base class
- removed Stage.internal namespace
- removed cordova/fastcontext loader and build
- removed script loader
preload(url)
- removed relative path resolver for texture images
- removed Stage.config()
- removed _create, _extend
- renamed Image/image to Sprite/sprite, and sprite.image() to sprite.texture()
- renamed Str/string to Monotype/monotype
- renamed create()/layer()/box() to component()/maximize()/minimize()
- renamed component.sequence() to component.align()
- replaced Stage.Math with Stage.math with different function names
- removed Matrix.reverse (use inverse)
- renamed Mouse to Pointer and made it internal
- added CanvasTexture
- changed canvas() signature
- dropped texture.draw(x, y) sub-signature
- removed cutouts, sprites, factory fields from atlas definition
- replaced Ease() with Ease.get()
- scaleTo renamed to fit
render.js
renamed toloop.js
node.js
renamed totree.js
- cordova starts by mousemove
node.scaleTo()
shortcut pinning method addednode.matrix(true)
returns relative matrix instead of absolute
- default
.tween()
behavior changed from append to replace .tween(duration, delay)
changed to.tween(duration, delay, append = false)
tween.clear()
deprecated and no-optween.end()
replaced bytween.done()
tween.then()
replaced bytween.end()
tween.remove/hide()
are added
- images and script urls starting with
./
are resolved as relative
- Stage.Math extends native Math
- lookup atlas by name before textures
node.width/height()
pinning shortcuts return value- preloadScript('url') removed
- .preload('url.js') added
- pinning shortcuts are added to nodes
- entire atlas can be referenced
atlas.image.url
renamed tosrc
- pining shorthand methods added to node
- tick-based
timeout(fn, delay)
method added to node - entire atlas can be used as texture
- Cut/CutJS renamed to Stage/Stage.js
- atlas spec changed
- .preload(fn) added
- node.insert/append/prepend() methods accept array
- node.id() renamed to node.label()
- Cut.addTexture() removed
- image.cropY/cropY() removed
- anim.gotoLabel() removed
- Cut.Anim.FPS is not public anymore
- drawing() replaced with .canvas()
- Texture renamed to Atlas, new Texture class replaced Cut.Out
- node._cutouts and Cut.cutout() replaced with node._textures and Cut.texture()
- Cut.texture() returns selection object
- image-loader spec changed
- root.background method added
- game loop continues if any tick returns true, but only renders if touched
- texture.ratio renamed to texture.ppu
- new drawing (experimental) and cutout (internal) api
- pin set/get is refactored
- resize in/out replace with scale in-pad/out-crop
- default viewbox mode is 'in-pad'
-
CommonJS/Node.js files and project structure
-
Source files moved to
lib
and platform files toplatform
-
extension files moved to ext
-
lib/main
set as npmmain
-
texture name made optional in cutout selector:
"[texture:]cutout"
-
FastContext support added to Cordova, FastCanvas loader removed
-
Cut.Out.select
replaced withCut.cutout
-
Cut.config
andCut.start(configs)
are added -
Cut.init
andLoader.loadImage
replaced with"app-loader"
and"image-loader"
configs -
Loader
merged withRoot
-
Loader.start/pause/resume
replaced withCut.start/pause/resume
-
root._ratio
replaced withroot.viewport().ratio
-
_isCut
replaced withCut._ensure
-
Texture
reorganized -
root.resize()
renamed toviewport()
- Remove
Mouse(..., captureAnyMove)
and use flag instead - Refactoring easing class and moving tween/ease to another file
- Browserified
- Synthetic
Mouse
clicks instead of browser clicks - New
off
method to remove listeners - New
data
parameter forvisit
methods _listens
renamed to_flag
_isFunc
,_function
,_options
and_status
are removed_extend
signature changed
setImage/Value/Frames/Font
deprecated and replaced byimage/value/frames
- mouse event listener signature changed from
(rawEvent, {x, y})
to({x, y, raw})
viewport
listener signature changed from(width, height)
to({width, height})
Cut.addTexture(...)
is replaced withCut(...)
spy(true)
is replaced withattr('spy', true)
- tweening support for pinning XY-shorthands added
drawing
signature changed from([name], width, height, [ratio], callback, [def])
to([name], width, height, [ratio], [callback])
and(def, [callback])
- node.trigger() method added, calls .publish() and returns
this
- using deep listeners count instead of
spy
to optimized mouse event distribution