sagadeck 1.11.1 → 1.11.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/docs/ANDAMENTO.md CHANGED
@@ -8,7 +8,17 @@ começar. Trabalho em curso vai para o GitHub (commit + push) a cada etapa, nunc
8
8
 
9
9
  ---
10
10
 
11
- ## 1.11.1 — 23/10/2026 (branch `claude/correcoes-1.11.1`)
11
+ ## 1.11.2 — 23/10/2026 (branch `claude/ritmo-da-geracao`)
12
+
13
+ Rodada completa dos testes ao vivo (`SAGADECK_LIVE=1`) depois da 1.11.1: 24 de 27. As três falhas foram comparadas com o
14
+ código de antes (`3c18855`): "refinamento" é variação do modelo (2 de 3 nos dois); "deck variado" e "sem falar de
15
+ imagens → nenhuma" já falhavam. A revisão de ritmo que existia na criação saiu de propósito em `d5b052a` (a criação
16
+ usa o caminho do chat, uma chamada, conferido em `ai.test.js`); então o tom virou regra dura do prompt (ANTI-FEIJÃO),
17
+ e o deck variado passou 3 de 3 ao vivo. O teste de imagens esperava zero sem pedido, mas o prompt manda a IA decidir
18
+ ("não falou de imagem → VOCÊ decide", conferido em `studio-ai.test.js`): passou a exigir poucas (até 1/3), 2 de 2.
19
+ Também em produção: o cartão da aula original da Mary mostra "24 a conferir"; a versão revisada, zero.
20
+
21
+ 1.11.1 — 23/10/2026 (branch `claude/correcoes-1.11.1`)
12
22
 
13
23
  - Gravação (`deckText`): reemite com e sem quebra em 80 colunas e fica a versão que preserva mais linhas do arquivo.
14
24
  Mudar o título de uma cópia na biblioteca tinha regravado 558 linhas (conteúdo igual). Teste em `deck-file.test.js`.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sagadeck",
3
- "version": "1.11.1",
3
+ "version": "1.11.2",
4
4
  "description": "Gerador de apresentações: YAML -> HTML animado + PowerPoint editável, com temas e figuras geradas na hora.",
5
5
  "type": "module",
6
6
  "bin": {
package/src/ai/deck-ai.js CHANGED
@@ -67,7 +67,7 @@ Siga ESTRITAMENTE a referência abaixo: use só layouts, elementos, campos e fig
67
67
  - Prefira figuras geradas (icon, picto, diagram, chart) a listas de bullets. Ícones são do Lucide, nomes em inglês kebab-case (ex.: rocket, shield-check, trending-up).
68
68
  - Ensinar como algo FUNCIONA (algoritmo, método, conta, receita técnica): o mecanismo inteiro, passo a passo, e não só "o que é". Um exemplo concreto com números atravessa a aula (as mesmas entradas do começo ao fim), cada passo mostra a conta feita na tela (\`solution\`, \`steps\`, \`table\`, \`algo\`; no \`solution\`, o número de cada passo sai de \`fn\`, calculado pelo sagadeck a partir dos \`givens\`, e a resposta cita \`{{nome}}\`: nunca escreva à mão um resultado que uma fórmula dá), uma simulação deixa mexer (\`calc\` ou \`science\` com controles: muda a entrada, vê o resultado) e, se ele aprende ou se ajusta, mostre uma rodada desse ajuste com os números. Público leigo ou criança: simplifique as PALAVRAS (analogias do dia a dia, "pontos por pista" em vez de "pesos"), nunca os PASSOS; uma ideia por slide, frases curtas, um exercício para fazer junto e ilustrações nos momentos-chave.
69
69
  - Exercício cuja resposta o material NÃO traz: a resolução é conta sua, então o slide leva \`provenance: derivado\` com \`provenanceNote\` dizendo que a resposta foi calculada pela IA. Antes de escrever a resposta, confira a ordem de grandeza por um segundo caminho (outra fórmula, uma razão simples, uma estimativa: "se a perda é de 0,02 m por metro, 3 m de folga dão uns 150 m de tubo"); a frase de conferência que vai na tela ou nas notes sai dessa conferência, nunca da própria resposta. O sagadeck refaz as contas depois (Conferindo as contas) e devolve o que não bater. Gráfico de um balanço só compara grandezas da mesma natureza (o que se tem × o que se gasta), na mesma unidade.
70
- - ANTI-FEIJÃO-COM-ARROZ: varie os layouts de verdade; capa (cover) no início e encerramento (end) no fim quando fizer sentido. Regras duras: nunca 2 slides seguidos com o mesmo layout (salvo série intencional); em 6+ slides use 5+ layouts diferentes com 1 slide de impacto (headline, number, statement, full, image, question); no máximo 45% do deck em listas/cartões (cards, list, steps, stats, bento, agenda). Conteúdo manda no layout, não o contrário (ver o mapa em "Layouts válidos").
70
+ - ANTI-FEIJÃO-COM-ARROZ: varie os layouts de verdade; capa (cover) no início e encerramento (end) no fim quando fizer sentido. Regras duras: nunca 2 slides seguidos com o mesmo layout (salvo série intencional); em 6+ slides use 5+ layouts diferentes com 1 slide de impacto (headline, number, statement, full, image, question); no máximo 45% do deck em listas/cartões (cards, list, steps, stats, bento, agenda). Varie também o TOM visual (regra dura): em 6+ slides, nem todos \`tone: light\` — pelo menos 1 slide com \`tone: dark\` ou \`accent\` num momento-chave (abertura de seção, número de impacto, conclusão), com moderação; material de consulta pode ficar todo claro. Conteúdo manda no layout, não o contrário (ver o mapa em "Layouts válidos").
71
71
  - Slide denso (documentação, referência, números): feche com 1 takeaway em ==destaque== e use o elemento \`aviso\` (tipos: \`importante\`, \`atencao\`, \`dica\`, \`perigo\`) para o que não pode passar batido; grife ==palavras-chave== no texto corrido em vez de encher de negrito.
72
72
  - Escreva no idioma do pedido do usuário.
73
73
  - Layouts válidos (\`layout:\`): ${Object.keys(LAYOUTS).join(", ")}. Conteúdo → layout (use o que comunica, não o mais fácil): processo/fluxo/arquitetura/UML: layout \`diagram\` (Mermaid); itens em volta de uma ideia: layout \`infographic\`; gráfico: \`chart\` (fórmula/curva/3D: \`science\`); datas: \`calendar\` (grade) ou \`timeline\` (marcos); página densa estilo revista: \`poster\`; jornada+problema+solução+painel: \`onepage\`; status semanal: \`status\`; definição: \`definition\`; citação: \`quote\`; número gigante: \`number\`; KPIs: \`stats\`; A×B: \`compare\`; 2×2: \`matrix\`; pergunta à plateia: \`question\`/\`poll\`; código: \`code\`, guiado: \`codewalk\`; screenshot com foco: \`spotlight\`; API ao vivo: \`api\`; conta/calculadora: \`solution\`/\`calc\`; algoritmo animado: \`algo\`; redes/rotas: \`graphlab\`; código executável pelo aluno: \`codelab\`; experimento: \`playground\`; decisão: \`decisionlab\`; duelo/terminais/turnos: \`duel\`/\`terminals\`/\`turns\`; carrossel: \`carousel\`; funil/pirâmide/agenda: \`funnel\`/\`pyramid\`/\`agenda\`; grade/consulta: \`bento\`/\`mosaic\`/\`ribbon\`/\`dossier\`; caminhos com volta ao mapa: \`hub\`+\`goto\`/\`back\`/\`next\`; manchete: \`headline\`; imagem total: \`full\`/\`image\`. Diagramas simples (\`diagram: loop/flow/venn…\`) e gráficos também existem como ELEMENTOS, dentro de figure/content/side.