diff --git a/CHANGELOG.md b/CHANGELOG.md index df926b53..e56e0d07 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,37 +1,97 @@ -# Changelog - -## Unreleased +# Changelog + +The latest published Vello release is [0.2.0](#020---2024-06-08) which was released on 2024-06-08. +You can find its changes [documented below](#020---2024-06-08). + +## [Unreleased] ### Added -- [#435](https://github.com/linebender/vello/pull/435) - Sweep gradients by [@dfrg](https://github.com/drfg) -- [#538](https://github.com/linebender/vello/pull/538) - Impl `From` for `Scene` by [@waywardmonkeys](https://github.com/waywardmonkeys) -- [#544](https://github.com/linebender/vello/pull/544) - Restore glyph hinting support by [@dfrg](https://github.com/drfg) -- [#555](https://github.com/linebender/vello/pull/555) - Better glyph caching by [@dfrg](https://github.com/drfg) -- [#563](https://github.com/linebender/vello/pull/563) - Use `vello_shaders` crate to load and preprocess WGSL by [@armansito](https://github.com/armansito) +### Changed + +### Fixed + +## [0.2.0] - 2024-06-08 + +### Added + +- Euler spiral based stroke expansion. ([#496] by [@raphlinus]) +- Sweep gradients. ([#435] by [@dfrg]) +- Bump allocation estimation. ([#436], [#454], [#522] by [@armansito]) +- Impl `From` for `Scene`. ([#538] by [@waywardmonkeys]) +- Glyph hinting support. ([#544] by [@dfrg]) +- Better glyph caching. ([#555] by [@dfrg]) +- `vello_shaders` crate to load and preprocess WGSL. ([#563] by [@armansito]) +- Coverage-mask specialization. ([#540] by [@armansito]) +- Support for the `#enable` post-process directive. ([#550] by [@armansito]) ### Changed -- [#516](https://github.com/linebender/vello/pull/516) - Better error types by [@DasLixou](https://github.com/DasLixou) -- [#547](https://github.com/linebender/vello/pull/547) - `RenderContext::new()` no longer returns a `Result` by [@waywardmonkeys](https://github.com/waywardmonkeys) -- [#560](https://github.com/linebender/vello/pull/560) - Update to `wgpu` 0.20 by [@waywardmonkeys](https://github.com/waywardmonkeys) +- Better error types. ([#516] by [@DasLixou]) +- `RenderContext::new()` no longer returns a `Result`. ([#547] by [@waywardmonkeys]) +- Updated `wgpu` to 0.20. ([#560] by [@waywardmonkeys]) + +### Removed + +- `force_rw_storage` feature. ([#540] by [@armansito]) ### Fixed -- [#496](https://github.com/linebender/vello/pull/496) - Performance optimizations for stroke-heavy scenes by [@raphlinus](https://github.com/raphlinus) -- [#521](https://github.com/linebender/vello/pull/521) - Increase robustness of cubic params by [@raphlinus](https://github.com/raphlinus) -- [#526](https://github.com/linebender/vello/pull/526) - Increases ~64k draw object limit by [@raphlinus](https://github.com/raphlinus) -- [#537](https://github.com/linebender/vello/pull/537) - Increase robustness of GPU shaders by [@raphlinus](https://github.com/raphlinus) -- [#573](https://github.com/linebender/vello/pull/573) - Fix bug in join estimates in `vello_encoding` by [@armansito](https://github.com/armansito) +- 64k draw object limit. ([#526] by [@raphlinus]) +- Increased robustness of cubic params. ([#521] by [@raphlinus]) +- Increased robustness of GPU shaders. ([#537] by [@raphlinus]) +- `draw_leaf` uniformity. ([#535] by [@raphlinus]) +- Bug in join estimates in `vello_encoding`. ([#573] by [@armansito]) +- Incorrect use of numerical operators on atomics in binning. ([#539] by [@armansito]) +- `path_reduced_scan` buffer size. ([#551] by [@armansito]) +- Handling of upstream pipeline failure. ([#553] by [@armansito]) +- Very slow shader compilation. ([#575] by [@DJMcNab], [@waywardmonkeys]) +- Full system hang on Apple systems. ([#589] by [@raphlinus]) -## 0.1.0 (2024-03-04) +## [0.1.0] - 2024-03-04 - Initial release + +[@raphlinus]: https://github.com/raphlinus +[@armansito]: https://github.com/armansito +[@DJMcNab]: https://github.com/DJMcNab +[@dfrg]: https://github.com/drfg +[@waywardmonkeys]: https://github.com/waywardmonkeys +[@DasLixou]: https://github.com/DasLixou + +[#435]: https://github.com/linebender/vello/pull/435 +[#436]: https://github.com/linebender/vello/pull/436 +[#454]: https://github.com/linebender/vello/pull/454 +[#496]: https://github.com/linebender/vello/pull/496 +[#516]: https://github.com/linebender/vello/pull/516 +[#521]: https://github.com/linebender/vello/pull/521 +[#522]: https://github.com/linebender/vello/pull/522 +[#526]: https://github.com/linebender/vello/pull/526 +[#535]: https://github.com/linebender/vello/pull/535 +[#537]: https://github.com/linebender/vello/pull/537 +[#538]: https://github.com/linebender/vello/pull/538 +[#539]: https://github.com/linebender/vello/pull/539 +[#540]: https://github.com/linebender/vello/pull/540 +[#544]: https://github.com/linebender/vello/pull/544 +[#547]: https://github.com/linebender/vello/pull/547 +[#550]: https://github.com/linebender/vello/pull/550 +[#551]: https://github.com/linebender/vello/pull/551 +[#553]: https://github.com/linebender/vello/pull/553 +[#555]: https://github.com/linebender/vello/pull/555 +[#560]: https://github.com/linebender/vello/pull/560 +[#563]: https://github.com/linebender/vello/pull/563 +[#573]: https://github.com/linebender/vello/pull/573 +[#575]: https://github.com/linebender/vello/pull/575 +[#589]: https://github.com/linebender/vello/pull/589 + +[Unreleased]: https://github.com/linebender/vello/compare/v0.2.0...HEAD +[0.2.0]: https://github.com/linebender/vello/compare/v0.1.0...v0.2.0 +[0.1.0]: https://github.com/linebender/vello/releases/tag/v0.1.0 diff --git a/README.md b/README.md index dc4d4e91..b3e8b520 100644 --- a/README.md +++ b/README.md @@ -45,6 +45,8 @@ It is used as the rendering backend for [Xilem], a Rust GUI toolkit. > - [GPU memory allocation strategy](https://github.com/linebender/vello/issues/366) > - [Glyph caching](https://github.com/linebender/vello/issues/204) +Significant changes are documented in [the changelog]. + ## Motivation Vello is meant to fill the same place in the graphics stack as other vector graphics renderers like [Skia](https://skia.org/), [Cairo](https://www.cairographics.org/), and its predecessor project [Piet](https://github.com/linebender/piet). @@ -116,7 +118,7 @@ renderer surface_texture.present(); ``` -See the [`examples`](https://github.com/linebender/vello/tree/main/examples) directory for code that integrates with frameworks like winit and bevy. +See the [`examples`](https://github.com/linebender/vello/tree/main/examples) directory for code that integrates with frameworks like winit. ## Performance @@ -128,11 +130,15 @@ More formal benchmarks are on their way. ### SVG -A separate Linebender integration for rendering SVG files is available through the [`vello_svg`](https://github.com/linebender/vello_svg) crate. +A separate Linebender integration for rendering SVG files is available through [`vello_svg`](https://github.com/linebender/vello_svg). ### Lottie -A separate Linebender integration for playing Lottie animations is available through the [`velato`](https://github.com/linebender/velato) crate. +A separate Linebender integration for playing Lottie animations is available through [`velato`](https://github.com/linebender/velato). + +### Bevy + +A separate Linebender integration for rendering raw scenes or Lottie and SVG files in [Bevy] through [`bevy_vello`](https://github.com/linebender/bevy_vello). ## Examples @@ -153,10 +159,6 @@ cargo run -p with_winit -### Bevy - -There is a separate community integration for rendering raw scenes or Lottie and SVG files in [Bevy] through [`bevy_vello`](https://github.com/linebender/bevy_vello). - ## Platforms We aim to target all environments which can support WebGPU with the [default limits](https://www.w3.org/TR/webgpu/#limits). @@ -300,3 +302,4 @@ The files in subdirectories of the [`examples/assets`](https://github.com/linebe [winit]: https://github.com/rust-windowing/winit [Bevy]: https://bevyengine.org/ [Requiem for piet-gpu-hal]: https://raphlinus.github.io/rust/gpu/2023/01/07/requiem-piet-gpu-hal.html +[the changelog]: https://github.com/linebender/vello/tree/main/CHANGELOG.md diff --git a/vello/README.md b/vello/README.md index fb5239d4..69d1d8d0 100644 --- a/vello/README.md +++ b/vello/README.md @@ -37,6 +37,8 @@ It is used as the rendering backend for [Xilem], a Rust GUI toolkit. > - [GPU memory allocation strategy](https://github.com/linebender/vello/issues/366) > - [Glyph caching](https://github.com/linebender/vello/issues/204) +Significant changes are documented in [the changelog]. + ## Motivation Vello is meant to fill the same place in the graphics stack as other vector graphics renderers like [Skia](https://skia.org/), [Cairo](https://www.cairographics.org/), and its predecessor project [Piet](https://github.com/linebender/piet). @@ -108,7 +110,7 @@ renderer surface_texture.present(); ``` -See the repository's [`examples`](https://github.com/linebender/vello/tree/main/examples) directory for code that integrates with frameworks like winit and bevy. +See the repository's [`examples`](https://github.com/linebender/vello/tree/main/examples) directory for code that integrates with frameworks like winit. ## Performance @@ -120,11 +122,15 @@ More formal benchmarks are on their way. ### SVG -A separate Linebender integration for rendering SVG files is available through the [`vello_svg`](https://github.com/linebender/vello_svg) crate. +A separate Linebender integration for rendering SVG files is available through [`vello_svg`](https://github.com/linebender/vello_svg). ### Lottie -A separate Linebender integration for playing Lottie animations is available through the [`velato`](https://github.com/linebender/velato) crate. +A separate Linebender integration for playing Lottie animations is available through [`velato`](https://github.com/linebender/velato). + +### Bevy + +A separate Linebender integration for rendering raw scenes or Lottie and SVG files in [Bevy] through [`bevy_vello`](https://github.com/linebender/bevy_vello). ## Examples @@ -145,10 +151,6 @@ cargo run -p with_winit -### Bevy - -There is a separate community integration for rendering raw scenes or Lottie and SVG files in [Bevy] through [`bevy_vello`](https://github.com/linebender/bevy_vello). - ## Platforms We aim to target all environments which can support WebGPU with the [default limits](https://www.w3.org/TR/webgpu/#limits). @@ -287,3 +289,4 @@ at your option. [winit]: https://github.com/rust-windowing/winit [Bevy]: https://bevyengine.org/ [Requiem for piet-gpu-hal]: https://raphlinus.github.io/rust/gpu/2023/01/07/requiem-piet-gpu-hal.html +[the changelog]: https://github.com/linebender/vello/tree/main/CHANGELOG.md diff --git a/vello_encoding/README.md b/vello_encoding/README.md index 085c970b..517d4c3c 100644 --- a/vello_encoding/README.md +++ b/vello_encoding/README.md @@ -16,6 +16,8 @@ This package contains types that represent data that [Vello] can render. +Significant changes are documented in [the changelog]. + ## Minimum supported Rust Version (MSRV) This version of Vello Encoding has been verified to compile with **Rust 1.75** and later. @@ -54,3 +56,4 @@ at your option. [Rust code of conduct]: https://www.rust-lang.org/policies/code-of-conduct [Vello]: https://github.com/linebender/vello +[the changelog]: https://github.com/linebender/vello/tree/main/CHANGELOG.md diff --git a/vello_shaders/README.md b/vello_shaders/README.md index 0abc34c1..6cb456f6 100644 --- a/vello_shaders/README.md +++ b/vello_shaders/README.md @@ -20,6 +20,8 @@ It provides the necessary metadata to construct the individual compute pipelines The shaders can be pre-compiled to any target shading language at build time based on feature flags. Currently only WGSL and Metal Shading Language are supported. +Significant changes are documented in [the changelog]. + ## Minimum supported Rust Version (MSRV) This version of Vello Shaders has been verified to compile with **Rust 1.75** and later. @@ -62,3 +64,4 @@ The intent is for this research to be used in as broad a context as possible. [Rust code of conduct]: https://www.rust-lang.org/policies/code-of-conduct [Vello]: https://github.com/linebender/vello +[the changelog]: https://github.com/linebender/vello/tree/main/CHANGELOG.md