diff options
Diffstat (limited to 'docs/specs')
| -rw-r--r-- | docs/specs/2026-07-12-component-generation-spec.org | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/docs/specs/2026-07-12-component-generation-spec.org b/docs/specs/2026-07-12-component-generation-spec.org index 4078d1c..5ee30df 100644 --- a/docs/specs/2026-07-12-component-generation-spec.org +++ b/docs/specs/2026-07-12-component-generation-spec.org @@ -82,7 +82,7 @@ Extraction order inside Phase 2: the card builders already share =svgEl=/=polar= - Bad, because the gallery-as-demo property is lost: web consumers copy-paste internals, and the spec and any web usage drift apart immediately. - Bad, because the extraction is cheap insurance — the CDP tests already exist to catch regressions. -* Decisions [7/8] +* Decisions [8/8] ** DONE SVG-first substrate - Context: curved dials, needles, glow filters must render identically enough across web and Emacs; librsvg reproduces gradients and blur filters. - Decision: widgets with curved/needle geometry are authored as SVG in every scripted target; plain-CSS forms stay CSS only where the target is CSS-native (waybar). @@ -125,11 +125,11 @@ Extraction order inside Phase 2: the card builders already share =svgEl=/=polar= - Consequences: easier — freshest panel, known suite; harder — visual changes to a daily-driver panel need the manual-testing checklist. - Agreed in the 2026-07-12 outline. -** TODO Web library packaging -- Owner / by-when: Craig / at spec-review. +** DONE Web library packaging - Context: the gallery is a single self-contained =file://= HTML page; ES modules don't load over =file://=, and a React consumer doesn't exist yet. -- Decision (proposed): =widgets.js= ships as a classic script exposing one namespace object (working name =GW=), loaded by the gallery via a relative =<script src>=; the shared helpers (=svgEl=, =polar=, =vuDb=, scale tables) move inside it. Framework wrappers are vNext, demand-gated. +- Decision: =widgets.js= ships as a classic script exposing one namespace object (working name =GW=), loaded by the gallery via a relative =<script src>=; the shared helpers (=svgEl=, =polar=, =vuDb=, scale tables) move inside it. Framework wrappers are vNext, demand-gated. - Consequences: easier — gallery keeps working from =file://=, zero build tooling; harder — no tree-shaking or import isolation (acceptable at this scale). +- Approved by Craig 2026-07-12 (componentization go-ahead, option 1); build gated on his per-card validation pass (lamps in the gallery masthead cards). * Implementation phases ** Phase 1 — Demand inventory |
