feat: criado repositório jhonny-editor no Gitea

criado repositório jhonny-editor no Gitea
adicionado script admin/deploy.command com commit automático
atualizado admin/DEV-NOTES.md com template limpo

Resumo:
- 4 arquivos alterados
- 0 novos
- 4 modificados
- 0 removidos

 4 files changed, 101 insertions(+), 4 deletions(-)

Arquivos:
  - code/engine/editor/aplicador_de_plano_de_edicao.py
  - code/engine/editor/escrita/escrita_no_editor.py
  - code/engine/testes/duplos_de_premiere.py
  - code/engine/testes/test_aplicador_de_plano_de_edicao.py
This commit is contained in:
João Henrique
2026-09-10 18:07:16 -04:00
parent 4170b32340
commit e73b094187
4 changed files with 101 additions and 4 deletions
@@ -85,9 +85,16 @@ class EscritaNoEditor:
Usa ``razor_all_tracks`` para garantir que vídeo e áudio sejam
divididos no mesmo ponto de tempo, evitando drift entre chamadas
separadas de ``split_clip``.
Levanta :class:`ErroDeEscritaNoEditor` se o razor reportar uma
falha parcial (algumas faixas cortadas, outras não) — o Premiere
26.x tem um bug QE que faz o razor falhar silenciosamente em
algumas instalações. Uma falha parcial deixa a timeline num estado
inconsistente que corrompe operações subsequentes (remoção, zoom,
marcador), então a operação é recusada inteiramente.
"""
try:
self.cliente_mcp.chamar(
resultado = self.cliente_mcp.chamar(
"razor_all_tracks",
{"time_seconds": instante_da_timeline, "track_type": "both"},
)
@@ -95,6 +102,13 @@ class EscritaNoEditor:
raise ErroDeEscritaNoEditor(
f"Não foi possível cortar todas as faixas em {instante_da_timeline:.3f}s: {erro}"
) from erro
elegiveis = int(resultado.get("eligibleTracks", 0))
cortados = int(resultado.get("razored", 0))
if elegiveis > 0 and cortados < elegiveis:
raise ErroDeEscritaNoEditor(
f"O razor cortou apenas {cortados} de {elegiveis} faixa(s) elegíveis "
f"em {instante_da_timeline:.3f}s (Premiere 26.x QE no-op)"
)
def remover_trecho(self, identificador_do_clipe: str) -> None:
"""Remove o clipe da timeline fechando o espaço que ele ocupava.