Releases: KaliedaRik/Scrawl-canvas
Scrawl-canvas v8.10.0
Breaking changes:
getCanvas
,getStack
- the functionality of these calls have changed to take into account thelibrary.purge
functionality in the previous release. The advice on how to add SC to a React build has also changed to take into account React18 dev checks around theuseEffect
hook.- SC no longer adds a color factory (or anything else) to the DOM
window
object. Any code that relied on these (supposedly secret internal) functionalities will need fixing.
New functionality:
- The SC
observeAndUpdate
factory function has been deprecated in favour of a newmakeUpdater
function. The arguments accepted for both factory functions remain the same.
Improvements:
- SC tickers can now be tied to a
renderAnimation
object through a newobserver
attribute. When the renderAnimation starts/halts, tickers observing that object will also start/halt. SC tweens will also accept the new attribute and pass it on to their ticker when they are initialized - The
canvas.buildCell
function can now take a newwillReadFrequently
boolean, which defaults totrue
. All internal Cell wrappers now set this attribute totrue
, which has boosted rendering speeds by up to 20%.
Bugfixes:
- A major refactor of the SC core modules, to remove all cyclic dependencies from the build.
- Fix a
makeGroup
factory bug so thehost
attribute in the factory's argument can be a Stack or Cell object in addition to those objects' name String.
Full Changelog: v8.9.10...v8.10.0
Scrawl-canvas v8.9.10
Breaking changes:
None
New functionality:
None
Improvements:
- Rewrote Demo tests modules-001, modules-002, modules-003, modules-004, modules-005 - modules now take the
scrawl
object as an argument rather than import Scrawl-canvas directly (to minimise potential library version conflicts) - Moved Demo test canvas-057 to modules-006, and modularised code
- Tweens can now run against (manipulate)
animationTicker
,filter
andworld
objects
Bugfixes:
- Fixed keyboardZone bug
- Fixed tween bug where tween updates were being applied to the
group
object rather than against theartefact
objects contained in the group - Fixed drag-drop bug where, when a relatively positioned artefact was dragged, it had its coordinates set to absolute position values on drop
Full Changelog: v8.9.9...v8.9.10
Scrawl-canvas v8.9.9
Breaking changes:
None
New functionality:
None
Improvements:
None
Bugfixes:
- Fix issues in
package.json
- main attribute was pointing at the wrong file
Full Changelog: v8.9.8...v8.9.9
Scrawl-canvas v8.9.8
Breaking changes:
None
New functionality:
None
Improvements:
None
Bugfixes:
- Fix issues in
package.json
causing bundle failure (Rollup) - Fix bug in
/factory/filter.js
which was erroring in Rollup build
Full Changelog: v8.9.7...v8.9.8
Scrawl-canvas v8.9.7
Breaking changes:
None
New functionality:
Simplified SC Library management by introducing a new library.purge(string)
function
- When combined with recommended name-spacing strategies (place the namespace string at the start of the names of all objects created for that namespace), this function will clear all objects starting with the namespace String from the library by triggering their
kill()
functionality. - Tested in updated demos
Canvas-043
andCanvas-046
- Demos
Canvas-001
toCanvas-030
updated to demonstrate the recommended name-spacing strategy
Improvements:
- Added a new ordered dithering option to the
reducePalette
filter - Expanded the
RandomNoise
filter so that it can randomize pixels based on thebluenoise
andordered
pseudo-random number arrays - Added a new demo
Filters-028
to test stencil (background) filter functionality
Bugfixes:
- Small bug that was causing errors if an animated sprite was not played immediately after its creation - fixed
- Small bug in the Picture entity kill functionality which was also deleting the Picture's Asset (when not requested) - fixed
- 2 Dependabot security PRs merged
Security
- @dependabot made their first contribution in #27
- Bump terser from 5.10.0 to 5.16.3 by @dependabot in #27
- Bump minimatch from 3.0.4 to 3.0.8 by @dependabot in #28
Changelog
Full Changelog: v8.9.6...v8.9.7
Scrawl-canvas v8.9.6
Breaking changes:
None
New functionality:
None
Improvements:
None
Bugfixes:
- Fix issues affecting
package.json
Full Changelog: v8.9.5...v8.9.6
Scrawl-canvas v8.9.5
Breaking changes:
Minor breaking changes to the Reduce Palette filter
New functionality:
None
Improvements:
- Updated package.json to include
"type": "module"
attribute
Bugfixes:
- Minor fixes to the Reduce Palette filter
Full Changelog: v8.9.4...v8.9.5
Scrawl-canvas v8.9.4
Breaking changes:
None
New functionality:
None
Improvements:
- New color spaces support: OKLAB, OKLCH
Bugfixes:
- Minor demo updates to accommodate new color spaces
Full Changelog: v8.9.3...v8.9.4
Scrawl-canvas v8.9.3
Breaking changes:
None
New functionality:
- New
tiles
filter - New
newsprint
filter - New compound filter demos
Improvements:
- New
noTarget
attribute formakeRender
factory. By default, render objects created with no target Canvas/Stack wrappers will use the SC defaultclear/compile/show
functions to render all Canvas/Stack elements on the page. Setting thenoTarget
attribute totrue
will prevent this happening.
Bugfixes:
- Fix bugs in the blend and compose filters
- Fix
Group.getArtefact()
- Fix Cell Display cycle rendering to remove unnecessary function calls
Full Changelog: v8.9.2...v8.9.3
Scrawl-canvas v8.9.2
Breaking changes:
None
New functionality:
Artefact attribute order
now split into new processingOrder
and stampOrder
attributes. Artefacts that are used by other artefacts for positional data, and thus need to be calculated first, but also need to display over the top of those other artefacts, can split their ordering values accordingly. Setting order
(which is now a pseudo-attribute) will set both new attributes to the supplied value. Getting order
will return the stampOrder
value
Improvements:
The reduce-palette
and corrode
filters have been rewritten to make them more efficient, and faster
Bugfixes:
None
Full Changelog: v8.9.1...v8.9.2