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

Support for working with blueprint files #5294

Closed
5 tasks done
jleibs opened this issue Feb 26, 2024 · 1 comment · Fixed by #5548
Closed
5 tasks done

Support for working with blueprint files #5294

jleibs opened this issue Feb 26, 2024 · 1 comment · Fixed by #5548
Assignees
Labels
🟦 blueprint The data that defines our UI 🎄 tracking issue issue that tracks a bunch of subissues

Comments

@jleibs
Copy link
Member

jleibs commented Feb 26, 2024

Proposal for Simplification

Tasks 1-4 below can likely be done most expediently by building a parallel blueprint-loader mechanism instead of attempting to re-use DataSource. This loader would be almost strictly simpler than the current generalized RRD loader.

  • Blueprints are small and bounded. It doesn't need to stream the blueprint in incrementally. The whole thing can be retrieved and then added to the store.
  • For MVP, It doesn't need to support data-loaders.
  • For MVP It doesn't need to support drag-and-drop.

The biggest complexity in the WIP draft is doing app-id-rewriting. For 1 this is a nice-to-have rather than required. We can always say your app-id must match to load the blueprint. However, if we want to support loading a blueprint in a differently named RRD, rather than rewrite app-id in the blueprint on load, we should be able to provide an API on the store-hub that allows cross-app-id association between blueprint and recordings.

Original Issue

This can probably be broken down into a few sub-steps:

  • (1) File menu for save
  • (2) File menu for load
  • (3) Web-support for save/load
  • (4) Web-support for url-param
  • (5) Drag-and-drop support

These issues aren't directly blocking but are likely to be related:

@jleibs jleibs added 🎄 tracking issue issue that tracks a bunch of subissues 🟦 blueprint The data that defines our UI labels Feb 26, 2024
@jprochazk jprochazk removed their assignment Mar 5, 2024
@emilk emilk self-assigned this Mar 12, 2024
@emilk emilk mentioned this issue Mar 13, 2024
5 tasks
emilk added a commit that referenced this issue Mar 13, 2024
### What
* Part of #5294

This adds a command for saving the currently active `.blueprint` file to
disk.


![image](https://github.com/rerun-io/rerun/assets/1148717/706006f1-e440-4402-a73d-b78e4c24a936)


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

This implements loading of blueprint files (.rbl) on native and on web,
using either drag-and-drop of the `Open…` command.

One shortcoming of the approach in this PR is documented here:
* #5514

### 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/5513/index.html)
* Using examples from latest `main` build:
[app.rerun.io](https://app.rerun.io/pr/5513/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/5513/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/5513)
- [Docs
preview](https://rerun.io/preview/9b3e7d9aed9113d340516caed9d87897c8ae8abb/docs)
<!--DOCS-PREVIEW-->
- [Examples
preview](https://rerun.io/preview/9b3e7d9aed9113d340516caed9d87897c8ae8abb/examples)
<!--EXAMPLES-PREVIEW-->
- [Recent benchmark results](https://build.rerun.io/graphs/crates.html)
- [Wasm size tracking](https://build.rerun.io/graphs/sizes.html)
@emilk
Copy link
Member

emilk commented Mar 15, 2024

For the url parameters, I think we should simply support a list of urls to load, which could be a .rrd/.rbl pair, or any amount of recordings and blueprints, or (in the future) other data too. This would make it more similar to just adding a lot of arguments to rerun-cli.

e.g. ?url=www.example.com/recording.rrd&url=www.example.com/blueprint.rbl

emilk added a commit that referenced this issue Mar 18, 2024
…5548)

### What
* Closes #5294

This adds support for passing multiple .rrd and/or .rbl files to the
web-viewer by repeating the `url` query parameter.

### TODO
* [x] Test this

### 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/5548/index.html)
* Using examples from latest `main` build:
[app.rerun.io](https://app.rerun.io/pr/5548/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/5548/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/5548)
- [Docs
preview](https://rerun.io/preview/62af0e20b1216c2dfc66806d8470966259606981/docs)
<!--DOCS-PREVIEW-->
- [Examples
preview](https://rerun.io/preview/62af0e20b1216c2dfc66806d8470966259606981/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 🎄 tracking issue issue that tracks a bunch of subissues
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants