1 unstable release

0.1.0 Mar 12, 2024

#111 in Rendering

Download history 198/week @ 2024-03-11 15/week @ 2024-03-18 47/week @ 2024-04-01 21/week @ 2024-04-08 52/week @ 2024-04-15

122 downloads per month
Used in bevy_vello

(Apache-2.0 OR MIT) AND MPL-2.0

140KB
481 lines

Vello SVG

An integration to parse and render SVG with Vello.

Linebender Zulip dependency status (MIT/Apache 2.0)+MPL 2.0 vello version

Crates.io Docs Build status

[!WARNING] The goal of this crate is to provide decent coverage of the (large) SVG spec, up to what vello will support, for use in interactive graphics. If you are looking for a correct SVG renderer, see resvg. See vello for more information about limitations.

Examples

Cross platform (Winit)

cargo run -p with_winit

You can also load an entire folder or individual files.

cargo run -p with_winit -- examples/assets

Web platform

Because Vello relies heavily on compute shaders, we rely on the emerging WebGPU standard to run on the web. Until browser support becomes widespread, it will probably be necessary to use development browser versions (e.g. Chrome Canary) and explicitly enable WebGPU.

This uses cargo-run-wasm to build the example for web, and host a local server for it

# Make sure the Rust toolchain supports the wasm32 target
rustup target add wasm32-unknown-unknown

# The binary name must also be explicitly provided as it differs from the package name
cargo run_wasm -p with_winit --bin with_winit_bin

There is also a web demo available here on supporting web browsers.

[!WARNING] The web is not currently a primary target for Vello, and WebGPU implementations are incomplete, so you might run into issues running this example.

Community

Discussion of Velato development happens in the Linebender Zulip, specifically the #gpu stream. All public content can be read without logging in.

Contributions are welcome by pull request. The Rust code of conduct applies.

License

Licensed under either of

at your option, in addition to

The files in subdirectories of the examples/assets directory are licensed solely under their respective licenses, available in the LICENSE file in their directories.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Dependencies

~19–54MB
~704K SLoC