Skip to content
This repository has been archived by the owner on Jul 8, 2022. It is now read-only.

v3.0.0-Beta

Pre-release
Pre-release
Compare
Choose a tag to compare
@soywiz soywiz released this 12 May 19:02
· 1 commit to main since this release

Major changes

  • Added GpuShapeView, a new view to render antialiased vector graphics on the GPU! ShapeView and derivates like Circle, RoundRect now use GpuShapeView internally. Since now it is substantially faster and do not require intermediate bitmaps, now it is possible to animate vectors in a more reasonably way.
  • New internal mechanism AGList and AGQueueProcessor to do fine-grained rendering. First step for a multithreaded renderer, and to support in the future metal, vulkan, webgpu etc.
  • New extensible render phases mechanism for Views.
  • Implemented antialiased masking at the View level with View.mask
  • Implemented backdrop filters with View.backdropFilter (applying a filter to the content below the view and use the view as mask). Useful for example to blur or apply filters to the backround.
  • Changed the internals so Stage doesn't have transformations (always the identity matrix), and now mouse coordinates uses Stage as reference instead of the window
  • Adds support for haptic feedback on macos and iOS
  • Implemented SHA512 hashing, added CTR as symmetric encrypton mode, and improved the API for symmetric encryption
  • MP3 decoding now uses minimp3 again, so it has less failures
  • Now it is possible to tween positions around a path with: tween(view::pos[buildVector { circle(0, 0, 100) }])
  • Lots of more stuff... (check What's changed for details)

Improvements from contributors. Thanks! ❤️

  • Fix loading frame cells in Aseprite files by @jobe-m in #536
  • Update Fleks ECS by @jobe-m in #537
  • Have Container implement MutableCollection by @Kietyo in #592
  • Add getProp and getPropOrNull methods for BaseView by @Kietyo in #594
  • remove println("Ahhhhhh") by @SchneckeddeF in #597
  • Klock datetime parser: accept 1-9 digits for millis by @ArtRoman in #609
  • Utils for distributing views evenly across vertically/horizontally. by @Kietyo in #615
  • Have *Array2 classes implement an interface [Includes small breaking change] by @Kietyo in #616
  • Implement closeable mouse events & closeable draggable. by @Kietyo in #625
  • the mapping for cyan and magenta was missing by @bognari in #618

What's Changed

New Contributors

Full Changelog: v2.7.0...v3.0.0-Beta