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

Fix Visibility flags & Visible Time range properties (for 0.15) #5463

Closed
4 tasks done
Wumpf opened this issue Mar 11, 2024 · 0 comments · Fixed by #5564
Closed
4 tasks done

Fix Visibility flags & Visible Time range properties (for 0.15) #5463

Wumpf opened this issue Mar 11, 2024 · 0 comments · Fixed by #5564
Assignees
Labels
🟦 blueprint The data that defines our UI 📺 re_viewer affects re_viewer itself
Milestone

Comments

@Wumpf
Copy link
Member

Wumpf commented Mar 11, 2024

  • Inheritable component overrides: Right now component overrides are exclusively logged on 'individual' and we don't collect 'recursive' overrides yet
  • Make visible a component override
    • all ui editing visibility should operate on the recursive override
    • this necessitates three different state for all UIs: not set ( == inherit), true, false
  • Make Visual Time Range a component override
    • the ui already has default vs override: default becomes equivalent to "not set"
    • ensure inheritance from Space View still works out (hack might be required)
  • Fix when Visual Time Range is shown
    • should show up on all entities/dataresult in a Space View where Visual Time Range is active

While this starts making some of our properties to entity overrides, we want to keep the more hardcoded Blueprint section on the selection panel for time time being.
Also, not included in this ticket are all other properties that currently reside on EntityProperties, but changing these in a similar fashion is outside of the scope of this ticket.

Related:

@Wumpf Wumpf added 📺 re_viewer affects re_viewer itself 🟦 blueprint The data that defines our UI labels Mar 11, 2024
@Wumpf Wumpf added this to the 0.15 milestone Mar 11, 2024
@Wumpf Wumpf self-assigned this Mar 11, 2024
Wumpf added a commit that referenced this issue Mar 13, 2024
### What

* First bits of #5463

10% impl 90% test code! (unfortunately a fair portion of that is
boilerplate)

Additionally, also takes into account "root property overrides": visual
time range on space view is right now implemented via a special hook
that passes root `EntityProperties` in. We need/want the same for
component overrides and that's exactly what's happening here as well.
Unfortunately, that part isn't covered by unit testing, but it's fairly
straight forward so I'm not too worried.


### 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/5481/index.html)
* Using examples from latest `main` build:
[app.rerun.io](https://app.rerun.io/pr/5481/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/5481/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/5481)
- [Docs
preview](https://rerun.io/preview/2ae6d25785a5275e2fc721691cd3850e4096a9f4/docs)
<!--DOCS-PREVIEW-->
- [Examples
preview](https://rerun.io/preview/2ae6d25785a5275e2fc721691cd3850e4096a9f4/examples)
<!--EXAMPLES-PREVIEW-->
- [Recent benchmark results](https://build.rerun.io/graphs/crates.html)
- [Wasm size tracking](https://build.rerun.io/graphs/sizes.html)
Wumpf added a commit that referenced this issue Mar 15, 2024
…5508)

### What

* Fixes #5464
* using the design we agreed upon that doesn't use tristate buttons in
the blueprint panel
* Next step on #5463
* Fixes #5396
* Fixes #3194 

The title describes the main effect this has on what Rerun can do
compared to the previous release. But the real star of the show is that
visible is now a component, not part of `EntityProperties`.

@ reviewer: Please take your time and explore the behavior both on
blueprint panel and selection panel, there's a surprising amount of
nuance in here.
For instance there's extra logic for allowing you to go back to a clean
slate with ui interactions - for instance hiding & unhiding an item that
doesn't receive any parent overrides will remove the visibility override
completely as the default value for visibility is 'true'.


You can now hide/show under a shown/hidden parent tree:


https://github.com/rerun-io/rerun/assets/1220815/f412cac5-2db6-43d0-9b02-d2269cb60824

We're able to keep track of where an override comes from, this is
exposed in the selection panels' tooltip:

![image](https://github.com/rerun-io/rerun/assets/1220815/ef7794ac-07c8-4930-ba92-11a45f91f6fe)



### 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/5508/index.html)
* Using examples from latest `main` build:
[app.rerun.io](https://app.rerun.io/pr/5508/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/5508/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/5508)
- [Docs
preview](https://rerun.io/preview/a09f77a2233fd101a4c5a94703f7726a920a18c6/docs)
<!--DOCS-PREVIEW-->
- [Examples
preview](https://rerun.io/preview/a09f77a2233fd101a4c5a94703f7726a920a18c6/examples)
<!--EXAMPLES-PREVIEW-->
- [Recent benchmark results](https://build.rerun.io/graphs/crates.html)
- [Wasm size tracking](https://build.rerun.io/graphs/sizes.html)
Wumpf added a commit that referenced this issue Mar 18, 2024
…ge regression (#5538)

### What

* next step on #5463

Fixes the "Visual Range does not inherit" regression we got when
removing groups. Does this by moving the visual time range out of
`EntityProperties`. I kept all the previous data structures and convert
from and to avoid even deeper changes than already necessary.

This PR explicitly aims at getting 0.14 time range behavior back, the ui
is expected to behave exactly as it did before.



![image](https://github.com/rerun-io/rerun/assets/1220815/1ac1223c-3bc4-44d9-bf08-1ab2cd394fbe)
(much same)


### 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/5538/index.html)
* Using examples from latest `main` build:
[app.rerun.io](https://app.rerun.io/pr/5538/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/5538/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/5538)
- [Docs
preview](https://rerun.io/preview/477bfed3dd24a6cf61a5867e309ed41d9ea7eab8/docs)
<!--DOCS-PREVIEW-->
- [Examples
preview](https://rerun.io/preview/477bfed3dd24a6cf61a5867e309ed41d9ea7eab8/examples)
<!--EXAMPLES-PREVIEW-->
- [Recent benchmark results](https://build.rerun.io/graphs/crates.html)
- [Wasm size tracking](https://build.rerun.io/graphs/sizes.html)
Wumpf added a commit that referenced this issue Mar 19, 2024
… it (#5564)

### What

* Fixes #5463

Another fallout of group removal: Previously, you could always change
the Visible Time Range on groups, since there's no groups anymore we
have to show the ui on all entities.

<img width="448" alt="image"
src="https://github.com/rerun-io/rerun/assets/1220815/67067e00-3e49-4798-b1bb-46f9681e7207">
(screenshot showing Visible Time Range on the root Data Result)

### 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/5564/index.html)
* Using examples from latest `main` build:
[app.rerun.io](https://app.rerun.io/pr/5564/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/5564/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/5564)
- [Docs
preview](https://rerun.io/preview/a419df11b8c11a3436a1484d064d62b487460497/docs)
<!--DOCS-PREVIEW-->
- [Examples
preview](https://rerun.io/preview/a419df11b8c11a3436a1484d064d62b487460497/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 📺 re_viewer affects re_viewer itself
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant