-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add skeleton of wgpu-py #3
Conversation
I will have a lot of feedback at this stage. I will post code review comments, but if you prefer that I add commits to the branch directly, tell me and I will. |
It would be a ton of effort for me to capture my feedback in more comments so I just pushed some commits to this branch. Feel free to revert anything if you feel differently. I used these two guides to put pyproject.toml together:
I think we should make sure that CI passes, at the very least. We should also see if we can claim a pypi page. It seems like https://pypi.org/project/shadertoy/ is actually still available (surprising!). If you're OK with it, I would also propose to switch to the more modern ruff linter as it can capture all the same linting rules we are now applying with flake8 and black (and a few plugins). I can do that in a separate PR. |
With CI passing and at least one example under screenshot testing, I think this is ready to merge. Feel free to give the Approval yourself and merge, if you agree. |
Thanks for all the changes. I was reading through nearly the same resources yesterday. The only issue I see with calling it just As for linting, I welcome new capabilities. Something that could be interesting, is that shadercode is just python strings - and could maybe get it's own linting rules (for glsl or wgsl specific). It looks good to merge to me! |
That makes sense. We can rename the package to wgpu_shadertoy?
Easiest way to accomplish that is probably to put shaders in their own .glsl and .wgsl files. |
Starting from the top of #1
This PR starts with a squashed clone of wgpu-py at the 0.13.2 release and then removes all parts that are not required.
all inits and config are keptno modifications to any files have been made