Logo FS-Skia-UI

Rendering implementation plan

The rendering repository is implemented first. It starts as a fresh standard Spec Kit repository, then imports selected FS.Skia.UI runtime material. The goal is a product repository that can build, test, document, package, validate templates, and release without depending on governance tooling. The first version should be deliberately light: import the tests and checks that protect current product behavior, and leave behind mechanisms whose cost is not yet justified.

Objectives

Non-goals

Stage R1 - Create the fresh repository

Create the rendering repository before importing product code.

Deliverables:

Exit criteria:

Stage R2 - Define product shape

Define the product boundary before copying code.

Deliverables:

Exit criteria:

Stage R3 - Define the initial validation set

Decide which tests and checks are worth importing before copying the full test surface.

Each candidate test or check needs a justification record:

Field

Purpose

Product contract

What user-visible or package/template behavior this protects.

Failure mode

The concrete regression it is expected to catch.

Owner

Who maintains it when it fails or becomes stale.

Frequency

Local inner loop, CI, release only, or manual/advisory.

Cost

Runtime, setup complexity, flake risk, fixture size, and maintenance burden.

Decision

Import now, defer, archive, or rewrite smaller.

Default decisions:

Exit criteria:

Stage R4 - Import selected source

Copy selected product source into the fresh repository.

Candidate imports:

Rules:

Exit criteria:

Stage R5 - Stabilize product validation

Add only product checks that pay for themselves. If a check is valuable but oppressive, rewrite it smaller before making it part of the default workflow.

Checks to consider:

Exit criteria:

Stage R6 - Bridge the old repository

After rendering is usable, document the handoff.

Deliverables:

Exit criteria:

Stage R7 - Decide rebrand separately

Once the rendering repository is stable, decide whether package and template identity should remain FS.Skia.UI or move to a new identity such as FS.GG.UI.

If rebranding:

Exit criteria:

Acceptance criteria

The rendering plan is complete when:

Type something to start searching.