Sobre o projeto

Open Presentation Format (OPF) é um formato de documento JSON portátil e legível por humanos para slide decks. Este repositório é a casa canônica para a especificação do formato, JSON Schemas, presets de catálogo, exemplos, tipos de desenvolvedor gerados, ferramentas de validação local e documentos de planejamento para um futuro toolkit de renderização/edição/conversão. É publicado no npm como @openpresentation/opf, atualmente em estado pré-estável (0.x, com alterações disruptivas esperadas entre versões menores antes da 1.0), sob a licença MIT. Motivação: .pptx é um pacote zipado de XML que é difícil de comparar (diff) para humanos, difícil para modelos lerem e escreverem com confiabilidade, e difícil para o git rastrear significativamente, fazendo com que cada alteração pareça um blob binário. OPF é JSON puro — legível em um editor, escrevível por um modelo sem precisar adivinhar o esquema por exemplo, e rastreável em controle de versão junto com outros trabalhos. O objetivo declarado é permitir que LLMs participem da autoria de decks (estrutura narrativa, enquadramento, análise de dados, sugestões de gráficos, revisão) em vez de lutarem com tags de marcação. Convenções e nomenclatura: Documentos OPF são arquivos JSON nomeados como *.opf.json (por exemplo, board-review.opf.json) para apresentações completas. O projeto desaconselha a extensão *.opf pura porque ela já é usada por outros formatos de documentos e projetos. O nome Open Presentation Format e os esquemas, catálogos, pacotes e ferramentas locais podem ser usados por ferramentas de terceiros para ler, escrever, validar, renderizar, converter e descrever suporte sem adotar branding específico de produto. O que o pacote JavaScript/TypeScript faz: ele exporta os esquemas canônicos e registros de catálogo integrados de spec/, um manifesto de arquivo de especificação bruto tipado para conteúdo de especificação endereçável por pacote, tipos TypeScript gerados com Presentation como o tipo de nível superior, e validação local para JSON OPF e registros de catálogo. A validação retorna a validade além de avisos consultivos, por exemplo, IDs de catálogo desconhecidos. Importações de subcaminhos focados estão disponíveis para esquemas, catálogos, arquivos de especificação, validador e tipos, e JSON schemas brutos podem ser importados diretamente por engines ou resolvers. O pacote também expõe geometria de composição pura para que bibliotecas downstream compartilhem o comportamento de layout. Ele explicitamente não renderiza ou analisa .pptx, não gera conteúdo com IA, não busca catálogos remotos, não chama APIs hospedadas nem fornece serviços gerenciados. Ferramentas locais: uma CLI instalável com licença MIT pode criar, validar, editar e inspecionar arquivos OPF localmente, por exemplo, criando um deck com um título, validando um arquivo ou aplicando um patch no local. Um comando CLI 0.5.0 instala seis habilidades OPF em um projeto para agentes de IA, usando cópias locais, preservando instruções existentes e recusando-se a sobrescrever habilidades customizadas, com alvos documentados e testes de pré-lançamento. A documentação cobre habilidades de agentes, autoria por LLM, composição dinâmica e verificação de ecossistema local. Destaques do layout do repositório: o JSON Schema canônico para documentos Presentation de nível superior; introdução conceitual ao modelo de documento, formas de conteúdo, resolução de catálogo e filosofia de validação; um algoritmo de precedência de design (design do slide, design do deck, tema resolvido, padrões da engine); referências voltadas ao autor para campos de nível superior, definições de esquema, esquemas de catálogo complementares e payloads de conteúdo de slide/região, incluindo gráficos e tabelas; guias para fixtures técnicas e exemplos de galeria orientados a cenários; notas de editor ao vivo sobre canvas do navegador, carregamento de fontes e limites atuais de fidelidade; e um runbook de lançamento para mantenedores. Existe um contrato OpenAPI de referência opcional para serviços downstream que optem por expor OPF via HTTP, mas o OpenPresentation não hospeda essa API. Fronteira do ecossistema: capacidades de renderização, edição e conversão residem em repositórios irmãos MIT separados — opf-render (OPF para SVG/PNG/PDF), opf-editor (primitivos de editor headless mais componentes de UI opcionais) e opf-pptx (importação/exportação local pura de PPTX). Estes fornecem apenas primitivos de código aberto; aplicações downstream detêm a hospedagem, autenticação, armazenamento, colaboração, filas, pré-visualizações, análises, suporte e UX de fluxo de trabalho. Espera-se que futuros pacotes Python e Go sigam a mesma fronteira local-first, expondo esquemas, modelos, catálogos, validação e ativos endereçáveis por pacote sem chamadas de rede obrigatórias ou telemetria oculta. Presets de catálogo navegáveis por humanos, como layouts, temas, esquemas de cores e fontes, tipos de gráficos, narrativas, públicos, propósitos, tons, idiomas e plataformas sociais, são referenciados através de pptx.gallery.