Files
metabuilder/docs/STYLES.md
2025-12-31 00:31:34 +00:00

2.3 KiB

Styles System

Status: Complete | Schema: V2 (Abstract System)

Overview

Comprehensive styling system based on CSS as an abstract deterministic function, not syntax-focused format.

What Exists

Infrastructure

  • 44 packages with seed/styles.json
  • All metadata.json files reference seed.styles
  • Package validator with full V2 schema validation
  • CSS Schema V2 specification

Schema V2: Abstract System

Core Abstraction:

CSS = f(Style Rules, Element Tree, Environment) → Computed Styles

10 Layers:

  1. Identity - Objects with ID, type, classes
  2. Selection - Selectors as predicates
  3. Cascade - Rules ordered by priority
  4. Values - Typed properties (color, length, enum)
  5. Computed - Resolved snapshots with source
  6. Layout - Constraint systems (flex, grid)
  7. Paint - Stacked effects
  8. Environment - Context-dependent rules
  9. Tokens - Design tokens as first-class values
  10. Animation - State machines with keyframes

Example (ui_home)

V2 Schema includes:

  • 7 color tokens
  • 5 selector predicates
  • 4 effect definitions
  • 9 appearance layers
  • 2 layout systems
  • 1 transition
  • 4 cascade rules
  • 3 responsive breakpoints

GUI Mental Model

Users define visual outcomes, not write CSS:

  1. Tag objects (identity)
  2. Define conditions (selection)
  3. Assign visual outcomes (effects/appearance)
  4. Resolve conflicts (priority)
  5. Preview result (computed)

CSS is generated as compilation output.

Files

Schema:

Validation:

Example:

Database Integration

CREATE TABLE styles (
  id VARCHAR(255) PRIMARY KEY,
  package_id VARCHAR(255),
  schema_version VARCHAR(10),
  data JSON,
  compiled_css TEXT,
  enabled BOOLEAN
);

Next Steps

  1. Implement V2 → CSS compiler
  2. Build GUI designer (10 layer editors)
  3. Create CSS → V2 migration tool
  4. Database loader with hot reloading