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

EntityPathFilter variable substitutions are now delegated to (new) ResolvedEntityPathFilter #8543

Merged
merged 6 commits into from
Jan 7, 2025

Conversation

Wumpf
Copy link
Member

@Wumpf Wumpf commented Dec 19, 2024

Related

What

(Motivation see ticket)
Originally I wanted EntityPathFilter to be a hashmap of rules. However, I realized that we still want a defined order when storing path filters into the blueprint (in order to avoid changes to it when only order changes!). Therefore, it is still a btreemap but now sorts alphabetically!
Generally, I struggled a bit of where to put resolved vs unresolved entity path filter/rules, but I think the end-result here makes sense for the most part and keeps the semantics clean enough: in the viewer resolved entity paths should be used whenever working with known paths whereas unresolved are used when dealing with user inputs and when storing back to the blueprint.

@Wumpf Wumpf added 🪳 bug Something isn't working 🦀 Rust API Rust logging API 🚜 refactor Change the code, not the functionality include in changelog labels Dec 19, 2024
@Wumpf Wumpf changed the title EntityPathFilter no longer applies variable substitutions, separated into ResolvedEntityPathFilter EntityPathFilter no variable substitutions are now delegated to (new) ResolvedEntityPathFilter Dec 19, 2024
@Wumpf Wumpf changed the title EntityPathFilter no variable substitutions are now delegated to (new) ResolvedEntityPathFilter EntityPathFilter variable substitutions are now delegated to (new) ResolvedEntityPathFilter Dec 19, 2024
@Wumpf Wumpf added the 🟦 blueprint The data that defines our UI label Dec 19, 2024
Copy link

github-actions bot commented Dec 19, 2024

Web viewer built successfully. If applicable, you should also test it:

  • I have tested the web viewer
Result Commit Link Manifest
8ccdc4b https://rerun.io/viewer/pr/8543 +nightly +main

Note: This comment is updated whenever you push a commit.

@Wumpf Wumpf force-pushed the andreas/separate-subsituted-and-unsubsituted-rules branch 2 times, most recently from 02d9db2 to 2612288 Compare December 19, 2024 14:35
@Wumpf Wumpf force-pushed the andreas/separate-subsituted-and-unsubsituted-rules branch from 2612288 to 08f721e Compare December 19, 2024 14:39
@teh-cmc teh-cmc self-requested a review January 6, 2025 13:43
Copy link
Member

@teh-cmc teh-cmc left a comment

Choose a reason for hiding this comment

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

I gave it a very quick/shallow look. There's no way I can wrap my head around all the subtleties that all this implies, but in any case the general idea makes sense to me.

The only thing I find odd is the dataframe APIs requiring resolved filters? Can we not do that? 🤔

In any case, the faster this is in, the better -- only some soak time will tell the full story here...

crates/store/re_dataframe/examples/query.rs Outdated Show resolved Hide resolved
crates/store/re_dataframe/src/engine.rs Outdated Show resolved Hide resolved
crates/viewer/re_viewport_blueprint/src/view.rs Outdated Show resolved Hide resolved
crates/store/re_log_types/src/path/entity_path_filter.rs Outdated Show resolved Hide resolved
crates/store/re_log_types/src/path/entity_path_filter.rs Outdated Show resolved Hide resolved
@Wumpf Wumpf merged commit aa6fe18 into main Jan 7, 2025
31 checks passed
@Wumpf Wumpf deleted the andreas/separate-subsituted-and-unsubsituted-rules branch January 7, 2025 10:08
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 include in changelog 🚜 refactor Change the code, not the functionality 🦀 Rust API Rust logging API
Projects
None yet
Development

Successfully merging this pull request may close these issues.

EntityPathFilter has undefined behavior for sorting
2 participants