"Which is the active blueprint?" tracking issues
Common issues:
- #5583
- #5640
- #5298
- #5629
- #5672
- https://github.com/rerun-io/rerun/issues/5295
- https://github.com/rerun-io/rerun/issues/5712
- Sometime when you run your python code you want to apply the blueprint in it, sometimes you want to keep the one in your viewer
default/shared: does modifying the blueprint for one recording, change it when I open another?
For this cycle: let's find a SIMPLE solution that works okish, with okish workarounds. Suggestions:
Solution idea
One blueprint per App ID
We have one shared blueprint per app ID. Simple to explain, but very limited.
Two blueprints per app ID
We store one shared blueprint per app ID, PLUS one "recording" blueprint per app ID, which is just the latest one received. The user can select between them in the UI as a radio button ("Use latest for recording" vs "use shared"). But what happens when the user edits the "recording blueprint"? 🤷
One shared blueprint per app ID, plus two blueprints per recording ID
For Shared each app ID we store a shared blueprint.
For each recording ID, we also store TWO blueprints:
- A) The latest received blueprint for that recording
- B) The modified version of the above
With buttons for:
- Reset modifications (assign B = A)
- Make this the shared blueprint (assign Shared = B)
Proposal for 0.15 as simplest thing that works:
- Two blueprints per app-id: one "active", one "stored"
- Incoming blueprint always updates "stored" and only makes the stored blueprint active if there is no existing blueprint
- https://github.com/rerun-io/rerun/issues/5583 always resets to the stored blueprint
Reasoning:
- User edits are never lost unless they explicitly click the reset button
- Clicking reset is a single click in a blueprint editing workflow. The added complexity of determining behavior based on flags, id-matching, or content-hashing just to avoid a click isn't worthwhile.
- Other use-cases can be supported (though hackily) by using modified app-ids
Optional improvement:
- Advanced UI menu on recording selection to activate a specific blueprint instead of only ever allowing user to activate he last one.