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 overriding SeriesStyle in TimeSeriesViews #4817

Closed
nikolausWest opened this issue Jan 15, 2024 · 1 comment
Closed

UI for overriding SeriesStyle in TimeSeriesViews #4817

nikolausWest opened this issue Jan 15, 2024 · 1 comment
Assignees
Labels
enhancement New feature or request ui concerns graphical user interface
Milestone

Comments

@nikolausWest
Copy link
Member

Build out selection view UI to be able to override any options (components) in the SeriesStyle for entities selected in a TimeSeriesView

@nikolausWest nikolausWest added enhancement New feature or request ui concerns graphical user interface labels Jan 15, 2024
@nikolausWest nikolausWest added this to the 0.13 milestone Jan 15, 2024
@jleibs jleibs self-assigned this Jan 29, 2024
jleibs added a commit that referenced this issue Jan 29, 2024
…or overriding components (#4914)

### What
- Part of #4817

This tackles the problem of allowing SeriesStyle components to be
overridden by building out a significant chunk of a general component
override framework.

The new UI is limited to TimeSeriesScalar view at the moment because it
still requires special Visualizer-side handling of the component data.

### High level idea
When selecting an entity within a space-view, we now have the ability to
override any component that is both queried by the visualizer, and for
which we have a registered component-editor.

This override value is initialized based on looking for, in order:
 - The current value of the component for the entity
- A value provided by the Visualizer (useful for things like matching
the current auto-color)
- A default value provided by a function registered along with the
editor.

### Notable changes:
- Adds a new mechanism to the Component UI Registry that allows us to
register editors and default-value providers for any component.
- Adds a mechanism to all visualizers to find out the full set of
components they query.
- During the `update_overrides` process, we now checks the appropriate
location in the blueprint override tree and insert the path to any
overridden components into the DataResult.
- In the TimeSeriesSpaceView we now respect any overrides that come from
the DataResult.
- Introduce a new Override Components UI in the seleciton panel, which
allows us to add an override using a default-provided, or
visualizer-provided initial value.
- Once the override has been added, the override UI dispatches to the
registered editor for each overridden component.

### Screenshot

![image](https://github.com/rerun-io/rerun/assets/3312232/030f625b-462a-4b10-844a-5721492914a0)


### 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 newly built examples:
[app.rerun.io](https://app.rerun.io/pr/4914/index.html)
* Using examples from latest `main` build:
[app.rerun.io](https://app.rerun.io/pr/4914/index.html?manifest_url=https://app.rerun.io/version/main/examples_manifest.json)
* Using full set of examples from `nightly` build:
[app.rerun.io](https://app.rerun.io/pr/4914/index.html?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

- [PR Build Summary](https://build.rerun.io/pr/4914)
- [Docs
preview](https://rerun.io/preview/e5f379759f9e985910550ab0258abdec4d4ca1a1/docs)
<!--DOCS-PREVIEW-->
- [Examples
preview](https://rerun.io/preview/e5f379759f9e985910550ab0258abdec4d4ca1a1/examples)
<!--EXAMPLES-PREVIEW-->
- [Recent benchmark results](https://build.rerun.io/graphs/crates.html)
- [Wasm size tracking](https://build.rerun.io/graphs/sizes.html)
@Wumpf
Copy link
Member

Wumpf commented Jan 31, 2024

We ended up doing it the other way round. We have now a universal mechanism for overriding components, but we still have to add more components to style a series. But the ui is basically in place!

@Wumpf Wumpf closed this as completed Jan 31, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request ui concerns graphical user interface
Projects
None yet
Development

No branches or pull requests

3 participants