-
Notifications
You must be signed in to change notification settings - Fork 395
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
3D shape properties are not updated #104
Comments
I haven't delved into the source code, but I kind of got around this issue by setting the "backface" property of the .children[0].children[1] of the cylinder shape element. The backface of the cylinder seems to be stored as a separate shape, as a grand-child of the cylinder shape itself. |
Thanks for reporting this issue. Yeah, this is an issue — there's no straight-forward way to update interior shapes of composite shapes like Cylinder base. The closest thing is updatePath, but I'm not sure if that will work in this case. |
Old issue, but times have changed and this would be an ideal case for using the reactivity functionality from Vue 3. Vue is certainly a bit of an overkill, but that functionality is really cool. It wraps objects in proxies thus allowing you to get notified if anything in the object changes (=making them reactive), even nested deep below if you wish. On notification of the change you could then simply update the scene. I am not sure if there is any package available that only provides the reactivity part of vue, but if you are using Vue anyway, this should work. Edit: In other words,this does have to be part of zdog, but could be solved with an external library providing reactivity. |
Bug: If you set the 'backface' or 'length' properties of a Cylinder after render, it will not update. Same with Box object. I suspect the other derived shapes may have some issues (hemisphere's backface updates correctly, but changing diameter will not recalculate the backface area)
Test case: https://codepen.io/ceruulean/pen/xxEVeyY
The text was updated successfully, but these errors were encountered: