Remake de Deck de Aula
Transforme um curso seco em um deck com o qual o aluno realmente aprende. A saída é um deck feito a partir do tipo de artefato Slides (um por idioma). Tudo sobre o formato do slide, arquivos e publicação vem das instruções desse tipo. Esta skill adiciona o design pedagógico, as regras de animação e comando, e a técnica de RTL para hebraico.
Leia references/patterns.md antes de escrever o primeiro slide. Ele contém marcação pronta para cópia de cada padrão nomeado abaixo.
1. Leia a fonte inteira primeiro
- PDF:
Readcompagesem blocos de no máximo 20 até que cada página seja vista. PPTX: use a skill pptx para extrair texto e imagens. - Ao ler, liste: os tópicos em ordem, cada comando ou trecho de código, cada definição, cada quiz ou pergunta já presente no deck, e quaisquer slides que repitam a mesma captura de tela com uma única anotação alterada. Esses slides repetidos são a primeira coisa a mesclar.
- Também liste cada imagem que vale a pena manter: fotos, objetos reais ou modelos, capturas de tela de ferramentas e figuras que mostram algo que um desenho à mão não consegue. Anote a página e a posição aproximada de cada uma na pré-visualização do
Read, pois você vai recortá-la depois (§6). - Mantenha todos os fatos da fonte: nomes, datas, e-mails, notas, links, flags de comando. Nunca invente números, citações ou comportamento de ferramenta que você não possa derivar da fonte ou da lógica do próprio exemplo.
2. Planeje o ensino, depois construa
Informe o plano em uma linha para o usuário e comece. Não espere aprovação.
- Um exemplo executável. Escolha o próprio exemplo da fonte e dê a ele uma imagem física concreta (uma FSM one-hot de 3 bits se tornou "um perseguidor de luz de 3 lâmpadas"). Reutilize-o em cada slide: propriedades se tornam perguntas simples sobre ele, resultados são explicados em seus termos.
- Uma analogia por conceito, da vida cotidiana, escrita em itálico no slide ao lado da definição formal (simulação vs formal = tentar 1.000 chaves vs um chaveiro provando o mecanismo; reset = "Novo jogo"; clock = metrônomo; limite = cafeteria mais próxima em uma rua; depuração "Por que" = um detetive voltando no tempo).
- Quizzes a cada 4–6 slides: prever antes de executar, rastrear à mão, "e se mudarmos X", verdadeiro/falso. A resposta é uma caixa fixada que aparece ao clicar; coloque a resposta também nas notas do apresentador.
- Mantenha as imagens da fonte e desenhe o resto. O usuário quer as imagens relevantes do original no deck. Não as descarte em favor de desenhos. Para cada imagem em sua lista:
- Se ela mostra a mesma coisa que seu desenho mostraria (uma faixa de resolução, uma janela real de ferramenta, uma comparação antes/depois), use a imagem em vez do desenho.
- Se ela adiciona algo que um desenho não pode (uma foto real, um modelo 3D real, um conjunto de dados real), coloque-a ao lado do seu desenho do exemplo executável no mesmo slide, com uma legenda de uma linha que ligue os dois.
- Se for puramente decorativa ou repetir outra imagem, deixe-a de fora e mencione-a no relatório. Desenhe como SVG/divs (patterns.md) tudo o que a fonte diz apenas em palavras: diagramas de estado, formas de onda, linhas do tempo, retas numéricas, construções passo a passo do exemplo executável.
- Uma ideia por slide, cerca de 20–26 slides. Use o ritmo: slides de afirmação escuros para a capa, cada abertura de seção e o resumo; slides de conteúdo claros; um fundo de tom quente para slides de quiz.
- Termine com uma folha de dicas: cada comando em ordem com um glossário de 2–3 palavras, além de um glossário dos termos-chave.
3. Animação é obrigatória, não opcional
O usuário pediu mais animação. Cada deck deve:
- Colocar
data-transitionem cada seção:fadepara a maioria,pushao entrar em uma nova seção,magicentre dois slides que mostram o mesmo diagrama em dois estados. - Dar a cada slide de conteúdo pelo menos uma sequência de construção: os elementos principais são filhos
position:absolutecomdata-build-in="<efeito> <ordem>"para que apareçam um de cada vez no modo Apresentação. Construções só funcionam em filhos fixados, então slides que revelam passo a passo são dispostos comleft/top/widthexplícitos. - Usar construções que ensinem. Revele um fluxo um passo de cada vez (
rise 1,rise 2, …), desenhe uma máquina de estados flecha por flecha (um SVG fixado por grupo de flechas), percorra um ciclo de forma de onda ciclo por ciclo, revele a analogia após a definição e mostre as respostas do quiz por último. - Usar movimento mágico para animar uma mudança: mesmo
idno elemento fixado correspondente de dois slides consecutivos (uma lâmpada acendendo, um destaque se movendo para o próximo ciclo, um intervalo limite estreitando). - Variar efeitos com propósito:
risepara listas e etapas,poppara um resultado ou uma verificação,left/rightpara coisas que chegam de uma direção,fadepara anotações,scalepara a grande revelação. Não use mais de cerca de 6 construções por slide.
4. Comandos devem saltar do slide
O usuário pediu comandos mais perceptíveis. Cada comando, flag ou linha de Tcl ou shell usa o chip de comando do patterns.md, e nada mais no deck se parece com ele:
- Seu próprio bloco (
<p>), nunca inline em uma frase. Spans só podem carregar cor, entãofont-familyem um span é silenciosamente descartado. - Uma fonte monoespaçada (JetBrains Mono) a 32–40px, negrito. Fundo escuro do chip, uma cor de destaque brilhante reservada apenas para comandos, uma barra grossa de destaque na borda de entrada e um glifo de prompt (
%para Tcl,$para shell). - Ao lado de cada chip, um rótulo curto dizendo o que ele faz ("compilar", "provar tudo").
- Em um slide de etapa, o chip de comando é a maior coisa depois do título e ele aparece primeiro na construção.
- Listagens de código (arquivos inteiros) usam um estilo de cartão de código separado e mais silencioso para que os comandos ainda se destaquem.
5. Idiomas
Se o usuário pedir dois idiomas, faça dois decks separados do tipo, com os mesmos ids de slide e conteúdo. Construa o idioma de origem (ou inglês) primeiro, depois o outro. Hebraico precisa da técnica RTL no patterns.md: isole cada bloco de texto em hebraico com ⁧…⁩, envolva código inline dentro de hebraico em ⁦…⁩, use text-align:right e linhas row-reverse, inverta a ordem das colunas da tabela, use ← em sequências e isole cada linha separada por <br> separadamente. Mantenha código, chips de comando, formas de onda e wireframes de GUI da esquerda para a direita. Rubik cobre hebraico e latim.
6. Construa e publique
Siga as próprias instruções do tipo Slides para arquivos e chamadas, com estas regras aprendidas com o uso:
- Escreva
project/deck.json(order,sections,facescompletos) e a capa, publique, depois escreva e publique cerca de 4 slides por rodada. - Uma publicação com
editsnão pode carregar tambémfiles. Edite com a ferramenta Edit, depois publique os arquivos. - Se uma publicação falhar com um erro de rede, reenvie os mesmos arquivos. Isso é seguro.
- Recortando imagens de origem de um PDF (faça isso antes de escrever os slides que as usarão):
- Copie o PDF para sua própria nova pasta no scratchpad e escreva os recortes em uma pasta
assetsseparada. - Obtenha o tamanho da página com
python -I -c "import pypdf,sys;print(pypdf.PdfReader(sys.argv[1]).pages[0].mediabox)" <pdf>. PyMuPDF e Pillow não estão instalados aqui;pdftoppm(MiKTeX) está. Ignore seu aviso "requires Windows 10". - Recorte diretamente da página:
pdftoppm -f N -l N -r 250 -x X -y Y -W W -H H -png -singlefile <pdf> <assets>/<nome>. As coordenadas vêm da pré-visualização doRead: escala = (250 / 72) × largura da página em pt / largura da pré-visualização em px. Uma página de 720 pt visualizada com 1000 px de largura dá ×2.5. Readcada recorte uma vez e corrija suas bordas antes de enviar: uma fatia da imagem vizinha é comum.- Divida uma tira de painéis (por exemplo, uma imagem com 7 resoluções) em um recorte por painel, para que os painéis possam aparecer um por um.
- Envie todos os recortes em uma chamada: Artifact publish com
url,asset: trueefile_paths(até 25). Use cada/_blob/<id>retornado literalmente em<img src>, comobject-fit:containe uma largura/altura que correspondam à proporção do recorte. - De um PPTX, pegue as imagens que a skill pptx extrai, depois envie-as da mesma forma.
- Copie o PDF para sua própria nova pasta no scratchpad e escreva os recortes em uma pasta
- Faça orçamento da altura: 824px dentro das margens. Bloco de título ≈130px, linha de tabela ≈ 2.1 × tamanho da fonte por linha, caixas fixadas devem terminar acima de y 952. Encurte o texto antes de encolhê-lo e mantenha o texto em 24px ou maior.
- Não renderize ou faça captura de tela para verificar, a menos que o usuário peça.
7. Relatório
Dê o link de cada deck, o que mudou em comparação com o original (o exemplo executável, as analogias, as ilustrações, quais imagens de origem foram mantidas, onde, e quais foram deixadas de fora, os quizzes, as animações, o estilo dos comandos, quais slides repetitivos foram mesclados) e o que você não verificou. Lembre o usuário de que os decks são privados até serem compartilhados.