feat: removido o tamanho do modelo do seletor da tela Editar vídeo

- 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
- reorganizada a tela Scanner em blocos separados de imagem e som

Resumo:
- 7 arquivos alterados
- 1 novos
- 6 modificados
- 0 removidos

 6 files changed, 92 insertions(+), 40 deletions(-)

Arquivos:
  - .jhonny/analises.db
  - code/cep-plugin/index.html
  - code/cep-plugin/main.js
  - code/cep-plugin/styles.css
  - code/engine/integracoes/whisper/provider_de_transcricao_local.py
  - code/engine/scanner/transcricao_da_timeline.py
  - code/engine/testes/test_provider_de_transcricao_local.py
This commit is contained in:
João Henrique
2026-09-09 16:57:29 -04:00
parent 245dcd8015
commit 53a8307f38
7 changed files with 154 additions and 40 deletions
+11 -1
View File
@@ -156,6 +156,12 @@ h1, h2, h3 { margin: 0; }
.scanner-track-list .checkbox-field { margin: 2px 0; padding: 5px; border: 0; background: none; }
.scanner-options-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; align-items: start; }
.scanner-options-grid .card { margin: 0 0 10px; }
.scanner-media-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; align-items: start; }
.scanner-media-card { margin: 0 0 10px; }
.scanner-media-card h3 { margin: 0; font-size: 12px; }
.scanner-subsection { margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--border); }
.scanner-subsection .card-head { margin-bottom: 7px; }
.scanner-execution-card { margin-top: 0; }
/* --------------------- Painel de progresso (task dock) ------------------- */
.task-dock {
@@ -178,6 +184,9 @@ h1, h2, h3 { margin: 0; }
.task-elapsed { flex: 0 0 auto; color: var(--text-muted); font: 10px var(--font-mono); }
.task-copy { flex: 0 0 auto; padding: 2px 5px; border: 1px solid var(--border); border-radius: 4px; background: transparent; color: var(--text-secondary); cursor: pointer; font-size: 12px; line-height: 1; }
.task-copy:hover { border-color: var(--red); color: var(--text); }
.task-cancel { flex: 0 0 auto; padding: 3px 8px; border: 1px solid rgba(255, 101, 101, .55); border-radius: 5px; background: transparent; color: #ffb0b0; cursor: pointer; font-size: 10px; }
.task-cancel:hover { border-color: var(--red); background: rgba(255, 101, 101, .12); color: var(--text); }
.task-cancel:disabled { cursor: wait; opacity: .65; }
.task-spinner {
width: 12px;
@@ -191,6 +200,7 @@ h1, h2, h3 { margin: 0; }
.task-dock[data-result] .task-spinner { animation: none; border: none; }
.task-dock[data-result="ok"] .task-spinner::before { content: "✓"; color: var(--green); font-size: 12px; font-weight: 700; }
.task-dock[data-result="err"] .task-spinner::before { content: "!"; color: var(--red); font-size: 12px; font-weight: 700; }
.task-dock[data-result="cancelled"] .task-spinner::before { content: "×"; color: var(--text-muted); font-size: 14px; font-weight: 700; }
@keyframes spin { to { transform: rotate(360deg); } }
.progress-track {
@@ -647,7 +657,7 @@ button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-
.tab-button { font-size: 0; gap: 0; padding: 10px 2px; }
.tab-icon { font-size: 14px; }
.field-grid { grid-template-columns: minmax(0, 1fr); }
.scanner-track-grid, .scanner-options-grid { grid-template-columns: minmax(0, 1fr); }
.scanner-track-grid, .scanner-options-grid, .scanner-media-grid { grid-template-columns: minmax(0, 1fr); }
.status-panel { grid-template-columns: 38px minmax(0, 1fr); }
.command-stat { grid-column: 2; padding: 8px 0 0; text-align: left; }
.command-stat strong, .command-stat span { display: inline; }