Logo FS-Skia-UI

Rendering project

The rendering project owns the UI framework as a product. It should be possible to build, test, package, document, and release it with normal repository tools and standard Spec Kit, without depending on an experimental governance platform.

Scope

The rendering project owns:

Design and controls

Controls and design live in the rendering project, but not in the same layer. The product should have one semantic control set and multiple theme or design system layers over it.

Recommended internal split:

Layer

Owns

Rendering core

Scene, layout, input, drawing, and host-independent primitives.

Controls

Semantic controls, behavior, state, focus, keyboard, pointer, value, and accessibility contracts.

Design system

Token model, theme model, density, typography, radii, color roles, visual states, and component token slots.

Themes

Concrete Ant Design, Fluent, Material, or product-specific theme values.

Kits/patterns

Design-specific compositions when behavior or layout conventions exceed styling.

Specific design languages should not get duplicated controls by default. A Button remains Button; Ant Design, Fluent, and Material normally provide different themes for the same control. A design-specific module is justified only when it introduces a real pattern, such as Ant Design-style form layout, table filtering conventions, result pages, descriptions, statistics, or other opinionated compositions.

See Design and controls for the boundary rules.

Workflow

Use standard Spec Kit for feature specification, planning, and task breakdown. Keep the workflow boring and recognizable. The rendering repository may retain repo-owned checks that are already valuable, but those checks should stay narrow:

The initial repository version should be intentionally light. Tests and governance mechanisms are important, but they must be moved over because they protect a current product contract or a known failure mode, not because they exist in the old repository. Every imported check should have a short justification: what it protects, when it runs, who owns it, and what maintenance cost it adds.

Do not introduce a custom feature graph as the source of truth for ordinary rendering work. spec.md, plan.md, and tasks.md may remain authored Spec Kit artifacts unless a future lightweight tool proves a better path without raising the cost of contribution.

The repository should be created as a fresh standard Spec Kit repository before product code is imported. This keeps import decisions explicit and prevents old workflow state from becoming the new product workflow by accident.

Governance boundary

The rendering project can consume optional governance tools, but it must not be blocked by them. A useful test is:

Could a contributor clone the rendering repository, read the standard feature artifacts, run the documented build/test commands, and ship a routine rendering change without understanding the governance repository?

If the answer is no, the boundary has failed.

Release posture

The rendering project should own its package and docs release policy directly. Governance tooling can help check that policy, but release identity belongs to the rendering product:

The release path should be conservative and explicit, not generated from an unproven governance schema.

What not to carry forward

Do not carry the following as active runtime-repository requirements:

These ideas can be revisited later if the separate governance project proves a small, stable implementation.

Type something to start searching.