JSON Schema 2020-12 · CC BY 4.0
Un formato abierto para novelas gráficas hechas para pantallas
panelwave.json describe una obra completa: viñetas y capas, maquetaciones de página por pantalla, bocadillos de texto vivo, vídeo y sonido, el grafo narrativo, variantes y reglas de muro de pago. Público, documentado y versionado. Tu contenido, tu formato.
{
"id": "sb-07",
"characterId": "mira",
"text": {
"en-US": "Something's not right here.",
"de-DE": "Hier stimmt etwas nicht.",
"ja-JP": "何かがおかしい。"
},
"shape": { "x": 0.58, "y": 0.06, "w": 0.32, "h": 0.16 },
"balloonConfig": {
"balloonType": "whisper",
"tail": { "position": 210, "length": 40, "curve": "left" }
}
}Un modelo de datos completo para contar historias
| Propiedad | Obligatoria | Qué contiene |
|---|---|---|
| panelwave | sí | Versión del formato y referencia al esquema |
| meta | sí | Título, autoría, idiomas, personajes, clasificación por edad, advertencias de contenido, licencia |
| chapters | sí | Viñetas, el grafo narrativo, maquetaciones de página por formato, lienzo infinito opcional |
| assets | — | Imágenes, vídeo, audio y subtítulos con variantes adaptables; carpetas |
| variables | — | Variables narrativas tipadas en cinco ámbitos |
| settings | — | Tipografía, estilos predefinidos de bocadillo, valores predeterminados de la interfaz, precarga, formatos predefinidos |
| localization | — | Estado de la traducción y glosario (metadatos de creación) |
| extras | — | Portadas, fichas de personaje, entrevistas, arte adicional, entre bastidores |
| paywall | — | Reglas por obra, capítulo, viñeta o extras; productos |
| tracking | — | Medición de audiencia con consentimiento |
| ui | — | Marca y controles del lector |
Copia, pega, valida
Así se ve
{
"id": "ch-01",
"title": { "en-US": "Night Shift" },
"panels": {
"p1": { "layers": [{ "id": "art", "kind": "image", "assetId": "img-p1" }] },
"p2": { "layers": [{ "id": "art", "kind": "image", "assetId": "img-p2" }] },
"p3": { "layers": [{ "id": "art", "kind": "image", "assetId": "img-p3" }] }
},
"graph": {
"entry": "p1",
"edges": [
{ "from": "p1", "to": "p2" },
{ "from": "p2", "to": "p3", "transition": { "type": "fade", "durationMs": 400 } }
]
}
}Versiones actuales (4 oct 2026): formato 1.7.0 · @panelwave/cli 1.2.0 · @panelwave/types 1.2.0 · @panelwave/player 1.2.0 · @panelwave/mcp 0.1.0 — qué formato admite cada versión
Versiones que solo suman. Un archivo 1.0 sigue siendo válido.
Las versiones menores solo añaden; nada se rompe. La versión actual es la 1.7.0: los capítulos lineales pueden prescindir por completo de conexiones y seguir el orden de las viñetas, y las elecciones llevan sus propias etiquetas.
| 1.7 | oct. 2026 | Los capítulos sin conexiones siguen el orden de las viñetas; elecciones con etiqueta, zonas interactivas mostradas como botones, color de rotulación, ID de variables en snake_case, campos x- en viñetas y extras |
| 1.6 | sept. 2026 | Varios productos por regla de muro de pago, información de presentación de productos, animaciones de capas por fotogramas clave, portadas alternativas, fichas de personajes de grupo |
| 1.5 | ago. 2026 | Archivo de obra portable: carpetas de recursos y estado de la traducción |
| 1.4 | jul. 2026 | Lienzo infinito: posiciones en coordenadas del mundo, movimientos de cámara a lo largo de las conexiones, lectura vertical estilo webtoon a partir del mismo modelo |
| 1.3 | jul. 2026 | Estilos predefinidos para texto y bocadillos; el cartucho de narrador como décimo tipo de bocadillo |
| 1.2 | jul. 2026 | Manifiestos más ligeros: tipos MIME opcionales, transiciones heredadas |
| 1.1 | jul. 2026 | Viñetas de vídeo: modos de reproducción, modos de inicio, variantes invertidas, fotogramas de portada |
| 1.0 | T1 2026 | Viñetas, capítulos, flujo por grafo, recursos, variables + JSON Logic, texto multilingüe, formatos de salida, muro de pago, medición de audiencia, plugins |
Ayuda a dar forma al estándar.
Informa de problemas, propón mejoras o envía una pull request. Abierto, versionado y hecho para creadores.