GPUI's authoring layer: the reactive store, the windows, and the declarative element DSL that composes them.
This crate holds [App], [Window] and the context types, the entities and
views built on them, and the element tree that renders through the engine
contracts in [gpui_engine] onto the windowing SPI in [gpui_platform].
The element DSL is not separable from the runtime: an element is laid out and
painted with a concrete [Window] and [App], so both tiers described in the
authoring guide live here. What is swappable sits
underneath, behind [LayoutEngine], [SceneRenderer] and [Platform], or
rides along in [Style::custom]. How a frame itself is built and paced is
swappable too, through the [FramePipeline] a window draws with — see the
frame pipeline guide.
Above this crate sits gpui_runtime, which holds Application — how a host
program builds, configures and starts an app — and above that, the gpui
crate: a thin facade re-exporting this, the runtime, and the platform
backends, so applications keep importing gpui.