wgpu-py icon indicating copy to clipboard operation
wgpu-py copied to clipboard

Roadmap to maturity

Open almarklein opened this issue 2 years ago • 3 comments

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.

almarklein avatar Nov 27 '23 10:11 almarklein

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

Vipitis avatar Jul 16 '24 23:07 Vipitis

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

Korijn avatar Jul 17 '24 05:07 Korijn

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.h so 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.).

almarklein avatar Sep 29 '25 10:09 almarklein