feat(udg): single-source color from Brand/UDG/dtcg → dist; retire parallel udg/ SVG layer #1

Merged
peterswimm merged 1 commit from spelwork/charming-elion-b0d2f1 into main 2026-06-28 01:00:03 +00:00
Owner

Brand governance ruling: Brand/UDG/dtcg is the canonical color source of truth;
udg/ is the themes/build layer. Reconcile the two divergent color layers by
re-plumbing the generator to a single source instead of keeping parallel values.

  • extract.py: color now sourced from Brand/UDG/dtcg/color.json (baseline) +
    Brand/UDG/products/

    /dtcg/color.json (per-product, multi-theme); 6 non-color
    tiers still from udg/.../tokens/.yml. Per-theme CSS emission (:root default,
    @media prefers-color-scheme dark, :root[data-theme=...] per extra theme).
    ARGB #AARRGGBB → CSS hex. Per-product css_var_style (short --primary contract
    for toilville; canonical --udg-color-
    for rituals) + color_inherits_baseline.

  • Products: toilville (baseline, light/dark) + rituals (self-contained,
    light/dark/oldschool); pardner + _template dropped. dist/ regenerated.
  • toilville now carries canonical values (text #121212, bg-surface #FFFFFF,
    safety-block #7F1D1D, status-active #228B22, warning #EA580C, ...).
  • Retired the parallel udg/ SVG color source; restored .yamllint (the --strict
    lint gate was silently failing post-cut-over).
  • CI: added repo-local drift gate udg-dist-check.yml; set the legacy cross-repo
    fan-out + pub-publish workflows dormant (they target the retired pipeline).
  • Docs: README (root/udg/Brand/UDG/dist/generators), justfile, baseline RATIONALE,
    and project CLAUDE.md updated to the dtcg→dist flow; CLAUDE.md color table
    aligned to canonical (success #16A34A, warning #EA580C, error #DC2626).
Brand governance ruling: Brand/UDG/dtcg is the canonical color source of truth; udg/ is the themes/build layer. Reconcile the two divergent color layers by re-plumbing the generator to a single source instead of keeping parallel values. - extract.py: color now sourced from Brand/UDG/dtcg/color.json (baseline) + Brand/UDG/products/<p>/dtcg/color.json (per-product, multi-theme); 6 non-color tiers still from udg/.../tokens/*.yml. Per-theme CSS emission (:root default, @media prefers-color-scheme dark, :root[data-theme=...] per extra theme). ARGB #AARRGGBB → CSS hex. Per-product css_var_style (short --primary contract for toilville; canonical --udg-color-* for rituals) + color_inherits_baseline. - Products: toilville (baseline, light/dark) + rituals (self-contained, light/dark/oldschool); pardner + _template dropped. dist/ regenerated. - toilville now carries canonical values (text #121212, bg-surface #FFFFFF, safety-block #7F1D1D, status-active #228B22, warning #EA580C, ...). - Retired the parallel udg/ SVG color source; restored .yamllint (the --strict lint gate was silently failing post-cut-over). - CI: added repo-local drift gate udg-dist-check.yml; set the legacy cross-repo fan-out + pub-publish workflows dormant (they target the retired pipeline). - Docs: README (root/udg/Brand/UDG/dist/generators), justfile, baseline RATIONALE, and project CLAUDE.md updated to the dtcg→dist flow; CLAUDE.md color table aligned to canonical (success #16A34A, warning #EA580C, error #DC2626).
feat(udg): single-source color from Brand/UDG/dtcg → dist; retire parallel udg/ SVG layer
All checks were successful
UDG dist drift gate / dist/ matches dtcg + udg sources (pull_request) Successful in 12s
Test Generator / lint-workflows (pull_request) Successful in 14s
Test Generator / test (pull_request) Successful in 3m5s
3c418fd970
Brand governance ruling: Brand/UDG/dtcg is the canonical color source of truth;
udg/ is the themes/build layer. Reconcile the two divergent color layers by
re-plumbing the generator to a single source instead of keeping parallel values.

- extract.py: color now sourced from Brand/UDG/dtcg/color.json (baseline) +
  Brand/UDG/products/<p>/dtcg/color.json (per-product, multi-theme); 6 non-color
  tiers still from udg/.../tokens/*.yml. Per-theme CSS emission (:root default,
  @media prefers-color-scheme dark, :root[data-theme=...] per extra theme).
  ARGB #AARRGGBB → CSS hex. Per-product css_var_style (short --primary contract
  for toilville; canonical --udg-color-* for rituals) + color_inherits_baseline.
- Products: toilville (baseline, light/dark) + rituals (self-contained,
  light/dark/oldschool); pardner + _template dropped. dist/ regenerated.
- toilville now carries canonical values (text #121212, bg-surface #FFFFFF,
  safety-block #7F1D1D, status-active #228B22, warning #EA580C, ...).
- Retired the parallel udg/ SVG color source; restored .yamllint (the --strict
  lint gate was silently failing post-cut-over).
- CI: added repo-local drift gate udg-dist-check.yml; set the legacy cross-repo
  fan-out + pub-publish workflows dormant (they target the retired pipeline).
- Docs: README (root/udg/Brand/UDG/dist/generators), justfile, baseline RATIONALE,
  and project CLAUDE.md updated to the dtcg→dist flow; CLAUDE.md color table
  aligned to canonical (success #16A34A, warning #EA580C, error #DC2626).
peterswimm deleted branch spelwork/charming-elion-b0d2f1 2026-06-28 01:00:03 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Toilville/toilville-design!1
No description provided.