- Instalado essentia-tensorflow no venv whisperx-transcricao (usado pelo painel CEP), corrigindo erro "A classificação musical precisa do suporte TensorFlow do Essentia" no catálogo de trilhas.
- Ligada a classificação de emoção da fala (ProviderDeEmocaoHuggingFace) ao scanner via nova flag `classificar_emocao`, e adicionado emoção/confiança como critério de desempate secundário no zoom da skill editar-por-voz.
- Zoom do caminho Python (aplicar_plano_de_edicao.py) passou a usar adjustment layer numa faixa de vídeo própria, em vez de escalar o clipe inteiro via set_clip_properties — mesma técnica já usada pelo executor .mjs do painel CEP.
- Adicionado campo "Carregar por ID" na aba Editar Vídeo do painel CEP (step 2), para carregar um plano do SQLite direto pelo plano_id quando ele não está associado a nenhum video_id conhecido (ex.: plano de um vídeo que este banco nunca escaneou).
- Trocado o campo de ID numérico por uma lista suspensa (novo listar_planos_de_edicao.py + RepositorioDePlanos.listar_todos_os_planos) que mostra data/hora e a intenção registrada pela skill em cada plano salvo, para escolher sem decorar o id.
Resumo:
- 15 arquivos alterados
- 2 novos
- 13 modificados
- 0 removidos
13 files changed, 451 insertions(+), 65 deletions(-)
Arquivos:
- .jhonny/analises.db
- code/cep-plugin/index.html
- code/cep-plugin/main.js
- code/engine/editor/aplicador_de_plano_de_edicao.py
- code/engine/editor/escrita/escrita_no_editor.py
- code/engine/executar_scanner.py
- code/engine/persistencia/repositorio_de_planos.py
- code/engine/scanner/configuracao_visual.py
- code/engine/testes/duplos_de_premiere.py
- code/engine/testes/test_aplicador_de_plano_de_edicao.py
- code/engine/testes/test_escrita_no_editor.py
- code/plugins/premiere-pro/skills/editar-por-voz/criterios/01-leitura-do-json.md
- code/plugins/premiere-pro/skills/editar-por-voz/criterios/05-zoom.md
- code/engine/listar_planos_de_edicao.py
- code/engine/testes/test_configuracao_visual_do_scanner.py
executar_scanner.py: nos dois pontos que processavam clipe-a-clipe (análise
visual e transcrição), o except genérico escondia bugs de programação junto
com falhas esperadas de mídia/dependência — foi assim que o bug do soundfile
ausente passou despercebido até um teste manual. Agora captura só
(OSError, RuntimeError, ValueError, json.JSONDecodeError) na visual e
(ImportError, OSError, RuntimeError, ValueError) na transcrição; erros de
programação propagam e aparecem de verdade.
executar_retakes.py e gerar_relatorio_de_analises.py: o except Exception no
main() é uma fronteira de processo legítima (traduz qualquer falha em JSON
pra tela), mantido, mas agora imprime o traceback completo no stderr antes
de reportar — hoje esse traceback se perdia, sobrando só str(erro).
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
- corrigido o carregamento do extrator de áudio no complemento de identificação de locutores do Scanner.
- corrigida a descoberta da timeline ativa no painel CEP com fallback compatível entre versões do Premiere
Resumo:
- 5 arquivos alterados
- 0 novos
- 3 modificados
- 2 removidos
5 files changed, 23 insertions(+), 2 deletions(-)
Arquivos:
- .jhonny/analises.db-shm
- .jhonny/analises.db-wal
- code/cep-plugin/main.js
- code/engine/executar_scanner.py
- code/engine/testes/test_executar_scanner.py
- removido o tamanho do modelo do seletor da tela Editar vídeo
- acelerada a transcrição do Scanner com inferência Whisper em lote e cache de hashes
- garantido um resultado separado para cada clipe de áudio selecionado no Scanner
- adicionado cancelamento do processamento do Scanner pela barra de progresso
- exibido estado visual próprio para Scanner cancelado na barra de progresso
- criado modo explícito de análise do Scanner para separar som, imagem ou ambos
- adicionadas métricas opcionais de fala ao Scanner com análise acústica na engine
- corrigido o progresso da transcrição do Scanner durante o processamento do Whisper
- refatorado o runner Swift do Apple Vision para executar requests em lote com retry CPU-only, corrigindo falhas de CVPixelBuffer/ANE/OCR
- documentado o fluxo de edição de vídeo por voz integrado ao Scanner, banco e engine
- formalizado o protocolo de edição por chat com perfil editorial e consultas progressivas
- gerado plano JSON de corte para depoimento vertical da Erika no Instagram
- esquematizado o fluxo de colar e executar planos da IA pela engine após o Scanner
- ajustado o plano para manter somente as três etapas existentes da tela de edição
- adicionado processamento incremental de locutores e métricas no Scanner com confirmação de reprocessamento
- implementado o plano JSON colado na tela e a persistência idempotente das análises do Scanner
Resumo:
- 8 arquivos alterados
- 1 novos
- 7 modificados
- 0 removidos
7 files changed, 437 insertions(+), 55 deletions(-)
Arquivos:
- code/cep-plugin/index.html
- code/cep-plugin/main.js
- code/cep-plugin/styles.css
- code/engine/executar_scanner.py
- code/engine/persistencia/repositorio_de_analises_sqlite.py
- code/engine/testes/test_persistencia_sqlite.py
- docs/PLANO-EDICAO-DE-VIDEO-POR-VOZ.md
- code/relatorios/plano-edicao-depoimento-erika-instagram.json
- adicionadas métricas opcionais de fala ao Scanner com análise acústica na engine
- corrigido o progresso da transcrição do Scanner durante o processamento do Whisper
- refatorado o runner Swift do Apple Vision para executar requests em lote com retry CPU-only, corrigindo falhas de CVPixelBuffer/ANE/OCR
- documentado o fluxo de edição de vídeo por voz integrado ao Scanner, banco e engine
- formalizado o protocolo de edição por chat com perfil editorial e consultas progressivas
Resumo:
- 10 arquivos alterados
- 5 novos
- 5 modificados
- 0 removidos
5 files changed, 367 insertions(+), 95 deletions(-)
Arquivos:
- .jhonny/analises.db
- code/engine/executar_scanner.py
- code/engine/integracoes/visual/apple_vision_runner.swift
- code/engine/integracoes/whisper/provider_de_transcricao_local.py
- code/engine/testes/test_provider_de_transcricao_local.py
- .jhonny/analises.db-shm
- .jhonny/analises.db-wal
- apple_vision_runner
- code/relatorios/teste-enquadramento-20s.json
- docs/