-
Notifications
You must be signed in to change notification settings - Fork 0
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
Scene3D #41
base: main
Are you sure you want to change the base?
Scene3D #41
Conversation
d6e013f
to
2e231e0
Compare
I've tagged a few people for review, if you have time/interest. This is large PR, and for workflow purposes I'd like to merge it today so that the scene3d docs make it into the website, and we can follow up with further review/changes later. |
- render object includes spec
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Happy to approve and debug later based on a view of the mkdocs files... @chi-collective/gen , @littleredcomputer , if anyone else wants to stare at this please do!
This PR introduces a new 3D visualization module in src/genstudio/scene3d.py.
It brings in our first set of interactive scene components using WebGPU, including:
Usage notes
sizes
,alphas
,positions
and so on) should be flattened, due to javascript not having support for multidimensional arrays. Some effort is made to due this in our python api but it won't handle the common/recommended cases where data is specified withinPlot.initialState
(we don't know statically how this data is used, so we can't automatically reshape)alpha
(same alpha for all) oralphas
(an array with one value per instance). Eg.PointCloud(positions=[...], sizes=[...], alpha=...)
. If you want to specify an attribute for a small number of instances, use a decoration, egPointCloud(..., decorations=[deco([..indexes..], alpha=...])
.Review/Doc notes
notebook/scene3d_*
example filesdocs/learn-more/scene3d.py