Roadmap to maturity
This is a meta-issue that lists the needed work to get to a 1.0 level maturity. Note that we cannot call the API "stable" until the WebGPU spec is final.
General:
- Ongoing work to keep up with changes to the WebGPU spec.
- Ongoing work to keep up with changes to wgpu-native.
- Adopting best practices from https://scientific-python.org/specs/
API improvements / changes:
- pygfx/wgpu-py#391
- pygfx/wgpu-py#425
- pygfx/wgpu-py#394
API completeness:
- Render bundles.
- Occlusion queries.
- Debug markers.
- A bunch of optional arguments in webGPU methods that wgpu-native does not expose yet.
GUI support:
- pygfx/rendercanvas#36
- pygfx/wgpu-py#407
- Not strictly necessary, but interesting nonetheless.
- pygfx/wgpu-py#187
- Not sure how necessary this is, but it's a valid use-case I suppose.
Testing:
- Units tests to cover 100% of the API.
- More examples, as coverage, but also to demonstrate the use of certain features.
Documentation:
- Improve the guide.
- Tutorials.
I think a good goal will be to never panic and lose the python process. Always crash gracefully and raise some kind of Exception. There is some open issue for this in wgpu-native too
I think a good goal will be to never panic and lose the python process. Always crash gracefully and raise some kind of Exception. There is some open issue for this in wgpu-native too
You're right! We talked about this before with you. See https://github.com/pygfx/wgpu-py/issues/171
We've covered most things mentioned above by now. The GUI stuff is developed in Rendercanvas, and continuously improving.
Some points that remain:
- The async stuff needs a bit of shaving, but we're getting there (also waiting on wgpu-native to ship with the latest
webgpu.hso we can wait for specific futures). - Would be good to check/improve the test coverage.
- Some more examples on specific features (e.g. render bundles, etc.).