- Notifications
You must be signed in to change notification settings - Fork 193
Buffer attributes/geometry #113
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
Buffer attributes/geometry #113
Conversation
Give it better visibility and add a docstring.
Further highlight that most three widgets are models only.
This allows access to vertices etc. generated by geometry creator classes.
The rendering calls were streamlined to avoid unneeded calls + fix cases where things were not called but should have.
Main point is to at least ensure animations are stopped and that we do as little work as possible (context is normally lost for resource reasons).
Most browsers have 8 or 16, so floor it to the lowest we think we are guaranteed to have.
| Note that with this PR, the autogen branch should be at the same level (nearly?) as the current master in terms of functionality, and that after the currently open PRs to the autogen branch are dealt with, one can consider merging the autogen branch into master. |
| Emphasis: This PR adds the requirement that the ipydatawidgets frontend extension is installed as well. |
| @vidartf - feel free to merge this in if you feel it's ready. |
| Apologies for not being able to review as much these days. I'm so pumped you guys are really taking some huge steps with improving this lib! The idea that buffer data can be passed back and forth efficiently is huge and I can only imagine what kind of cool demos this might enable! |
| Just wanted to make sure you were comfortable adding a dependency on another extension. |
I'm not opposed to the idea. |
Adds support for buffer attributes and geometries.
Point worth noting:
ipydatawidgets, which is a helper package for arrays and widgets for sharing arrays between different widgets.PlainBufferGeometryas a buffer geometry class that syncs its attributes to the python side.PlainBufferGeometry.from_refthat initializes a newPlainBufferGeometryas either a copy of anotherBufferGeometry, or as a conversion of a regularGeometry. This copy should then sync its attributes back to the kernel side.from_ref, it introduces machinery for creating new widget models from the JS side.See the updated example notebook(s) for behavior.
Based on #108.