Idea + OQ: promote the in-house UI layer into a standalone UI framework
Источник:
dev/fera/community/UI-FRAMEWORK-IDEA.md(read-only; сгенерировано scripts/sync-docs.mjs)
Idea + OQ: promote the in-house UI layer into a standalone UI framework
Section titled “Idea + OQ: promote the in-house UI layer into a standalone UI framework”Status: parked. The author will return with a tech spec, a plan, and a name. Not started; do not design or implement against this yet.
The idea
Section titled “The idea”Reclassify Fera’s custom UI layer from an internal implementation detail into a full, standalone UI framework project:
- Swappable backends — the rendering engine is pluggable (the Vello/Parley engine is one backend, not the only one). This is the Engine axis (ADR-009/ADR-028) already in the design, promoted to a first-class public guarantee.
- A stable public API — the composition surface (the HoF layer:
components building a render tree from
&State, the Msg/Effect vocabulary, single-pass hit-testing) becomes a documented, versioned API that outside code can build against. - A baseline implementation shipped alongside — a reference backend that works out of the box, so the framework is usable without assembling a renderer first.
Why it is parked, not started
Section titled “Why it is parked, not started”This is a scope and product decision, not just an engineering one. It changes what the project ships (a framework, not only a client) and what it must support (a public API contract, semver, docs). The author is reserving the shape of it.
Open question
Section titled “Open question”OQ (UI framework): Should Fera’s UI layer become its own framework project — swappable rendering backends, a stable public API, and a baseline backend shipped — and if so, under what name, scope, and plan?
To resolve, the author will supply (she is sending the spec file herself — this is her design pass, recorded here as idea + open question only):
- a name for the framework;
- a tech spec — what is in the public API, what the backend seam is, what the baseline backend covers;
- a plan — sequencing against Fera itself (the client stays the first consumer).
What already exists to build on
Section titled “What already exists to build on”The seed is real and in the repo: ui-contract holds the render tree
as plain data plus the Engine trait seam (the backend axis), and
ui-engine-vello is a first backend on Vello + Parley. The framework
idea is a promotion of that seam to a public, versioned contract — not
a from-scratch redesign.
(Recorded 2026-10-03 at the author’s direction. She returns with the tech spec, plan, and name.)