- 1746102: Fix unstyled canvas resizing loop
- 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
- Rename Node to Component
- 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
- Don't allow mounting with same canvas
- Use @changesets/cli
- Rename align row/column to direction
- Fix publish event args type
- Refactor easing
- Add async/await preload
render.jsrenamed toloop.jsnode.jsrenamed 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.urlrenamed 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
liband platform files toplatform -
extension files moved to ext
-
lib/mainset as npmmain -
texture name made optional in cutout selector:
"[texture:]cutout" -
FastContext support added to Cordova, FastCanvas loader removed
-
Cut.Out.selectreplaced withCut.cutout -
Cut.configandCut.start(configs)are added -
Cut.initandLoader.loadImagereplaced with"app-loader"and"image-loader"configs -
Loadermerged withRoot -
Loader.start/pause/resumereplaced withCut.start/pause/resume -
root._ratioreplaced withroot.viewport().ratio -
_isCutreplaced withCut._ensure -
Texturereorganized -
root.resize()renamed toviewport()
- Remove
Mouse(..., captureAnyMove)and use flag instead - Refactoring easing class and moving tween/ease to another file
- Browserified
- Synthetic
Mouseclicks instead of browser clicks - New
offmethod to remove listeners - New
dataparameter forvisitmethods _listensrenamed to_flag_isFunc,_function,_optionsand_statusare removed_extendsignature changed
setImage/Value/Frames/Fontdeprecated and replaced byimage/value/frames
- mouse event listener signature changed from
(rawEvent, {x, y})to({x, y, raw}) viewportlistener 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
drawingsignature 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
spyto optimized mouse event distribution