-
Notifications
You must be signed in to change notification settings - Fork 9
About
MeowLynxSea edited this page Jun 18, 2026
·
7 revisions
Yororen UI is a UI component library built on GPUI via the gpui-ce crate. It separates three concerns you usually get fused together:
| Layer | Crate | Role |
|---|---|---|
| Headless | yororen-ui-core |
data, state machine, a11y, i18n, RTL, animation. No visual decisions. |
| Renderer |
yororen-ui-default-renderer (modern) or yororen-ui-brutalism-renderer (sharp) |
turns props into a styled div. One trait impl per headless component. |
| Theme | a JSON file | palette + tokens the renderer reads by path. |
The meta-crate yororen-ui re-exports core + the default renderer + 3 bundled locales, so most apps need one dependency. Add the brutalism or xml feature to opt into the alternative renderer or the XML DSL.
- Theme-driven design system. Every visual knob (bg, fg, border, padding, radius, hover, active, motion timing) reads from JSON. Customising a brand is shipping a JSON file, not a fork.
-
Composable. Every component is a
XxxPropsbuilder. Renderers are trait impls registered against a globalRendererRegistry. Replace one slot without touching the rest. - Pragmatic a11y. Focus handles, focus traps, click-outside guards, scroll-lock counters, keyboard navigation — opt in per element.
-
Multi-locale.
en,zh-CN,arship in the meta-crate;arflips layout to RTL viacx.i18n().text_direction(). -
Embedded assets. 20+ SVG icons live in
yororen-ui-core/assets/icons/; passUiAssettoApplication::with_assets, or compose your own withCompositeAssetSource.
- Not an application framework. Window management, command palettes, project trees, editor buffers, LSP plumbing — those are your app's problem.
-
Not a designer surface. No live "drag this control" editor. Theming is editing a JSON file and
cargo run. - Not cross-platform. Yororen UI only runs on the platforms GPUI runs on (macOS, Linux, Windows desktop).
- The headless layer is the contract. Which events fire, which keys are bound, which ARIA roles are exposed — non-negotiable. Renderers that skip focus wiring will look fine until the user tabs in.
v0.3.0. The first build with the headless core + swappable renderer split.
Apache-2.0. Built on GPUI (Zed Industries), also Apache-2.0. See LICENSE and NOTICE in the repository root.
Yororen UI v0.3.0 · repository · Apache-2.0 · This wiki documents Yororen UI v0.3.0.
This wiki documents Yororen UI v0.3.0 — the headless-core, swappable-renderer build.