_dsa-tokens / MANIFEST
Generated snapshot. Do not hand-edit. A pinned mirror of design-system-ASK
foundation tokens + fonts, vendored so the docs/diagrams/ artifacts render
offline, with no CDN and no runtime fetch — they inherit at generation time
and freeze for audit.
This mirror is a build input, not a fork and not a second source of truth.
design-system-ASK remains upstream truth; this repo holds a pinned copy.
| Field | Value |
|---|---|
| Fieldupstream | Valuehttps://github.com/apexSolarKiss/design-system-ASK.git |
| Fieldcommit | Value067691a2fb6ca979cb6a5b0c9ca1d97790134b3f |
| Fieldshort | Value067691a |
| Fieldcommit date | Value2026-09-17 15:41:55 -0700 |
| Fieldcommit subject | ValueMerge pull request #155 from apexSolarKiss/feat/prg-019-shared-language-batch-b |
| Fieldsynced at | Value2026-09-17 |
| Fieldconsuming surface | Valueurban-observatory/docs/diagrams/ |
| Fieldscope | ValueTier 1 + Tier 2 only (no Tier 3) |
on this page
Files in this snapshot
_dsa-tokens/
├── MANIFEST.md this file
├── colors_and_type.css Tier 1 + Tier 2 tokens + @font-face
│ (light default · [data-theme="dark"] · prefers-color-scheme auto-bridge)
├── spectral-state.css Spectral State v1.1 — 8 --state-* roles (interactive spine only)
└── fonts/
├── InterVariable.woff2 Inter (interface + display), OFL
├── InterVariable-Italic.woff2
├── JetBrainsMono.woff2 JetBrains Mono (code + technical + tabular), OFL
├── JetBrainsMono-Italic.woff2
├── Inter-OFL.txt SIL Open Font License (Inter)
└── JetBrainsMono-OFL.txt SIL Open Font License (JetBrains Mono)
| file | sha256 |
|---|---|
filecolors_and_type.css |
sha2564fed9d796a0d51072802f430b9528459a5cbb9c709fa1964bf5b13f18464122a |
filespectral-state.css |
sha256dd30fdc0b7b9174801129f0d01f45e22da5bbd92ff47e58d7aabaeea64f0d05b |
filefonts/InterVariable.woff2 |
sha256693b77d4f32ee9b8bfc995589b5fad5e99adf2832738661f5402f9978429a8e3 |
filefonts/InterVariable-Italic.woff2 |
sha256e564f652916db6c139570fefb9524a77c4d48f30c92928de9db19b6b5c7a262a |
filefonts/JetBrainsMono.woff2 |
sha25631ec365b93e4bad6f202ce23352a56d01ca4462b2afc782ed2cf6fa42ca9ac0e |
filefonts/JetBrainsMono-Italic.woff2 |
sha25676a805b6ea613ce2e3973f1bac6fa29db23116b2881390b59247d22890844ecc |
Re-sync 2026-09-17 (2bbab41 → 067691a, colors_and_type.css only): crosses one carrier-changing owner event for this mirror, PRG-019 SL3 (31e283e, DS #154) — --tracking-caption: 0.14em is added to the Tier-1 token block, and the foundation's .caption utility is rebound from letter-spacing: var(--tracking-wide) (0.08em) to var(--tracking-caption) (0.14em). Caption becomes a role with its own tracking rather than a borrower of the operative mono value. SL3 is a coupled pair, and this repo vendors both halves, so the second half travels in the same commit outside this mirror: ../interactive/diagrams-interactive-spine.css (9178d8d → 7e43a98) gains an explicit letter-spacing: var(--tracking-wide) on the spine's own .caption band, which set none before and therefore expressed the foundation's. Taking the token half alone would have moved that band 0.08em → 0.14em; the two are atomic here and are not separable across commits. One file re-vendored in this mirror: colors_and_type.css (sha256 fd8207bf… → 4fed9d79…, 15,463 → 15,496 B; new value in the file table). spectral-state.css and the four fonts are byte-identical between 2bbab41 and 067691a and remain pinned at 1231d03 — this mirror stays at mixed pins.
Render impact — measured neutral on all three diagram surfaces, and neutral for a different reason on each. Headless Chrome, computed letter-spacing on the live .caption elements of the actual committed pages over file://, before and after. Architecture tree and ontology: 0.6px before, 0.6px after (10px × 0.06em) — diagrams.css loads after the foundation and sets its own .caption { letter-spacing: 0.06em } at equal specificity, so these pages never expressed the foundation value and cannot move with it. Interactive IA spine: 0.8px before, 0.8px after (10px × 0.08em) — this page did express the foundation value, and holds only because SL3's spine half re-pins it to --tracking-wide in the same commit. A control run with the token half applied alone measured that same band at 1.4px, which is the regression the coupling exists to prevent and the reason the pair is not split. index.html carries no .caption element; its local .card .cls label keeps its own literal 0.14em (1.96px, unmoved) and is UO-authored chrome, not a vendored carrier. Render stamps held — not merely because UO commits no diagram rasters, but because the tracking on every committed page was measured unchanged across the event. No raster consequence: the repo commits no diagram export of any kind; the only images under docs/diagrams/ are the two vendored ASK wordmark PNGs in _dsa-surface/assets/, which no diagram page loads.
Outside this mirror, in the same commit. The _dsa-surface/ carriers re-synced to the same owner pin for SL4 (e7f5ec2, DS #154) and SL7 (881a996, DS #155): surface-action.css (727ef8a → d887782) and surface-panel.css (b251e7c → 12582f5). SL4 suspends the compact action's and the full-panel link's transition and press scale under prefers-reduced-motion: reduce; measured on index.html, transition-duration goes 0.22s → 0s under reduce and is unchanged at 0.22s otherwise. SL7 re-authors the panel's glass recipe as four grouped axis rules so surface-treatments.css can share it; measured on index.html across 19 computed box and paint properties on .surface-panel, a.surface-panel and .surface-action, the two states are identical. The new surface-treatments.css is not vendored — no surface in this repo carries a surface-material-*, surface-attach-* or surface-elevation-* class, and surface-panel.css defines the axis selectors itself, so nothing dangles. Every other vendored carrier in docs/diagrams/ was verified byte-identical to the owner at 067691a and not re-vendored: _dsa-surface/surface-shell.css and surface-shell.js, _dsa-tokens/spectral-state.css, diagrams.css, diagrams-fit.js, both engines and both export-png.js exporters.
Prior re-sync 2026-09-03 (28e9318 → 2bbab41, colors_and_type.css only): crosses three carrier-changing owner events, and is the first re-sync in this mirror's history that is not render-neutral. #129 (85181c1) — the structural event: it adds the root-only --bg-edge Tier-1 role and a root color-scheme declaration, and it rewrites the base reset's background: var(--bg-gradient) shorthand into the background-image longhand, adding html { background-color: var(--bg-edge) } and body { background-color: transparent }. The shorthand had been resetting background-color to transparent, leaving the canvas with no solid layer for the browser to derive its over-scroll pocket from. #136 (b8d1f56) — the value-bearing event: the light --bg-edge is rebound var(--ask-white) → var(--ask-lavender-light) (#E2D3F0), and --ask-lavender-light gains a comment naming that second duty. No existing palette value changed — --ask-lavender-light is #E2D3F0 before and after; what is new is the role, not the colour. #137 (6b513cf) — comment-only follow-through inside the same block. One file re-vendored: colors_and_type.css (sha256 acd76409… → fd8207bf…, 13,375 → 15,463 B; new value in the file table). spectral-state.css and the four fonts are byte-identical between 28e9318 and 2bbab41 and remain pinned at 1231d03 — this mirror stays at mixed pins.
Render impact — declared, not neutral. Two effects reach this repo's surfaces, and neither touches the composition inside the viewport. First, the browser edge: html now carries a solid --bg-edge under the gradient, so the over-scroll pocket resolves lavender in light and near-black in dark instead of the browser default. Second, color-scheme: the root now declares it, which is what the three diagram pages gain — index.html already carried <meta name="color-scheme" content="light dark">, the other three did not, and they now take theme-appropriate scrollbars and form-control rendering from the foundation. Both are the point of the owner change rather than a side effect of vendoring it.
What the local sheets do to it. diagrams.css and diagrams-interactive-spine.css each restate body { background: var(--bg-gradient) } as a shorthand after the foundation loads. That shorthand resets background-color to transparent, which happens to be exactly what the foundation now asks of body — so the required split holds on those pages, but it holds by coincidence rather than by intent. Neither local sheet touches html, so the solid edge is never overridden. Measured headless in both themes on all four surfaces: html rgb(226, 211, 240) light / rgb(10, 9, 12) dark, body rgba(0, 0, 0, 0) in both. Render stamps held (UO commits no diagram rasters; live .html exports on demand).
Prior re-sync 2026-08-14 (3d8b113 → 28e9318, colors_and_type.css only): crosses three carrier-changing owner events. #93 (410b3980) — comment/contract only: --fg-high-contrast moves from a reserved value with no approved surface to its first approved bounded use (the Class B message-archive ramp); no token value changed. #103 (8fbb0c01) — the value-bearing event: --fg-on-card is rebound var(--fg-1) → var(--fg-high-contrast) (#201D26) and both dark-mode --fg-on-card: var(--ask-lavender-dark) overrides (the [data-theme="dark"] block and the prefers-color-scheme auto-bridge) are removed, so the role stops flipping with theme against the fixed --surface-solid fill it exists to sit on. #104 (28e93188) — comment/contract only, and the final vendoring pin: it retains #103's value unchanged and replaces the bounded-use prose with the central registered-use and admission-gate contract for --fg-high-contrast. Render-neutral for this mirror by non-use: nothing in docs/diagrams/ reads var(--fg-on-card) (verified), and the carrier itself never consumes it — neutrality here is by non-use, not because the change is comment-only. One file re-vendored: colors_and_type.css (sha256 246aae65… → acd76409…, 13,022 → 13,375 B; new value in the file table). spectral-state.css and the four fonts are byte-identical between 3d8b113 and 28e9318 and remain pinned at 1231d03 — this mirror stays at mixed pins. Render stamps held (UO commits no diagram rasters; live .html exports on demand).
Prior re-sync 2026-07-23 (1231d03 → 3d8b113, colors_and_type.css only): picks up design-system PR #88 — a comment-only correction of the tier-model header in colors_and_type.css (no token value, role name, selector, @font-face, theme behavior, or rendered-output change). The --ask-* variable prefix is reclassified from Tier 3 to the canonical Tier-2 implementation namespace — it travels with Tier 2 by reference and does not itself create Tier 3 identity; Tier 3 is the ASK name + logo-ASK wordmark; and the file header identifies the owner carrier for provenance, not child-instance identity, so this vendored mirror does not inherit ASK's Tier 3 by carrying the header. One file re-vendored: colors_and_type.css (sha256 bcd11e0e… → 246aae65…, new value in the file table). spectral-state.css and the four fonts are byte-identical to the 1231d03 snapshot and remain pinned there — this mirror is now at mixed pins. Render-neutral: the stylesheet is <link>ed, never inlined, so the changed comment enters no committed HTML or raster. Render stamps held (UO commits no diagram rasters; live .html exports on demand).
Prior re-sync 2026-06-26 (b5d158e → 1231d03): picks up design-system PR #56 — a comment-only conformance cleanup of the vendored token files (no token value, role name, selector, theme behavior, or rendered-output change). colors_and_type.css: "five-color core" → "a core identity set"; "Core 5 — backgrounds + text" → "Core set — backgrounds, wordmark, dark-mode text". spectral-state.css: "each mapped to a neon hue" → "eight roles: seven sparse neon state signals plus a neutral role that resolves to the theme foreground" (--state-neutral = var(--fg-1), not a neon). Render-neutral: light --fg-1 still resolves to #6A637F, dark unchanged, --state-neutral = var(--fg-1) unchanged — comment text + file hashes only differ. Two files re-vendored: colors_and_type.css (8b8917e5 → c7618b2d, sha256 bcd11e0efeae2851c8653a425f94a76cb6423c770e23cb18b3a0315519a7375f at that event) and spectral-state.css (566bf14d → b82083d2, sha256 dd30fdc0b7b9174801129f0d01f45e22da5bbd92ff47e58d7aabaeea64f0d05b at that event); the four fonts are byte-identical to the b5d158e snapshot. Render stamps held (UO commits no diagram rasters; live .html exports on demand). See the handoff sources of intent/2026-06-26_design-system-ASK_to_urban-observatory_vendored-css-comment-resync.md and the absorption record in scratch/.
Prior re-sync 2026-06-26 (20fc5d6 → b5d158e): design-system PR #52 (light-mode foreground conformance — white = wordmark pairing only; #6A637F = canonical default light foreground / the approved dark purple; #201D26 = reserved opt-in high-contrast) + #53 (diagrams.css aliases --diagram-ink/-muted/-faint → foundation --fg-1/-2/-3). Render-neutral. Handoff …foreground-conformance-resync.md.
Scope note — static vs interactive load
This mirror carries colors_and_type.css + fonts (everything the static
Class A diagrams need, diagram-static-H) and spectral-state.css (Spectral
State v1.1), required by the interactive IA spine (diagram-interactive-spine,
in ../interactive/). Now at mixed pins: colors_and_type.css @ 067691a (DS #154);
spectral-state.css + the four fonts @ 1231d03 (prior b5d158e) — see the
field table and the re-sync notes.
Static scaffolds do NOT load spectral-state.css — only the interactive
spine does, in load order colors_and_type.css → spectral-state.css → diagrams-interactive-spine.css. Color on the interactive surface encodes
state only.
Binding
This manifest records the vendored owner-carrier pins: the upstream
design-system-ASK state each file listed above was copied from (current
pins: colors_and_type.css @ 067691a, spectral-state.css + fonts @
1231d03; prior 2bbab41). Each diagram's <head> records a separate
identity, its source-vN // render-vN tuple: the authored source and the
rendered output. The two planes advance independently, and a pin advance alone
changes neither tuple. Drift means the vendored bytes differ from this manifest,
or a diagram's tuple no longer describes its own source or output — not that
the pin and a tuple differ.
The diagram files do not hot-link to live design-system-ASK CSS or to any
font CDN. This mirror exists to prevent that.
Do not hand-edit
- Any file in
_dsa-tokens/(including this manifest) is overwritten on the next deliberate re-sync. Local changes are silently lost. - To pick up upstream changes, re-sync from the new commit, regenerate this
manifest, and classify the effect on each consuming diagram under its own
source-vN//render-vNcontract. - Advance
render-vNand regenerate any committed raster only when rendered output actually changes. A re-sync or pin advance does not itself change a render. - To propose changes to the tokens themselves, hand them up to the
design-system-ASKcontrol surface — never edit them here.