Brick Work

0022. Brick Work leaves Toni's World and takes the App Design Standard layout; the screenshot gate compares the built app with approved captures

Context

The App Design Standard (ai-wiki app-design-standard.md, phase 4.3) asks every app for its own neutral base and tokens, the P2 layout under design/, and a gate: every approved screen covered by a screenshot test, a token drift check, every moved path still served, and rendered tests that never skip silently. Brick Work still had the old layout: a Toni's World sub-brand skill, two token copies that have diverged, 770 flat frames, no screenshot tests and no drift check. Its check.sh skipped the Node harnesses silently.

Options considered

  1. Screenshots against the design frames (pixel-equal). The build was never pixel-equal to the frames, and a frame for a shipped feature lists its differences (#136).
  2. Screenshots against approved captures of the built app per screen state, with the frames kept as the design record.
  3. Token values from the design copy (the export's design/sources/tokens-v2.css) or from the served copy (static/web/toni/tokens-v2.css).

Decision

Consequences

State after D2 (#159)

The P2 layout is in place:

Left for later: re-rendering the icon and splash PNG sizes from the SVG sources, one preview page per component in design/components/, and a rename of the 10a frames into a section if the design project adds one.

State after D3 (#160)

Left for later: the first approval (the maintainer's, through a review artifact); scripted interaction for the states that need it (edit sheet, filter panel, checker steps, sheets); fixtures for the states the demo dataset cannot reach (orders, lots, instructions and boxes, a watched price, several currencies).

State after #268

The gate has three worlds. demo is the dataset of the approved baselines and is never extended. showcase (the exported demo's invented collection) and extras (the showcase plus brickwork/demo/gate_extras.py) hold the data the later states need: orders, a lot, copies, staged checks, an instruction, boxes and a dollar wish. 39 more states are built as candidates (the maintainer approves them); a page another state already shows is recorded with covered_by, and the price watch (45) and the barcode scanner (57) are not in the app, so they stay unbuilt with that reason.