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

New plot configuration features via TimeSeriesView Archetype #4818

Open
3 of 10 tasks
Tracked by #4813 ...
nikolausWest opened this issue Jan 15, 2024 · 2 comments
Open
3 of 10 tasks
Tracked by #4813 ...

New plot configuration features via TimeSeriesView Archetype #4818

nikolausWest opened this issue Jan 15, 2024 · 2 comments
Labels
🟦 blueprint The data that defines our UI enhancement New feature or request
Milestone

Comments

@nikolausWest
Copy link
Member

nikolausWest commented Jan 15, 2024

  • Add a (blueprint) archetype for the TimeSeriesView to hold the relevant options.

Additional options that should be settable per view that aren't currently:

  • axis / zoom / grid options
    • axis labels
    • axis visibility
    • Y axis bounds
    • axis tick options
    • grid visibility
    • grid options (min / max size?)
    • allow zoom / drag for x / y
  • legend
    • ability to hide the legend
    • legend size

For each added item:

  • The option must set the relevant egui_plot options.
  • The option must be configurable via the selection panel

Decision:

  • The UI for this will not be implemented generically. Do these by hand-implementing these in the space-view selection_ui interface.
@nikolausWest nikolausWest added enhancement New feature or request 🟦 blueprint The data that defines our UI labels Jan 15, 2024
@nikolausWest nikolausWest added this to the 0.13 milestone Jan 15, 2024
@jleibs jleibs self-assigned this Jan 16, 2024
@jleibs
Copy link
Member

jleibs commented Jan 18, 2024

allow zoom / drag for x / y

@nikolausWest can you elaborate on what you mean by this? We can already zoom and drag to pan x / y so I assume this is something different?

@nikolausWest
Copy link
Member Author

nikolausWest commented Jan 19, 2024

can you elaborate on what you mean by this? We can already zoom and drag to pan x / y so I assume this is something different

I meant making those things optional. In the egui.rs plots demo you can turn zooming and panning on and of per axis.

@jleibs jleibs changed the title TimeSeriesView Archetype New plot configuration features via TimeSeriesView Archetype Jan 29, 2024
@jleibs jleibs removed their assignment Jan 29, 2024
@Wumpf Wumpf self-assigned this Feb 1, 2024
jleibs added a commit that referenced this issue Feb 2, 2024
### What

* Part of #4818

Introduces new system of sub archetypes: Each space view has its own
small tree of properties.
Used this to move over the already existing plot options (no functional
change in this PR!), but all remaining plot properties can then be moved
to this new more versatile system.

Draft:
* ~~[ ] use component editors for visibility and legend position~~
  * Punting for future UI unification
* ~~[ ] make cloning of space views work (this now needs to copy the
entire blueprint subtree)~~
  * Will address in: #4977
* [x] test it out a bit more, self review

### 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/5006/index.html)
* Using examples from latest `main` build:
[app.rerun.io](https://app.rerun.io/pr/5006/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/5006/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/5006)
- [Docs
preview](https://rerun.io/preview/1bea7468aa745f6322c7e1873b15787ffc11a920/docs)
<!--DOCS-PREVIEW-->
- [Examples
preview](https://rerun.io/preview/1bea7468aa745f6322c7e1873b15787ffc11a920/examples)
<!--EXAMPLES-PREVIEW-->
- [Recent benchmark results](https://build.rerun.io/graphs/crates.html)
- [Wasm size tracking](https://build.rerun.io/graphs/sizes.html)

---------

Co-authored-by: Jeremy Leibs <jeremy@rerun.io>
Wumpf added a commit that referenced this issue Feb 7, 2024
#5028)

### What

Part of 
* #4818

Introduce a new archetype for AxisY configuration in a plot.

This contains 2 new components:
- Range: defines a min / max value for the y-axis of the plot.
- LockRangeDuringZoom: a boolean indicating whether the range should be
locked during zoom

In "LockRange" mode, the Y-axis of the plot will always be locked to the
defined range, regardless of whether the range is Auto or a specified
range.

In the default mode, the user can zoom arbitrarily in a way that
preserves the aspect ratio of the data. When the user **resets** the
view, it will return to the defined range.


![image](https://github.com/rerun-io/rerun/assets/3312232/85778c80-295d-402b-8317-c5a4a7c7b21f)

### 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/5028/index.html)
* Using examples from latest `main` build:
[app.rerun.io](https://app.rerun.io/pr/5028/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/5028/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/5028)
- [Docs
preview](https://rerun.io/preview/4087df686e3211027cd6b2ae8dcc2633d8993f1b/docs)
<!--DOCS-PREVIEW-->
- [Examples
preview](https://rerun.io/preview/4087df686e3211027cd6b2ae8dcc2633d8993f1b/examples)
<!--EXAMPLES-PREVIEW-->
- [Recent benchmark results](https://build.rerun.io/graphs/crates.html)
- [Wasm size tracking](https://build.rerun.io/graphs/sizes.html)

---------

Co-authored-by: Andreas Reich <r_andreas2@web.de>
@Wumpf Wumpf removed their assignment Feb 27, 2024
@Wumpf Wumpf modified the milestones: 0.13, Triage Feb 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🟦 blueprint The data that defines our UI enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants