Branding
Contrato fuente
Sección titulada «Contrato fuente»@lemn-ltd/brand-contract@1.0.0 define un solo contrato canonico:
{ "$schema": "https://schemas.ui.le-mn.com/branding/v1.json", "schemaVersion": 1, "name": "Example identity", "metadata": { "tags": [], "externalReferences": {} }, "assets": {}, "typography": {}, "defaultModeId": "light", "modes": { "light": {}, "dark": {} }, "runtimeSelection": { "selectable": true, "allowedModeIds": ["light", "dark"] }}Typography y los modes abreviados son ilustrativos. Una definicion valida incluye typography gobernada en la raiz y secciones completas de colors, shape, elevation, density, motion, visualization, iconography, accessibility y component appearance por mode. No contiene identidad de lifecycle de la app.
Compilacion determinista
Sección titulada «Compilacion determinista»import { compileBrandingDefinition } from "@lemn-ltd/brand-contract";
const result = await compileBrandingDefinition(definition);if (!result.ok) throw new Error("Branding invalid");El artefacto inmutable contiene compatibilidad, hashes, proyecciones completas, CSS con scope, fonts/preloads, assets, apariencia y temas para Recharts/ECharts. El orden del JSON de entrada no cambia el output semantico canonico.
System brandings
Sección titulada «System brandings»import { getSystemBrandingTemplate, systemBrandingTemplates,} from "@lemn-ltd/brand-contract/system-brandings";
const template = getSystemBrandingTemplate("verdant-ledger", 1);const editableCopy = structuredClone(template.definition);Seleccionar un template copia la definicion exacta. Un release futuro del catalogo nunca muta drafts ni Workspaces existentes.
Brand Studio
Sección titulada «Brand Studio»pnpm add @lemn-ltd/brand-contract@1.0.0 @lemn-ltd/brand-studio@2.0.0Studio edita una definicion controlada, recibe catalogo/targets desde el host y emite intents de validate, save, compare, preview, archive/restore, publish y seleccion exacta de template. No hace fetching, persistence, routing, auth, publicacion ni activacion.
Typography usa un catalogo curado. System fonts descargan 0 KB. Managed fonts
son WOFF2 self-hosted, inmutables, con integrity y fallback de sistema.
preferred usa carga opcional; required usa preload y block period. SSR no
convierte la font en pixeles: el browser todavia descarga los bytes, por lo que
CSP, CORS, cache y fallback siguen siendo obligatorios.
Extensions namespaced y JSON-only permiten evolucion aditiva sin CSS arbitrario ni flags funcionales. AgentOps posee drafts, publicacion, activacion, preview y audit; este repo posee contrato, compilador, consumo runtime y controles.