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

Blueprints need to use a monotonic blueprint sequence for time #5222

Closed
jleibs opened this issue Feb 16, 2024 · 0 comments · Fixed by #5539
Closed

Blueprints need to use a monotonic blueprint sequence for time #5222

jleibs opened this issue Feb 16, 2024 · 0 comments · Fixed by #5539
Assignees
Labels
🟦 blueprint The data that defines our UI 🪳 bug Something isn't working
Milestone

Comments

@jleibs
Copy link
Member

jleibs commented Feb 16, 2024

Blueprints currently write updates into the blueprint using:

pub fn blueprint_timepoint_for_writes() -> TimePoint {
    TimePoint::from([(blueprint_timeline(), Time::now().into())])
}

We depend on the fact that this is monotonically increasing because we always do a latest-at query from the end of the timeline.

However, there are cases, for example saving a blueprint, setting back the system clock, and then re-loading the blueprint that can cause us to end up with items in the blueprint "from the future."

Our query semantics mean these items will always be returned and not overwritten since

@jleibs jleibs added 🪳 bug Something isn't working 🟦 blueprint The data that defines our UI labels Feb 16, 2024
@jleibs jleibs added this to the 0.14 milestone Feb 16, 2024
@jleibs jleibs self-assigned this Mar 15, 2024
jleibs added a commit that referenced this issue Mar 15, 2024
### What
 - Resolves: #5222

Confirmed working in blueprint inspector:

![image](https://github.com/rerun-io/rerun/assets/3312232/0f0a1a73-5f89-4f3d-859a-4263ba7f3ed8)

### 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/5539/index.html)
* Using examples from latest `main` build:
[app.rerun.io](https://app.rerun.io/pr/5539/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/5539/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
* [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/5539)
- [Docs
preview](https://rerun.io/preview/53c919201d689b77aac31aa8a226f0422262ea66/docs)
<!--DOCS-PREVIEW-->
- [Examples
preview](https://rerun.io/preview/53c919201d689b77aac31aa8a226f0422262ea66/examples)
<!--EXAMPLES-PREVIEW-->
- [Recent benchmark results](https://build.rerun.io/graphs/crates.html)
- [Wasm size tracking](https://build.rerun.io/graphs/sizes.html)
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 🪳 bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant