Azimlib0.3.0 · documentation

Diferenças visuais e comportamentais registradas

Referência de desenvolvimento: Matplotlib 3.11.2/Agg, Python 3.14.4, Windows. Azimlib permanece independente; o renderer cartográfico, Scene, layout e API são próprios. Este registro encerra 3.09, após a conferência 3.08 da janela Tk visível no Windows.

Área Diferença / limite atual Evidência e decisão
Texto raster Agg usa hinting/posições de glifos; Azimlib usa cobertura/supersampling próprios com Pillow Qualidade, fontes e rotação; não se promete identidade dos pixels. Máxima diferença das caixas nas 768 referências de rotação: cerca de 1,43 px a 100 DPI
Traços e clipping Cobertura subpixel, recorte fracionário, caps/joins/dashes podem rasterizar diferentemente Estilos, mapas completos e baselines atuais; larguras públicas continuam em pontos
Hachuras Vocabulário e repetição familiares; formas/espacamento gerados pelo nosso núcleo Científico; comparar o mesmo Scene em Agg não compara o gerador nativo de hachuras
SVG Texto vetorial editável com fontes DejaVu embarcadas; rasterização final depende do viewer Renderers; XML/textos/clip/transform conferidos, sem alegar PNG idêntico em todos os navegadores
Layout Solver próprio por medidas, uma raiz GridSpec e seus filhos; projeção preserva aspecto geográfico Aceite de layout; posições manuais e textos livres continuam responsabilidade do autor
Colorbar no topo A referência Tk/Agg usa posicionamento por baseline no rótulo superior; gap visível pode diferir do labelpad 24 controles/18 gaps físicos; nos casos registrados, Azimlib mantém 8 pt de distância geométrica, referência superior aproximadamente 4,64 pt
Isolinhas Marching squares, decisões em saddles e posicionamento de labels próprios Limites de contornos, edições; sem contourf, triangulação ou toda a política automática de clabel
Componentes cartográficos Escala, norte, rosa e overview são extensões opt-in; não são componentes nativos do pyplot Componentes; norte/rosa independentes, foco preto e escala local esférica
Dados/projeções no corte 0.2.0 Natural Earth generalizado, seis projeções esféricas; transformação 4326/3857 própria Dados, matemática; diferenças de datum/elipsoide/detalhe não são defeitos do renderer
Viewer Tk Renderer/navegação e sete ícones próprios, sem assets/código da referência. Grupos de botões e tooltip imediato à direita seguem Tk; Pan/Zoom são Checkbuttons. Pan altera limites e redesenha ticks durante o arrasto, sem traduzir bitmap/moldura. Hover plano, editor ttk e nomes opcionais preservados Quatro escalas Tk, 60 gestos e integração, verificação visual Windows; decoração Tk não é Qt. Aparência/input observados neste Windows aceitos em 3.08; latência/input Windows encerrados em 4.09; CI desktop nos três sistemas aprovada. Conferência humana nativa Linux/macOS fica posterior, conforme o aceite 0.2.0
Viewer HTML Cena offline sem vínculo com Python; navegação/ornamentos dependem da projeção Navegação, componentes; não se declara equivalência integral ao desktop

O catálogo da galeria separa referências nativas de comparações de raster sobre a mesma cena. Os JSON antigos de desempenho e qualidade preservam os hashes/medições do código que produziram seus resultados; as novas baselines têm relatório próprio. As métricas RGB são diagnósticos, não notas de qualidade perceptual.

Correções de geometria, textos e componentes já auditadas estão nos aceites 1 e 2. Este registro não converte uma verificação oculta em inspeção da janela visível. O passo 3 foi encerrado com observação visual Windows, além dos testes/artefatos; a medição física Windows e a CI nos três sistemas encerraram os passos 4–5. A conferência humana nativa Linux/macOS permanece uma limitação documentada do corte 0.2.0.

A 0.3.0 em desenvolvimento acrescenta duas projeções esféricas, TM/UTM elipsoidais regionais, geodesia e vistas cruzadas. Esse avanço possui matriz numérica e limites próprios; não altera retroativamente as medições visuais da 0.2.0 descritas acima.