Pular para o conteúdo
Strata
Entrar

Apresentações

Crie, edite e apresente slides no Strata. Comece com uma apresentação vazia, peça ao Strata Agent um rascunho com base nos documentos de origem ou importe Markdown.

Crie apresentações com seu agente de IA.

Criar uma apresentação

Abra Apresentações no espaço de trabalho. Escolha Nova apresentação e insira um título, ou peça uma apresentação ao Strata Agent. Para um rascunho com IA, descreva o assunto, o público e o objetivo; escolha a extensão, o tema e os documentos de origem. Revise a estimativa e o limite de créditos antes de começar.

Alterne entre Apresentação e Documento para organizar os slides ou editar o conteúdo de origem e as notas. Adicione, duplique, reordene ou exclua slides da exibição e escolha um tema. Selecione Apresentar; a visão do apresentador inclui notas, o próximo slide e um cronômetro.

Comece o documento com YAML entre linhas ---. Use presentation: true para os valores padrão ou um mapa presentation como abaixo. aspect aceita "16:9", "16:10" e "4:3".

---
presentation:
  aspect: "16:9"
---
# Relatório ao conselho

## Resultados
```slide layout="bullets"
- Aumento da receita
- Melhora na retenção de clientes
```

Explique os números ao público.

O primeiro título # é a capa; cada título ## inicia um slide. Um título sozinho cria um slide com uma chamada. Adicione um bloco slide com layout="bullets" para exibir marcadores ou um bloco html para um visual personalizado. Não combine os dois no mesmo slide. O texto fora do visual são notas do apresentador, não conteúdo do slide.

Somente o primeiro título # é a capa. Títulos ### permanecem no slide atual. Um título ## que comece com Appendix, sem diferenciar maiúsculas de minúsculas, encerra os slides; o conteúdo seguinte pertence ao apêndice.

Da conversa aos slides

Use strata-presentation para transformar a conversa em público, propósito e uma sequência de afirmações fundamentadas. Leia as fontes e o sistema de design da empresa antes de definir estilos. Use um título por slide, evidências no visual e narração no texto comum da seção. Salve com edit_document e releia o resultado; verifique as prévias HTML disponíveis e informe os limites de renderização.

Ancore cada edição HTML em um id descritivo e exclusivo na apresentação. Inclua esse id em oldString e newString, correspondendo a um único trecho atual com replaceAll=false. Isso é uma convenção de substituição de texto, não uma API de seletores por ID. Releia se não houver correspondência ou se ela for ambígua; não force uma reescrita completa. Substitua documentId no exemplo pelo valor real retornado. Prefira pequenas edições com âncoras: com replaceAll=false, uma correspondência ausente ou ambígua é rejeitada na réplica Yjs em memória da tarefa ECS que atende à solicitação, segundo as regras de correspondência da API, que podem normalizar aspas, marcadores de notas de rodapé e espaços em branco. Isso não é uma comparação exata de bytes nem um compare-and-swap distribuído. Uma alteração já confirmada por outra tarefa pode ainda não ter chegado à réplica; uma âncora desatualizada pode corresponder antes da integração dos registros WAL concorrentes durante a persistência. Edições em caracteres afetam o trecho correspondente; edições entre nós ou de blocos podem recorrer a uma conversão de ida e volta para Markdown e a uma reescrita estrutural. Nenhum caminho MCP de gravação do conteúdo aceita uma documentVersion esperada nem garante segurança diante de um editor simultâneo. Se a apresentação parecer estar sendo editada ativamente, informe o usuário e combine uma pausa ou prepare uma cópia separada. A releitura confirma um resultado observado, não a segurança diante de alterações concorrentes.

grammarVersion: 1

Gramática do documento

Um bloco YAML inicial com presentation: true ativa os padrões. O mapa presentation aceita apenas aspect (16:9, 16:10, 4:3), transition (fade, none, slide), form (slides, whole-deck) e notes (presenter, none). Os padrões são 16:9, fade, slides, presenter. O limite de YAML é 16 KiB. O tema não é uma configuração de frontmatter.

No formato slides, o primeiro H1 de nível superior é a capa; cada H2 inicia um slide. H3–H6 e blocos comuns são notas. Um H1 posterior e seu conteúdo viram notas da seção anterior até o próximo H2, com o aviso duplicate-cover. O preâmbulo é associado à capa, se houver. O primeiro H2 cujo texto, sem espaços nas extremidades e sem distinguir maiúsculas, começa com appendix encerra o processamento de slides, incluindo os títulos seguintes.

O primeiro bloco html da seção é seu visual; HTML adicional é reportado e não selecionado. Misturar blocos html e slide exclui a seção. Sem HTML, o primeiro bloco slide seleciona layout=title, statement, bullets, big-number, two-column ou image; um layout ausente/inválido informa unknown-layout e usa statement na estrutura. Blocos slide posteriores são notas. Sem esses blocos, o slide contém apenas o título. Layout pertence somente a blocos slide, que descartam name mas mantêm uses: um slide com layout=image nomeia sua imagem por uses, e o que não declara nenhuma informa image-slide-without-source. Name declara uma fonte de dados; uses em um visual HTML lista suas dependências separadas por vírgulas.

Vincule números desenhados a blocos json/csv/tsv/yaml ou tabelas com nome, de preferência no apêndice. O HTML declara uses, lê fontes identificadas por tipo via strata.data.get e redesenha em strata:data. Decodifique por kind e format, incluindo dados indisponíveis; consulte interactive-html. Agregue as fontes para caberem em 128 KiB cada e 256 KiB no total. Atribua IDs aos elementos editáveis e um comentário de slide dentro do bloco HTML; data-deck-headline recebe o título em um shell ativo. Mantenha texto alternativo legível para prévias comuns.

Crie, edite e apresente slides no Strata. Comece com uma apresentação vazia, peça ao Strata Agent um rascunho com base nos documentos de origem ou importe Markdown.

---
presentation:
  aspect: '16:9'
  transition: fade
  form: slides
  notes: presenter
---
# Launch

```slide layout=title
A smaller first release

Priya Raman, March
```

## Focus

```slide layout=bullets
What ships first:

- One workspace
- One integration
- Nothing else
```

Say the internal negotiation out loud; this paragraph stays a presenter note.

## The room

```slide layout=image uses=launchPhoto
Launch day, Oslo
```

## Adoption

```html
<!-- slide: adoption -->
<main id="s03-adoption" style="padding:var(--deck-padding)">
  <h1 class="deck-title" data-deck-headline>Adoption</h1>
  <p id="s03-rationale">A smaller release gives us a clear learning signal.</p>
</main>
```

## Appendix

<!-- strata:name=launchPhoto -->

![The team on launch day](launch-day.png)

```css name=deckTheme extends=strata-light
:root { --deck-accent: #1d4ed8; }
```
layoutfence
titleslide layout=title
statementslide layout=statement
bulletsslide layout=bullets
big-numberslide layout=big-number
two-columnslide layout=two-column
imageslide layout=image uses="hero"

Sistemas de design e temas da empresa

Localize e leia o sistema de design da empresa e copie seu CSS para um único bloco css name=theme. Registre source e sourceVersion juntos com o ULID real do documento e a versão decimal real, quando conhecidos; ambos são necessários para a procedência. Preserve um locked=true existente. A cópia é conteúdo local: a resolução nunca busca nem atualiza a fonte. Se não houver tema da empresa, comece com strata-light.

Para arquivos do Claude Design, variáveis do Figma, Tailwind ou um guia de marca, mapeie fundo, texto, destaque, texto secundário, duas pilhas de fontes, espaçamento interno e raio para os oito tokens. Coloque adaptações específicas em deckTheme. Incorpore apenas fontes autorizadas como URLs data:, com alternativas do sistema; preserve os glifos necessários e verifique o limite de 256 KiB após codificar o CSS. Informe cores aproximadas e substituições de fontes.

As cinco camadas, da menor para a maior prioridade, são deck-base, deck-strata, deck-company, deck-deck e deck-slide; preview-base vem antes delas. Use css name=deckTheme para ajustes locais. Seu extends prevalece sobre o extends da empresa; depois, o padrão é strata-light. Os temas incluídos são strata-light, strata-dark, strata-editorial e strata-mono. Nomes desconhecidos geram um aviso e usam o tema alternativo. Estilos inline continuam seguindo a cascata CSS comum.

Defina os oito tokens da empresa mostrados abaixo em uma regra :root simples de nível superior. Tokens em html, body, seletores mistos ou regras @media/@layer aninhadas não são lidos e geram theme-token-outside-root. Use var(--deck-...) nos slides. Mantenha o CSS dentro de 256 KiB, com delimitadores balanceados, sem !important ou importações/URLs externas; recursos data: são permitidos. O contraste de texto/fundo deve ser de pelo menos 4.5:1; expressões de cor incompatíveis informam contraste desconhecido. Nomes de tema duplicados desativam a camada. Um bloqueio da empresa informa substituições de tokens no deck, mas não impede que prevaleçam.

```css name=theme extends=strata-light
:root {
  --deck-bg: #ffffff;
  --deck-fg: #111318;
  --deck-accent: #1d4ed8;
  --deck-muted: #586174;
  --deck-font-heading: system-ui, sans-serif;
  --deck-font-body: system-ui, sans-serif;
  --deck-padding: 6cqw;
  --deck-radius: 12px;
}
```
tokenstrata-light
--deck-bg#ffffff
--deck-fg#111318
--deck-accent#2563eb
--deck-muted#6b7280
--deck-font-headingsystem-ui, sans-serif
--deck-font-bodysystem-ui, sans-serif
--deck-padding6cqw
--deck-radius12px
extends--deck-bg--deck-fg--deck-accent--deck-muted--deck-font-heading
strata-light#ffffff#111318#2563eb#6b7280system-ui, sans-serif
strata-dark#0b1020#f4f6fb#5cc8ff#8b93a7system-ui, sans-serif
strata-editorial#faf7f2#1f1b16#b4532a#756c61Georgia, serif
strata-mono#111111#e8e8e8#c8ff00#8a8a8aui-monospace, monospace

Compartilhar e exportar

Proprietários e editores leem o documento completo. Leitores, comentaristas e pessoas com permissão apenas para sugerir recebem uma edição com os títulos e visuais aceitos, sem as notas comuns. Coloque a narração privada fora dos blocos visuais. notes: none descreve a visibilidade do painel, não a privacidade. Remover ou desativar presentation torna o documento comum novamente, permitindo que leitores recebam todo o conteúdo.

A edição também mantém o CSS dos temas, blocos JSON/CSV/TSV/YAML ou tabelas nomeados e declarados por uses dos visuais aceitos, além das configurações presentation. Recursos são mantidos mesmo no apêndice; no formato slides, seu título também é mantido. Os blocos são copiados por inteiro: HTML oculto, comentários, scripts e campos não usados podem expor conteúdo privado. O texto comum do apêndice e outras chaves de frontmatter são omitidos.

Em form: whole-deck, o primeiro bloco HTML de nível superior antes do apêndice é a apresentação inteira; títulos não criam slides. A estrutura compartilhada pode navegar por ela usando um strata.deck.registerAdapter escrito pelo autor com count(), current() e goTo(index). Notas internas ao HTML não podem ser removidas: notesPrivacy é notStripped, e publicar exige reconhecimento explícito. Mantenha notas confidenciais fora do HTML.

Use Exportar para obter PDF ou HTML independente, ou peça ao assistente conectado que use export_presentation. Os links de download duram quinze minutos. PDF consome a cota de capturas do proprietário; HTML não é contabilizado. As notas do apresentador são removidas dos slides. A exportação de HTML whole-deck é recusada porque as notas privadas não podem ser removidas com segurança. A exportação PPTX não é compatível.

Trazer uma apresentação existente

Preserve arquivos existentes e verifique seu formato. Para Markdown UTF-8, meça os bytes, chame edit_document com action=presignUpload e contentLength mais documentId ou title/folderId, envie os bytes exatos por PUT com todos os requiredHeaders retornados e depois finalizeUpload com uploadId. Releia após finalizar. Adapte apresentações HTML para uma cópia Markdown whole-deck e verifique dependências do ambiente isolado e notas internas. O upload de arquivos de escritório converte PPTX/PDF/DOCX em documentos comuns; não garante a fidelidade dos slides originais. Não envie esses binários pelo fluxo de upload Markdown. Usar um documentId existente solicita a substituição integral em finalizeUpload; o PUT apenas armazena os bytes temporariamente. Nem finalizeUpload nem action=write aceitam uma versão esperada, portanto a substituição pode sobrescrever alterações de colaboradores sem um erro de conflito de versão. Prefira chamadas edit pequenas, com âncoras únicas e replaceAll=false; elas verificam apenas a réplica da tarefa que atende à solicitação, e edições de blocos podem recorrer a uma reescrita estrutural. Nenhum caminho MCP de gravação do conteúdo garante segurança diante de um editor simultâneo. Se a apresentação parecer estar sendo editada ativamente, informe o usuário e combine uma pausa ou prepare uma cópia separada. Se a substituição for inevitável, releia imediatamente antes da finalização, compare documentVersion com a versão usada para preparar o arquivo e interrompa se ela mudou. Uma versão inalterada reduz a janela de disputa, mas não a elimina.

Dividir uma apresentação HTML é uma transformação feita pelo agente, não uma ferramenta de importação. Exija cinco verificações: uma seção por slide; estilos locais sem folhas vinculadas; scripts cujo acesso ao DOM se limite à seção, exceto a navegação identificada; recursos autocontidos; e um título por seção. Se não for possível estabelecer o isolamento de um script, mantenha whole-deck e identifique o script. Para uma divisão solicitada e elegível, crie outro documento, transforme a primeira seção na capa H1, preserve IDs e seções e informe que a fidelidade visual não foi verificada.

Validação e correção

Execute a validação antes de apresentar ou exportar. validate_presentation verifica layout, contraste, vínculos de dados, estrutura e temas, e salva capturas. Cada chamada verifica no máximo dois slides em um tamanho de visualização; continue com next enquanto status for more, sem alterar a seleção. É usada uma captura por slide e tamanho, sem cobrança repetida para a mesma chave de renderização no ciclo de faturamento. Revise os resultados, corrija a origem e verifique novamente.

{
  "action": "edit",
  "documentId": "<documentId>",
  "oldString": "<strong id=\"s02-target\">84%</strong>",
  "newString": "<strong id=\"s02-target\">87%</strong>",
  "replaceAll": false
}
codeCausa e correçãostrataDocumentation
duplicate-coverUm H1 posterior inicia notas em vez de outra capa. Mantenha apenas um H1; use H2 para outro slide.presentation-grammar
extra-visualUm visual HTML adicional é omitido. Mova-o para um slide próprio ou combine o visual pretendido.presentation-grammar
slide-and-visualBlocos HTML e slide compartilham uma seção, que é excluída. Escolha apenas um tipo de visual.presentation-grammar
unknown-layoutO primeiro bloco slide não tem um layout válido. Defina um dos cinco nomes listados.presentation-grammar
image-slide-without-sourceUm bloco slide com layout=image não declara nenhuma fonte. Adicione uses com o nome de uma imagem deste documento ou escolha uma no editor da apresentação.presentation-grammar
unknown-themeO nome extends selecionado é desconhecido. Escolha um tema incluído; atualmente o fallback é strata-light.presentation-themes
duplicate-themeVários blocos theme ou deckTheme desativam a camada correspondente. Consolide em um de cada tipo.presentation-themes
theme-missing-tokenFalta um token obrigatório no tema da empresa. Defina os oito em uma regra :root simples no nível superior.presentation-themes
theme-contrastO contraste resolvido entre texto e fundo está abaixo de 4,5:1. Ajuste as cores para atingir essa proporção.presentation-themes
theme-contrast-unknownUma cor de texto ou fundo não pode ser avaliada. Use hexadecimal literal de três ou seis dígitos ou rgb() com inteiros.presentation-themes
theme-importantO CSS do tema contém !important, que é removido. Exclua-o e use a cascata documentada.presentation-themes
theme-oversizeO CSS do tema excede 256 KiB e é omitido. Reduza o tamanho em bytes UTF-8, incluindo os recursos incorporados.presentation-themes
theme-external-urlFoi encontrado um @import ou URL que não usa data:. Remova-o ou incorpore um recurso autorizado como data:.presentation-themes
theme-unbalancedOs delimitadores do tema não estão equilibrados antes ou depois da normalização; a camada é omitida. Corrija a sintaxe CSS.presentation-themes
theme-token-outside-rootUm token da apresentação está declarado fora de uma regra :root simples no nível superior. Mova a declaração para :root.presentation-themes
locked-overrideUm token da apresentação sobrescreve um tema da empresa bloqueado. Remova a sobrescrita ou acorde uma alteração no tema original; o bloqueio apenas a informa.presentation-themes

Manter a apresentação atualizada

A atualização automática de apresentações não está disponível. list_company_themes, get_company_theme e o contrato target/sourceRef/baseVersion das rotinas de apresentação não estão implementados. Copie temas com find e read_document, registre procedência verificada e informe que temas e dados copiados são instantâneos. A existência desta seção não ativa uma rotina. Atualize uma cópia apenas por uma edição revisada e solicitada explicitamente.