The Living Schema
UIX is not just a format — it's a living schema designed like a biological system. Each layer adds composability, meaning, and intelligence.
The 7 Layers
| Layer | Name | Description |
|---|---|---|
| 1 | Genome | Indivisible primitives: constraints, values, capabilities, events |
| 2 | Cells | Canonical node DNA with embedded renderers for all platforms |
| 3 | Organism | The UIXDocument — nodes, tokens, components, soul, mind |
| 4 | Nervous System | Declarative data/state/intent wiring (no logic in schema) |
| 5 | Skin | Platform renderer specs live inside blueprints |
| 6 | Evolution | User-derived / community types built from existing blueprints |
| 7 | Consciousness | Pre-computed mind surface + AI reads/writes/transforms all layers |
Layer 1: Genome (UIXAtom)
Atoms are the smallest indivisible units of UI. They define the constraints and capabilities a node type can have — like DNA instructions.
Every blueprint is built from atoms. An atom says "this type can have padding" or "this type emits a click event."
Layer 2: Cells (UIXNodeBlueprint + UIXCanonicalRegistry)
A blueprint is the canonical definition of a node type. It includes:
- Default props, layout, and style
- Atoms that define its capabilities
- Embedded renderers for every supported platform
- Test hints for the Immune System
const registry = createBuiltInRegistry(); // 21 blueprints
const bp = resolveBlueprint(registry, 'Button');
const renderer = resolveRenderer(registry, 'Button', 'flutter');Layer 3: Organism (UIXDocument)
The document is the organism — a complete, self-contained UI definition. With a canonical registry embedded, a UIXDocument is fully self-describing. Drop it anywhere and it knows how to render itself.
Layer 4: Nervous System (UIXBindings)
Bindings connect UI nodes to data and intent without embedding logic:
{
"dataBinding": "user.profile.name",
"errorBinding": "user.profile.error",
"intentBinding": "user.profile.save"
}The schema says what data flows where. The runtime says how.
Layer 5: Skin (UIXRendererSpec)
Renderer specifications live inside blueprints, not in external adapters. When a platform needs to render a Button, it looks up the blueprint's renderer template for that platform.
Layer 6: Evolution (UIXDerivedNode)
Teams can create derived node types from existing blueprints:
const derived = deriveNode(registry, 'Button', 'PrimaryButton', {
defaultProps: { label: 'Submit', variant: 'primary' },
});Layer 7: Consciousness (UIXMind)
The Mind is a pre-computed AI reasoning surface built from the document:
const mind = buildMind(doc);
mind.screenType; // 'authentication'
mind.summary; // 'Authenticates existing users'
mind.intents; // ['auth.login', 'auth.setEmail']Cross-Cutting Concepts
- Soul — WHY (semantic purpose, user goal, journey, emotion)
- Mind — HOW (AI reasoning, screen type, bindings, relationships)
- Physics — MOTION (mass, inertia, gravity for transitions)
- Chemistry — BONDS (affinity, repulsion, catalysts for composition)
- Immune System — HEALTH (test coverage, regression detection, QA insights)