Skip to content

Scrawl-canvas v8.15.0

Latest
Compare
Choose a tag to compare
@KaliedaRik KaliedaRik released this 22 May 18:52
85dee6d

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 and element.apply functions, replacing them with new stack.reset and canvas.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 new pixelState object which gives each pixel some state
  • Allow Group objects to remove controlled DOM artefacts from the web page
  • New <canvas> element data-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 and gaussianblur 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 to false, 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 and Ticker 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 to factory/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 and Action object target setting functionality
  • Fix other minor Ticker and Tween 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

New Contributors

Full Changelog: v8.14.0...v8.15.0