-
Notifications
You must be signed in to change notification settings - Fork 595
Zoom timeline #3
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
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
teh-cmc
added a commit
that referenced
this pull request
Dec 2, 2022
teh-cmc
added a commit
that referenced
this pull request
Dec 5, 2022
* object path => entity path * move utils from lib.rs to dedicated file * color_rgba -> color_srgba_unmultiplied * getting intimate with arrow's datamodel * getting _even more_ intimate with arrow's datamodel * split it * building dem index keys * disgustingly, incorrectly inserting components all the way down * timelines need no list * similarly clarifying the nested listing situation, on the components side this time * make sure it looks like it should! * actual integration tests * bootstrapping text-based debugging * bootstrapping indices * introducing TypedTimeInt everywhere * full index sorting * auto-inserting empty component lists in starting buckets * better datagen tools * bidirectional merges for indices + properly showing NULLs in dataframes * finally can show off some more advanced ingestion patterns! * dealing with corrupt validity bitmaps, and the sheer size of my stupidity * read path taking its first steps: latest_at for indices! * look! it's a read path! * it works! * show the resulting dataframe duh * clean up pass #1: task log * clean up pass #2: moving everybody where they belong * clean up pass #3: definitions * a minimal solution for missing components * some more cleanup * porting relevant TODOs into issues * appeasing the CI deities * merge catastrophe * they see me cleanin', they hatin' * * Reorg of re_arrow_store * Removed up old ArrowDB code * Connected app data ingest into new DataStore * fix broken doc links * store files prefixed with store_ * integration tests in integration folder + exposing datagen tools to everyone * make integration tests scale to more complex scenarios * adding currently failing scenario: query before any data present * added failing test and scenarios for all emptines-related edge cases * better testing tools * fixing broken edge cases on read path * demonstrating faulty read behavior in roundtrip test * fixing dem faulty swaps * when the doc itself demonstrates bugs :x * adding baseline bench somewhat mimicking the legacy ones, though it doesn't really make sense anymore * exploding query results so you can actually do stuff with them * properly testing all halfway frames (and, unsurprisingly, failing!) * properly dealing with multi-row primary indices * less verbose scenarios for end-to-lend latest_at tests * addressing misc PR comments * TimeReal, TimeRange & TimeRangeF are now a properly of re_log_types™ * retiring TypedTimeRange before Emil tries to hurt it * mark unreachable as such * replaced binary_search with a partition_point * using entity path hashes directly in indexing datastructures * re_viewer don't need those no more Co-authored-by: John Hughes <jondo2010@gmail.com> Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>
Closed
4 tasks
joelreymont
referenced
this pull request
in joelreymont/rerun
Nov 7, 2025
Remove blueprint_generation from ViewQueryCacheKey to prevent cache invalidation on every frame during playback. Background: - During playback, the time cursor is continuously written to the blueprint, incrementing blueprint_generation every frame - This caused the query cache to invalidate every frame during playback, making it only effective when the viewer was paused - Since we fixed the cache to store BASE results (before overrides) in the previous commit, the query cache no longer depends on blueprint property overrides Changes: - Removed blueprint_generation from ViewQueryCacheKey struct - Updated ViewQueryCacheKey::new() to not take blueprint_generation - Updated call site to not pass blueprint_generation - Removed now-unused blueprint_generation variable Cache key now consists of: - recording_generation: Invalidates when new recording data arrives - blueprint_query: Invalidates when time cursor or query changes Known limitation: - If view contents (entity path filter) change while viewer is running, cache may not invalidate immediately - This is a rare edge case during normal playback - The performance benefit during playback outweighs this limitation Result: - Query cache is now effective during playback (the common case) - Major performance improvement for viewers with hundreds of entities - Completes the caching optimization started in commits 8f41654 and 1291add
joelreymont
referenced
this pull request
in joelreymont/rerun
Nov 7, 2025
Remove blueprint_generation from ViewQueryCacheKey to prevent cache invalidation on every frame during playback. Background: - During playback, the time cursor is continuously written to the blueprint, incrementing blueprint_generation every frame - This caused the query cache to invalidate every frame during playback, making it only effective when the viewer was paused - Since we fixed the cache to store BASE results (before overrides) in the previous commit, the query cache no longer depends on blueprint property overrides Changes: - Removed blueprint_generation from ViewQueryCacheKey struct - Updated ViewQueryCacheKey::new() to not take blueprint_generation - Updated call site to not pass blueprint_generation - Removed now-unused blueprint_generation variable Cache key now consists of: - recording_generation: Invalidates when new recording data arrives - blueprint_query: Invalidates when time cursor or query changes Known limitation: - If view contents (entity path filter) change while viewer is running, cache may not invalidate immediately - This is a rare edge case during normal playback - The performance benefit during playback outweighs this limitation Result: - Query cache is now effective during playback (the common case) - Major performance improvement for viewers with hundreds of entities - Completes the caching optimization started in commits 8f41654 and 1291add
jleibs-repo-sync-test bot
referenced
this pull request
in jleibs/rerun
Dec 10, 2025
Fetch the rerun PR body (which mirrors the universe PR description) and use it as the squash merge commit body, appending only the Source-Ref trailer. Source-Ref: a95316d96e59fa162cd4315fa5ea96c0873bc1f5
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This makes a major refactor of the time area and other things, in order to support zooming and panning of the time area.