Implement workbench view system and status bar
Created by: tjkandala
Description WIP
Implement workbench view system and status bar, the first workbench view.
Workbench views
What is a workbench view?
TODO
Workbench view | Insights view |
---|---|
Extension pushes updates to UI | UI pulls from provider |
Persists between pages | Scoped to a single page |
Presents lower-level information | Presents higher-level information |
"Contextual" views | Primary focus TODO |
Implementation details
For now, we send the state of all views on each "flush". The main performance pitfall I envisioned was the main thread rendering too often (see: "Motivation"), so optimizing communication between the threads was not a priority.
Once we have more complex views with "deep and broad" state objects, we can consider sending diffs to the main thread instead. The increased complexity of maintaining view state on the main thread as well outweighs the potential performance boosts for our existing (simple) workbench views
Motivation
TODO
Status bar
The status bar is our first workbench view.
We plan to add an "action items bar" workbench view as part of RFC 250 (action items bar). We can also convert our panel view and add a sidebar workbench view as we complete our RFC 155 (extension API architecture) refactoring work.