Breaking changes:
- Fixing the scaled positioning bug affecting Oval, Rectangle and Tetragon entitys means that these entitys now act correctly when scaled. Canvas scenes previously created with workarounds for the issue will need to be updated
- Tighten up the checks around which DOM elements can become SC Stacks, and which ones can become SC Elements. This may break existing Stack-based projects.
- Deprecate and remove the
stack.apply
,canvas.apply
andelement.apply
functions, replacing them with newstack.reset
andcanvas.reset
functions. - VideoAsset object around wrapping media streams - the factory api for creating these asset wrappers has changed.
New functionality:
- Artefact
group
attribute will now accept a Cell object as a value - New Loom attribute
sourceExpansionFactor
to help solve poor display of distorted images - Added functionality to allow the scaling of entity shadows (similar to scaling line widths), controled by a new flag attribute
scaleShadow
- Added a new
splitShift
function to allow for the movement of Cell edge strips from one side of the Cell to the other. Should help to make it easier to build animated tiling and infinite scroll scenes - New Cell functions -
getCellData
,paintCellData
- that supply the user with a capture of the Cell engine's imageData, alongside a newpixelState
object which gives each pixel some state - Allow Group objects to remove controlled DOM artefacts from the web page
- New
<canvas>
elementdata-will-read-frequently
boolean attribute - Cell
pixelState
now includes full polar coordinate (from canvas center) data - New filters:
alpha-to-luminance
,luminance-to-alpha
- New functionality to help developers initialize DOM form control elements
VideoAsset
can now handle audio-only stream sources
Improvements:
- Security - updated dev dependency packages to latest version
- Documentation - started writing some higher level overview docs of the library's philosophy and its code base's practicalities (early work-in-progress)
- Typescript annotations in the test demo files
- Cleaned up
factory/group.js
file, removing unused code - Improvements (and a minor bugfix) to the
blur
andgaussianblur
filters - which now have their own Demo tests. - Cleared out the DOM-related CSS checks for Stack, Canvas and Element artefacts - there's no need for this sort of functionality in SC now. Instead we introduce a short list of CSS properties which dev-users cannot update using SC
set({ css: {key: value} })
functionality. - Updated test demo DOM-003 to share a better example of how to wrap SVG elements into an SC Stack.
- Ripped out all code relating to the CSS
smoothFont
property - which is not part of the Web standards. - Updated the Element
kill
function to accept a boolean argument which, when set tofalse
, will not remove the associated DOM element from the document. - Removed redundant code, relating to cloning functions, from SC
clone
functionality across the repo. - Small
Tween
andTicker
performance improvements - New demos for
offset
,offsetChannels
filters - Draft a Runbook for the library (incomplete)
- Update documentation to accommodate the new Runbook
- Add an LLM summary
.md
file to the repo - Updates to the
.d.ts
file
Bugfixes:
- Small Vector bug fixed
- Fixed issue where entity GCO and filters were interfering with each other, preventing the display of entitys on non-base Cells
- Fixed a scaled positioning issue for Oval, Rectangle and Tetragon entitys
- Fixed a dynamic radius positioning issue for Star and Cog entitys
- The
gaussianblur
filter was spreading beyond its entity's shape. This has been fixed in a non-breaking way so the errant functionality remains the default. - Unnecessary mixins were being added to
mixin/dom.js
- these have been moved tofactory/canvas.js
where they are needed. Bug was not breaking functionality in any way. - Fixed the (long neglected) Element stampOrder bug.
- Fix bugs associated with
prefers-contrast
functionality - Deprecate and remove the Ticker object
makeTickerUpdateEvent
code - Fix bug where user positions an artefact wrt an undefined artefact
- Fix artefact
removeClasses
bug - Fix
Tween
andAction
object target setting functionality - Fix other minor
Ticker
andTween
object bugs - Fix filter engine image upload bug
- Fix tiny
EnhancedLabel
space calculation bug - Deprecate and remove
RenderAnimation
object.error
function hook - Fix VideoAsset object streaming bugs
- Fix
Group
object ordering bug
What's Changed
- Bump micromatch from 4.0.7 to 4.0.8 by @dependabot in #100
- Autumn 2024 improvements by @KaliedaRik in #101
- Path-based entity review by @KaliedaRik in #112
- Add functionality to allow the scaling of shadows by @KaliedaRik in #113
- Add new Cell splitShift functionality by @KaliedaRik in #114
- New Cell functionality: getCellData, paintCellData by @KaliedaRik in #115
- Add showdown to toolchain by @KaliedaRik in #117
- Fix gaussian blur filter issue by @KaliedaRik in #121
- Remove unnecessary mixin includes from the DOM mixin by @KaliedaRik in #122
- Investigate DOM-related issues by @KaliedaRik in #123
- Remove redundant thrown errors; improve demo DOM-008 by @KaliedaRik in #129
- null checks on host by @davehorner in #130
- Developer Runbook by @KaliedaRik in #119
- Bump to v8.15.0 by @KaliedaRik in #116
New Contributors
- @davehorner made their first contribution in #130
Full Changelog: v8.14.0...v8.15.0