# Backlog de Features — Comparador de Notas > Features avaliadas em 03/03/2026. Organizadas por categoria e esforço estimado. ## Média Prioridade ### F-03 — Preview de Colunas Antes da Análise (Isso já existe?) **Problema:** Erros de mapeamento de colunas (índice errado, encoding incorreto) só são descobertos depois da importação, que pode falhar silenciosamente com "0 notas válidas". **Solução:** Na tela de configuração de colunas, exibir uma tabela das primeiras 5 linhas mostrando como os campos serão interpretados, com highlight em células que falhariam o parse. **Escopo técnico:** - Função `pre_visualizar(caminho, layout, n_linhas: usize) -> Vec` - `LinhaPreview`: `{ numero: Result, serie: Result, valor: Result, ... }` - Widget de tabela em `configuracao_colunas.rs` - Atualizar preview ao mudar qualquer campo de configuração (via `changed()`) **Esforço estimado:** Alto (4–6h) **Impacto:** Alto — reduz drasticamente "por que não importou nada?" **Observações:** Verificar se já existe no codigo, pois na tela de configuração do Layout ele exibe as 5 primeiras linhas do arquivo. --- ### F-06 — Auto-detecção de Delimitador CSV (Util) **Problema:** O usuário precisa saber antecipadamente qual delimitador o arquivo usa (`,`, `;`, `\t`). Arquivos gerados por diferentes sistemas variam. **Solução:** Ao selecionar o arquivo CSV, amostrar as primeiras 5 linhas e contar ocorrências de cada delimitador candidato. Sugerir o mais frequente como padrão, mantendo a ComboBox editável. **Escopo técnico:** - Função `detectar_delimitador(primeiras_linhas: &[&str]) -> char` - Chamar na transição para `ConfigurandoColunas` quando `TipoArquivo::Csv` - Pré-selecionar na ComboBox sem impedir mudança manual **Esforço estimado:** Médio (2h) **Impacto:** Baixo-Médio — reduz um passo de configuração na maioria dos casos --- ## Baixa Prioridade ### F-07 — Auto-detecção de Encoding CSV (Util) **Problema:** Arquivos gerados por sistemas legados brasileiros frequentemente usam `windows-1252`, mas o padrão selecionado é `utf-8`. O usuário descobre o problema somente ao ver caracteres estranhos nos dados. **Solução:** Tentar ler as primeiras linhas em `utf-8`; se houver erro de decodificação, sugerir automaticamente `windows-1252` com aviso visual na tela de configuração. **Escopo técnico:** - Função `detectar_encoding(caminho: &Path) -> String` - Usar `encoding_rs` (já dependência) para tentar decode e verificar `had_errors` - Aviso na tela de configuração: "Encoding detectado: windows-1252" **Esforço estimado:** Médio (2h) **Impacto:** Baixo — problema raro, mas confuso quando ocorre --- ### F-09 — Paginação Automática de Faltantes no PDF (Util) **Problema:** PDFs com muitos faltantes (ex: 5.000 números) geram um único bloco de texto muito longo, difícil de ler e imprimir. **Solução:** No `pdf_generator.rs`, ao adicionar a lista de faltantes, agrupar em intervalos contíguos (usando a função `agrupar_contiguos` já implementada) e formatar como `100–104 (5 notas)`. Reduz drasticamente o tamanho do PDF e melhora legibilidade. **Escopo técnico:** - Importar `agrupar_contiguos` em `pdf_generator.rs` - Substituir o `join(", ")` atual pelo formato de intervalos - Sem novas dependências **Esforço estimado:** Baixo (30min) **Impacto:** Baixo-Médio — melhora legibilidade de PDFs com muitos faltantes > **Nota:** Esta feature é especialmente fácil porque a lógica de agrupamento já existe — é só aplicar no PDF. --- ## Resumo | ID | Feature | Esforço | Impacto | Prioridade | Status | |---|---|---|---|---|---| | F-03 | Preview de colunas antes da análise | Alto | Alto | Média | | F-07 | Auto-detecção de delimitador CSV | Médio | Baixo-Médio | Média | | F-08 | Auto-detecção de encoding CSV | Médio | Baixo | Baixa |