This is a fairly significant rework of the Dagit navigation. A new left-hand "VSCode-style" sidebar replaces the top nav, which used pretty valuable real-estate. The "Explore" tab has been replaced by a "Pipelines" tab and the pipeline selector is within the Explore UI. The URLs have changed a bit, and the solid query is stored in the URL so that it's easy to share "views" of a pipeline and they're compatible with the browser's back button.
The Execute tab has been replaced by an execution Playground tab with a single set of saved tabs. (Previously each pipeline had it's own saved documents). The execution tab is no longer dark-themed by default (we'll probably add light/dark mode support to the entire app rather than colorizing just Execute in a dark theme.)
- The solid query bar now only "commits" your typing when you press "+", "return", autocomplete a solid, or blur the field. This resolves jank when you highlight the field and immediately type "*".
- The new UI binds Ctrl/Cmd+E to the "soft dagit reload" (we can't use Cmd+R for obvious reasons unfortunately).
- Dagit now stores the list of pipelines in React Context because they're used in odd places and are a pain in the ass to re-org. I expect this will also come in handy when we build an "Open-Quickly" UI.
This diff excludes some of the more experimental changes that we initially incorporated into the new navigation. Eventually, we want to unify the "solid query" concept and the "solid subset" used for execution so that you can view a set of solids in the Pipeline tab and click "Execute This View" to transfer that pipeline+query+mode to a new Playground session. This was mostly working but should be implemented via backend support for the solid query syntax.
We also want to explore blending the pipeline selection and the solid query into a single concept, and potentially allowing the query to select composite contents so that the entire Explore view could be represented via a query that is built/modified as you click around and drill down.