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

Less restrictive visualizability constraints of 2D entities, improved space view generation heuristics #5188

Merged
merged 7 commits into from
Feb 16, 2024

Conversation

Wumpf
Copy link
Member

@Wumpf Wumpf commented Feb 13, 2024

What

Two changes in here:

  • we no longer determine the dimensionality of a topological subspace, instead we only determine whether it can't display 2d/3d
    • 2d: we now state we can always display 2d objects
    • 3d: we can display it unless the parent of the active subspace is a pinhole in which case we only make the entity at the origin as visualizable
  • make ViewCoordinates add "heuristic hints" to spatial topology
    • this is all that's needed to get rid of child-of-root heuristics in 3d without regressing existing examples

OpenCV example that didn't work before:
image

New release check:
image

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!

@Wumpf Wumpf added 📺 re_viewer affects re_viewer itself include in changelog labels Feb 13, 2024
@Wumpf Wumpf requested a review from jleibs February 13, 2024 14:14
@Wumpf Wumpf marked this pull request as draft February 13, 2024 14:59
@Wumpf
Copy link
Member Author

Wumpf commented Feb 13, 2024

converted to draft: just now tested all nightly examples on the web build and turns out that structure from motion creates an extra unwanted space view at camera

@Wumpf Wumpf marked this pull request as ready for review February 13, 2024 15:15
@Wumpf
Copy link
Member Author

Wumpf commented Feb 13, 2024

fixed, that was actually a pretty evil bug. Happy it didn't crash. added a test for it

Copy link
Member Author

@Wumpf Wumpf left a comment

Choose a reason for hiding this comment

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

from discussion with @jleibs on the phone:

  • don't split via ViewCoordinates, this makes visualizability context a lot more complex
  • instead note "interesting" roots within a SubSpace down (in SpatialTopology) so we can use this in the spawn heuristics
    • future work: we could so similar things for 2D?

@Wumpf Wumpf merged commit f4b43a5 into main Feb 16, 2024
40 of 41 checks passed
@Wumpf Wumpf deleted the andreas/relaxed-topology-restrictions branch February 16, 2024 08:18
@Wumpf Wumpf added this to the 0.13.1 milestone Feb 16, 2024
Wumpf added a commit that referenced this pull request Feb 21, 2024
…d space view generation heuristics (#5188)

### What

* Fixes #4926
* it does not address child-of-root heuristics for time series, but they
weren't as much of a concern
* Fixes heuristic issues observed in
rerun-io/cpp-example-opencv-eigen#20

Two changes in here:
* we no longer determine the dimensionality of a topological subspace,
instead we only determine whether it can't display 2d/3d
   * 2d: we now state we can _always_ display 2d objects
* 3d: we can display it unless the parent of the active subspace is a
pinhole in which case we only make the entity _at_ the origin as
visualizable
* make `ViewCoordinates` add "heuristic hints" to spatial topology
* this is all that's needed to get rid of child-of-root heuristics in 3d
without regressing existing examples
   
OpenCV example that didn't work before:

![image](https://github.com/rerun-io/rerun/assets/1220815/571ad089-98cd-4295-ba5e-3b81c39c93c2)

New release check:

![image](https://github.com/rerun-io/rerun/assets/1220815/d4d577e1-7fc1-41e5-90b4-6764c9db2f0d)



### 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/5188/index.html)
* Using examples from latest `main` build:
[app.rerun.io](https://app.rerun.io/pr/5188/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/5188/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/5188)
- [Docs
preview](https://rerun.io/preview/cc3735c02cd092df5843f7fe97bfa998db2e459d/docs)
<!--DOCS-PREVIEW-->
- [Examples
preview](https://rerun.io/preview/cc3735c02cd092df5843f7fe97bfa998db2e459d/examples)
<!--EXAMPLES-PREVIEW-->
- [Recent benchmark results](https://build.rerun.io/graphs/crates.html)
- [Wasm size tracking](https://build.rerun.io/graphs/sizes.html)
@emilk emilk added the 🪳 bug Something isn't working label Feb 23, 2024
@Wumpf Wumpf changed the title Less restrictive visualizability constraints of 2d entitites, improved space view generation heuristics Less restrictive visualizability constraints of 2d entities, improved space view generation heuristics Feb 26, 2024
@Wumpf Wumpf changed the title Less restrictive visualizability constraints of 2d entities, improved space view generation heuristics Less restrictive visualizability constraints of 2D entities, improved space view generation heuristics Feb 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🪳 bug Something isn't working include in changelog 📺 re_viewer affects re_viewer itself
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Re-visit "child-of-root" space view spawning heuristics
3 participants