Contributing to Vello

Contributions are welcome by pull request. The Rust code of conduct applies. For questions and design discussion, use the #vello channel on Zulip.

Reviewer time is the scarcest resource on this project. AGENTS.md describes what makes a change quick to review. It is written for coding agents, but it applies to every contribution:

Before opening a pull request

The snapshot reference images are stored with Git LFS, so run git lfs pull after cloning. Then run the checks that CI runs most often:

cargo fmt --all
cargo clippy --workspace --all-targets
cargo test -p vello_tests

A new #[vello_test] creates its reference image on the first run and fails once so that you look at it. To update a reference after an intended change, run the test with REPLACE=1. A failing test writes an image showing the reference, the difference and the actual output to vello_tests/diffs/; check it before committing a new reference. See vello_tests/README.md for the WebGL tests.

Add an entry under [Unreleased] in the crate's CHANGELOG.md for user-facing changes to a published crate.