-
-
Notifications
You must be signed in to change notification settings - Fork 31
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Preview should handle updates itself #236
Comments
I agree so much with this! |
Some thoughts: Should we go as far as making the whole Not having to call If we're forced to break something or have a subpar experience, maybe we should consider having this as part of the v2->v3 transition. Or plan for v4. If you ask me, this should be included in the initial v3 release. v3-alpha3 or v3.0. It's the kind of thing that gets me excited. But I'm open to leave that for later. |
We can make it private now and evaluate before we publish. I want to at least update the examples before we publish so that should be a good test. |
Btw where I said 'publish' I meant the final v3. |
Threejs has the option to toggle the update behavior from automatic to explicit. We could adopt the same strategy but I'd prefer to just choose a single approach that always works. Our lib isn't that generic hopefully. |
Me too! There's incredible benefits both for us and for the lib client dev. There are options that requires a re-render, and some other that don't. The application integrating the lib does not have to know that. The lib knows everything about it's internals and can make that call. I don't see why there would need to be a |
We can remove the necessity for the consumer to call
render()
after updating public props. This way the lib can decide what type of update is needed.Outline
Whenever a prop is changed, we queue the change.
Every tick, the queue is read and processed and emptied.
Update types
scene changes can be done immediately w/o requiring the model to be rerendered. Examples:
incremental parsing
full render of the model
The text was updated successfully, but these errors were encountered: