# Substrate ## Docs - [Substrate: Runtime-Solved Design System Engine for Teams](https://substrate.docs.unknowncreatives.studio/index.md): Substrate solves accessible design tokens from brand intent at runtime. Declare hue and chroma per intent and get APCA-solved, continuously adaptive output for Web, iOS, and Android. - [Quickstart: Integrate Substrate into Your Project](https://substrate.docs.unknowncreatives.studio/quickstart.md): Vendor the Substrate engine, run substrate init, wire the three import aliases, and initialize the runtime solver — every step verified against the real CLI. - [Core Concepts Behind Substrate's Token Architecture](https://substrate.docs.unknowncreatives.studio/core-concepts.md): Understand how Substrate models color intent, solves APCA contrast at runtime, and cascades brand configuration to generate tokens that adapt to every user context. - [Runtime & Imports: Wiring Your App to Substrate](https://substrate.docs.unknowncreatives.studio/integration.md): The required wiring for every web integration: three public import aliases with an engine-swap guarantee, the three-call runtime sequence that drives the solver, and the OS preference helpers. - [Markup Opt-In: data-ucs and data-mode](https://substrate.docs.unknowncreatives.studio/markup.md): Every element that uses Substrate's solved colors must opt into the cascade with data-ucs and select an intent role with data-mode. This page is the contract for those two attributes. - [The Surface Component](https://substrate.docs.unknowncreatives.studio/surface-component.md): SubstrateSurface re-solves foreground contrast against a nested surface's own background — required wherever a card, panel, or inset sits on a background different from the page. - [The Substrate CLI](https://substrate.docs.unknowncreatives.studio/tooling/cli.md): The substrate command-line tool: init, add, setup, upgrade, adopt, and artifact — consumer-side onboarding, catalog delivery, and transactional engine upgrades. - [Bloom: The Substrate Design-System Agent](https://substrate.docs.unknowncreatives.studio/tooling/bloom.md): Bloom is the AI agent persona bundled with Substrate — a Markdown identity plus twelve routed skills that substrate init links into your project for Claude Code, Cursor, and other coding agents. - [The Knowledge Base: World Knowledge for Personalization](https://substrate.docs.unknowncreatives.studio/tooling/knowledge-base.md): The engine's knowledge/ folder is a Dewey-style catalog of system-agnostic world knowledge — perception, accessibility, culture, language — that grounds Bloom's personalization reasoning. This page is the authoring and consumption contract. - [Agent Memory: How Bloom Learns and Retains](https://substrate.docs.unknowncreatives.studio/tooling/agent-memory.md): The engine's memory/ folder is Bloom's persistent working memory — an index plus topic files with a specified entry format, structured queues, and a pruning lifecycle. Learnings flow one way: memory → references → knowledge. - [Brand Config: The YAML That Defines a Substrate Brand](https://substrate.docs.unknowncreatives.studio/brand-config/overview.md): Every Substrate brand is one YAML config: an open intents map plus elevation, typography, shape, motion, space, and flexibility. Learn the file layout, the required sections, and how keys are normalized at load. - [Defining Color Intent in a Substrate Brand Config](https://substrate.docs.unknowncreatives.studio/brand-config/color.md): Colors live in an open intents map as OKLCH hue and chroma. Lightness stays solver-owned, and every intent — conventional or brand-specific — gets identical treatment. - [Configuring Type Scale and Font Families in Substrate](https://substrate.docs.unknowncreatives.studio/brand-config/typography.md): Substrate has no type-size ladder. A base size and a scale ratio feed a continuous power function that semantic text roles sample at fractional exponents. - [Spacing and Density in a Substrate Brand Config](https://substrate.docs.unknowncreatives.studio/brand-config/spacing-density.md): One space unit, multiplied at each use site by the runtime density and scale factors. Density is a continuous slider, and preset names are brand-defined. - [Configuring Motion Duration and Easing in Substrate](https://substrate.docs.unknowncreatives.studio/brand-config/motion.md): A brand declares one base duration and one easing curve. The runtime scales duration by a continuous motion factor that users control and brands bound. - [Multi-Brand Architecture on a Single Substrate Engine](https://substrate.docs.unknowncreatives.studio/multi-brand/overview.md): Many brand families can share one Substrate engine. Brands are directories, discovery is a filesystem scan, and every brand inherits the same solver guarantees from its first generation. - [Adding a New Brand to a Substrate Engine](https://substrate.docs.unknowncreatives.studio/multi-brand/adding-a-brand.md): Create a directory, write a YAML config, generate. Discovery is a filesystem scan, so there is no registration step — and accessibility behavior is correct from the first run. - [Brand Family Inheritance and the Deep-Merge Cascade](https://substrate.docs.unknowncreatives.studio/multi-brand/inheritance.md): A sub-brand config holds only its deltas. The two layers combine by recursive deep merge, so partial objects merge field by field — and the validator flags anything a sub-brand restates. - [Component Config: Anatomy of a Component's config.yaml](https://substrate.docs.unknowncreatives.studio/component-config/overview.md): Every Substrate component is driven by a YAML config — roles, states, modes, parts, and channel blocks that the generator turns into CSS. This page is the authoring contract for config.yaml. - [Type Configs: The Five Shared Archetypes](https://substrate.docs.unknowncreatives.studio/component-config/type-configs.md): Type configs under src/types define reusable role, state, mode, and semantic-map patterns that components inherit via extends — including the text roles that drive per-role APCA foregrounds. - [Modes as Presets Over a Continuous Preference Vector](https://substrate.docs.unknowncreatives.studio/modes/overview.md): Substrate has no parallel token sets. It has seven continuous preference axes, and modes like dark or highContrast are named points on that continuum, re-solved by the runtime. - [The Scheme Axis: Light, Dark, and Everything Between](https://substrate.docs.unknowncreatives.studio/modes/light-dark.md): Light and dark are the two endpoints of one continuous scheme axis. Substrate evaluates intent tracks at the current position and re-solves APCA contrast against the actual surface. - [High Contrast: Scaling the Lc Policy with contrastFactor](https://substrate.docs.unknowncreatives.studio/modes/high-contrast.md): High contrast in Substrate is a continuous multiplier over the APCA target policy, not a separate palette. Hue and chroma are preserved; only the solved lightness moves. - [Color Vision Deficiency: Runtime Hue Redistribution](https://substrate.docs.unknowncreatives.studio/modes/color-vision.md): Substrate compensates for protan, deutan, tritan, and achromat vision at runtime with continuous severity — redistributing every intent hue onto a discriminable arc before contrast is solved. - [Web: The Generated CSS Cascade and the Runtime Solver](https://substrate.docs.unknowncreatives.studio/platforms/web.md): Substrate's web output is a layered CSS cascade of continuous primitives composed with calc(), driven by a JavaScript runtime that solves APCA contrast per surface. - [iOS: Per-Mode Swift Token Files and the SubstrateKernel Package](https://substrate.docs.unknowncreatives.studio/platforms/ios-swift.md): Substrate emits per-mode Swift files declaring SubstrateSystemTokens in Display P3, plus SubstrateKernel — a SwiftPM port of the APCA, OKLCH, and CVD math. - [Android: Compose Token Files and the substrate.kernel Port](https://substrate.docs.unknowncreatives.studio/platforms/android-kotlin.md): Substrate emits per-mode Compose files declaring SubstrateSystemTokens in Display P3, a Material 3 ColorScheme bridge, and a Kotlin port of the color kernel. - [Color Token Reference](https://substrate.docs.unknowncreatives.studio/reference/color-tokens.md): Every color custom property Substrate emits: the --ucs-* intent primitives the solver writes, the baked per-mode triptychs, and the context variables. - [Typography Token Reference](https://substrate.docs.unknowncreatives.studio/reference/type-tokens.md): Substrate's continuous type system: one base size, a computed effective ratio, semantic text roles with fractional exponents — no named size ladder. - [Spacing Token Reference](https://substrate.docs.unknowncreatives.studio/reference/spacing-tokens.md): Substrate's continuous spacing model: one brand space unit scaled by runtime density and scale factors — no numbered spacing ladder. - [Motion Token Reference](https://substrate.docs.unknowncreatives.studio/reference/motion-tokens.md): Substrate's continuous motion model: one brand base duration scaled by the user's motion factor, one authored easing — no named duration steps. - [Brand Config Schema Reference](https://substrate.docs.unknowncreatives.studio/reference/config-schema.md): The full YAML brand config schema: intents, elevation, typography, shape, motion, space, flexibility, and presets — illustrated with an example brand config. - [APCA Contrast Solver: How Substrate Targets Lc Scores](https://substrate.docs.unknowncreatives.studio/reference/apca-solver.md): How Substrate's runtime solver derives foreground lightness with APCA: the fixed policy, contrastFactor scaling, shortfall reporting, and the accessibility gate. - [Substrate FAQ: Adopting and Integrating the System](https://substrate.docs.unknowncreatives.studio/reference/faq.md): Common questions about Substrate — comparing it to Style Dictionary, migrating, Figma integration via DTCG, CVD support, and per-component density.