Basic Documentation:
- Write a main function.
- Point to the SceneBuilder types.
All the following come after shipping 0.1.
-
Implement WebGL compatibility
- ???
-
Make the SceneBuilder API closer to PostScript/WebCanvas, by adding pushTransform and popTransform methods and matching them in the encoding.
-
Re-structure the Vello repository:
- Move
Scene
/SceneFragment
/SceneBuilder
intovello-encoding
. - Rename
vello-encoding
tovello-core
- Split out the wgpu backend into a
vello-wgpu
crate.
- Move
-
Improve Vello's documentation
- Add basic example
- Improve
vello architecture diagram
-
Document Vello's limits and guarantees:
- What are the maximum sizes you can send it?
- What happens if you go over these sizes?
- What happens if you send NaNs?
- What happens if you send invalid indices, unmatched push/pops, etc?
-
Formalize test suite
- Have repository with list of test files.
- Add more test files.
- Figure out some kind of snapshot testing that isn't vulnerable to subtle platform changes.
- Look at fuzzing suites (see lcamtuf.blogspot.com) for interesting test files.
-
Implement testing
- Factor out prefix scan stuff
- Implement fuzzing for all the deterministic stages of the pipelines.
- Implement sanity checks for the GPU-stuff. (eg check that there are not WAR hazards, that kind of thing.)