-
Notifications
You must be signed in to change notification settings - Fork 366
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
Make Visible History UI more ergonomic and show inherited values #4222
Conversation
- fixed cascading behaviour of VH entity props - added many timelines to example
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Most of the edge-case handling code goes way above my head but LGTM otherwise.
As I've pointed out in earlier comments there are a couple UI hiccups but in any case this is such a massive improvement overall that I wouldn't consider them blockers. Your call!
Not for this PR but it's pretty obvious that visualizing what the time range is will make this a lot easier to understand |
I was thinking of doing something like that indeed, but it somehow overlaps with #4141. I might punt on that one in that PR, then move to the display, then we can reconsider if we need further context.
OK.
In general, "from A to B" always means "from A to B if there is anything, else whatever was logged last before A". I could add a note somewhere along the lines of "When no data exists in the interval, the data last logged before the interval is shown". |
Fixed. |
…stead, within the Blueprint section.
# Conflicts: # crates/re_viewer/src/ui/selection_panel.rs
…perties in `DataResult`
To fix in this or a follow up PR: initialize the override with the defaults so you don't get this jumping behavior: Maintain.defaults.mp4 |
Bug after
Bug.after.dragging.time.cursor.in.plot.mp4 |
That makes sense, I'll look into it.
This is somewhat tricky and has to do with egui plots "auto-bounds" behaviour. It gets disengaged when interacting with the plot (like when you move the time cursor), which is why the view then stops tracking the plot. It would be the same if you had manually zoomed in/out or scrolled. BTW, you can re-engage auto-bounds by double-clicking in the plot area. I'll see what I can do, but that's definitely out of scope for this PR. I opened an issue: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks good. Going to land so I can handle merging with my stuff as well.
What
Update the Visible History UI:
log_time
(fixes Visible History: properly handle case where the timeline starting time is large (e.g.log_time
) #4210)Side effects on the code base:
individual_properties
toDataResult
, to allow UI to display/edit itDataResult::save_override
Playground RRD: test_visible_history.rrd.zip (same as the output of
tests/python/visible_history_playground/main.py
).Screenshots
New "Visible Time Range" UI in the blueprint section:
When Override is selected:
When operating on "large" time (e.g.
log_time
):Same when using the Default/Inherited value:
Older screenshots which aged like milk, for posterity.
On (supported) space views, the choice is "Default vs. Override":
On groups and entities, the choice is "Inherited vs. Override":
On timeseries space views, the default reflects the fact that the default behaviour is, in fact, different from 2D/3D space views
When overriding, the text becomes "editable":
Same, when inherited:
With timelines with "large" times, an offset is extracted and explicitly displayed, while the unit in the time editor adapts to the actual span:
Same inherited:
Checklist