This is a development-only crate for testing the Sparse Strips renderers across a corpus of reference images:
- CPU
- WGPU
- WASM32 WebGL
The vello_test proc macro will create a snapshot test for each supported
renderer target. See the below example usage.
// Draws a filled triangle into a 125x125 scene.
#[vello_test(width = 125, height = 125)]
fn filled_triangle(ctx: &mut impl Renderer) {
let path = {
let mut path = BezPath::new();
path.move_to((5.0, 5.0));
path.line_to((95.0, 50.0));
path.line_to((5.0, 95.0));
path.close_path();
path
};
ctx.set_paint(LIME);
ctx.fill_path(&path);
}See all the attributes that can be passed to vello_test in
vello_dev_macros/src/test.rs.
Requirements:
- on MacOS, a minimum Clang major version of 20 is required.
To run the vello_tests suite including the WebGL tests:
wasm-pack test --headless --chrome --features webgl --releaseTo debug the output images in webgl, run the same command without --headless.
Any tests that fail will have their diff image appended to the bottom of the
page.