- definido projeto com uma sequência e múltiplos arquivos de mídia - criada persistência de projeto com uma sequência e seleções de faixas e clipes - criada guia Projeto para selecionar sequência, faixas e clipes do Premiere - adicionada gravação das seleções da guia Projeto no SQLite Resumo: - 10 arquivos alterados - 4 novos - 6 modificados - 0 removidos 6 files changed, 71 insertions(+), 2 deletions(-) Arquivos: - .jhonny/analises.db - CONTEXT.md - code/cep-plugin/index.html - code/cep-plugin/main.js - code/engine/persistencia/__init__.py - code/engine/persistencia/esquema.py - code/cep-plugin/abas/ - code/engine/persistencia/repositorio_de_projetos.py - code/engine/registrar_projeto_de_edicao.py - code/engine/testes/test_repositorio_de_projetos.py
30 lines
2.9 KiB
Markdown
30 lines
2.9 KiB
Markdown
# Contexto do sistema
|
|
|
|
## Vocabulário
|
|
|
|
- **Scanner**: caso de uso que coordena a leitura, análise, decisão, planejamento, aplicação e validação de uma edição.
|
|
- **Sequência**: timeline do Premiere e raiz operacional de um trabalho de edição; no banco é representada pelo vídeo identificado por `video_id` e nomeada pelo campo `sequencia`.
|
|
- **Projeto de edição**: unidade de trabalho que contém exatamente uma sequência, suas escolhas de faixas e clipes, e os planos editoriais associados; uma sequência pode usar vários arquivos de mídia.
|
|
- **Arquivo de mídia**: arquivo físico de vídeo ou áudio usado por um ou mais clipes da sequência; não é sinônimo de projeto nem de sequência.
|
|
- **Edição de vídeo**: versão da configuração editorial concluída para uma sequência; registra tipo, instruções e origem, mas não representa ainda uma aplicação na timeline.
|
|
- **Conteúdo**: unidade analisável identificada por um `content_id`, com texto e metadados.
|
|
- **Análise**: observações estruturadas produzidas a partir do conteúdo.
|
|
- **Decisão**: escolha de ações editoriais baseada na análise e na configuração.
|
|
- **Plano de edição**: sequência ordenada e auditável de operações.
|
|
- **Aplicador**: módulo que executa um plano sobre um conteúdo.
|
|
- **Validador**: módulo que verifica se o resultado satisfaz as invariantes do plano.
|
|
- **Provider de IA**: adaptador opcional que fornece análise ou decisão assistida por modelo.
|
|
- **Transcrição**: segmentos de texto sincronizados com um clipe, produzidos por um provider; não é decisão editorial.
|
|
- **Cena**: intervalo contínuo da timeline com características visuais e/ou textuais semelhantes.
|
|
- **Evento**: observação temporal detectada no áudio, texto ou vídeo; não implica corte.
|
|
|
|
## Decisões atuais
|
|
|
|
- A arquitetura Python ficará isolada em `code/engine` enquanto o sistema existente continuar em TypeScript.
|
|
- O domínio não conhece filesystem, banco de dados, SDK de IA ou plataforma de edição; essas integrações entram por interfaces e adaptadores.
|
|
- O primeiro fluxo é síncrono e determinístico, permitindo evolução posterior para operações assíncronas sem alterar o domínio.
|
|
- A sequência é a unidade de retomada: ao selecioná-la, o sistema deve localizar a edição concluída mais recente, reutilizar suas análises e oferecer o plano pendente para aprovação e aplicação.
|
|
- Cada projeto possui uma única sequência, mas pode reunir vários arquivos de mídia e vários clipes dessa sequência; a seleção do projeto nunca deve misturar timelines diferentes.
|
|
- Uma edição concluída, um plano gerado e uma aplicação realizada são estados distintos e devem permanecer auditáveis; concluir a configuração não significa que o Premiere já foi alterado.
|
|
- O plano deve evoluir para referenciar diretamente a versão de edição que o originou, além do `video_id`, para impedir que uma nova configuração editorial seja aplicada por engano sobre um plano antigo.
|