Vía pública estática y pantalla digital programática comparten una verdad: nadie se detiene a leer. La voz se reduce a lo esencial, la respuesta manda y la firma se mide en metros o en tiempo, no con el porcentaje de redes. Guía completa: docs/agent-composition/surfaces/dooh-pdooh.md.
dooh
1 aprobada · 1 pendiente
pdooh
4 opciones
Token
surfaces.dooh · pdooh
01 · dooh
DOOH · vía pública estática
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.
{
"schema": "axis.surface-composition.v1",
"contract": {
"id": "efeonce.surface-composition",
"version": "0.1.2",
"lifecycle": "candidate"
},
"status": "resolved",
"surface": "pdooh",
"format": "mupi-9x16",
"role": "spot",
"recipe": {
"id": "spot-10s",
"status": "option",
"role": "spot"
},
"use": null,
"layout": null,
"line": "growth",
"theme": "dark",
"palette": {
"background": "#001a33",
"accent": "#36c8bf",
"ink": "#ffffff",
"soft": "#e2e2e2"
},
"canvas": {
"width": 1080,
"height": 1920,
"unit": "px",
"format": "mupi-9x16"
},
"safeArea": {
"marginOfShortSide": 0.09,
"marginPx": 97.2
},
"reserves": [
{
"band": "lens",
"region": "center",
"circle": {
"cxOfWidth": 0.3889,
"cyOfHeight": 0.3958,
"rOfHeight": 0.1867
},
"source": "pieces.lens.story"
}
],
"type": {},
"dominance": null,
"steps": null,
"signature": {
"mode": "logo",
"anchor": "bottom-center",
"widthOfWidth": 0.35,
"marginOfShortSide": 0.09,
"widthPx": 378,
"marginPx": 97.2,
"assetId": "efeonce-logo-negative",
"alt": "Efeonce",
"minContrast": 4.5,
"orbitDelegate": "included"
},
"timeline": {
"durationMs": 10000,
"loop": false,
"audio": false,
"segments": [
{
"id": "question-opens",
"fromMs": 0,
"toMs": 1000,
"arcDeg": 1,
"lensZoom": 1.25
},
{
"id": "arc-runs-answer-enters",
"fromMs": 1000,
"toMs": 1800,
"arcDeg": 28
},
{
"id": "sphere-closes-answer",
"fromMs": 1800,
"toMs": 2200,
"arcDeg": 50,
"pulse": true
},
{
"id": "hold",
"fromMs": 2200,
"toMs": 10000,
"lensZoom": [
1.25,
1.42
],
"staticFallback": true
}
],
"close": null,
"staticFallback": "hold",
"reducedMotion": "static-fallback"
},
"rules": [
{
"id": "efeonce-dark-ground",
"text": "El fondo Efeonce (#001a33) se mantiene en toda pieza de línea; la línea sólo aporta el acento (operador, 2026-09-26)."
},
{
"id": "one-sphere-per-piece",
"text": "Una esfera por pieza: cierra la respuesta; nunca es viñeta ni adorno."
},
{
"id": "one-orbit-per-piece",
"text": "Una órbita por pieza o lámina: anillo, lente, indicador o medida, uno solo."
},
{
"id": "accent-text-min-size",
"text": "El 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."
},
{
"id": "timings-from-tokens",
"text": "Los tiempos salen de efeonceGraphicLine (surfaces.*.timeline y motion); nunca se escriben en el script."
},
{
"id": "answer-dominates-3x",
"text": "La respuesta mide al menos 3 veces la pregunta (type.answer.minRatioOverQuestion)."
},
{
"id": "figures-with-source",
"text": "Cifras sólo con fuente; precios siempre como marcador."
},
{
"id": "isotype-composed",
"text": "El isotipo en prendas generadas se compone desde @efeoncepro/axis-brand-assets; nunca el que dibuja el modelo."
},
{
"id": "cine-only-nexa-or-proposal",
"text": "Registro 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)."
},
{
"id": "no-close-gaze-pairs",
"text": "Nunca dos personas mirándose de cerca: se lee romántico (rechazo del operador, 2026-09-27)."
},
{
"id": "semantic-reserves-only",
"text": "Sin coordenadas libres: regiones semánticas y fracciones que salen de tokens."
},
{
"id": "voice-within-2s",
"text": "En pantallas de paso la voz se arma en 2 s como máximo."
},
{
"id": "no-audio-outdoor",
"text": "En vía pública, sin audio. Con sonido, sólo el golpe sintetizado."
},
{
"id": "margin-9pct-short-side",
"text": "Margen = 9 % del lado corto."
},
{
"id": "last-frame-static-fallback",
"text": "El último cuadro (o el sostén) es el estático de respaldo completo y la versión con movimiento reducido."
}
],
"references": [
{
"id": "spot-10s",
"title": "pDOOH · spot de 10 s sin audio",
"status": "option",
"image": "/references/surfaces/pdooh/spot-10s.jpg",
"canvasPage": "dooh",
"canvasBoard": "PdoohStoryboard.dc.html"
},
{
"id": "spot-10s-backup",
"title": "pDOOH · spot: el cuadro de sostén es el estático de respaldo",
"status": "option",
"image": "/references/surfaces/pdooh/spot-10s-backup.jpg",
"canvasPage": "dooh",
"canvasBoard": "PdoohStoryboard.dc.html"
}
],
"delegates": {
"orbit": [
{
"scene": "main",
"contract": "efeonce.graphic-line-orbit",
"intent": {
"canvas": {
"width": 1080,
"height": 1920,
"line": "growth",
"surface": "dark",
"channel": "screen"
},
"elements": [
{
"kind": "voice",
"id": "voice",
"questionId": "question",
"answerId": "answer",
"answerText": "En vivo"
},
{
"kind": "lens",
"id": "lens",
"photoId": "ai-generations/2026-09-26_ooh-caminero-lente/plates/D1-mupi-rodaje-en-vivo.png",
"alt": "Un operador de cámara mira el monitor mientras graba en vivo a una ceramista; la lente muestra la toma a color",
"region": "center"
},
{
"kind": "signature",
"id": "signature",
"medium": "web"
}
]
}
}
],
"close": null,
"selection": [],
"icons": [],
"photo": {
"register": "documental",
"subject": "person",
"plateRef": "ai-generations/2026-09-26_ooh-caminero-lente/plates/D1-mupi-rodaje-en-vivo.png",
"alt": "Un operador de cámara mira el monitor mientras graba en vivo a una ceramista; la lente muestra la toma a color",
"native": null,
"focus": null,
"emblem": "compose-from-axis-brand-assets"
}
},
"content": {
"eyebrow": null,
"question": "¿Cómo va?",
"answer": [
"En vivo"
],
"answerSphere": "closes-last-line",
"body": null,
"proof": null,
"measure": null,
"progress": null,
"cta": null,
"variants": null,
"levels": null,
"note": null,
"panels": null,
"figures": null,
"nav": null,
"title": null,
"frames": null,
"chapter": null,
"shots": null,
"subtitles": null,
"lines": null,
"slogan": null
},
"adapterChecks": [
"text-inside-its-reserve",
"text-never-crosses-ring",
"answer-dominates-3x-painted",
"accent-text-min-size",
"signature-where-the-surface-says",
"subject-outside-text-reserve",
"last-frame-is-static-fallback",
"legibility-at-reading-distance"
],
"issues": []
}