Wonder Wagon
CatalogWW-047
Patterns · with maturity

Standardize what has been proven

A pattern becomes shared when more than one released product already does it the same way. Looking alike isn't enough. Each entry says where the evidence is and what would move it up.

ReadyProven patternImmatureProduct-ownedExperimental

Shared and emerging patterns

Terminal identity

The mark, name, version and serial, and tagline block, with its capability tiers and machine silence.

Evidence: All four released CLIs, generated by wonder-wagon-ui/cli and drift-checked in each repository.

Next: Standardized. Changes go through the generator and every product's frozen proofs.

Shared behaviour, not a shared component

Environment contract

data-ww-env on the root with day, night and auto; an explicit choice remembered; applied before first paint.

Evidence: Lorekeeper's fieldset toggle, Forge's single button, Pathfinder's Starlight select, this catalog's segmented control, and the experimental React EnvironmentSwitch. Five implementations in four frameworks.

Next: Document the attribute and pre-paint behaviour. Don't ship a component: no two products share a framework.

Family plate

The serial as a small engraved plate, “LK-047 · a Wonder Wagon tool”, linking back to the family.

Evidence: Lorekeeper's footer, Pathfinder's site title, the Storybook tray, the doorway. Forge's website doesn't carry one.

Next: Agree the wording and the link target before it becomes a rule.

Surface / card

A quiet card lifted off the page with a hairline and the quiet shadow.

Evidence: The values agree across --ww-surface, --pf-surface and --lk-surface in role; Forge uses its own. No shared code.

Next: Keep as tokens. A component only when a second product needs one.

Provenance / evidence block

A claim shown beside the source that backs it: file, commit, command.

Evidence: Lorekeeper's Prov component, Forge's evidence section, Pathfinder's renderer citations, this catalog.

Next: A shared shape is visible. It needs one agreed data format before any shared markup.

Code / terminal block

A command and its output in a dark well.

Evidence: Lorekeeper's Terminal component, Forge's command and code blocks, Pathfinder's recaptured transcripts, this catalog's capture renderer.

Next: The capture discipline (real runs, never hand-edited) is shared; the markup is not yet.

Deliberately not shared

Product-owned

PatternStatusWhy it isn't a shared component
NavigationProduct-ownedStarlight on Pathfinder, a contents index on Lorekeeper, none on Forge's single page.
TablesProduct-ownedOnly documentation tables; no product has a data table to compare.
Drawers and panelsProduct-ownedOnly Pathfinder's architecture explorer has one.
Loading, empty and error statesProduct-ownedOnly terminal progress output and an unreleased app. Nothing to compare yet.
DiagramsProduct-ownedPathfinder owns the render-artifact engine; the others hand-draw their diagrams.
Documentation chromeProduct-ownedThree frameworks, three products' own designs.
The laboratory

Six React components Experimental · no production consumers yet

Text, Stack, Surface, Button, Field with Input, and Switch live in the Storybook laboratory with every state, keyboard walkthroughs and axe checks. None of the released products uses them: three of the four don't run React, and the one that does, Lama, is unreleased. They aren't published as a package, and they aren't the design system. They're where component ideas are tested until a real product needs one.

Open the Storybook laboratory