-
Notifications
You must be signed in to change notification settings - Fork 373
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
Visible time ranges are now specified per timeline, not per timeline type #6204
Conversation
Deployed docs
|
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.
Tracking per timeline is a huge improvement.
The API itself still seems very verbose to me. I think something that ended up looking like:
time_range=rrb.VisibleTimeRange(
"frame_nr",
start=rr.TimeRangeBoundary.CursorRelative(-10),
end=rr.TimeRangeBoundary.CursorRelative(10)
)
would be quite a bit more usable. I would recommend ditching the intermediate TimeRange datatype between VisibleTimeRange and TimeRangeBoundary.
/// Time range to use for this timeline. | ||
range: rerun.datatypes.TimeRange (order: 200); |
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.
The type-nesting here doesn't seem to add much value/clarity to the user-facing API relative to inlining start/end directly. Just creates more typing and rightward drift.
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.
I do use this intermediate type internally though where its quite useful. It's easy to eliminate from Python via custom constructors but will ofc haunt us in C++ and Rust then
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.
also to be fair it makes it easy to use the same time range on several timelines because then you can just reuse that range value with several strings
crates/re_types/definitions/rerun/blueprint/components/visible_time_range.fbs
Outdated
Show resolved
Hide resolved
crates/re_types/definitions/rerun/blueprint/archetypes/visible_time_range.fbs
Outdated
Show resolved
Hide resolved
decided to keep the |
79a37e4
to
ed65e29
Compare
Could you please add a code-example to the PR description showing how you would specify time ranges for multiple timelines? 🙏 |
no point in it since I still want to significantly change what it looks like. I'm working on doing that and providing examples |
### What The mechanism for identifying Rerun clients was implemented in #6204. However, during the release I accidentally "fixed" the build of `cargo build -p re_viewer --no-default-features` twice: * The seemingly correct fix was to depend on `re_sdk_comms` with the `server` feature always enabled. * The definitely wrong thing that slipped through is to feature guard the section that needs the `re_sdk_comms` server errors with `#[cfg(feature = "server")]`. But `re_viewer` doesn't have a `server` feature, disabling this effectively. This was reverted in #6368 It's up to users of `re_viewer` to allow the serve feature, making `re_viewer` agonistic of the presence of this error type in its smart channel. Therefore I now moved out the error type to `re_sdk_comms` lib.rs so that `re_viewer` doesn't have to depend on the `re_sdk_comms`'s server feature. ### 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/6369?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/6369?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/6369) - [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`.
What
Previously, visible time ranges was internally saved for the two types of timelines, time timelines and sequence timelines. This was done as a minimum-viable product since time values from different timelines aren't transferable. Now that we build user facing data structures it became clear that this is both limiting and strange to use.
The python blueprint api is still not final, but happens to look a lot better now:
Checklist
main
build: rerun.io/viewernightly
build: rerun.io/viewerTo run all checks from
main
, comment on the PR with@rerun-bot full-check
.