Vellumdocs

Desenvolvimento

Como trabalhar no motor sem quebrar o vídeo: diagnóstico, validação, benchmark, custo e git.

#Preparar o ambiente

A primeira transcrição baixa o modelo de fala. Depois que transcrição, análise e contornos estão em cache, prepare e render funcionam offline.

#O fluxo de trabalho

  1. DiagnosticarIdioma, comando, vídeo e instante exato. Leia os relatórios em cache// e confira o elemento no plano.
  2. Ver antes de mexerPara problema visual, renderize stills antes, durante e depois do instante. Não conclua só lendo JSON.
  3. Achar a camadaEntrada, alinhamento, diretor, narrativa, composição, imagem ou render. Corrija só nela.
  4. Validar baratonode --check, typecheck, testes sem IA, prepare e edit:report do idioma.
  5. InspecionarStills dos frames afetados; depois a prévia de 60 s.
  6. RelatarCausa, arquivos, validações, métricas e o caminho do vídeo ou dos stills.

Não reescreva o motor

Preserve as abstrações e faça a menor mudança na camada responsável. Não edite o plano nem o arquivo de contornos à mão: corrija o planner e rode o prepare.

#Validações

bash
node --check scripts/arquivo-alterado.mjs
npm run typecheck
node scripts/test-apply-direction.mjs   # precedência das decisões do diretor (sem IA)
node scripts/test-niche-leak.mjs        # vocabulário de carro em nicho não automotivo (sem IA)
node scripts/with-lang.mjs <idioma> prepare
node scripts/with-lang.mjs <idioma> edit:report

No app, a checagem de tipos é npx tsc -b dentro de desktop-app/.

Critérios que não podem regredir

Alinhamento ≥ 90%, direção semântica 100%, nenhuma imagem obrigatória faltando, e zero em colisões e sobreposições de setas, sobreposição de desenhos, imagem repetida na página, conflitos de microtexto e título, textos cortados ou maiores que a caixa, moeda inválida e interrupções curtas demais.

#Benchmark multi-nicho

Roteiros curtos de vários nichos ficam em bench/roteiros/. O benchmark prepara todos num commit qualquer, num worktree separado (sua pasta de trabalho não é tocada), com a mesma narração para todos os commits:

bash
node scripts/bench-niches.mjs --ref <commit> --label antes
node scripts/bench-niches.mjs --ref HEAD --label depois
node scripts/bench-niches.mjs --compare antes,depois

A comparação sai em bench/resultados/antes-x-depois.md: elementos por tipo, páginas com pessoa, imagens pedidas, ocupação do quadro, erros e avisos, e vocabulário de outro nicho nos textos e pedidos. Use --nichos a,b para rodar só alguns e --keep para manter o worktree e renderizar stills.

#Custo e cache

#Idiomas

Todo texto de tela vem do roteiro, do diretor ou dos arquivos de tradução. Padrões de texto que ficaram no código (números por extenso, moeda, conectivos) cobrem português, inglês, espanhol e francês. Nunca acrescente regex de assunto: o assunto vem do diretor.

#Git

#Atualização do app

O app instalado se atualiza sozinho a partir de releases publicados pela equipe: verifica ao abrir e a cada 4 horas, baixa só o que mudou e pede para instalar antes de continuar. Nunca reinicia durante uma geração.

Cada push na main vira uma atualização

Um workflow do GitHub Actions roda a cada push na main do motor: aumenta o patch da versão do app, gera o instalador do Windows, publica a atualização e só então registra a versão nova na main. Commit que só muda documentação também gera atualização; junte as mudanças antes de enviar para a main.