CONSTRUTOR DE GRÁFICOS ESTATÍSTICOS — VERSÃO 1.0

Versão estável 1.0.

Principais recursos:
- Gráficos de colunas, barras, linhas, setores, dispersão e histograma.
- Até 4 séries nos tipos compatíveis.
- Linha de tendência linear, equação e coeficiente de correlação na dispersão.
- Proporções 1:1, 16:9, 9:16 e dimensões físicas personalizadas.
- Preview em tempo real com calibração tipográfica específica para Linux e Windows.
- Posicionamento manual de legendas e anotações.
- Edição e atualização posterior do gráfico no Inkscape, preservando sua posição.
- Esquemas de cores para fundos claros e escuros, incluindo Botânico e Ciano Monocromático.
- Fundo opcional e sombra projetada configurável.
- Temas claro e escuro da interface.
- Barras de rolagem e textos de ajuda responsivos nas abas.

Calibração atual do preview:
- Linux/outros: 0,66
- Windows: 0,94


HISTÓRICO DE DESENVOLVIMENTO

CONSTRUTOR DE GRÁFICOS ESTATÍSTICOS — ETAPA 7

Recursos implementados:
- Dados por categoria e valor
- Gráficos de colunas, barras horizontais e linhas
- Escala automática e manual
- Mostrar/ocultar eixos, grade, marcações e numeração
- Título, nomes dos eixos, valores e legenda
- Cores independentes para série/dados, eixos, grade e textos
- Opacidade da série/dados
- Espessura dos eixos
- Espessura da linha do gráfico de linhas
- Preview em tempo real
- Tema claro/escuro da interface
- Inserção em SVG vetorial
- Metadados preservados para futura edição

TESTES SUGERIDOS
1. Alterar cada uma das quatro cores e conferir o preview.
2. Testar opacidade em 100%, 50% e 20%.
3. Alterar a espessura dos eixos.
4. Em Linhas, alterar a espessura da linha.
5. Inserir Colunas, Barras e Linhas e comparar com o preview.
6. Alternar tema Claro/Escuro e confirmar que as cores do gráfico não mudam.

Instalação: copie a pasta da extensão para a pasta de extensões do Inkscape e reinicie o programa.
Menu: Extensões > Roman > Construtor de Gráficos Estatísticos


NOVIDADE DA ETAPA 8
- Novo tipo: Gráfico de setores (pizza).
- Setores SVG vetoriais.
- Paleta automática derivada da cor da série.
- Rótulos: categoria, porcentagem, categoria + porcentagem, valor ou categoria + valor.
- Legenda por categoria.
- Para setores, escala/eixos não são usados.


AJUSTE DE CENTRALIZAÇÃO:
- No gráfico de setores, o círculo agora fica centralizado sob o título.
- Foi adicionada uma moldura SVG transparente para estabilizar o box de seleção.
- Título e gráfico ficam centralizados em relação ao box nominal do gráfico.


AJUSTE DE POSICIONAMENTO DA LEGENDA:
- Sem legenda, o gráfico de setores permanece centralizado.
- Com legenda, o gráfico desloca-se levemente para a esquerda.
- A legenda foi afastada um pouco mais do gráfico.
- O conjunto gráfico + legenda fica visualmente centralizado sob o título.


ETAPA 9 — HISTOGRAMA
- Novo tipo: Histograma.
- A coluna Valor é interpretada como amostra de observações.
- Número de classes automático pela regra de Sturges ou manual (1 a 20).
- Barras encostadas, frequências no eixo Y e limites das classes no eixo X.
- Preview e SVG inserido usam a mesma distribuição de frequências.


ETAPA 10 — GRÁFICO DE DISPERSÃO
- Novo tipo: Dispersão.
- Ao selecionar Dispersão, a primeira coluna representa X e a segunda representa Y.
- X e Y aceitam valores negativos e decimais.
- Escalas automáticas independentes nos dois eixos.
- Escala manual independente para o eixo X; a escala principal controla o eixo Y.
- Pontos vetoriais e opção de exibir coordenadas junto aos pontos.
- Linha de tendência/correlação fica reservada para etapa posterior.


CORREÇÃO ETAPA 10:
- Corrigido conflito entre pack() e grid() na seção de escala X da Dispersão.
- Os campos manuais do eixo X agora ficam dentro de um frame interno próprio.


CORREÇÃO ETAPA 10 — DISPERSÃO:
- Corrigido o bloco da Dispersão que estava dentro de _default_labels().
- Preview da Dispersão reposicionado em _draw_preview().
- Geração SVG da Dispersão reposicionada em _insert_chart().
- Selecionar Dispersão agora atualiza cabeçalhos X/Y, escalas e preview.


CORREÇÃO ETAPA 10 — BARRA INFERIOR:
- A barra com Inserir no documento e Cancelar foi fixada no rodapé.
- O conteúdo das abas não deve mais empurrar os botões para fora da janela.


CORREÇÃO ETAPA 10 — RODAPÉ RESTAURADO:
- Restaurado exatamente o mesmo empacotamento do rodapé usado na Etapa 9.
- Inserir no documento e Cancelar voltam à barra inferior, alinhados à direita.


CORREÇÃO ETAPA 10 — RODAPÉ V5:
- O rodapé agora reserva sua altura antes da área expansível.
- Inserir no documento e Cancelar permanecem visíveis abaixo do preview.


ETAPA 11 — MÚLTIPLAS SÉRIES
- Colunas, Barras e Linhas aceitam de 1 a 4 séries.
- Botões para adicionar/remover séries na aba Dados.
- Nome individual para cada série.
- Colunas e barras agrupadas; linhas múltiplas com pontos.
- Paleta automática derivada da cor principal da série.
- Legenda multissérie e metadados preservados no SVG.
- Setores, Histograma e Dispersão continuam usando uma série nesta etapa.


ETAPA 12 — ANÁLISE DA DISPERSÃO
- Linha de tendência linear por regressão de mínimos quadrados.
- Opção para mostrar a equação y = ax + b.
- Opção para mostrar o coeficiente de correlação de Pearson (r).
- Linha, equação e r aparecem tanto no preview quanto no SVG inserido.
- Controles habilitados somente quando o tipo Dispersão está selecionado.
- Configurações da análise são preservadas nos metadados do gráfico.


CORREÇÃO ETAPA 12 — LINHA DE TENDÊNCIA:
- Corrigido data_line_px não inicializado no preview da Dispersão.
- A linha de tendência agora aparece no preview e no SVG inserido.
- Normalizada a configuração scatter_analysis antes da geração SVG.


CORREÇÃO VISUAL — CHECKBOXES DESATIVADOS:
- No tema escuro, controles desativados mantêm o mesmo fundo escuro da interface.
- O texto desativado usa cinza discreto, sem retângulo claro do tema GTK.
- A correção vale para todos os TCheckbutton da extensão.


ETAPA 12.1 — DIMENSÕES E PROPORÇÃO
- Presets 1:1, 16:9, 9:16, 4:3 e Personalizado.
- Largura e altura em milímetros.
- Opção Manter proporção.
- Preview continua responsivo, mas respeita a proporção escolhida.
- SVG inserido usa exatamente as dimensões definidas.
- Box externo permanece estável independentemente de legenda, título ou tipo de gráfico.
- Dimensões e preset são armazenados nos metadados SVG.


CORREÇÃO ETAPA 12.1 — ROLAGEM NA ABA GRÁFICO:
- A aba Gráfico agora possui barra de rolagem vertical própria.
- A roda do mouse também funciona enquanto o cursor está sobre a aba.
- As outras abas e o preview não foram alterados.


ETAPA 12.2 — POSICIONAMENTO MANUAL DE ANOTAÇÕES
- Nova seção Posicionamento manual na aba Rótulos.
- No gráfico de Dispersão, é possível arrastar no preview: legenda, equação, coeficiente r e rótulos individuais dos pontos.
- As posições são armazenadas de forma relativa ao box do gráfico.
- O SVG inserido respeita as posições definidas no preview.
- Botão Restaurar posições retorna todos os elementos ao posicionamento automático.


CORREÇÃO — ROLAGEM DA ABA RÓTULOS:
- A estrutura de rolagem agora é criada dentro de _build_labels_tab(), após self.tab_labels existir.
- Corrigido AttributeError: tab_labels.
- Mantida barra vertical e rolagem pela roda do mouse.


ETAPA 12.3 — ESCALA FIEL DO PREVIEW:
- O preview é renderizado em escala física virtual baseada nas dimensões em mm.
- Ao caber na área disponível, geometria, textos e espessuras são escalados juntos.
- Arrastar a divisória agora funciona como zoom do preview, sem alterar a composição visual.
- O objetivo é aproximar ao máximo a aparência do preview do SVG inserido.


AJUSTE TIPOGRÁFICO DO PREVIEW:
- Fontes do preview agora usam tamanho em pixels explícitos.
- Isso evita a segunda escala aplicada pelo Linux/GTK aos tamanhos em pontos.
- Foi aplicada calibração para aproximar os tamanhos físicos usados no SVG.
- Cache local reduz o custo de recriar configurações de fonte repetidas.


AJUSTE FINO — PREVIEW E ANOTAÇÕES:
- Calibração tipográfica do preview reduzida de 0,88 para 0,80.
- Textos arrastáveis agora salvam o ponto de ancoragem real do Canvas.
- Equação e coeficiente r usam alinhamento vertical central no SVG.
- Isso melhora a fidelidade de alinhamentos feitos manualmente no preview.


CORREÇÃO DE ÂNCORAS — MODO ANOTAÇÃO:
- Equação, coeficiente r e rótulos de pontos usam text-anchor=middle quando posicionados manualmente.
- O atributo text-anchor também é gravado diretamente no elemento SVG para evitar herança inesperada no Inkscape.
- O modo automático continua usando os alinhamentos anteriores.


CALIBRAÇÃO FINAL DA ETAPA 12.3:
- Tipografia do preview reduzida de 0,80 para 0,76.
- Equação e coeficiente r passam a compartilhar a borda direita como âncora horizontal.
- O preview salva a borda direita desses textos e o SVG usa text-anchor=end.
- Isso elimina diferenças causadas pelo comprimento diferente da equação e do coeficiente.


ÂNCORA CONFIGURÁVEL DAS ANOTAÇÕES:
- Nova opção Início / Centro / Fim para equação da reta e coeficiente r.
- Preview e SVG usam exatamente a mesma âncora horizontal.
- Para alinhar os textos pela esquerda, selecione Início; pela direita, selecione Fim.
- As posições manuais deixam de depender das diferenças de largura entre Tkinter e SVG.


LEGENDA MANUAL EM TODOS OS GRÁFICOS:
- O modo Posicionamento manual agora fica disponível para todos os tipos de gráfico.
- A legenda pode ser arrastada no preview em Colunas, Barras, Linhas, Setores, Histograma e Dispersão.
- Legendas com múltiplas séries são movidas como um único bloco.
- Equação, r e rótulos de pontos continuam exclusivos da Dispersão.
- O SVG inserido preserva a posição manual da legenda.


AJUSTE DE TIPOGRAFIA DO PREVIEW:
- Escala tipográfica reduzida de 0,76 para 0,70.
- A alteração afeta somente a representação no preview.
- Os tamanhos dos textos inseridos no SVG permanecem inalterados.

- Escala tipográfica do preview ajustada de 0,70 para 0,64.


AJUSTE DE FIDELIDADE PREVIEW × SVG:
- Escala tipográfica do preview: 0,66.
- Área útil da Dispersão usa no preview as mesmas margens relativas do SVG.
- Equação e r no modo automático usam as mesmas distâncias físicas do SVG.
- O modo automático usa âncora à direita tanto no preview quanto no SVG.


SINCRONIZAÇÃO GLOBAL DA ÁREA ÚTIL:
- Colunas, Linhas, Histograma e Dispersão: x = 16% a 94%; y = 16% a 80%.
- Barras: x = 20% a 94%; y = 16% a 80%, deixando mais espaço para categorias.
- Os mesmos limites relativos usados no SVG agora são usados no preview.
- Setores mantém layout próprio, pois não usa eixos cartesianos.


PADRONIZAÇÃO DA REFERÊNCIA DA LEGENDA:
- A posição da legenda agora significa sempre a borda esquerda do primeiro swatch + centro vertical.
- Preview automático e SVG usam a mesma referência e as mesmas coordenadas.
- Ativar o posicionamento manual sem arrastar não altera mais a posição da legenda.
- Colunas/Linhas/Histograma/legenda simples: 76% da largura e 8 mm do topo.
- Multisséries: 72% da largura e 8 mm do topo.
- Setores: 75% da largura e 28% da altura.
- Dispersão também foi padronizada para a mesma semântica de referência.


BLOCO DE REGRESSÃO NA DISPERSÃO:
- Equação da reta e coeficiente r ficam sempre alinhados à esquerda.
- Quando ambos estão visíveis, formam um único bloco.
- No modo manual, arrastar qualquer parte do bloco move os dois juntos.
- Removida a opção de selecionar âncora Início/Centro/Fim.
- Preview e SVG usam a mesma posição relativa do bloco.


DISTÂNCIA FÍSICA DOS TÍTULOS DOS EIXOS:
- Eixo X: título posicionado 9 mm abaixo da linha do eixo.
- Eixo Y: título posicionado 9 mm à esquerda da linha do eixo.
- As distâncias deixam de depender da proporção 16:9, 9:16, 4:3 ou 1:1.
- Preview e SVG usam as mesmas distâncias físicas.
- Aplicado a Colunas, Barras, Linhas, Histograma e Dispersão.


MARGENS FÍSICAS DA ÁREA ÚTIL:
- Topo: 16 mm; base: 16 mm; direita: 10 mm.
- Esquerda: 22 mm; em Barras: 26 mm.
- Em 9:16, a área útil se estica verticalmente em vez de parar em 80% da altura.
- Títulos dos eixos continuam com distância física fixa: X 9 mm, Y 9 mm.
- Preview e SVG usam a mesma geometria física.


AJUSTE FINO DO TÍTULO DO EIXO X:
- 'Categoria' foi deslocado de 7 mm para 9 mm abaixo do eixo X.
- A área útil do gráfico não foi alterada.
- 'Valor' permanece com a distância anterior.


ETAPA 12.4 — ESQUEMAS DE CORES:
- Fundo Claro: Padrão, Vintage, Steampunk, Editorial, Pastel e Acadêmico.
- Fundo Escuro: Sci-Fi, Cyberpunk, Neon, HUD / Terminal, Steampunk noturno e Elegante escuro.
- O esquema Padrão preserva a aparência atual da extensão.
- Esquemas escuros mudam automaticamente o fundo do gráfico no preview.
- Opção 'Inserir fundo do gráfico' adiciona o retângulo de fundo ao SVG; desligada, o SVG continua transparente.
- Alterar manualmente uma cor muda o esquema para Personalizado.
- Esquema e fundo são armazenados nos metadados SVG.


CORREÇÃO ETAPA 12.4 — FUNDO DO GRÁFICO:
- Corrigido UnboundLocalError de xmlnum.
- O retângulo de fundo agora é criado depois da definição de xmlnum.


CORREÇÃO DE OPACIDADE NOS ESQUEMAS ESCUROS:
- O preview agora compõe a transparência contra a cor de fundo do esquema atual.
- Em Sci-Fi, Cyberpunk, Neon etc., reduzir a opacidade faz as séries desaparecerem no fundo escuro em vez de ficarem brancas.
- O comportamento dos esquemas claros permanece coerente com seus respectivos fundos.
- O SVG continua usando fill-opacity real e não foi alterado.


CORREÇÃO DO ESQUEMA PADRÃO:
- O preset Fundo Claro — Padrão agora usa #d9d9d9 na grade, exatamente como a extensão ao abrir.
- Selecionar novamente o esquema Padrão não altera mais a aparência inicial.


ETAPA 13 — EDIÇÃO DE GRÁFICOS EXISTENTES:
- Ao abrir a extensão com um gráfico Roman selecionado, seus metadados são recuperados para a interface.
- São recuperados dados, séries, tipo, escalas, exibição, rótulos, estilo, dimensões, esquema de cores, fundo, histograma, dispersão e posições manuais.
- O botão passa a mostrar 'Atualizar gráfico'.
- Ao confirmar, o gráfico selecionado é substituído pelo novo no mesmo local e no mesmo grupo/camada pai.
- Sem gráfico selecionado, a extensão continua criando um gráfico novo normalmente.
- Esta primeira etapa de edição preserva o centro e as dimensões registradas nos metadados; transformações manuais posteriores do Inkscape não são reinterpretadas.


CORREÇÃO ETAPA 13:
- Corrigida chamada _insert_chart para self._insert_chart no método effect().
- Isso elimina NameError ao inserir ou atualizar gráficos.


CORREÇÃO ETAPA 13 — RECUPERAÇÃO DA PROPORÇÃO:
- Largura e altura são restauradas sem disparar os callbacks de edição dos campos.
- O preset de proporção é aplicado por último e permanece 1:1, 16:9, 9:16, 4:3 ou Personalizado conforme salvo.
- Há reconhecimento por dimensões para compatibilidade quando o nome do preset não estiver disponível.
- O preview é redesenhado após toda a configuração ter sido recuperada.


SOMBRA PROJETADA DO FUNDO:
- Disponível somente quando 'Inserir fundo do gráfico' está ativado.
- Mesmas opções da extensão Construtor de Tabelas v1.0: cor, deslocamento X/Y, desfoque, opacidade e expansão.
- Padrões: preto; X=2 mm; Y=2 mm; desfoque=2,5 mm; opacidade=80%; expansão=0 mm.
- Preview usa representação aproximada; SVG usa feGaussianBlur real.
- Todas as opções são persistidas nos metadados e recuperadas na edição do gráfico.


BARRA DE ROLAGEM NA ABA ESTILO:
- A aba Estilo agora possui barra de rolagem vertical.
- Esquemas de cores, fundo, sombra e demais controles permanecem no mesmo painel.
- A roda do mouse funciona sobre a área rolável no Linux e Windows.


QUEBRA DE LINHA DINÂMICA NA ABA ESTILO:
- Os textos de ajuda agora acompanham a largura disponível da aba.
- Ao redimensionar o painel com o mouse, o wraplength é recalculado automaticamente.
- Aplicado ao texto dos esquemas, à ajuda de Cores e traços e ao aviso do tema.


TEXTOS DE AJUDA RESPONSIVOS NAS OUTRAS ABAS:
- Dados, Eixos e Rótulos agora recalculam a quebra de linha conforme a largura disponível.
- Os textos explicativos dentro de caixas também acompanham o redimensionamento.
- A aba Gráfico não possuía textos de ajuda com largura fixa nesta versão.
- A aba Estilo mantém o comportamento responsivo implementado anteriormente.


CORREÇÃO DO TAMANHO INICIAL DO PREVIEW:
- Labels responsivos agora recebem wraplength inicial antes do primeiro cálculo de layout.
- Isso impede o painel esquerdo de requisitar largura excessiva ao abrir a extensão.
- O preview volta a abrir com a proporção de painel anterior.
- Após a abertura, os textos continuam acompanhando o redimensionamento normalmente.


ABA EIXOS E AJUDA DA ABA GRÁFICO:
- A aba Eixos agora possui barra de rolagem vertical e suporte à roda do mouse.
- O conteúdo de Eixos acompanha a largura da área rolável.
- Os textos explicativos da aba Gráfico com largura fixa agora são responsivos.
- Eles preservam uma largura inicial para não comprimir o preview ao abrir.


CORREÇÃO DO HELPER RESPONSIVO:
- _make_responsive_label agora aceita initial_wrap.
- Corrigido TypeError ao abrir a extensão.


CORREÇÕES PONTUAIS DA ABA GRÁFICO:
- Removido o espaço vazio inicial.
- O seletor Tipo de gráfico volta a usar a largura disponível.
- Textos de ajuda passam a acompanhar dinamicamente a largura da aba.
- A barra de rolagem e a estrutura restante foram preservadas.


CORREÇÃO DOS TRÊS TEXTOS DE AJUDA DA ABA GRÁFICO:
- Ajuda do tipo de gráfico agora acompanha a largura de sua caixa.
- Ajuda de dimensões/proporção acompanha a largura de size_box.
- Ajuda do histograma acompanha a largura de hist_box.
- O primeiro texto responsivo já existente foi mantido.


AJUSTE FINO DO INDICADOR DE OPACIDADE:
- O valor agora aparece sem casas decimais e com símbolo de porcentagem, por exemplo 80%.
- O espaço da barra foi ligeiramente reduzido para acomodar até 100% sem corte.
- O indicador acompanha tanto o arraste da barra quanto a recuperação de gráficos existentes.


CORREÇÃO DA LISTA DE ESQUEMAS:
- Fundo Escuro — Ciano Monocromático agora aparece no Combobox da aba Estilo.


AJUSTE FINO — PRESERVAÇÃO DE POSIÇÃO NA EDIÇÃO:
- Ao atualizar um gráfico existente, o centro visual do novo grupo é corrigido para coincidir exatamente com o centro do gráfico original.
- Isso evita pequenos deslocamentos ao alterar apenas cores, traços, fundo ou outros atributos visuais.
- A criação de novos gráficos não foi alterada.


NOVO ESQUEMA DE CORES — FUNDO CLARO — BOTÂNICO:
- Fundo: #F5F3EA.
- Série principal: #4F7D5B.
- Eixos/textos: #30352F.
- Grade: #D5D4C8.
- Tema claro em verde sóbrio, pensado para fugir dos esquemas azuis sem perder legibilidade.


ESCALA TIPOGRÁFICA DO PREVIEW POR SISTEMA:
- Windows: fator 0,82.
- Linux e demais sistemas: fator 0,66.
- Somente o preview é afetado; o SVG inserido no documento não muda.
