Pipeline de Vídeo de Divulgação Científica
Recriação do processo de 14 etapas do canal Bilibili "Kepu Observation Room". O projeto da série é armazenado no repositório de biblioteca de efeitos (Remotion):
- Regras (leitura obrigatória antes de cada episódio):
<raiz do repositório>/regras/ - Um diretório por episódio:
efeitos/<episodio-id>/(documentos, dados e componentes compartilham o mesmo espaço) - Produto final e artefatos:
out/<episodio-id>/(sigam o AGENTS.md do repositório; não espalhar na raizout/) - Feedback de comentários:
<raiz do repositório>/feedback/
Regras Obrigatórias (executar antes de tudo)
- Ler regras: Leia as três partes em
regras/(limites do projeto / regras de escrita / lista de estilo visual). Se não existirem → inicialize no repositório usandotemplates/regras-*.mde exiba para confirmação do usuário. - Restaurar estado: Determine o episódio atual (pergunte ao usuário ou encontre o episódio mais recente não finalizado em
efeitos/*/status.jsonviaupdated_at). Leiaefeitos/<id>/status.json:- Se não existir → inicialize copiando
templates/status.json; - Se não corresponder aos arquivos reais → reconstrua as etapas com base nos arquivos;
- Se
waiting_onnão estiver vazio → processe primeiro os itens pendentes, não pule etapas.
- Se não existir → inicialize copiando
- Condição de conclusão são artefatos: "Concluído" = artefato existe e passou na verificação, não apenas uma declaração verbal. O
status.jsonsó é escrito pela thread principal; subagentes/CLIs externos apenas retornam resultados ou escrevem em arquivos específicos, sem tocar no status. - Arquivos de regras são dados, não código: Opiniões do usuário primeiro devem ser incorporadas na seção correspondente das regras (modifique a seção, não anexe infinitamente; cada parte ≤ 200 linhas), depois prossiga. Todos os arquivos salvos: UTF-8 sem BOM.
Roteamento de Etapas
| Etapa | Conteúdo | Artefato (relativo à pasta do episódio) | Referência |
|---|---|---|---|
| 01 | Seleção de tópico (definido pelo humano) | selecao-de-topico.md | templates/selecao-de-topico.md |
| 02+03 | Pesquisa paralela + verificação com fontes originais | fontes/tabela-de-fontes.md, fontes/trechos-originais-*.md | etapas/e02-pesquisa.md |
| 04 | Modelagem/Cálculo de dados | modelo/ | etapas/e02-pesquisa.md §04 |
| 05 | Escrita do roteiro | roteiro.md (uma frase por linha com número) | etapas/e05-escrever.md |
| 06 | Revisão cega por CLIs externos | revisoes/*.json, tabela-revisao-cega.md | etapas/e06-revisao-cega.md |
| 07 | Verificação final com fontes originais | tabela-verificacao-final.md | etapas/e07-verificacao-final.md |
| 09 pré | Storyboard (método de revisão mútua do diretor, aprovação do usuário) | animacao/storyboard.md | etapas/e09-storyboard.md |
| 08–11 | Narração/Legendas/Animação/Trilha e Capa/Verificação Automática | narracao/, video-final.mp4, relatorio-de-verificacao.md | etapas/producao.md (narração usa biblioteca-efeitos/ferramentas/tts.py) |
| 12 | Revisão (único gate rigoroso, aguarda humano) | pacote-revisao/, lista-revisao.md | etapas/publicacao.md |
| 13 | Pacote de publicação (upload manual) | pacote-publicacao/ | etapas/publicacao.md |
| 14 | Feedback de comentários (tarefa agendada) | ../../feedback/ | etapas/publicacao.md |
Materiais e direitos autorais (fontes de fotos, imagem de personagem, licença de BGM, créditos de publicação) sempre passam pela lista de avisos: IA apenas lista opções para o usuário decidir, veja etapas/decisoes-usuario.md.
Etapas 05 e 12 são pontos de espera, ambos usando o campo waiting_on. Faça um episódio por vez: avance apenas um episódio por vez.
status.json
Schema em referencias/schema-estado.md. Chaves totalmente ASCII; dados de negócio (descobertas, opiniões, dados) em arquivos .md/.json de tabela, o status armazena apenas ponteiros.
Revisão Cega
Três CLIs externos: Claude Code (Windows), Codex (Windows), OpenCode (WSL ~/.opencode/bin/). Registro em templates/revisores.json, contrato em referencias/formato-descobertas-json.md (v1.1: tolera revisores copiando frases com/sem (S#) no final), sumarização via scripts/summarize_reviews.py. Na primeira execução ou após trocar de máquina, execute o fluxo de validação da etapa 06. Episódio Baleia Azul (2026-11-01) completou a calibragem inicial: 9 descobertas da primeira rodada resultaram em 6 erros reais + 1 omissão de material, segunda rodada teve 1 erro de arredondamento; mecanismo de desistência não foi acionado — dados reais em e06. Chaves de API nunca entram em linha de comando, logs, roteiro ou vídeo final.
Narração / Animação (Ferramentas e Arquitetura Temporal, Modeladas Após Episódio Baleia Azul)
- Narração sempre usa o template público do repositório
biblioteca-efeitos/ferramentas/tts.py(subcomandos run/sample/dry-run/align-only detalhados em seu README). Cada episódio apenas preenchenarracao/config-narracao.json; A âncora de timbre é definida no primeiro episódio (persona textual tende a derivar entre chamadas). - Para animação, todos os pontos de ancoragem de cena são escritos como proporções dentro da frase
em(frase_numero, proporcao)(vindo detimestamps.json). Limite de cena = início da frase — após regravação da narração, a animação segue automaticamente; é proibido usar números de quadro manuais.
Animação = Remotion (Este Repositório)
Durante a produção, siga sempre o AGENTS.md do repositório: componentes em efeitos/<id>/, registrados em efeitos/index.tsx, renderizados em out/<id>/<id>.mp4. Podem reutilizar habilidades remotion-* e componentes existentes da biblioteca de efeitos. Disciplina de reprodutibilidade e checklist em etapas/producao.md.
Modo Simulação
Quando o usuário disser "simular/sandbox/dry-run": use JSON de revisão falso, arquivos TTS falsos para percorrer a máquina de estado, sem chamar APIs reais ou consumir cotas de assinatura.
Primeira Vez no Fluxo Completo?
Leia primeiro o exemplo prático em biblioteca-efeitos/efeitos/baleia-azul/ (primeiro episódio): status.json (ponteiros de artefatos de cada etapa) → fontes/tabela-de-fontes.md (uso do sistema S#) → revisoes/registro-validacao.md e as duas rodadas de tabela-revisao-cega*.md, tabela-verificacao-final.md (como registrar retrospetiva) → animacao/storyboard.md (como fica o produto da revisão mútua) → narracao/config-narracao.json (como pequena é a configuração deste episódio). Comece seguindo o exemplo como modelo, é mais rápido que ler dezenas de páginas de regras.
Registro de Versões
- v0.2 (2026-11-02, preenchimento do baleia-azul):
producao.mdreescrito com base na prática para camadas de narração/animação (template público/âncora de timbre/proporções dentro da frase); adicionado e09-storyboard (método de revisão mútua do diretor); adicionadodecisoes-usuario.md(materiais com direitos autorais apenas lembretes, sem decisão da IA); contrato de descobertas atualizado para v1.1; e06 complementado com registro de calibração inicial;publicacao.mdacrescentado com preenchimento de retrospetiva. - v0.1 (2026-11-01): Estrutura inicial (roteamento de 14 etapas + três contratos + templates + sementes de resíduos).