fix(voz): sobra de fatia interior no corte, e legenda comum poluindo com clipe desativado
Dois problemas reais vistos no projeto Mastopexia: 1. cut_clip_ranges só absorvia um keep-segment curto no INÍCIO/FIM do clipe (a lógica já existente do #6). Um keep curto no MEIO (entre dois cuts, sem nenhum vizinho mantido pra herdar) nunca era absorvido — sobrava como clipe de vídeo de 0,07-0,23s na timeline. Generalizado pra qualquer posição, com limiar maior (6 frames / 0,3s, medido no material real) — no meio, o pedacinho é descartado (vira parte do corte ao redor), nas bordas continua sendo herdado pelo vizinho. 2. generate_subtitles_by_emphasis gerava a legenda comum inteira e desativava (enabled="0") onde a dinâmica cobre. Título desativado continua aparecendo como clipe riscado na timeline do Final Cut mesmo sem renderizar — um corte com bastante ênfase virava dezenas de clipes mortos poluindo a trilha (visto ao vivo pelo usuário: "ficou uma bosta"). Trocado por não gerar o bloco comum ali, em vez de gerar e desativar. Custo: reativar ênfase manualmente depois exige regenerar a legenda comum daquele trecho, não só reabilitar. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
8257155fd3
commit
2ad5854570
@@ -124,16 +124,18 @@ severidade probable/severe → investigar CADA colisão pela fração exata do
|
||||
XML antes de mudar código (ver checklist abaixo)
|
||||
```
|
||||
|
||||
**`generate_subtitles_by_emphasis`** gera as duas legendas numa passada só —
|
||||
mas não divide as palavras entre elas. A comum é gerada **completa, do início
|
||||
ao fim do clipe**, sempre; a dinâmica é gerada só sobre as frases marcadas
|
||||
como ênfase na etapa 5 (zoom aplicado, nível ≥ 1); e onde a dinâmica cobre um
|
||||
trecho, os títulos comuns daquele trecho recebem `enabled="0"` — continuam no
|
||||
XML (editáveis/reativáveis no Final Cut), só não são desenhados. É a tradução
|
||||
literal de `10-revisao-humana.md` (skill `editar-por-voz`): "a frase de
|
||||
ênfase recebe zoom E legenda dinâmica; as demais recebem legenda comum" —
|
||||
sem nunca deixar um vão sem legenda nenhuma se a ênfase for desativada depois
|
||||
(a comum já estava lá, só desligada). A decisão vem de
|
||||
**`generate_subtitles_by_emphasis`** gera as duas legendas numa passada só,
|
||||
dividindo por palavra: a dinâmica cobre as frases marcadas como ênfase na
|
||||
etapa 5 (zoom aplicado, nível ≥ 1); a comum cobre **todo o resto** — um bloco
|
||||
comum simplesmente não é criado onde a dinâmica já cobre. A primeira versão
|
||||
gerava a comum inteira e desativava (`enabled="0"`) o que ficava sob a
|
||||
dinâmica, mas um título desativado continua aparecendo como clipe riscado na
|
||||
timeline do Final Cut mesmo sem renderizar — um corte com bastante ênfase
|
||||
enchia a trilha de clipes mortos. Trocado por não gerar ali: o preço é que,
|
||||
se a ênfase for desativada à mão depois, a legenda comum daquele trecho
|
||||
precisa ser regenerada, não só reativada. É a tradução de `10-revisao-humana.md`
|
||||
(skill `editar-por-voz`): "a frase de ênfase recebe zoom E legenda dinâmica;
|
||||
as demais recebem legenda comum". A decisão vem de
|
||||
`<mídia>_phrase_actions.json["emphasis_spans"]`, escrito por
|
||||
`save_phrase_review` quando o editor termina a etapa 5 — sem esse arquivo (ou
|
||||
sem `zoom`/`text` marcados na revisão), a tool gera só a comum, tudo ligado,
|
||||
|
||||
Reference in New Issue
Block a user