# Crea un .tryslides sin MCP

Referencia del paquete portátil y ejemplo probado para agentes y programadores.

## Empieza con un ejemplo válido [#empieza-con-un-ejemplo-válido]

Descarga el [paquete editable mínimo](/docs/examples/minimal.tryslides), su [documento](/docs/examples/document.json) y el [empaquetador Python](/docs/examples/create-package.py). Solo usa la biblioteca estándar de Python: no llama a MCP ni necesita el repositorio privado.

Ejecuta el script con Python 3 junto a `document.json` para generar `presentation.tryslides`. Impórtalo desde el espacio de presentaciones. El ejemplo contiene una diapositiva con un rectángulo, sin dependencias de imágenes ni texto.

## Estructura del paquete [#estructura-del-paquete]

Es un contenedor ZIP con extensión `.tryslides`, no un JSON renombrado. Contiene `manifest.json`, `document.json` y los archivos de imágenes/fuentes referenciados.

| Campo del manifiesto | Significado |
| --- | --- |
| `format` | Exactamente `tryslides` |
| `formatVersion` | Versión de paquete `1` |
| `metadata.title`, `metadata.createdAt` | Título y fecha ISO |
| `document.path` | Exactamente `document.json` |
| `document.size`, `document.sha256` | Longitud UTF-8 y SHA-256 en minúsculas de los bytes exactos |
| `assets` | Registros de imágenes |
| `fonts` | Registros de fuentes con avisos de licencia |

Una imagen declara `id`, `path` seguro, MIME `contentType`, `size` y `sha256`. Las fuentes usan `fontId` y licencia con nombre, URL de origen y aviso. Rutas e identidades deben coincidir con el documento. Una URL externa no sustituye los bytes de imagen.

## Contrato del documento [#contrato-del-documento]

El ejemplo usa **schema version 16**, distinta de la versión 1 del paquete. Incluye identidad, título, fechas, tema, lienzo, diapositivas, elementos y estructuras de historial validadas. Conserva toda la estructura, no solo `slides`.

Empieza cambiando el título y la geometría/apariencia del rectángulo sin alterar los tipos. El lienzo es 1920 × 1080. Usa identidades únicas y referencias válidas; no copies campos arbitrarios de PPTX u otro editor.

Para archivos más ricos, exporta una presentación pequeña con el elemento deseado como referencia. El texto usa estado enriquecido estructurado, no una cadena simple. Los Steps conservan identidad y diferencias de estado. No inventes esas estructuras. El esquema de comandos MCP no es el esquema serializado del paquete.

## Recursos y comprobación [#recursos-y-comprobación]

El script incluido solo empaqueta documentos de formas sin recursos. Para imágenes o texto incorpora binarios y licencias desde una exportación válida y actualiza tamaños y hashes. Máximo: 100 MiB, 100 recursos de imagen/fuente combinados y 25 MiB por recurso.

Cualquier cambio de bytes, incluso espacios, exige recalcular tamaño y hash. Se rechazan rutas inseguras, referencias ausentes, checksums incorrectos y estados inválidos. Un ZIP válido no garantiza una presentación válida.

Importa siempre el resultado y revisa cada diapositiva y Step antes de entregarlo. El formato está en prelanzamiento y puede evolucionar; usa el ejemplo actual.
