-
Notifications
You must be signed in to change notification settings - Fork 373
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
Show the welcome screen when closing recordings even with --skip-welcome-screen
#3018
Labels
ui
concerns graphical user interface
Comments
3 tasks
abey79
added a commit
that referenced
this issue
Aug 17, 2023
### What This adds a MVP Welcome Screen that shows up instead of the current "Loading" screen in certain circumstances. In general terms: - The Welcome Screen is drawn in the Viewport's place, ie. with the panels visible. - The Welcome Screen is never displayed when a recording is available. - The current implementation of the Welcome Screen is very basic—mostly links to webpages. - The current "loading screen" still exists and is "sometimes" displayed. The tricky thing is when to show the Welcome Screen vs. the legacy loading screen. This PR includes an heuristic (implemented in `App::handle_default_blueprint()`). The main determinant is the nature of the receiver (file, tcp, web socket, etc.) which we use as a proxy for the workflow in which the viewer is being used. The TCP receiver is a bit tricky, as it's used by both the Python SDK (we don't want the Welcome Screen to distractingly flash at spawn, before data arrives) and when running manually (`$ rerun`). To address this, this PR introduces a new `--skip-welcome-screen` CLI option, used by the Python SDK. This situation is still not entirely perfect though: #3018. Implementation details: - Technically, the Welcome Screen is triggered when the app ID is set to `StoreHub::welcome_screen_app_id()`. A corresponding blank blueprint is created at startup (by `StoreHub`) to make the UI happy. `App::handle_default_blueprint()` basically sets that app ID to trigger the Welcome Screen. - Likewise, an empty recording is _always_ set as active whenever the app ID is set but no recording is available. This empty recording isn't in the list of available recordings (`ViewerContext::alternate_recordings`). This make the UI happy. - The status string and source originally displayed in the legacy loading screen are _also_ displayed on the Welcome Screen in some circumstances (i.e for "infinite" data sources, tcp, ws, etc.) Expect these follow-up PRs: - display the status string in the menu bar instead (as per Mårten designs) - address #2229 - address #3018 - fix UI of streams with empty recording - add `external_link` icon wherever we have external links Fixes #2513 <img width="1456" alt="image" src="https://github.com/rerun-io/rerun/assets/49431240/d35a3f02-571d-4fc0-ae7f-67ce8b9d416d"> ### 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/2982) (if applicable) - [PR Build Summary](https://build.rerun.io/pr/2982) - [Docs preview](https://rerun.io/preview/pr%3Aantoine%2Fwelcome-screen-v0/docs) - [Examples preview](https://rerun.io/preview/pr%3Aantoine%2Fwelcome-screen-v0/examples) --------- Co-authored-by: Emil Ernerfeldt <[email protected]>
3 tasks
abey79
added a commit
that referenced
this issue
Aug 22, 2023
…-screen` (#3035) ### What Fixes #3018 https://github.com/rerun-io/rerun/assets/49431240/af2d69e0-921d-4f11-8ca0-b6f6957f7599 ### 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/3035) (if applicable) - [PR Build Summary](https://build.rerun.io/pr/3035) - [Docs preview](https://rerun.io/preview/pr%3Aantoine%2Foverride-skip-welcome-screen/docs) - [Examples preview](https://rerun.io/preview/pr%3Aantoine%2Foverride-skip-welcome-screen/examples)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
#2982 introduced an heuristic to decide whether or not the new Welcome Screen should be displayed, manly based on the type or Receiver. The TCP case is ambiguous, so a
--skip-welcome-screen
was added for use by the Python SDK. Unfortunately, this means that the following workflow is broken:rr.init(spawn=True)
--skip-welcome-screen
.As discussed at today's stand-up, this workflow must somehow be detected and the welcome screen shown despite
--skip-welcome-screen
.The text was updated successfully, but these errors were encountered: