Sobre el proyecto
Open Presentation Format (OPF) es un formato de documento JSON portátil y legible por humanos para presentaciones de diapositivas. Este repositorio es el hogar canónico de la especificación del formato, los JSON Schemas, los presets de catálogos, ejemplos, tipos de desarrollador generados, herramientas de validación local y documentos de planificación para un futuro kit de herramientas de renderizado/edición/conversión. Se publica en npm como @openpresentation/opf, actualmente en fase pre-estable (0.x, con cambios disruptivos previstos entre versiones menores antes de la 1.0), bajo la licencia MIT.
Motivación: .pptx es un paquete comprimido de XML que es difícil de comparar (diff) para los humanos, difícil de leer y escribir de manera confiable para los modelos, y difícil de rastrear significativamente para git, por lo que cada cambio parece un blob binario. OPF es JSON puro: legible en un editor, escribible por un modelo sin tener que adivinar el esquema mediante ejemplos y rastreable en el control de versiones junto con otros trabajos. El objetivo declarado es permitir que los LLM participen en la creación de presentaciones (estructura narrativa, encuadre, análisis de datos, sugerencias de gráficos, revisión) en lugar de luchar con etiquetas de marcado.
Convenciones y nomenclatura: Los documentos OPF son archivos JSON llamados *.opf.json (por ejemplo, board-review.opf.json) para presentaciones completas. El proyecto desaconseja el uso de la extensión *.opf a secas porque ya es utilizada por otros formatos de documentos y proyectos. El nombre Open Presentation Format y los esquemas, catálogos, paquetes y herramientas locales pueden ser utilizados por herramientas de terceros para leer, escribir, validar, renderizar, convertir y describir el soporte sin adoptar una marca específica del producto.
Qué hace el paquete de JavaScript/TypeScript: exporta los esquemas canónicos y los registros de catálogos agrupados de spec/, un manifiesto de archivo de especificación raw tipado para contenido de especificación direccionable por paquete, tipos de TypeScript generados con Presentation como el tipo de nivel superior, y validación local para JSON de OPF y registros de catálogos. La validación devuelve la validez más advertencias consultivas, por ejemplo, IDs de catálogo desconocidos. Existen importaciones de subrutas enfocadas para esquemas, catálogos, archivos de especificación, validador y tipos, y los JSON schemas raw pueden ser importados directamente por motores o resolutores. El paquete también expone geometría de composición pura para que las librerías downstream compartan el comportamiento del diseño. Explícitamente, no renderiza ni analiza .pptx, no genera contenido con IA, no obtiene catálogos remotos, no llama a APIs alojadas ni proporciona servicios gestionados.
Herramientas locales: una CLI instalable con licencia MIT puede crear, validar, editar e inspeccionar archivos OPF localmente; por ejemplo, creando una presentación con un título, validando un archivo o aplicando un parche in situ. Un comando de CLI 0.5.0 instala seis habilidades de OPF en un proyecto para agentes de IA, utilizando copias locales, preservando las instrucciones existentes y negándose a sobrescribir habilidades personalizadas, con objetivos documentados y pruebas de pre-lanzamiento. La documentación cubre habilidades de agentes, autoría de LLM, composición dinámica y verificación del ecosistema local.
Aspectos destacados de la estructura del repositorio: el JSON Schema canónico para documentos Presentation de nivel superior; introducción conceptual al modelo de documento, formas de contenido, resolución de catálogos y filosofía de validación; un algoritmo de precedencia de diseño (diseño de diapositiva, diseño de presentación, tema resuelto, valores predeterminados del motor); referencias para el autor sobre campos de nivel superior, definiciones de esquemas, esquemas de catálogos complementarios y cargas útiles de contenido de diapositivas/regiones, incluyendo gráficos y tablas; guías para accesorios técnicos y ejemplos de galería orientados a escenarios; notas del editor en vivo sobre el canvas del navegador, carga de fuentes y límites de fidelidad actuales; y un manual de ejecución de lanzamientos para el mantenedor. Existe un contrato OpenAPI de referencia opcional para servicios downstream que decidan exponer OPF a través de HTTP, pero OpenPresentation no aloja dicha API.
Límite del ecosistema: las capacidades de renderizado, edición y conversión residen en repositorios hermanos independientes con licencia MIT: opf-render (OPF a SVG/PNG/PDF), opf-editor (primitivas de editor headless más componentes de UI opcionales) y opf-pptx (importación/exportación local pura de PPTX). Estos proporcionan únicamente primitivas de código abierto; las aplicaciones downstream son propietarias del alojamiento, autenticación, almacenamiento, colaboración, colas, vistas previas, analíticas, soporte y UX de flujo de trabajo. Se espera que los futuros paquetes de Python y Go sigan el mismo límite de prioridad local, exponiendo esquemas, modelos, catálogos, validación y activos direccionables por paquete sin llamadas de red obligatorias ni telemetría oculta. Los presets de catálogos navegables por humanos, como diseños, temas, esquemas de colores y fuentes, tipos de gráficos, narrativas, audiencias, propósitos, tonos, idiomas y plataformas sociales, se referencian a través de pptx.gallery.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.