ENFEITES SCI-FI / HACKER — ETAPA 02

Instalação:
1. Extraia a pasta Enfeites_SciFi_Hacker_Etapa_02 para a pasta de extensões do Inkscape.
2. Reinicie o Inkscape.
3. Abra em Extensões > Roman > Enfeites Sci-Fi / Hacker — Etapa 02.

Nesta etapa:
- Grade Binária funcional.
- Linhas e colunas configuráveis.
- Controle da quantidade de 1 (%).
- Fonte e tamanho configuráveis.
- Espaçamento horizontal e vertical em mm.
- Cor hexadecimal.
- Botão Randomizar.
- Preview em tempo real.
- Inserção como textos SVG editáveis agrupados.

As demais abas ainda estão reservadas para as próximas etapas.


ETAPA 02.1
- Tamanho padrão da Grade Binária reduzido de 14 px para 10 px.
- Preview revisto para preservar a proporção entre fonte e espaçamentos do SVG.
- A grade só é reduzida globalmente no preview quando necessário para caber na área disponível.


ETAPA 02.2
- Preview da Grade Binária recalculado pela caixa geométrica completa do objeto.
- Fonte e espaçamentos agora recebem exatamente o mesmo fator de escala no preview.
- A proporção interna da grade passa a seguir a mesma relação usada no SVG inserido.


ETAPA 02.3
- Tamanho padrão da fonte da Grade Binária reduzido para 6 px.
- Fonte do preview ampliada visualmente em relação à escala geométrica, para aproximar a aparência do Inkscape.
- Espaçamentos e inserção SVG permanecem inalterados.


ETAPA 02.4
- A janela agora é fechada automaticamente após uma inserção bem-sucedida.
- Em caso de erro, a janela permanece aberta para permitir correções.


ETAPA 03
- Implementada a aba Barras de Equalização.
- Barras verticais ou horizontais.
- Quantidade, largura, espaçamento, altura máxima e altura mínima configuráveis.
- Modo contínuo ou segmentado.
- Tamanho e intervalo dos segmentos configuráveis.
- Cor hexadecimal e Randomizar.
- Preview em tempo real e inserção vetorial SVG.
- A janela fecha automaticamente após inserir.


ETAPA 03.1
- Adicionado botão RGB... na Grade Binária.
- Adicionado botão RGB... nas Barras de Equalização.
- O seletor possui controles R, G e B (0–255), amostra de cor e hexadecimal sincronizado.
- Ao aplicar, o campo hexadecimal da aba é atualizado e o preview acompanha a nova cor.


ETAPA 04
- Implementado o Gráfico de Linhas Hacker.
- Quantidade de pontos, largura, altura e espessura configuráveis.
- Opção de linha suavizada.
- Opção de preenchimento abaixo da linha com controle de opacidade.
- Opção de linha de base.
- Cor hexadecimal + seletor RGB.
- Randomização estável até clicar em Randomizar.
- Preview em tempo real.
- Inserção como caminhos SVG vetoriais editáveis.


ETAPA 04.1
- Corrigido o preenchimento no modo Linha suavizada.
- O preenchimento SVG agora reutiliza exatamente os mesmos segmentos Bézier da linha.
- O preview também usa uma amostragem Catmull-Rom equivalente para o preenchimento.
- Espessura do stroke no preview recalibrada para se aproximar visualmente do Inkscape.


ETAPA 04.2
- Espessura padrão do Gráfico de Linhas Hacker reduzida para 1,5 px.
- Stroke do preview ligeiramente ampliado para melhorar a equivalência visual com o Inkscape.


ETAPA 04.3
- Correção exclusiva do preview do Gráfico de Linhas Hacker.
- No modo suavizado, a linha do preview agora usa exatamente a mesma curva amostrada usada pelo preenchimento.
- A geração SVG no documento não foi alterada.


ETAPA 05
- Implementada a aba Barra de Progresso.
- Formato linear ou circular.
- Percentual configurável.
- Dimensões próprias para os dois formatos.
- Modo contínuo ou segmentado.
- Quantidade de segmentos configurável.
- Percentual textual opcional.
- Cor do progresso e cor de fundo com hexadecimal + seletor RGB.
- Preview em tempo real.
- Inserção como SVG vetorial editável.


ETAPA 05.1
- Corrigido erro "name 'math' is not defined" ao inserir Barra de Progresso circular.
- Adicionado import math.
- Nenhuma outra lógica foi alterada.


ETAPA 05.2
- Tamanho padrão do percentual reduzido de 10 px para 8 px.
- Centralização vertical do texto SVG revisada.
- Removido dominant-baseline=central e adotado dy=0.35em, mais estável no Inkscape.
- Nenhuma outra geometria da Barra de Progresso foi alterada.


ETAPA 05.3
- Corrigida a inserção do texto percentual no modo circular.
- O texto circular agora usa posição Y absoluta baseada no tamanho da fonte.
- Removida a dependência de dy/dominant-baseline nesse modo.
- Opacidade do texto explicitamente definida como 1.


ETAPA 06
- Implementada a aba HUD / Indicadores.
- Tipos: Retícula, Radar e Marcador retangular.
- Tamanho e espessura configuráveis.
- Retícula/Radar: anéis, raios e marcas externas.
- Radar: pontos/blips aleatórios e botão Randomizar.
- Marcador: tamanho dos cantos configurável.
- Ponto central opcional.
- Cor hexadecimal + seletor RGB.
- Preview em tempo real e inserção como SVG vetorial editável.


ETAPA 06.1
- Espessura padrão do HUD reduzida de 1,2 px para 1,0 px.
- Stroke do preview ligeiramente ampliado para melhorar a equivalência visual.
- Adicionada cor independente para os pontos/blips do Radar.
- A cor dos pontos possui campo hexadecimal e seletor RGB próprio.
- Cor padrão dos pontos: verde-ciano claro (#7dff8a).


ETAPA 06.2
- Aumentada novamente a espessura visual dos strokes no preview do HUD.
- Fator de calibração do preview alterado de 1,9 para 2,6.
- Nenhuma alteração na espessura efetivamente inserida no documento.


ETAPA 07
- Implementada a aba Estilo global.
- Paletas rápidas:
  * Ciano Hacker
  * Verde Terminal
  * Âmbar Retro
  * Magenta Cyberpunk
  * Azul Gelo
  * Vermelho Alerta
- A paleta altera as cores principais de todos os geradores.
- Barra de Progresso recebe também uma cor de fundo correspondente.
- Pontos do Radar recebem uma cor secundária correspondente.
- As cores continuam editáveis individualmente depois de aplicar a paleta.
- O tema da interface permanece escuro nesta etapa.


ETAPA 07.1
- Removida do preview da aba Estilo a mensagem "Gerador ainda não implementado".
- A aba Estilo agora deixa a área de preview neutra/vazia.
- Painel esquerdo de controles aumentado na abertura.
- Largura inicial do painel definida em aproximadamente 500 px, mantendo a divisória redimensionável.
- Tema da extensão permanece exclusivamente escuro.


ETAPA 07.2
- Abas reorganizadas em duas linhas, com 3 abas por linha.
- Linha 1: Grade Binária, Equalização, Linha Hacker.
- Linha 2: Progresso, HUD, Estilo.
- Mantida a largura inicial do painel esquerdo em aproximadamente 500 px.
- Substituído apenas o cabeçalho ttk.Notebook por uma barra de abas personalizada.
- Conteúdo, rolagem e geradores permanecem inalterados.


ETAPA 07.3
- Ajuste visual do tema escuro.
- Radiobuttons e Checkbuttons agora usam fundo escuro em todas as abas.
- Área dos indicadores também foi configurada para tons escuros.
- Estado selecionado usa o ciano de destaque da interface.
- Nenhuma lógica dos geradores foi alterada.


ETAPA 07.4
- Ajuste exclusivo da centralização do percentual no Progresso Circular.
- O texto inserido agora consulta sua caixa delimitadora real renderizada pelo Inkscape.
- O centro da caixa do texto é deslocado para coincidir com o centro geométrico do anel.
- O preview não foi alterado, pois já estava correto.
- Mantido fallback para o posicionamento anterior caso a consulta de bbox falhe.


ETAPA 07.5
- Corrigida a centralização geométrica do percentual no Progresso Circular.
- Causa identificada: get_inkscape_bbox() grava o SVG temporário antes de consultar get_id().
- Agora o TextElement recebe/garante seu ID antes da chamada de get_inkscape_bbox().
- A bbox real do texto pode então ser consultada corretamente e centralizada no anel.
- Nenhuma outra lógica foi alterada.


VERSÃO 1.0
- Primeira versão estável da extensão Enfeites Sci-Fi / Hacker.
- Grade Binária.
- Barras de Equalização.
- Gráfico de Linhas Hacker.
- Barra de Progresso linear e circular.
- HUD / Indicadores: Retícula, Radar e Marcador retangular.
- Paletas de Estilo global.
- Seletores RGB e campos hexadecimais.
- Preview em tempo real.
- Inserção como SVG vetorial editável.
- Interface escura com abas organizadas em duas linhas.
- Janela fecha automaticamente após inserção.
- Base final consolidada a partir da Etapa 07.5.


VERSÃO 1.0.1
- Adicionado seletor de fontes baseado nas fontes instaladas no sistema.
- Grade Binária: o campo Fonte agora é uma lista pesquisável/editável.
- Barra de Progresso: novo seletor de fonte para o texto percentual.
- O preview do percentual usa a fonte selecionada.
- O texto SVG inserido, tanto linear quanto circular, usa a fonte selecionada.
- Mantida a possibilidade de digitar manualmente o nome de uma fonte.


VERSÃO 1.0.2
- Grade Binária: limite máximo ampliado para 150 linhas e 150 colunas.
- Máximo de 22.500 dígitos por grade.


VERSÃO 1.1
- Grade Binária: nova seção "Escalas dos dígitos".
- Modos: Sem escalas, Escalas aleatórias e Utilizar imagem para escalas.
- Imagens são convertidas internamente para tons de cinza e redimensionadas para a malha.
- Preto corresponde à escala mínima; branco à máxima; cinzas recebem valores intermediários.
- Controles de escala mínima e máxima.
- O arquivo de imagem serve apenas como mapa de luminosidade; o resultado inserido continua sendo SVG vetorial formado por 0 e 1.
- O preview reproduz as escalas.
- O modo de imagem requer Pillow/PIL no Python usado pelo Inkscape.


REEDIÇÃO — ETAPA 01
- Reedição implementada inicialmente para Grade Binária.
- A extensão reconhece uma Grade Binária criada por esta etapa quando o grupo
  ou um de seus dígitos está selecionado.
- Restaura parâmetros, semente aleatória e caminho da imagem.
- Ao atualizar, preserva ID, parent, posição na pilha e transform externo.
- O centro geométrico local é salvo separadamente para evitar dupla transformação.
- Movimento, escala e rotação aplicados no Inkscape são preservados na atualização.
- Construções antigas, anteriores a esta etapa, continuam utilizáveis, mas não
  possuem metadados para reedição automática.


REEDIÇÃO — ETAPA 02
- Reedição expandida para todos os geradores:
  Grade Binária, Barras de Equalização, Linha Hacker, Barra de Progresso e HUD.
- Selecionar o grupo ou um elemento interno permite restaurar seus parâmetros.
- Atualizações preservam ID, contêiner, ordem na pilha e transformação externa.
- Movimento, escala e rotação feitos no Inkscape são mantidos sem dupla transformação.
- Sementes aleatórias de Grade Binária, Equalização, Linha Hacker e HUD são preservadas.


REEDIÇÃO — ETAPA 03
- Grade Binária: escala mínima padrão alterada para 0,1.
- Seletor de imagem substituído por diálogo próprio, maior (780 x 600) e harmonizado
  com o tema escuro da extensão.
- Campo de pasta, lista de arquivos, campo "Nome do arquivo" e botões seguem a paleta escura.
- Barra de rolagem lateral recebeu indicador em ciano para maior contraste.


REEDIÇÃO — ETAPA 04
- Quando uma construção editável é reconhecida, o botão "Inserir" passa
  automaticamente a exibir "Atualizar".
- Em uma nova construção, o botão continua exibindo "Inserir".


REEDIÇÃO — ETAPA 05
- Grade Binária: nova opção "Inverter luminosidade da imagem".
- Desmarcada: preto usa escala mínima e branco usa escala máxima.
- Marcada: branco usa escala mínima e preto usa escala máxima; tons intermediários
  também são invertidos proporcionalmente.
- A opção atualiza o preview imediatamente e é salva nos metadados para reedição.


REEDIÇÃO — ETAPA 05.1
- Correção de regressão na inserção das abas Progresso e HUD.
- Corrigida referência incorreta ao dicionário de parâmetros durante a preparação
  dos metadados de reedição ("name 'value' is not defined").


GLOW — ETAPA 01
- Nova seção Glow na aba Estilo.
- Controles: Ativar Glow, Cor e Intensidade.
- Glow centralizado, sem deslocamento, preservando o desenho original nítido.
- Disponível para todos os geradores.
- Configurações do glow são salvas e recuperadas na reedição.


GLOW — ETAPA 01.1
- Corrigido erro "string index out of range" ao inserir com Glow.
- As primitivas do filtro SVG agora são criadas com namespace SVG explícito,
  compatível com o inkex do Inkscape 1.4/1.4.4.


GLOW — ETAPA 01.2
- Corrigido erro "'lxml.etree._Element' object has no attribute 'add'".
- As primitivas SVG do filtro são elementos lxml; portanto agora são anexadas
  com append(), enquanto o filtro inkex continua sendo inserido normalmente em defs.


============================================================
VERSÃO 1.1.1 — LANÇAMENTO OFICIAL
============================================================

Principais novidades consolidadas desde a versão 1.1:

REEDIÇÃO
- Reedição para Grade Binária, Equalização, Linha Hacker, Progresso e HUD.
- A extensão reconhece o grupo ou elementos internos da construção selecionada.
- Parâmetros são restaurados automaticamente.
- O botão "Inserir" passa a "Atualizar" durante a reedição.
- Movimento, escala, rotação, contêiner e posição na pilha são preservados.
- Tratamento para evitar dupla transformação.
- Sementes aleatórias são preservadas quando aplicável.

GRADE BINÁRIA
- Limite de até 150 x 150 caracteres.
- Escalas dos dígitos: sem escala, aleatória ou baseada em imagem.
- Imagens coloridas são convertidas internamente para luminância.
- Escala mínima padrão: 0,1.
- Opção para inverter a luminosidade da imagem.
- Seletor de imagem próprio, maior e harmonizado com o tema escuro.
- Caminho e configurações da imagem são preservados na reedição.

INTERFACE
- Seleção de fontes para Grade Binária e Progresso.
- Barra de rolagem lateral com indicador de maior contraste.
- Tema escuro mantido como padrão da extensão.

GLOW
- Glow disponível para todas as construções.
- Controles de ativação, cor e intensidade na aba Estilo.
- Halo centralizado, sem deslocamento, preservando o desenho original nítido.
- Parâmetros do Glow são salvos e recuperados na reedição.
- Filtro SVG compatível com o inkex usado no Inkscape 1.4/1.4.4.

CORREÇÕES
- Correção da inserção de Progresso e HUD após a implementação da reedição.
- Correções de compatibilidade na criação das primitivas SVG do Glow.


CORREÇÃO v1.1.1 — COR DO GLOW
- Corrigido o botão RGB do Glow.
- O Glow agora reutiliza _open_rgb_dialog(), o mesmo diálogo RGB já existente
  e funcional na extensão.
- Removida a chamada inexistente a _choose_color.


AJUSTE v1.1.1 — GLOW E PRESETS
- Ao aplicar um preset da aba Estilo, a cor do Glow agora acompanha automaticamente
  a cor principal da paleta.
- Ciano Hacker, Verde Terminal, Âmbar Retro, Magenta Cyberpunk, Azul Gelo e
  Vermelho Alerta passam a configurar também o Glow.
- A cor ainda pode ser alterada manualmente depois de aplicar o preset.
