diff options
| author | Craig Jennings <c@cjennings.net> | 2026-07-12 23:05:39 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-07-12 23:05:39 -0500 |
| commit | b2ad9becbcce0301578e62cab9be27099a3f612a (patch) | |
| tree | c788121bc542926604f67d5c584cdde6f1e07f27 /docs/specs | |
| parent | f21f8ec85536ad262d624dd6cca43af7391a884c (diff) | |
| download | archsetup-b2ad9becbcce0301578e62cab9be27099a3f612a.tar.gz archsetup-b2ad9becbcce0301578e62cab9be27099a3f612a.zip | |
docs(spec): record Phase 1 completion in the component-generation spec
Dated history line for the finished extraction, the extraction acceptance criterion checked, the appendix's demand-matrix label corrected from Phase 1 to Phase 2 (a leftover from the pre-review phase order), and the consumer design notes that widget CSS ships inside widgets.js via GW_CSS.
Diffstat (limited to 'docs/specs')
| -rw-r--r-- | docs/specs/2026-07-12-component-generation-spec.org | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/docs/specs/2026-07-12-component-generation-spec.org b/docs/specs/2026-07-12-component-generation-spec.org index 95c4712..8998585 100644 --- a/docs/specs/2026-07-12-component-generation-spec.org +++ b/docs/specs/2026-07-12-component-generation-spec.org @@ -8,6 +8,7 @@ :PROPERTIES: :ID: 3ac0d42c-db1a-4d21-bce4-e63785fef0ba :END: +- 2026-07-12 Sun @ 22:56:40 -0500 — Phase 1 complete (still DOING): all 109 builders extracted into =widgets.js=, cards are declarative records, widget CSS moved into =GW_CSS= (pixel-diff identical), slide toggle carries the first constructor-opts style axes, README consumers section written. Commits acee657 → 7b3bc47 on main; probes + 239-check suite green throughout. Remaining: Phases 2–5. - 2026-07-12 Sun @ 20:57:50 -0500 — READY → DOING: phases decomposed into todo.org tasks under "Retro widget catalogue" (=:SPEC_ID:= stamped); Phase 1 extraction starts now per the option-1 approval. - 2026-07-12 Sun @ 20:57:50 -0500 — DRAFT → READY: spec-review passed (Ready; 3 findings — the option-1 supersession, the card-record refactor, stale counts — all accepted and folded same pass). - 2026-07-12 Sun @ 10:12:06 -0500 — drafted. @@ -57,7 +58,7 @@ The groundwork is already laid. Tokens are single-sourced in [[file:../prototype * Design ** For a consumer -Web: include =widgets.js= (classic script) after the token =:root= block; call a builder — e.g. =GW.vuMeter(el, {value: 0.6})= — and get back a handle with setters. The gallery page itself becomes a grid of exactly these calls, so the demo and the library cannot drift. +Web: include =widgets.js= (classic script) after the token =:root= block; call a builder — e.g. =GW.vuMeter(el, {value: 0.6})= — and get back a handle with setters. Widget-internal CSS ships inside =widgets.js= (the =GW_CSS= block, self-injected at load), so the consumer supplies only the tokens. The gallery page itself becomes a grid of exactly these calls, so the demo and the library cannot drift. Emacs: =(require 'gallery-widgets)= (the =gallery-widget.el= pattern, one file per widget family or one shared file — Phase 3 sizes this); each widget is a function from parameters to an svg.el object, tokens resolved through =gallery-tokens.el=. Interaction (keymap, click regions) is per-widget Emacs idiom, not a translation of pointer drags. @@ -162,7 +163,7 @@ After ~5 hand ports, revisit Level-2 codegen with evidence: how much of each por * Acceptance criteria - [ ] Demand matrix exists in the appendix and Craig has approved it. -- [ ] Every gallery card is a declarative record calling into =widgets.js=; CDP probes green; gallery renders unchanged from =file://=. +- [X] Every gallery card is a declarative record calling into =widgets.js=; CDP probes green; gallery renders unchanged from =file://=. (Done 2026-07-12: 109/109 builders, widget CSS in =GW_CSS=, pixel-diff verified under forced reduced motion.) - [ ] Every demanded Emacs widget has ERT coverage and an rsvg side-by-side render matching its card; =make test-unit= green. - [ ] The audio panel reads its palette from =tokens-waybar.css=; panel suite green; manual-testing checklist entry filed. - [ ] Phase 5 go/no-go recorded as a dated decision. @@ -192,7 +193,7 @@ Answer each, or write "N/A because…". - Architecture + banked variant/composition ledger: 2026-07-11/12 session archive (=.ai/sessions/=). - Token generator: [[file:../prototypes/gen_tokens.py][gen_tokens.py]], tests in =tests/gallery-tokens/=. - Emacs slice: [[file:../prototypes/gallery-widget.el][gallery-widget.el]], tests in =tests/gallery-widgets/=. -- Demand matrix: (Phase 1 deliverable — lands here.) +- Demand matrix: (Phase 2 deliverable — lands here.) * Review and iteration history ** 2026-07-12 Sun @ 20:57:50 -0500 — Claude Code (archsetup) — reviewer + responder |
