-
Notifications
You must be signed in to change notification settings - Fork 366
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
Move DataQueryResults into the ViewerContext #4310
Merged
Merged
Conversation
This file contains 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
This was referenced Nov 22, 2023
5430d1d
to
9eb2c1f
Compare
This was referenced Nov 29, 2023
d9bf54e
to
f7ccf51
Compare
teh-cmc
approved these changes
Nov 29, 2023
f7ccf51
to
2239f89
Compare
jleibs
added a commit
that referenced
this pull request
Nov 29, 2023
### What - Part of the #4308 stack: - #4310 - THIS PR: #4311 - #4380 - #4381 This activates the new expression-based DataQueries and removes the usages of SpaceViewContents. Also includes a very primitive query-expression editor. ### Known issues - #4377 captures several issues, specifically: - Add/Remove Entity logic is broken. (See: #4381) - Heuristics run way too slowly for complex scenes However, for the sake of reviewer sanity, that work will be broken out as a follow-on PR. This PR is going to be painful enough as it is. ### 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 [demo.rerun.io](https://demo.rerun.io/pr/4311) (if applicable) * [x] The PR title and labels are set such as to maximize their usefulness for the next release's CHANGELOG - [PR Build Summary](https://build.rerun.io/pr/4311) - [Docs preview](https://rerun.io/preview/68b22fecfb162e692db791f53e2cdbce1969b53d/docs) <!--DOCS-PREVIEW--> - [Examples preview](https://rerun.io/preview/68b22fecfb162e692db791f53e2cdbce1969b53d/examples) <!--EXAMPLES-PREVIEW--> - [Recent benchmark results](https://build.rerun.io/graphs/crates.html) - [Wasm size tracking](https://build.rerun.io/graphs/sizes.html)
jleibs
added a commit
that referenced
this pull request
Nov 29, 2023
### What - Part of the #4308 stack: - #4310 - #4311 - THIS PR: #4380 - #4381 - Resolves: #4158 The query logic is as follows because it was simple and was sufficient to mostly match our existing add/remove semantics. It basically prioritizes exclusions over inclusions. Anything recursively excluded will be pruned, even if explicitly included. We likely want to change this behavior, but we can do so in a future PR. Expands the query evaluator to support exclusions, and UI mechanism for editing.  ### 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 [app.rerun.io](https://app.rerun.io/pr/4380) (if applicable) * [x] The PR title and labels are set such as to maximize their usefulness for the next release's CHANGELOG - [PR Build Summary](https://build.rerun.io/pr/4380) - [Docs preview](https://rerun.io/preview/45acbc744dddc65ea6682d5c58755ed27e96db78/docs) <!--DOCS-PREVIEW--> - [Examples preview](https://rerun.io/preview/45acbc744dddc65ea6682d5c58755ed27e96db78/examples) <!--EXAMPLES-PREVIEW--> - [Recent benchmark results](https://build.rerun.io/graphs/crates.html) - [Wasm size tracking](https://build.rerun.io/graphs/sizes.html)
jleibs
added a commit
that referenced
this pull request
Nov 29, 2023
### What - Part of the #4308 stack: - #4310 - #4311 - #4380 - THIS PR: #4381 Now that we have functioning query exclusions, wire them up to the remove-entity buttons. ### 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 [app.rerun.io](https://app.rerun.io/pr/4381) (if applicable) * [x] The PR title and labels are set such as to maximize their usefulness for the next release's CHANGELOG - [PR Build Summary](https://build.rerun.io/pr/4381) - [Docs preview](https://rerun.io/preview/2d33bf3b63da8df3c49e1379ca2af17bd22fc75e/docs) <!--DOCS-PREVIEW--> - [Examples preview](https://rerun.io/preview/2d33bf3b63da8df3c49e1379ca2af17bd22fc75e/examples) <!--EXAMPLES-PREVIEW--> - [Recent benchmark results](https://build.rerun.io/graphs/crates.html) - [Wasm size tracking](https://build.rerun.io/graphs/sizes.html)
teh-cmc
pushed a commit
that referenced
this pull request
Nov 30, 2023
### What - Part of the #4308 stack: - THIS PR: #4310 - #4311 - #4380 - #4381 Rather than doing queries on-demand, we now do all the queries up-front when creating the ViewerContext. This keeps us from re-running duplicate queries, and also eliminates the need to maintain a parallel implementation of resolve instead of just looking up the query results. Probably best reviewed commit-by-commit. This already hits some snags related to ViewerContext lifecycle that will hopefully be addressed in #1325 ### 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 [demo.rerun.io](https://demo.rerun.io/pr/4310) (if applicable) * [x] The PR title and labels are set such as to maximize their usefulness for the next release's CHANGELOG - [PR Build Summary](https://build.rerun.io/pr/4310) - [Docs preview](https://rerun.io/preview/2239f89de45fe0ac81fc5660ca13f3b95d7a8799/docs) <!--DOCS-PREVIEW--> - [Examples preview](https://rerun.io/preview/2239f89de45fe0ac81fc5660ca13f3b95d7a8799/examples) <!--EXAMPLES-PREVIEW--> - [Recent benchmark results](https://build.rerun.io/graphs/crates.html) - [Wasm size tracking](https://build.rerun.io/graphs/sizes.html)
teh-cmc
pushed a commit
that referenced
this pull request
Nov 30, 2023
### What - Part of the #4308 stack: - #4310 - THIS PR: #4311 - #4380 - #4381 This activates the new expression-based DataQueries and removes the usages of SpaceViewContents. Also includes a very primitive query-expression editor. ### Known issues - #4377 captures several issues, specifically: - Add/Remove Entity logic is broken. (See: #4381) - Heuristics run way too slowly for complex scenes However, for the sake of reviewer sanity, that work will be broken out as a follow-on PR. This PR is going to be painful enough as it is. ### 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 [demo.rerun.io](https://demo.rerun.io/pr/4311) (if applicable) * [x] The PR title and labels are set such as to maximize their usefulness for the next release's CHANGELOG - [PR Build Summary](https://build.rerun.io/pr/4311) - [Docs preview](https://rerun.io/preview/68b22fecfb162e692db791f53e2cdbce1969b53d/docs) <!--DOCS-PREVIEW--> - [Examples preview](https://rerun.io/preview/68b22fecfb162e692db791f53e2cdbce1969b53d/examples) <!--EXAMPLES-PREVIEW--> - [Recent benchmark results](https://build.rerun.io/graphs/crates.html) - [Wasm size tracking](https://build.rerun.io/graphs/sizes.html)
teh-cmc
pushed a commit
that referenced
this pull request
Nov 30, 2023
### What - Part of the #4308 stack: - #4310 - #4311 - THIS PR: #4380 - #4381 - Resolves: #4158 The query logic is as follows because it was simple and was sufficient to mostly match our existing add/remove semantics. It basically prioritizes exclusions over inclusions. Anything recursively excluded will be pruned, even if explicitly included. We likely want to change this behavior, but we can do so in a future PR. Expands the query evaluator to support exclusions, and UI mechanism for editing.  ### 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 [app.rerun.io](https://app.rerun.io/pr/4380) (if applicable) * [x] The PR title and labels are set such as to maximize their usefulness for the next release's CHANGELOG - [PR Build Summary](https://build.rerun.io/pr/4380) - [Docs preview](https://rerun.io/preview/45acbc744dddc65ea6682d5c58755ed27e96db78/docs) <!--DOCS-PREVIEW--> - [Examples preview](https://rerun.io/preview/45acbc744dddc65ea6682d5c58755ed27e96db78/examples) <!--EXAMPLES-PREVIEW--> - [Recent benchmark results](https://build.rerun.io/graphs/crates.html) - [Wasm size tracking](https://build.rerun.io/graphs/sizes.html)
teh-cmc
pushed a commit
that referenced
this pull request
Nov 30, 2023
### What - Part of the #4308 stack: - #4310 - #4311 - #4380 - THIS PR: #4381 Now that we have functioning query exclusions, wire them up to the remove-entity buttons. ### 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 [app.rerun.io](https://app.rerun.io/pr/4381) (if applicable) * [x] The PR title and labels are set such as to maximize their usefulness for the next release's CHANGELOG - [PR Build Summary](https://build.rerun.io/pr/4381) - [Docs preview](https://rerun.io/preview/2d33bf3b63da8df3c49e1379ca2af17bd22fc75e/docs) <!--DOCS-PREVIEW--> - [Examples preview](https://rerun.io/preview/2d33bf3b63da8df3c49e1379ca2af17bd22fc75e/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
exclude from changelog
PRs with this won't show up in CHANGELOG.md
🚜 refactor
Change the code, not the functionality
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.
What
Rather than doing queries on-demand, we now do all the queries up-front when creating the ViewerContext.
This keeps us from re-running duplicate queries, and also eliminates the need to maintain a parallel implementation of resolve instead of just looking up the query results.
Probably best reviewed commit-by-commit.
This already hits some snags related to ViewerContext lifecycle that will hopefully be addressed in #1325
Checklist