-
Notifications
You must be signed in to change notification settings - Fork 0
UI TEMPLATE
Source: src/components/.../Foo.tsx (lines N–M)
Reach: / → click X → click Y
States: a, b, c
Copy this file to
docs/ui/<screen>.mdand fill it in. One document per screen family — spec and rubric live together because they are read together and rot together.
What the screen is for. Its layout regions. What data comes in, what actions go out. Keyboard affordances. Empty, loading, and error states.
How an agent targets things here. Prefer roles and names; add a testid only where visible text is absent or ambiguous.
| What | Selector |
|---|---|
| container | [data-testid="foo-root"] |
| primary action | role=button[name="Save"] |
Mandatory, not optional. Almost nothing in this app has a URL — every panel and
dialog is AppShell-internal state — so a screen that does not document its click
path cannot be captured by anyone who did not write it.
- Seed
localStorage["workspace-v1"] = {"state":{"theme":"dark"},"version":0}for the dark variant - Seed
localStorage["forgenotes-ui-freeze"] = "1"— and"forgenotes-ui-reveal"for revealed variants - Load
/, viewport 1280×800 - <click sequence>
-
webview_wait_foron the state marker, e.g.[data-wizard-step="provider"] webview_screenshot
— source docs/ui/wireframes/foo-01-default.puml
Keep Must Match to 6–10 items. A thirty-item rubric gets skimmed, and a skimmed rubric is worse than none because it reports confidence it does not have.
- Structure, ordering, presence — the things a bad redesign would break
- Font hinting, sub-pixel spacing, scrollbar presence
- Dynamic data (names, timestamps, counts)
Write this section honestly. An over-strict list means every run reports noise, and a rubric that cries wolf gets ignored within a week.
- Hover affordances while capturing a rest state
- Spinners, toasts, raw volatile values
This is how the opacity-0 → hidden regression gets caught: an affordance that
starts appearing in rest captures means someone changed how it is hidden.
- Overlapping or clipped content, unreadable contrast, a control off-screen
- Wrong theme tokens (light surface in dark mode)
- Index-Releases
- Latest snapshot: Roadmap-2026-08-01_v0.2.0-release
- Index-Status
- Index-Decisions