# ClipGen Pro — Kanban Migração C#

**Atualizado:** 2026-07-18T07:15:16Z

Dashboard online editável: https://kamban.decioalmeida.com.br/

## Resumo

| Coluna | Cards |
|---|---:|
| Pendente | 0 |
| Em execução | 0 |
| Concluído | 29 |
| A validar no Windows | 1 |
| Futuro / Planejado | 6 |
| Arquivo técnico | 27 |

## Pendente

Próximos itens reais a fazer. Mantém prioridade alta visível sem poluir execução.

_Nenhum card._

## Em execução

Somente o foco atual/imediato. Idealmente 1 a 3 cards no máximo.

_Nenhum card._

## Concluído

Implementado e verificado com build, teste ou artefato real.

### 1. NOW-003 — Decidir WPF ou Avalonia

- **O que foi feito / Como foi feito:** Decisão tomada com o usuário: continuar com Avalonia, não migrar para WPF agora. Motivo: Avalonia já está implementada, compila em .NET 8, permite testar a interface no servidor Linux via xvfb-run e ainda gera pacote Windows x64. WPF é bom para app 100% Windows, mas aumentaria dependência do PC do usuário para validar cada mudança e atrasaria a migração. A decisão preserva velocidade de entrega e validação real do ClipGen Pro.
- **Prioridade:** alta
- **Status:** completed_decision
- **Artefato:** `decisão técnica: manter Avalonia no ClipGen Pro C#`

### 2. CLIPS-003 — Presets de duração do corte

- **O que foi feito / Como foi feito:** Migrada para o C# a opção do sistema antigo onde o usuário escolhia durações fixas de corte. Foi adicionada a área Duração rápida na Fila manual de clips, com botões 10s, 15s, 30s, 60s, 90s, 120s e 240s. Ao clicar, o campo Duração é preenchido automaticamente; se existir clip selecionado, a timeline também é ajustada para permitir Aplicar agora. Validado com dotnet build, abertura da UI via xvfb-run e geração do pacote Windows v17 com manual atualizado.
- **Prioridade:** alta
- **Status:** completed_verified_v17
- **Artefato:** `/root/ClipGenPro_CSharp/src/ClipGenPro.App/MainWindow.axaml | /root/ClipGenPro_CSharp/dist/ClipGenPro_CSharp_Windows_Test_Com_FFmpeg_v17.zip`

### 3. DOC-002 — Manual ilustrado com imagens

- **O que foi feito / Como foi feito:** Manual ilustrado criado automaticamente. Foram geradas 5 imagens PNG explicativas em docs/assets/manual: fluxo geral, mapa da tela, timeline magnética, safe-blur com legenda e Local Bridge/QR. As imagens foram referenciadas no MANUAL_USUARIO.md, validadas por existência no filesystem e incluídas no pacote Windows v16 junto com README atualizado. O ZIP foi conferido com unzip -l para garantir MANUAL_USUARIO.md e assets/manual/*.png.
- **Prioridade:** alta
- **Status:** completed_verified_v16
- **Artefato:** `/root/ClipGenPro_CSharp/docs/MANUAL_USUARIO.md | /root/ClipGenPro_CSharp/docs/assets/manual | /root/ClipGenPro_CSharp/dist/ClipGenPro_CSharp_Windows_Test_Com_FFmpeg_v16.zip`

### 4. DOC-001 — Manual do usuário

- **O que foi feito / Como foi feito:** Criado manual completo do usuário em português para o ClipGen Pro. O documento cobre abertura do aplicativo no Windows, primeiro uso, seleção de vídeo, fila manual de clips, score viral explicável, timeline magnética, formato vertical 9:16 safe-blur, legenda queimada, pasta de saída, Local Bridge/QR para celular, GPU/drivers/fallback CPU, exportação em lote, problemas comuns, limitações atuais e fluxo recomendado de produção de Shorts. O manual foi salvo em docs/MANUAL_USUARIO.md, validado por presença das seções principais e incluído no pacote Windows v15 junto com README_TESTE_WINDOWS.md atualizado.
- **Prioridade:** alta
- **Status:** completed_verified_v15
- **Artefato:** `/root/ClipGenPro_CSharp/docs/MANUAL_USUARIO.md | /root/ClipGenPro_CSharp/dist/ClipGenPro_CSharp_Windows_Test_Com_FFmpeg_v15.zip`

### 5. NOW-002 — Decidir nome público

- **O que foi feito / Como foi feito:** Decidido e consolidado o nome público do produto como ClipGen Pro, com subtítulo “OpusClip local, barato e em português”. A decisão mantém consistência com a UI, os pacotes Windows e o posicionamento BR/local/BYOK: ferramenta para transformar vídeos longos em Shorts/Reels/TikToks sem mensalidade alta e sem depender de nuvem para acervo sensível.
- **Prioridade:** media
- **Status:** completed_decision
- **Artefato:** `/root/ClipGenPro_CSharp/docs/STATUS_TECNICO.md`

### 6. CSHARP-008 — Legenda queimada no vídeo

- **O que foi feito / Como foi feito:** Implementada legenda queimada no vídeo: VideoCutRequest recebeu SubtitlePath opcional; FfmpegCutService combina o filtro vertical safe-blur com o filtro FFmpeg subtitles e estilo legível para Shorts; ClipQueueExportRequest passa legenda para todos os clips; CLI aceita .srt opcional no corte simples e no queue-demo; UI ganhou selecionar/limpar legenda para .srt/.ass/.ssa/.vtt. Validado com SRT de teste, corte simples com legenda, queue-demo exportando 3 clips com 0 falhas, ffprobe confirmando 1080x1920, dotnet build sem erros e app abrindo via xvfb-run. Pacote Windows v14 gerado.
- **Prioridade:** alta
- **Status:** completed_verified_v14
- **Artefato:** `/root/ClipGenPro_CSharp/dist/ClipGenPro_CSharp_Windows_Test_Com_FFmpeg_v14.zip`

### 7. CSHARP-010 — QR Code para celular / Local Bridge

- **O que foi feito / Como foi feito:** Implementado Local Bridge para celular: servidor HTTP local em LocalBridgeService, URL LAN automática, página móvel para upload direto do vídeo do celular, rota POST /upload salvando arquivos na pasta MobileUploads, QR Code gerado localmente com QRCoder e painel na UI com Iniciar bridge, Parar e Abrir pasta recebida. Validado com programa temporário fazendo GET da página, POST de arquivo de teste, confirmação do arquivo salvo com 16 bytes, dotnet build sem erros e abertura do app via xvfb-run. Pacote Windows v13 gerado com FFmpeg embutido.
- **Prioridade:** alta
- **Status:** completed_verified_v13
- **Artefato:** `/root/ClipGenPro_CSharp/dist/ClipGenPro_CSharp_Windows_Test_Com_FFmpeg_v13.zip`

### 8. DRIVER-001 — Perfil de drivers NVIDIA/AMD/Intel

- **O que foi feito / Como foi feito:** Implementado perfil de drivers AMD/NVIDIA/Intel/CPU em DriverProfileService, integrado na UI e no comando CLI drivers. O diagnóstico agora explica em português quando usar AMD AMF, NVIDIA NVENC, Intel Quick Sync ou fallback CPU/libx264, inclui links oficiais de drivers e orientação específica para RX 580/AMD Adrenalin. O batch DIAGNOSTICO_GPU_FFMPEG_LOCAL.bat também foi atualizado. Validado com dotnet build sem erros, app abrindo via xvfb-run, comando drivers funcionando e exportação real de 3 clips 1080x1920 a partir do vídeo grande de 2,28 GB. Pacote Windows v12 gerado com FFmpeg embutido.
- **Prioridade:** alta
- **Status:** completed_verified_v12
- **Artefato:** `/root/ClipGenPro_CSharp/dist/ClipGenPro_CSharp_Windows_Test_Com_FFmpeg_v12.zip`

### 9. CSHARP-001 — Criar projeto C# separado

- **O que foi feito / Como foi feito:** Criado projeto C# separado em /root/ClipGenPro_CSharp para preservar o legado Node/Electron apenas como referência. A solução foi inicializada em .NET 8 e validada com build local.
- **Prioridade:** alta
- **Status:** done
- **Artefato:** `/root/ClipGenPro_CSharp`

### 10. CSHARP-002 — Estrutura modular C#

- **O que foi feito / Como foi feito:** Organizada a solução modular ClipGenPro.sln com projetos Core, Hardware, Video, Cli e App. A estrutura separa localização de ferramentas, diagnóstico de hardware, processamento FFmpeg, interface e comandos CLI. Validado com dotnet build.
- **Prioridade:** alta
- **Status:** done
- **Artefato:** `/root/ClipGenPro_CSharp/ClipGenPro.sln`

### 11. CSHARP-003 — Abrir vídeo local

- **O que foi feito / Como foi feito:** Implementada abertura de vídeo local na interface Avalonia, com seleção de arquivo e leitura de metadados por ffprobe. A tela passou a mostrar duração, resolução, FPS, codec de vídeo e áudio. Validado abrindo a UI em ambiente Linux headless com xvfb-run.
- **Prioridade:** alta
- **Status:** partial_ui_working_verified
- **Artefato:** `/root/ClipGenPro_CSharp/src/ClipGenPro.App/MainWindow.axaml`

### 12. CSHARP-004 — Exportar cortes simples com FFmpeg

- **O que foi feito / Como foi feito:** Implementado corte simples via FFmpeg no serviço FfmpegCutService, com geração real de MP4 a partir de trecho selecionado. O fluxo foi validado exportando arquivo de saída real, incluindo teste vertical em output/clip-vertical-916.mp4.
- **Prioridade:** alta
- **Status:** working_vertical_verified
- **Artefato:** `/root/ClipGenPro_CSharp/output/clip-vertical-916.mp4`

### 13. UI-001 — Primeira interface real C#

- **O que foi feito / Como foi feito:** Criada primeira interface real do ClipGen Pro em Avalonia, com seleção de vídeo, painel de metadados, diagnóstico GPU/driver, presets e botão de exportação. Validado com dotnet build e abertura da janela via xvfb-run sem crash.
- **Prioridade:** alta
- **Status:** working_verified
- **Artefato:** `/root/ClipGenPro_CSharp/src/ClipGenPro.App`

### 14. WIN-001 — Build Windows de teste

- **O que foi feito / Como foi feito:** Gerado pacote Windows x64 self-contained de teste, incluindo builds sucessivos até v6 com editor manual de fila. O pacote foi publicado via dotnet publish e compactado em ZIP para envio/teste no Windows.
- **Prioridade:** alta
- **Status:** done_v6
- **Artefato:** `/root/ClipGenPro_CSharp/dist/ClipGenPro_CSharp_Windows_Test_Com_FFmpeg_v6.zip`

### 15. EXPORT-001 — Presets de exportação rápido/qualidade/compatibilidade

- **O que foi feito / Como foi feito:** Criado ExportPreset.cs com presets rápido, qualidade e compatibilidade. Os presets traduzem parâmetros seguros para encoders GPU/CPU, incluindo fallback estável para libx264, yuv420p e faststart. Validado em build e exportações reais.
- **Prioridade:** alta
- **Status:** done_verified
- **Artefato:** `/root/ClipGenPro_CSharp/src/ClipGenPro.Video/ExportPreset.cs`

### 16. VERTICAL-001 — Exportação vertical 9:16 1080x1920

- **O que foi feito / Como foi feito:** Implementada exportação vertical 9:16 em 1080x1920, com filtro FFmpeg de escala/crop e SAR correto. Validado com ffprobe confirmando saída 1080x1920 no arquivo output/clip-vertical-916.mp4.
- **Prioridade:** alta
- **Status:** done_verified
- **Artefato:** `/root/ClipGenPro_CSharp/output/clip-vertical-916.mp4`

### 17. CLIPS-001 — Fila/lista de clips múltiplos

- **O que foi feito / Como foi feito:** Criado motor de fila de múltiplos clips com ClipJob e ClipQueueService. A fila processa clips sequenciais, mantém status Pending/Exporting/Completed/Failed e aplica fallback por clip. Validado no comando queue-demo com 3 arquivos exportados.
- **Prioridade:** alta
- **Status:** done_verified
- **Artefato:** `/root/ClipGenPro_CSharp/output/queue-demo`

### 18. CLIPS-002 — Editor manual da fila: adicionar/remover/editar início e duração

- **O que foi feito / Como foi feito:** Interface com campos para título, início e duração; adicionar, remover último, limpar fila e exportar fila atual.
- **Prioridade:** alta
- **Status:** done_verified
- **Artefato:** `/root/ClipGenPro_CSharp/src/ClipGenPro.App/MainWindow.axaml.cs`

### 19. TIMELINE-001 — Timeline magnética real para ajustar cortes visualmente

- **O que foi feito / Como foi feito:** Substituir mock de timeline por controle funcional para ajustar início/fim dos clips antes da exportação.
- **Prioridade:** alta
- **Status:** completed_verified
- **Artefato:** `/root/ClipGenPro_CSharp/dist/ClipGenPro_CSharp_Windows_Test_Com_FFmpeg_v7.zip`

### 20. CSHARP-005 — Camada AMD/Intel/NVIDIA/CPU

- **O que foi feito / Como foi feito:** Implementada camada inicial de detecção AMD/Intel/NVIDIA/CPU em FfmpegHardwareDetector. O app lista h264_nvenc, h264_amf, h264_qsv e libx264, testa cada encoder com render sintético real e escolhe apenas encoder utilizável. Validado no servidor: GPU falha e CPU/libx264 funciona.
- **Prioridade:** alta
- **Status:** partial_working_verified
- **Artefato:** `/root/ClipGenPro_CSharp/src/ClipGenPro.Hardware/FfmpegHardwareDetector.cs`

### 21. DESIGN-001 — Mockup da tela principal

- **O que foi feito / Como foi feito:** Criado mockup HTML da tela principal em docs/DESIGN_TELA_PRINCIPAL.html para orientar a UI do produto. O design definiu navegação, área de vídeo, fila/timeline, painel de GPU/driver e identidade visual escura do ClipGen Pro.
- **Prioridade:** alta
- **Status:** done
- **Artefato:** `/root/ClipGenPro_CSharp/docs/DESIGN_TELA_PRINCIPAL.html`

### 22. GPU-UI-001 — Diagnóstico GPU/driver dentro do app

- **O que foi feito / Como foi feito:** Integrado diagnóstico GPU/driver dentro da interface Avalonia. A UI mostra encoder escolhido, status de encoders detectados/testados e mensagem amigável quando GPU falha e o app cai para CPU. Validado com build e abertura da interface.
- **Prioridade:** alta
- **Status:** done_verified
- **Artefato:** `/root/ClipGenPro_CSharp/src/ClipGenPro.App/MainWindow.axaml.cs`

### 23. NOW-001 — Criar inventário de migração

- **O que foi feito / Como foi feito:** Criado inventário de migração em /root/MIGRACAO_CSHARP_INVENTARIO.md, mapeando regras e módulos do legado para a nova arquitetura C#. O inventário orienta o que preservar, migrar e testar antes de abandonar o Electron.
- **Prioridade:** alta
- **Status:** done
- **Artefato:** `/root/MIGRACAO_CSHARP_INVENTARIO.md`

### 24. TOOLS-001 — Localizador FFmpeg local antes do PATH

- **O que foi feito / Como foi feito:** Criado FfmpegToolLocator no Core para localizar ffmpeg/ffprobe embutidos no pacote antes de depender do PATH global. Isso permite distribuir o app Windows com FFmpeg local em tools/ffmpeg/bin. Validado com pacote que usa binários locais.
- **Prioridade:** alta
- **Status:** done_verified
- **Artefato:** `/root/ClipGenPro_CSharp/src/ClipGenPro.Core/FfmpegToolLocator.cs`

### 25. REFRAME-001 — Reframe inteligente básico

- **O que foi feito / Como foi feito:** Detectar/centralizar área principal no vertical 9:16 para reduzir cortes ruins em vídeos horizontais.
- **Prioridade:** alta
- **Status:** completed_verified
- **Artefato:** `/root/ClipGenPro_CSharp/dist/ClipGenPro_CSharp_Windows_Test_Com_FFmpeg_v8.zip`

### 26. USER-001 — Criar aabridor de pasta para salvamento de de clips criardos

- **O que foi feito / Como foi feito:** criar botoes sendo eles: Botão de abrir local para salvar arquivo, botão para escolher pasta, e botão de fecjhar
- **Prioridade:** alta
- **Status:** completed_verified
- **Artefato:** `/root/ClipGenPro_CSharp/dist/ClipGenPro_CSharp_Windows_Test_Com_FFmpeg_v9.zip`

### 27. EXPORT-002 — Tela de pasta de saída e abrir pasta gerada

- **O que foi feito / Como foi feito:** Permitir escolher pasta de saída e abrir a pasta ao terminar exportação.
- **Prioridade:** média
- **Status:** completed_verified
- **Artefato:** `/root/ClipGenPro_CSharp/dist/ClipGenPro_CSharp_Windows_Test_Com_FFmpeg_v9.zip`

### 28. CSHARP-009 — Timeline magnética

- **O que foi feito / Como foi feito:** Implementada timeline magnética na UI: sliders reais de início e duração, seleção de clips da fila, aplicação no clip selecionado e botões de ajuste fino -5s, -1s, +1s, +5s, duração -1s/+1s. Validado com dotnet build, xvfb-run e pacote v10.
- **Prioridade:** alta
- **Status:** completed_verified_v10
- **Artefato:** `/root/ClipGenPro_CSharp/dist/ClipGenPro_CSharp_Windows_Test_Com_FFmpeg_v10.zip`

### 29. CSHARP-013 — Score viral explicável

- **O que foi feito / Como foi feito:** Implementado score viral explicável com ViralScoreService. Cada clip recebe pontuação 0–100, rótulo e fatores como duração, gancho, clareza, posição e estrutura. Integrado na UI e CLI/queue-demo. Validado com vídeo real e pacote v11.
- **Prioridade:** media
- **Status:** completed_verified_v11
- **Artefato:** `/root/ClipGenPro_CSharp/dist/ClipGenPro_CSharp_Windows_Test_Com_FFmpeg_v11.zip`

## A validar no Windows

Depende do PC real do Décio, GPU/driver, Windows ou validação externa.

### 1. QA-001 — Teste no Windows real com AMD RX 580

- **Descrição / Critério:** Validar app, FFmpeg local, h264_amf, exportação vertical e fila manual no PC Windows do Décio.
- **Prioridade:** alta
- **Status:** pending_external_validation
- **Artefato:** `aguarda teste no Windows real`

## Futuro / Planejado

Importante, mas não é o próximo bloco de implementação.

### 1. CSHARP-006 — Configuração de API key do usuário

- **Descrição / Critério:** 
- **Prioridade:** alta
- **Status:** not_implemented
- **Artefato:** `pendente`

### 2. CSHARP-007 — Transcrição e geração de SRT

- **Descrição / Critério:** 
- **Prioridade:** alta
- **Status:** not_implemented
- **Artefato:** `pendente`

### 3. CSHARP-012 — B-roll assistido

- **Descrição / Critério:** 
- **Prioridade:** media
- **Status:** not_implemented
- **Artefato:** `pendente`

### 4. CSHARP-014 — Licenciamento/trial

- **Descrição / Critério:** 
- **Prioridade:** media
- **Status:** not_implemented
- **Artefato:** `pendente`

### 5. CSHARP-011 — Reframe inteligente básico

- **Descrição / Critério:** 
- **Prioridade:** media_alta
- **Status:** not_implemented
- **Artefato:** `pendente`

### 6. LICENSE-001 — Licença/trial local 7 dias

- **Descrição / Critério:** Implementar base simples de trial/licença local antes de distribuição comercial.
- **Prioridade:** alta
- **Status:** Futuro
- **Artefato:** `pendente`

## Arquivo técnico

Histórico técnico granular preservado para consulta, sem atrapalhar a visão principal.

### 1. BUG-001 — App atual abre hoje?

- **Descrição / Critério:** 
- **Prioridade:** alta
- **Status:** uncertain
- **Artefato:** `pendente`

### 2. BUG-002 — Geração de cortes funciona hoje?

- **Descrição / Critério:** 
- **Prioridade:** alta
- **Status:** uncertain
- **Artefato:** `pendente`

### 3. BUG-003 — Legendas funcionam no app atual?

- **Descrição / Critério:** 
- **Prioridade:** alta
- **Status:** uncertain
- **Artefato:** `pendente`

### 4. BUG-005 — AMD/Intel ainda não garantido

- **Descrição / Critério:** 
- **Prioridade:** alta
- **Status:** not_implemented
- **Artefato:** `pendente`

### 5. MIG-001 — Planejamento da migração C#

- **Descrição / Critério:** 
- **Prioridade:** alta
- **Status:** in_migration
- **Artefato:** `/root/.hermes/plans/2026-07-18_030741-clipgenpro-migracao-csharp.md`

### 6. MKT-001 — Tese de viabilidade e lançamento

- **Descrição / Critério:** 
- **Prioridade:** alta
- **Status:** documented
- **Artefato:** `/root/clipgenpro_viabilidade_lancamento_resumo.md`

### 7. NOW-004 — Definir MVP vendável

- **Descrição / Critério:** 
- **Prioridade:** alta
- **Status:** partial
- **Artefato:** `pendente`

### 8. OLD-001 — Projeto Electron atual preservado

- **Descrição / Critério:** 
- **Prioridade:** alta
- **Status:** exists
- **Artefato:** `pendente`

### 9. OLD-002 — Documentação estratégica

- **Descrição / Critério:** 
- **Prioridade:** alta
- **Status:** exists
- **Artefato:** `pendente`

### 10. OLD-003 — Estrutura de app Electron/Node

- **Descrição / Critério:** 
- **Prioridade:** alta
- **Status:** exists
- **Artefato:** `pendente`

### 11. OLD-004 — FFmpeg local

- **Descrição / Critério:** 
- **Prioridade:** alta
- **Status:** exists_needs_test
- **Artefato:** `pendente`

### 12. OLD-006 — Smart Editor / Director

- **Descrição / Critério:** 
- **Prioridade:** alta
- **Status:** partial
- **Artefato:** `pendente`

### 13. OLD-007 — QR Bridge test script

- **Descrição / Critério:** 
- **Prioridade:** alta
- **Status:** exists_needs_test
- **Artefato:** `pendente`

### 14. OLD-009 — Hardware test script

- **Descrição / Critério:** 
- **Prioridade:** alta
- **Status:** exists_needs_test
- **Artefato:** `pendente`

### 15. CSHARP-015 — Landing/checkout beta

- **Descrição / Critério:** 
- **Prioridade:** media
- **Status:** not_implemented
- **Artefato:** `pendente`

### 16. NOW-005 — Separar documentação estratégica

- **Descrição / Critério:** 
- **Prioridade:** media
- **Status:** partial
- **Artefato:** `pendente`

### 17. OLD-005 — Downloader yt-dlp

- **Descrição / Critério:** 
- **Prioridade:** media
- **Status:** exists_needs_test
- **Artefato:** `pendente`

### 18. OLD-008 — B-roll test script

- **Descrição / Critério:** 
- **Prioridade:** media
- **Status:** exists_needs_test
- **Artefato:** `pendente`

### 19. OLD-010 — Backend/licença/Supabase/Stripe

- **Descrição / Critério:** 
- **Prioridade:** media
- **Status:** partial
- **Artefato:** `pendente`

### 20. BUG-006 — saas-hub parece template separado

- **Descrição / Critério:** 
- **Prioridade:** baixa
- **Status:** frozen
- **Artefato:** `pendente`

### 21. BUG-007 — .agent parece material de agente/desenvolvimento

- **Descrição / Critério:** 
- **Prioridade:** baixa
- **Status:** frozen
- **Artefato:** `pendente`

### 22. FUT-001 — macOS

- **Descrição / Critério:** 
- **Prioridade:** baixa
- **Status:** frozen
- **Artefato:** `pendente`

### 23. FUT-002 — iOS app nativo

- **Descrição / Critério:** 
- **Prioridade:** baixa
- **Status:** frozen
- **Artefato:** `pendente`

### 24. FUT-003 — Auto-postagem em redes sociais

- **Descrição / Critério:** 
- **Prioridade:** baixa
- **Status:** frozen
- **Artefato:** `pendente`

### 25. FUT-004 — API pública para terceiros

- **Descrição / Critério:** 
- **Prioridade:** baixa
- **Status:** frozen
- **Artefato:** `pendente`

### 26. FUT-005 — B-roll 100% automático

- **Descrição / Critério:** 
- **Prioridade:** baixa
- **Status:** frozen
- **Artefato:** `pendente`

### 27. BUG-004 — NVENC funciona sem erro?

- **Descrição / Critério:** 
- **Prioridade:** media_alta
- **Status:** uncertain
- **Artefato:** `pendente`
