From b062359a93a6b3308d98e4318bb8623f8a00220a Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Sun, 12 Jul 2026 20:25:21 -0500 Subject: 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. --- docs/specs/2026-07-12-component-generation-spec.org | 8 ++++---- todo.org | 4 ++-- 2 files changed, 6 insertions(+), 6 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 =