Conversation
| // TODO(jleibs): Handle multi-query-aggregation | ||
|
|
||
| // If other has no query, by definition we contain all entities from it. | ||
| let Some(q_other) = other.queries.first() else { | ||
| return true; | ||
| }; | ||
|
|
||
| // If other has any query, but self has no query, we clearly can't contain it | ||
| let Some(q_self) = self.queries.first() else { | ||
| return false; | ||
| }; | ||
|
|
||
| // If this query fully contains the other, then we have all its entities | ||
| q_self.fully_contains(q_other) |
There was a problem hiding this comment.
This seems like a big shortcoming that this only handles queries.len() == 1 on both sides, and not even returning a conservative estimate in the other cases
|
I don't understand the nuances of the heuristics enough to feel confident merging this without @Wumpf taking a look first |
Wumpf
left a comment
There was a problem hiding this comment.
commentary only so far - looks almost good, but I need to test now the issue in should_auto_add_space_view
|
I believe the problem is that the heuristic still proposes |
|
Seems to be all addressed in the follow-up PR :) (started testing it without reading yet) |
### What - Builds on top of #5164 Adds a store subscriber for tracking the dimensions of image entities. Gets rid of the previous bucketing logic and replaces it with a new implementation that starts at the top of the subspace and incrementally splits when it finds conflicting image entities within the space. ### 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/5166/index.html) * Using examples from latest `main` build: [app.rerun.io](https://app.rerun.io/pr/5166/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/5166/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/5166) - [Docs preview](https://rerun.io/preview/da9a0d206235016d14d9826e8c42ed8481d29643/docs) <!--DOCS-PREVIEW--> - [Examples preview](https://rerun.io/preview/da9a0d206235016d14d9826e8c42ed8481d29643/examples) <!--EXAMPLES-PREVIEW--> - [Recent benchmark results](https://build.rerun.io/graphs/crates.html) - [Wasm size tracking](https://build.rerun.io/graphs/sizes.html) --------- Co-authored-by: Andreas Reich <[email protected]>
…e completely covered by an existing view (#5164) ### What - Resolves: #5152 This evaluates the queries of newly added space-views and doesn't add them if there already exists a space-view that would contain the same contents. This eliminates most of the worst offenders of unneeded-space-view creation, though re-loading recordings can still cause spurious root-space-views since those wouldn't technically be redundant. Because this check operates on the query expressions it's independent of the actual state of the entity-tree. ### 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/5164/index.html) * Using examples from latest `main` build: [app.rerun.io](https://app.rerun.io/pr/5164/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/5164/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/5164) - [Docs preview](https://rerun.io/preview/e35bd2e974540f0b3b2b9c2759f64dbfa635d515/docs) <!--DOCS-PREVIEW--> - [Examples preview](https://rerun.io/preview/e35bd2e974540f0b3b2b9c2759f64dbfa635d515/examples) <!--EXAMPLES-PREVIEW--> - [Recent benchmark results](https://build.rerun.io/graphs/crates.html) - [Wasm size tracking](https://build.rerun.io/graphs/sizes.html) --------- Co-authored-by: Emil Ernerfeldt <[email protected]> Co-authored-by: Andreas Reich <[email protected]>
### What - Builds on top of #5164 Adds a store subscriber for tracking the dimensions of image entities. Gets rid of the previous bucketing logic and replaces it with a new implementation that starts at the top of the subspace and incrementally splits when it finds conflicting image entities within the space. ### 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/5166/index.html) * Using examples from latest `main` build: [app.rerun.io](https://app.rerun.io/pr/5166/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/5166/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/5166) - [Docs preview](https://rerun.io/preview/da9a0d206235016d14d9826e8c42ed8481d29643/docs) <!--DOCS-PREVIEW--> - [Examples preview](https://rerun.io/preview/da9a0d206235016d14d9826e8c42ed8481d29643/examples) <!--EXAMPLES-PREVIEW--> - [Recent benchmark results](https://build.rerun.io/graphs/crates.html) - [Wasm size tracking](https://build.rerun.io/graphs/sizes.html) --------- Co-authored-by: Andreas Reich <[email protected]>



What
This evaluates the queries of newly added space-views and doesn't add them if there already exists a space-view that would contain the same contents. This eliminates most of the worst offenders of unneeded-space-view creation, though re-loading recordings can still cause spurious root-space-views since those wouldn't technically be redundant.
Because this check operates on the query expressions it's independent of the actual state of the entity-tree.
Checklist
mainbuild: app.rerun.ionightlybuild: app.rerun.io