.
diff --git a/sparse_strips/vello_api/README.md b/sparse_strips/vello_api/README.md index 231d9a7..450d27b 100644 --- a/sparse_strips/vello_api/README.md +++ b/sparse_strips/vello_api/README.md
@@ -35,12 +35,12 @@ This crate allows you to write the majority of your application logic to support either of those renderers. These renderers are [Vello CPU](todo) and [Vello Hybrid](todo). -# Usage +## Usage TODO: Mention Renderer trait when it exists. Otherwise, this code isn't really usable yet. TODO: This is a stub just to have an outline to push. -# Renderers +## Renderers The Vello renderers which support this API are: @@ -68,7 +68,7 @@ This doesn't apply to renderer-specific features. <!-- TODO: Is ^ true? --> -# Abstraction Boundaries +## Abstraction Boundaries The abstractions in this crate are focused on 2D rendering, and the resources required to perform that. In particular, this does not abstract over strategies for: @@ -81,7 +81,7 @@ The renderer API supports downcasting to the specific renderer, so that these extensions can be called. Each supported renderer will/does have examples showing how to achieve this yourself. -# Text +## Text Vello API does not handle text/glyph rendering itself. This allows for improved resource sharing of intermediate text layout data, for hinting and ink splitting underlines. @@ -91,7 +91,7 @@ We also support rendering using using traditional glyph atlases, which may be preferred by some consumers. This is especially useful to achieve subpixel rendering, such as ClearType, which Vello doesn't currently support directly. -# Unimplemented Features +## Unimplemented Features NOTE: This section is not complete; in particular, we have only pushed a half-version of this API to make review more scoped. @@ -99,7 +99,7 @@ As such, there are several features which we expect to be included in this API, but which are not yet exposed in this crate. These are categorised as follows: -## Out of scope/Renderer specific +### Out of scope/Renderer specific <!-- This section can be removed once the other three classes are empty --> As discussed above, some features are out-of-scope, as they have concerns which need to be handled individually by each renderer. @@ -108,7 +108,7 @@ - Rendering directly to a surface. - Importing "external" textures (e.g. from a `wgpu::Texture`) -## Excluded for expedience +### Excluded for expedience - Renderer specific painting commands (i.e. using downcasting). This is intended to be an immediate follow-up to the MVP landing. @@ -125,7 +125,7 @@ - "Unsetting" the brush; this is mostly useful for append style operations, which may unexpectedly change the brush. - Dynamic version of `PaintScene`, allowing `dyn PaintScene` for cases where that would be relevant. -## Not cross-renderer +### Not cross-renderer There are some features which are only implemented in one of our target renderers, so cannot yet be included in the generalised API. As an interim solution, we intend to expose these features as renderer specific extensions (see the "excluded for expedience section"). @@ -139,7 +139,7 @@ There are currently no such features the other way around (i.e. which only Vello Hybrid supports). -## Not implemented +### Not implemented - Path caching. This feature is intended to allow re-using paths efficiently, primarily for glyphs. - Blurred rounded rectangle paints in custom shapes (e.g. to exclude the unblurred parts).
diff --git a/sparse_strips/vello_common/README.md b/sparse_strips/vello_common/README.md index be18056..85c34ff 100644 --- a/sparse_strips/vello_common/README.md +++ b/sparse_strips/vello_common/README.md
@@ -30,7 +30,7 @@ This crate includes common geometry representations, tiling logic, and other fundamental components used by both [Vello CPU][vello_cpu] and Vello Hybrid. -# Usage +## Usage This crate should not be used on its own, and you should instead use one of the renderers which use it. At the moment, only [Vello CPU][vello_cpu] is published, and you probably want to use that. @@ -39,7 +39,7 @@ Vello CPU is being developed as part of work to address shortcomings in Vello. Vello does not use this crate. -# Features +## Features - `std` (enabled by default): Get floating point functions from the standard library (likely using your target's libc). @@ -51,7 +51,7 @@ At least one of `std` and `libm` is required; `std` overrides `libm`. -# Contents +## Contents - Shared data structures for paths, tiles, and strips - Geometry processing utilities
diff --git a/sparse_strips/vello_cpu/CHANGELOG.md b/sparse_strips/vello_cpu/CHANGELOG.md index 3866630..ea4ba68 100644 --- a/sparse_strips/vello_cpu/CHANGELOG.md +++ b/sparse_strips/vello_cpu/CHANGELOG.md
@@ -17,7 +17,7 @@ ### Added -- Added `render_to_pixmap_at_offset` method to `RenderContext` for rendering at specific offsets within a larger pixmap, enabling spritesheet/texture atlas support. ([#1416][] by [@grebmeg][]) +- Added `render_to_pixmap_at_offset` method to `RenderContext` for rendering at specific offsets within a larger pixmap, enabling spritesheet/atlas support. ([#1416][] by [@grebmeg][]) ### Changed
diff --git a/sparse_strips/vello_cpu/README.md b/sparse_strips/vello_cpu/README.md index fab5c37..89be0d2 100644 --- a/sparse_strips/vello_cpu/README.md +++ b/sparse_strips/vello_cpu/README.md
@@ -39,7 +39,7 @@ We also develop [Vello](https://crates.io/crates/vello), which makes use of the GPU for 2D rendering and has higher performance than Vello CPU. Vello CPU is being developed as part of work to address shortcomings in Vello. -# Usage +## Usage To use Vello CPU, you need to: @@ -90,7 +90,7 @@ [examples](https://github.com/linebender/vello/tree/main/sparse_strips/vello_cpu/examples) to better understand how to interact with Vello CPU's API, -# Features +## Features - `std` (enabled by default): Get floating point functions from the standard library (likely using your target's libc). @@ -111,7 +111,7 @@ You might choose to disable one of these pipelines if your application won't use it, so as to reduce binary size. -# Caveats +## Caveats Overall, Vello CPU is already very feature-rich and should be ready for production use cases. The main caveat at the moment is that the API is @@ -126,14 +126,14 @@ (more than 4) might give diminishing returns, especially when making heavy use of layers and clip paths. -# Performance +## Performance Performance benchmarks can be found [here](https://laurenzv.github.io/vello_chart/), As can be seen, Vello CPU achieves compelling performance on both, aarch64 and x86 platforms. We also have SIMD optimizations for WASM SIMD, meaning that you can expect good performance there as well. -# Implementation +## Implementation If you want to gain a better understanding of Vello CPU and the sparse strips paradigm, you can take a look at the [accompanying