-
Notifications
You must be signed in to change notification settings - Fork 373
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
Writeup of the Space View (Class) framework #2533
Conversation
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.
This whole thing is a large, complicated machine with different relationships between trait-impls, dyn container-accessors, associated types, etc.
All of this would benefit from a single relationship diagram showing how these relationships (implements, contains, references, templates on) fit together.
(Replaces #2522) Part of * #2649 For in-depth overview of how space views work now see #2533 Replaces custom user types for context and parts with typemap style collections. These are filled every frame from a set of registered parts & contexts. Registration happens on the `SpaceViewRegistry` where we already register space view classes themselves. Other rippling changes in overview: * space view parts and context no longer have access to the space view's state struct, this fully decouples them from any concrete space view * space view part's data object is no longer strongly typed, but an `&Any` instead, fullfills otherwise the same purpose * `Scene`/`TypedScene` is gone now * most of what was previously the scene buildup is now part of `SpaceViewClass::ui` For reviewing it's recommended to start with everything in the `re_viewer_context` crate. Overview of major trait entry points - see also #2533 <img width="1120" alt="image" src="https://github.com/rerun-io/rerun/assets/1220815/ffdb1cdf-7efe-47a0-ac38-30262d770e69"> ### What ### Checklist * [x] I have read and agree to [Contributor Guide](https://github.com/rerun-io/rerun/blob/main/CONTRIBUTING.md) and the [Code of Conduct](https://github.com/rerun-io/rerun/blob/main/CODE_OF_CONDUCT.md) * [x] I've included a screenshot or gif (if applicable) * [x] I have tested [demo.rerun.io](https://demo.rerun.io/pr/2688) (if applicable) - [PR Build Summary](https://build.rerun.io/pr/2688) - [Docs preview](https://rerun.io/preview/pr%3Aandreas%2Fregistered-space-view-systems/docs) - [Examples preview](https://rerun.io/preview/pr%3Aandreas%2Fregistered-space-view-systems/examples)
What
Assumes #2688 has landed already for the most part.
Rendered
Checklist
PR Build Summary: https://build.rerun.io/pr/2533
Docs preview: https://rerun.io/preview/6cd6eb5/docs
Examples preview: https://rerun.io/preview/6cd6eb5/examples