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

UI for showing overrides and data sources #4888

Closed
nikolausWest opened this issue Jan 23, 2024 · 0 comments · Fixed by #6605
Closed

UI for showing overrides and data sources #4888

nikolausWest opened this issue Jan 23, 2024 · 0 comments · Fixed by #6605
Assignees
Labels
ui concerns graphical user interface
Milestone

Comments

@nikolausWest
Copy link
Member

nikolausWest commented Jan 23, 2024

We need to be able set, edit, and remove overrides for any entities inside Space Views. That should be done in the selection view. For all components driving a visualizer, we need to show where it comes from:

  • An entity in the recording
  • A blueprint override
    • If override, it should show the original value as well on hover and provide a way to revert
    • We may want to distinguish between overrides that are committed / set through SDK vs set in the UI but not saved
  • A default

Showing these necessitate reorganizing the selection view.

Here is a first sketch

@nikolausWest nikolausWest added the ui concerns graphical user interface label Jan 23, 2024
@Wumpf Wumpf self-assigned this Jun 18, 2024
Wumpf added a commit that referenced this issue Jun 20, 2024
### What

Previously, we had ui for adding component overrides, under an
experimental feature everywhere except the time series view + some
hardcoded ui for manipulating overrides (those that were
`EntityProperties` in 0.16).

This PR removes both the component override ui and the hardcoded
property ui in favor of a new overview + override ui showing all
currently used values by all active visualizers + ability to add/remove
visualizers.


https://github.com/rerun-io/rerun/assets/1220815/425a9406-9eb2-4319-846b-fe0d0eee1a42

---

Noteworthy "sideeffects":
* `ComponentUiCallback` now uses raw arrow arrays, allowing it to show
fallbacks
* kills lots'a old code :)
* `VisualizerQueryInfo::queried` keeps now archetype component ordering
instead of alphabetical (not in above video yet)
* lots of inconsistency in our data flow are now visible

---

Planned direct follow-ups:
* allow various reset / override menus 
* particularly important: remove override, add (single) override on
multi-value
* Would be great to do this with a menu button, will have to be a
context menu until emilk/egui#4607 is handled
* allow expanding to see the override/store/default/fallback stack
* original plan was to skip on this, but the method has all the data
layed out neatly now, so might as well!
* get the "Add" button integrated into the top (unless this is hard?)
*  show better docs: #6556
* Find a better name for the "blueprint section" below

---

Also needed but not planned short term:
* inspect multivalues
* we could do so for store multivalues already, but everything else we
can't yet select, so let's tackle this later
* ui polish

---

Part of:
* #4888

### 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 the web demo (if applicable):
* Using examples from latest `main` build:
[rerun.io/viewer](https://rerun.io/viewer/pr/6599?manifest_url=https://app.rerun.io/version/main/examples_manifest.json)
* Using full set of examples from `nightly` build:
[rerun.io/viewer](https://rerun.io/viewer/pr/6599?manifest_url=https://app.rerun.io/version/nightly/examples_manifest.json)
* [x] The PR title and labels are set such as to maximize their
usefulness for the next release's CHANGELOG
* [x] If applicable, add a new check to the [release
checklist](https://github.com/rerun-io/rerun/blob/main/tests/python/release_checklist)!

- [PR Build Summary](https://build.rerun.io/pr/6599)
- [Recent benchmark results](https://build.rerun.io/graphs/crates.html)
- [Wasm size tracking](https://build.rerun.io/graphs/sizes.html)

To run all checks from `main`, comment on the PR with `@rerun-bot
full-check`.
@jleibs jleibs added this to the 0.17 milestone Jun 21, 2024
Wumpf added a commit that referenced this issue Jun 24, 2024
### What

* Fixes #4888

The visualizer ui now shows the full stack of
override/store/default/fallback and allows a wide variety with
interaction with it.


https://github.com/rerun-io/rerun/assets/1220815/e2e4900c-dbd4-4310-a547-3f0c014b154f

There's a new "more" button which gives access to various options for
setting the override or setting the view's default (feedback on what
goes on those lines welcome
<img width="207" alt="image"
src="https://github.com/rerun-io/rerun/assets/1220815/d3543026-e4a4-421a-8d9a-4705e635c457">

Furthermore, the "add" visualizer button is now part of the header
section:
<img width="397" alt="image"
src="https://github.com/rerun-io/rerun/assets/1220815/78fd7882-e338-461a-aa3a-ca39a0797595">


### 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 the web demo (if applicable):
* Using examples from latest `main` build:
[rerun.io/viewer](https://rerun.io/viewer/pr/6605?manifest_url=https://app.rerun.io/version/main/examples_manifest.json)
* Using full set of examples from `nightly` build:
[rerun.io/viewer](https://rerun.io/viewer/pr/6605?manifest_url=https://app.rerun.io/version/nightly/examples_manifest.json)
* [x] The PR title and labels are set such as to maximize their
usefulness for the next release's CHANGELOG
* [x] If applicable, add a new check to the [release
checklist](https://github.com/rerun-io/rerun/blob/main/tests/python/release_checklist)!

- [PR Build Summary](https://build.rerun.io/pr/6605)
- [Recent benchmark results](https://build.rerun.io/graphs/crates.html)
- [Wasm size tracking](https://build.rerun.io/graphs/sizes.html)

To run all checks from `main`, comment on the PR with `@rerun-bot
full-check`.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ui concerns graphical user interface
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants