feat(rituals): override space/radius/border tokens to match app (design #51) #73
No reviewers
Labels
No labels
priority
P1
priority
P2
priority
P3
priority
P4
bug
duplicate
enhancement
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
Toilville/toilville-design!73
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/rituals-space-radius-border-override"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Resolves #51 (option a, per ville's + Peter's discussion on the issue): adds
Brand/UDG/products/rituals/dtcg/{space,radius,border}.jsonoverrides so the canonical DTCG tokens match the values the Rituals Flutter app already ships in production (token_registry.dart), instead of silently colliding under the same names (e.g.space.520px vs. canonical 32px).space.7intentionally omitted (no app equivalent) per ville's stated preference — baseline keeps 56px, unconsumed.full(999px) already matches, not overridden.width1px→2px (ville's 2026-07-02 1px retirement,token_registry.dart:224). Adds new canonicalwidth-accent(2px) for the app'sborderAccenttoken, which had no upstream name. Does not add a name forfocusRing— verified dead code (zero production callers) in the app; filed Toolville_Rituals#191 to remove it there instead of inventing an upstream name for an unused token.rituals1.1.0 → 1.2.0 inudg/products/rituals/meta.yml+udg/config/sync-manifest.yml(the publish gate rejects a duplicate version).Blast radius (per
docs/reviews/token-divergence-2026-07-23.md's per-surface audit): the Rituals Flutter/macOS app requires zero code changes — it already ships these exact values. Onlyrituals-web(consumesdist/rituals/skin.cssvia package-bump) and this repo's own design-tool previews/artifact move to match the app on their next build. Flagging for whoever next bumps theudgdependency in rituals-web: layouts sourced fromvar(--space-3..8)will resize to match the app's linear scale.Also in this PR (found while reproducing CI locally, unrelated to #51)
artifact.{docx,pdf,pptx}/template.potx/block-catalog.svgfor fux-capacity, peterswimm, spelwork, tctd, toilville —just check's docs gate was already failing onmainbefore this PR (left behind by the last merged ux.yml-extension commit).udg-native-sync.yml(the workflow this PR's owndist/rituals/udg_tokens.*changes will trigger) ranactions/checkout@v4on a bare host runner with no Node available. Pinnedcontainer: python:3.12-slim+ added a Node-install step, matching the established pattern inudg-dist-check.yml.Known pre-existing failures NOT fixed here
test_bespoke_canonical_palettes_are_coveredandtest_missing_primary_role_skips_primary_statesingenerator/tests/unit/test_derived_states.pyfail onmain(before this PR too). They assert a per-product CSS-var naming scheme that contradicts the explicit "keeps the standard contract" intent documented in the affectedcolor.jsonfiles' own$description, and don't match the files' actual data shape (e.g. asserting fux-capacity has noprimarytoken, when it has a realbrand.primary). Filed #72 for ville to clarify intent — did not touch real brand color data to force these to pass.Test plan
just build— regeneratesdist/rituals/*with the new override valuesjust check— full gate (drift, docs, WCAG AA, forgeblock) passes cleanpython -m pytest generator/tests/— 155 passed, 2 known-failing (see above, tracked in #72)yamllint --strict .forgejo/workflows/— cleandist/rituals/skin.cssspace/radius/border block against the app'stoken_registry.dartvaluesAdds Brand/UDG/products/rituals/dtcg/{space,radius,border}.json overrides so the canonical DTCG tokens match the values the Rituals Flutter app already ships (deliberate prior design decisions per token_registry.dart), resolving the silent same-name/different-value collision documented in docs/reviews/token-divergence-2026-07-23.md. space7 intentionally omitted (no app equivalent); border.width-accent added as a new canonical name for the app's borderAccent token (no canonical name previously existed). Bumps rituals 1.1.0 -> 1.2.0 per the sync-manifest version gate. Also fixes two unrelated pre-existing CI gates found while reproducing `just check`/pytest locally before push: - Regenerates stale docs (docx/pdf/pptx/potx/svg) for fux-capacity, peterswimm, spelwork, tctd, and toilville, left behind by the last merged ux.yml-extension commit. - Pins a container + installs Node before the first JS action in udg-native-sync.yml (the workflow this PR's own dist/rituals/udg_tokens.* changes would trigger), matching the established :host-executor pattern. Not fixed here (filed separately, see linked issues): two test_derived_states.py tests assert a per-product CSS-var naming scheme that contradicts the explicitly documented "keeps the standard contract" intent in the affected color.json files and doesn't match their actual data shape - toilville-design#72.