Skip to content
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

Merged
merged 11 commits into from
Jul 14, 2023
Merged

Conversation

Wumpf
Copy link
Member

@Wumpf Wumpf commented Jun 27, 2023

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

@Wumpf Wumpf added the 📖 documentation Improvements or additions to documentation label Jun 27, 2023
@Wumpf Wumpf requested a review from jleibs June 27, 2023 11:17
Copy link
Member

@jleibs jleibs left a 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.

design/space_views.md Outdated Show resolved Hide resolved
design/space_views.md Outdated Show resolved Hide resolved
design/space_views.md Outdated Show resolved Hide resolved
design/space_views.md Outdated Show resolved Hide resolved
design/space_views.md Outdated Show resolved Hide resolved
design/space_views.md Outdated Show resolved Hide resolved
design/space_views.md Outdated Show resolved Hide resolved
design/space_views.md Outdated Show resolved Hide resolved
design/space_views.md Outdated Show resolved Hide resolved
design/space_views.md Outdated Show resolved Hide resolved
design/space_views.md Outdated Show resolved Hide resolved
@Wumpf Wumpf merged commit d3e0e00 into main Jul 14, 2023
@Wumpf Wumpf deleted the andreas/space_views-rfc branch July 14, 2023 08:06
Wumpf added a commit that referenced this pull request 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)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
📖 documentation Improvements or additions to documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants