-
Notifications
You must be signed in to change notification settings - Fork 330
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
Distinguish 2D and 3D space view types, remove navigation mode #2649
Labels
📺 re_viewer
affects re_viewer itself
Comments
3 tasks
Wumpf
added a commit
that referenced
this issue
Jul 14, 2023
(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)
3 tasks
Wumpf
added a commit
that referenced
this issue
Jul 20, 2023
…ViewClass` driven spawn heuristics (#2716) ### What Fixes #2649 * #2649 Separates the 2D & 3D space views into separate classes, leading to removal of the "navigation mode". Naturally, this means that heuristics that previously defined the navigation mode move to space view creation. Space view creation in turn was previously defined via the outdated `ViewCategory` concept (which assigned each space view class an enum value). Since we wanted to remove it for a while, I went through with that, causing heuristics to spread out further into the Space View Class framework itself. Default space view spawning & populating is now goverend by: * remaining hardcoded heuristics in `space_view_heuristics.rs` (to be phased out!) * `ViewPartSystem::queries_any_components_of` determines which entities a `ViewPartSystem` queries. The default implementation works for everything except `Tensor` (if this case disappears in the future we may consider removing this method again) * `SpaceViewClass::auto_spawn_heuristic` drives whether a Space View Class is spawned for a given root and set of entities. This is fairly basic at the moment and should eventually take over almost everything in `space_view_heuristics`. Interestingly, this already allows to express relatively complex rules like "if there is any log text, default spawn a single text view at the root and don't affect spawning of other space views at all" Noticed that some other space view class icons were wrong and fixed that up as well. <img width="164" alt="image" src="https://github.com/rerun-io/rerun/assets/1220815/9317bbf8-4397-41d0-aa2e-489f24e448cb"> ### 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/2716) (if applicable) - [PR Build Summary](https://build.rerun.io/pr/2716) - [Docs preview](https://rerun.io/preview/pr%3Aandreas%2Fseparate-2d-3d-spaceviews/docs) - [Examples preview](https://rerun.io/preview/pr%3Aandreas%2Fseparate-2d-3d-spaceviews/examples)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
This should be less confusing in particularly in respect to heuristics and upcoming blueprint apis that set up the type of a space view.
Related among others:
The text was updated successfully, but these errors were encountered: