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

Add ChunkStore::drop_time_range #7602

Merged
merged 6 commits into from
Oct 7, 2024
Merged

Add ChunkStore::drop_time_range #7602

merged 6 commits into from
Oct 7, 2024

Conversation

emilk
Copy link
Member

@emilk emilk commented Oct 6, 2024

What

Adds ChunkStore::drop_time_range to drop all events within some time range. Will be used to implement undo.

Checklist

  • I have read and agree to Contributor Guide and the Code of Conduct
  • I've included a screenshot or gif (if applicable)
  • I have tested the web demo (if applicable):
  • The PR title and labels are set such as to maximize their usefulness for the next release's CHANGELOG
  • If applicable, add a new check to the release checklist!
  • If have noted any breaking changes to the log API in CHANGELOG.md and the migration guide

To run all checks from main, comment on the PR with @rerun-bot full-check.

@emilk emilk added ⛃ re_datastore affects the datastore itself exclude from changelog PRs with this won't show up in CHANGELOG.md labels Oct 6, 2024
@emilk emilk force-pushed the emilk/drop-time-range branch from 5ee00d5 to fb05fff Compare October 6, 2024 14:15
@emilk emilk mentioned this pull request Oct 6, 2024
6 tasks
@emilk emilk force-pushed the emilk/drop-time-range branch from fb05fff to 00d472a Compare October 6, 2024 14:28
@teh-cmc teh-cmc self-requested a review October 7, 2024 07:31
/// Returns a version of us with a new id
#[must_use]
#[inline]
pub fn with_id(mut self, id: ChunkId) -> Self {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am almost tempted to mark this unsafe... Duplicated RowIds in the ChunkStore is straight up UB.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added a reminder in the doc comment.

@teh-cmc teh-cmc merged commit 8702f01 into main Oct 7, 2024
20 checks passed
@teh-cmc teh-cmc deleted the emilk/drop-time-range branch October 7, 2024 08:17
emilk added a commit that referenced this pull request Dec 2, 2024
### What
* Closes #3135
* Proceeded by #7602
* Proceeded by #7603
* Proceeded by #8241
* New issue: #8249

This PR implements Undo and Redo for any edit to the active blueprint.


https://github.com/user-attachments/assets/05018729-f01e-42f4-a84f-b48dbf31b060

### Implementation
This implements undo/redo by editing the "time cursor" for the blueprint
timeline. Undo moves it backwards, redo forwards. When doing an action,
all redo history is erased from the store with a new
`ChunkStore::drop_time_range` function.

### Known shortcomings
* Undo doesn't work when the blueprint streams panel is open

### 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/7546?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/7546?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)!
* [x] If have noted any breaking changes to the log API in
`CHANGELOG.md` and the migration guide

- [PR Build Summary](https://build.rerun.io/pr/7546)
- [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`.

---------

Co-authored-by: Clement Rey <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
exclude from changelog PRs with this won't show up in CHANGELOG.md ⛃ re_datastore affects the datastore itself
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants