diff options
| author | Craig Jennings <c@cjennings.net> | 2026-07-12 20:25:21 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-07-12 20:25:21 -0500 |
| commit | b062359a93a6b3308d98e4318bb8623f8a00220a (patch) | |
| tree | fead30e86c07d6561e6666c2d2fcd118ab4e0924 /docs/specs/2026-07-12-component-generation-spec.org | |
| parent | 858caec5aa942ba621845d054c000269e0fe0384 (diff) | |
| download | archsetup-b062359a93a6b3308d98e4318bb8623f8a00220a.tar.gz archsetup-b062359a93a6b3308d98e4318bb8623f8a00220a.zip | |
docs(specs): close the web-library packaging decision
Craig approved the classic-script widgets.js with a GW namespace as part of the componentization go-ahead. All eight decisions resolved; the spec is ready for review. The build itself waits on his per-card validation pass.
Diffstat (limited to 'docs/specs/2026-07-12-component-generation-spec.org')
| -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 |
