La órbita por superficie
Dónde vive la pieza
La órbita, la voz, la selección y los íconos ya tienen su contrato. Esta página dice qué pasa con la pieza completa según dónde vive: el hero de una página, un caminero que se lee desde un auto, una pantalla que pasa en diez segundos, un video o una lámina de propuesta. Cada superficie tiene recetas medidas en las piezas que el operador aprobó. Los valores salen de efeonceGraphicLine.surfaces; la misma fuente, en datos, está en /references/surfaces.json.
- Contrato
- efeonce.surface-composition 0.1.2
- Estado
- Candidato
- Superficies
- 6
- Recetas
- 86
- Aprobadas
- 81
01
Las superficies
DOOH y pDOOH comparten página porque comparten la verdad de fondo: la pieza se lee de paso. Social y la firma de correo siguen en sus contratos propios.

Web
El hero de la página. Decir en una pregunta y una respuesta qué hace Efeonce y llevar a una sola acción.
Formatos:
desktop · phone-360 · phone-390 · phone-430- 4 aprobadas

DOOH y pDOOH
Se lee de paso. La marca en la calle con una sola idea que se entiende en segundos. Se diseña en una maqueta a escala y se prueba a la distancia real. Pantallas LED y mupis digitales comprados de forma programática: la pieza pasa diez segundos, sin audio, y la voz se arma en dos segundos como máximo.
Formatos:
caminero-3x1 · paleta-1x2 · led-16x9 · mupi-9x16- 1 aprobada
- 4 opciones
- 1 pendiente

Motion
Se anima la línea, no la foto. Redes, pantallas y presentaciones: la animación de la línea sobre una foto hecha para la lente, con el reveal del logo al final.
Formatos:
16x9- 2 aprobadas

Audiovisual
La línea no vive dentro de la toma. «Cómo trabajamos», casos, presentaciones del equipo: un plan de planos con sus reglas y siete generadores de texto.
Formatos:
16x9- 8 aprobadas

Deck
Una idea por lámina. Portada, secciones, contenido, respiros, propuestas de cine, el método por niveles, láminas para decidir y cierre, sobre papel o sobre el fondo de Efeonce. Las recetas aprobadas sirven para la presentación (proposal) y para el brochure en PDF (brochure); la portada y la contraportada, no: dependen del documento, y cada una admite sólo el suyo.
Formatos:
16x9- 66 aprobadas
02
Cómo se relaciona con los contratos de elemento
El contrato por superficie no repinta nada: llama a los demás a través de delegates, con sus intents ya rellenados.
| Capa | Contrato o herramienta | Qué decide |
|---|---|---|
| Superficie | efeonce.surface-composition · pnpm surface:resolve | formato, reservas, escala de voces, firma, tiempos, receta y referencias |
| Órbita, voz, firma y eslogan | efeonce.graphic-line-orbit · pnpm orbit:resolve | la geometría de la órbita, la esfera que cierra la respuesta, el logo o la burbuja |
| Selección colaborativa | efeonce.collaboration-selection · pnpm collaboration:resolve | la caja, los handles y los cursores sobre la respuesta, el botón o un objeto |
| Íconos | resolveIcon · @efeoncepro/axis-graphic-line/icons | glifo, voz Trazo o Plastilina según la línea, reposo o respuesta |
| Fotografía | lenguaje fotográfico (Greenhouse) | la toma: registro, lente, luz y reservas de texto |
03
El flujo
El mismo para personas y agentes. Los comandos corren en la raíz del repositorio de AXIS.
- Declara el intentSuperficie, formato, papel, receta, línea y la voz; lo que la receta pida: bajada, prueba con fuente, pasos, niveles, fotos por panel, cifras con fuente, nota, foto, selección, línea de tiempo o variantes.
- Resuélvelopnpm surface:resolve valida contra las reglas y resuelve cada valor desde los tokens. No pinta, no publica ni aprueba.
- Usa los delegatesEl manifest trae los intents ya rellenados para orbit:resolve, collaboration:resolve y resolveIcon, y la ficha fotográfica esperada.
- CompónPinta con @efeoncepro/axis-graphic-line o el adapter de Greenhouse. Nunca transcribas números de la guía, del Lab ni del canvas.
- RevisaCorre los checks de cada contrato, mide el contraste sobre los píxeles finales y mira la pieza en su tamaño de uso. Después, la aprobación del operador.
Resolver un intent
pnpm surface:resolve -- --input docs/examples/surfaces/deck-proposal-cinematic-intent.json --out /tmp/surface-manifest.json04
Reglas que valen en todas las superficies
Decididas por el operador. Cada una tiene un id estable: un adapter o una persona la marca como cumplida o no.
efeonce-dark-groundEl fondo Efeonce (#001a33) se mantiene en toda pieza de línea; la línea sólo aporta el acento (operador, 2026-09-26).one-sphere-per-pieceUna esfera por pieza: cierra la respuesta; nunca es viñeta ni adorno.one-orbit-per-pieceUna órbita por pieza o lámina: anillo, lente, indicador o medida, uno solo.accent-text-min-sizeEl acento nunca colorea texto de menos de 24 px: ahí el texto va en blanco o suave sobre oscuro (navy sobre claro); el acento marca con un elemento de 24 px o más o con el ícono.timings-from-tokensLos tiempos salen de efeonceGraphicLine (surfaces.*.timeline y motion); nunca se escriben en el script.answer-dominates-3xLa respuesta mide al menos 3 veces la pregunta (type.answer.minRatioOverQuestion).figures-with-sourceCifras sólo con fuente; precios siempre como marcador.isotype-composedEl isotipo en prendas generadas se compone desde @efeoncepro/axis-brand-assets; nunca el que dibuja el modelo.cine-only-nexa-or-proposalRegistro cine sólo con Nexa protagonista o en las recetas de cine del deck (photo.cine.recipes: proposal-cinematic y, desde el 2026-09-27, la portada de brochure, las contraportadas con foto, la sección de cine, la lente de la propuesta sobria desde el 2026-09-28 y, como excepción aprobada con personas del equipo en luz dramática, la sección partida); proporciones reales (cámara a ~2 m, 85 mm).no-close-gaze-pairsNunca dos personas mirándose de cerca: se lee romántico (rechazo del operador, 2026-09-27).semantic-reserves-onlySin coordenadas libres: regiones semánticas y fracciones que salen de tokens.
05
Estados de una receta
Lo rechazado no es una receta: no tiene id ni imagen y el contrato no lo resuelve. Cada página dice qué se rechazó y por qué.
| Estado | Recetas | Qué significa |
|---|---|---|
| Aprobada | 81 | El operador la aprobó en el canvas: se usa sin pedir permiso. |
| Opción | 4 | Existe y está medida, sin aprobación: se puede proponer, declarándolo en la entrega. |
| Pendiente | 1 | En revisión del operador: se resuelve con aviso y no sale a una pieza final. |
06
Para agentes
El agente declara el intent y deja que el contrato resuelva; nunca transcribe HEX, px ni ms. Guías en docs/agent-composition/surfaces/; schema en docs/agent-composition/surface-composition-intent.schema.json; ejemplos en docs/examples/surfaces/.
Instrucción para el agente
Vas a componer una pieza de la marca propia Efeonce en una superficie concreta (web, dooh, pdooh, motion, audiovisual o deck).
1. Lee la guía de la superficie (docs/agent-composition/surfaces/<superficie>.md) y /references/surfaces.json.
2. Elige una receta con status "approved" para el papel de la pieza; si usas una "option", dilo en la entrega; una "pending" no sale a una pieza final.
3. Escribe el intent (efeonce.surface-composition 0.1.2): superficie, formato, papel, receta, línea, voz y lo que la receta pida (niveles, fotos por panel, cifras con fuente, nota, navegación, cuadros o planos de la hoja, capítulo, caja del objeto, subtítulos; en el deck, el uso —proposal o brochure— y la composición —layout—). Sin coordenadas ni tiempos. Un brochure de varias páginas es un documento: { surface, format, use, pages[] }, empieza en la portada y termina en el cierre.
4. Corre pnpm surface:resolve y corrige cada issue; no lo silencies cambiando de receta sin decirlo.
5. Pasa los delegates tal cual a pnpm orbit:resolve, pnpm collaboration:resolve y resolveIcon.
6. Pinta con los valores resueltos. Nunca transcribas HEX, px ni ms de la guía, del Lab ni del canvas: todo sale de efeonceGraphicLine.surfaces.
7. Compara con la imagen de referencia de la receta y entrega el intent, el manifest y la revisión. La aprobación es del operador.Todo en datos: /references/surfaces.json (schema axis.efeonce-surfaces.v1).