Welcome to Vanilla Breeze
This bell pulls live notifications from /go/notify/messages — the same contract documented at /docs/concepts/service-contracts/. Static articles like this one are the no-JS / no-backend fallback.
This bell pulls live notifications from /go/notify/messages — the same contract documented at /docs/concepts/service-contracts/. Static articles like this one are the no-JS / no-backend fallback.
What DTCG is, what Vanilla Breeze supports, and how to round-trip themes through Figma plugins, Style Dictionary, and other DTCG-aware tools.
DTCG is a JSON file format for exchanging design tokens between tools. Vanilla Breeze supports it as a sibling artifact to its CSS-native theme system, so designers and developers can move VB themes through Figma, Tokens Studio, Style Dictionary, and other DTCG-aware tools without a per-tool integration.
VB's runtime token system — CSS custom properties, OKLCH,
light-dark(), relative-color computation — is
expressive and platform-native. But until DTCG, every design tool spoke
its own dialect: Figma Variables, Tokens Studio JSON, Style Dictionary's
legacy format, Sketch shared styles. Sharing a theme across tools meant
manual translation each time.
DTCG gives the ecosystem a common JSON shape with explicit
$type + $value per token, hierarchical groups,
alias references, and composite types for typography / shadow / border.
When VB themes are emitted as DTCG, they become consumable in any
DTCG-aware tool. When DTCG files arrive (from Figma exports, public
design systems, or hand-authored sets), VB can apply them as themes.
<theme-export>
has a format="dtcg" mode that emits stable-spec 2025.10
JSON. The format selector is in the toolbar; the download saves as
theme.tokens.json with MIME
application/design-tokens+json.
<theme-import>
takes DTCG JSON via paste, file upload, or URL fetch and applies the
resulting tokens to a target preview scope. Tokens that don't map to a
known VB prefix are surfaced in an ignored panel rather than
dropped silently.
<theme-catalog>
lets you start from a known design system in one click — Material 3,
IBM Carbon, Salesforce Lightning, GOV.UK, Atlassian, Tailwind defaults,
Bootstrap defaults, Catppuccin Mocha. Each entry carries license and
attribution metadata.
.tokens.json sibling next to
its CSS at /cdn/themes/.
See the theme library for the
full list with download links.
DTCG 2025.10 supports OKLCH and all CSS Color Module 4 spaces natively,
so VB's OKLCH primitives translate cleanly. Dimensions in
px and rem are spec-supported; for
em and percent units (which VB uses in places like
--letter-spacing-tight), VB stores the unit hint under
$extensions["com.vanilla-breeze"].unit so it round-trips
exactly.
The interesting case is parametric themes. VB themes often define state colors as derivations:
--color-primary: oklch(var(--lightness-primary) var(--chroma-primary) var(--hue-primary));
--color-primary-hover: oklch(from var(--color-primary) calc(l - 0.08) calc(c + 0.02) h);
--color-primary-active: oklch(from var(--color-primary) calc(l - 0.12) c h);
The CSS oklch(from …) relative-color syntax has no
direct DTCG equivalent — DTCG aliases are pass-through references,
not derivations. So when VB exports a parametric theme:
$value —
other tools see a real, usable color.
$extensions["com.vanilla-breeze"].expression.
The same pattern applies to light-dark(a, b) values: VB
emits a $root/light/dark variant
triplet for cross-tool fidelity AND preserves the literal under
$extensions["com.vanilla-breeze"].lightDark.
DTCG's composite typography token bundles related primitives
(fontFamily, fontSize, fontWeight,
lineHeight) into one object. VB's runtime stores those as
separate scalars. On import, VB unpacks composite typography tokens into
the matching scalars (--font-{name},
--font-size-{name}, etc.). On export, VB emits scalars by
default; future revisions may synthesize composite tokens for tools that
prefer them.
sd build against any
.tokens.json VB emits to produce iOS, Android, Flutter,
or alternative CSS output.
See the Theme Composer for the hands-on workflow: edit specimens, browse the catalog, paste DTCG, and export your result. The theme library lists every shipped theme with one-click DTCG downloads.