Azimlib0.3.0 · documentation

Progresso verificável rumo à 0.2.0

Evidência histórica: resultados CI, tempos e hashes abaixo pertencem aos snapshots originais. A preparação BSD/licenças/privacidade altera arquivos; os checks atuais e a relação de hashes publicados estão em preparação de publicação. Esses resultados não são uma nova execução CI.

Azimlib 0.2.0 pronta no corte documentado. Passos 1–5 encerrados. Publicação 0.2.0 no PyPI concluída; aceite visual Windows e CI nos três sistemas, sem conferência humana nativa Linux/macOS. As 16 frentes são o roteiro geral; não são o contador desta versão.

Checklist completa do corte 0.2.0

Esta é a lista de execução dos 54 subpassos conhecidos deste corte, agrupados pelos cinco critérios. Os IDs são fixos: os próximos lotes devem informar quais IDs avançaram e atualizar esta seção. [x] significa entregue com a evidência indicada; [ ] significa pendente. Um item parcialmente feito permanece aberto. Os cinco itens de aceite também entram no total, mas não são novas funcionalidades.

Fotografia de 2026-10-04: 54 concluídos / 0 pendentes, incluindo os cinco aceites dos passos. A contagem corresponde ao corte encerrado; não é uma estimativa de esforço, prazo ou percentual de compatibilidade com Matplotlib. Uma nova necessidade material deve entrar no registro de mudanças de escopo, com ID e motivo, em vez de mudar silenciosamente o significado de um item.

Passo 1 — Núcleo e edição de Artists 2D

Passo 2 — Layout, textos e componentes

Passo 3 — Fidelidade visual e exportação

Passo 4 — Desempenho e navegação

Passo 5 — Validação, documentação e pacote 0.2.0

Ordem de execução e mudanças de escopo

Corte 0.2.0 encerrado: 54/54. Próximos lotes seguem o roteiro posterior (urbano, 3D/tempo e demais frentes), além da conferência visual nativa Linux/macOS; publicação 0.2.0 no PyPI concluída.

Escopo de plataforma em 2026-10-04: observação visual Windows e CI nos três sistemas. A conferência física Linux/macOS fica documentada fora do aceite 0.2.0; nenhum ID foi criado/removido e testes ocultos não são descritos como input humano.

Esta seção contém todo o trabalho atualmente previsto para este corte, não todo o inventário de crescimento. Urbano (cidades/bairros/ruas/construções), 3D/tempo, Qt, novos formatos, transformações completas, MathText/TeX e demais expansões seguem as 16 frentes após a 0.2.0. Não passam a bloquear esta versão por aparecerem naquele inventário. Nenhum subpasso novo foi acrescentado desde a criação desta checklist; adições terão ID, data e motivo.

Lotes de 2026-10-03: concluídos 1.08–1.12, 2.08–2.10, 3.07–3.10, 4.08–4.10, 5.05 e 5.08–5.09. Campo constante, contornos, catálogo, integração de seis camadas e propriedades/aliases documentados e verificados; passos 1–4 aceitos no escopo. Suíte completa atual: 675 testes / 22.192 subtests, sem falhas. O lote da toolbar/editor acrescentou sete regressões/23 subtests; widgets reais comparados em quatro escalas Tk, 28 checks source/wheel e correções de Pan/Zoom, hover, ícones, Subplots e cursor. A conferência visual Windows está registrada em 3.08. O lote visual/documentação repetiu 117 dos testes anteriores (2.696 subtests), sem falhas; não são testes adicionais à suíte. Todos os 54 itens deste corte estão encerrados. As 16 frentes seguem como inventário de crescimento, sem reabrir ou alterar esse contador. Para auditar IDs, totais e links locais: python tools/check_release_progress.py na raiz do projeto.

Subpassos recentes encerrados

Subpasso Estado Evidência
Validar/normalizar estilos numéricos e fontes antes de editar o conjunto auditado de Artists Concluído no escopo documentado tests/test_artist_validation.py, docs/artist-validation-reference.json
Garantir tracejados próprios estáveis e edições prevalidadas de bordas/escala/ticks Concluído no escopo documentado 12 regressões/52 subtests do lote, suite cumulativa
Integrar sucesso/falha de edições combinadas com Tk e exportação Concluído localmente sete verificações reais Tk source/wheel, exemplo antes/depois PNG/SVG/HTML
Resolver aliases antes dos defaults e rejeitar grafias ambíguas no conjunto auditado Concluído no escopo selecionado 13 pares registrados de Matplotlib, tests/test_style_aliases.py
Combinar componentes opcionais, atlas e colorbar em tamanhos/DPI/orientações diferentes Concluído nos cenários selecionados matriz de 12 combinações + visibilidade, norm, posições e exports em tests/test_composition_components.py
Reusar raster de vistas visitadas no Tk com retenção limitada e pixels preservados Concluído localmente tests/test_raster_cache.py; oito verificações Tk source/wheel
Medir dados municipais reais com equivalência de índice/cenas/PNG e navegação Concluído na base da API descrita 645 municípios/222.324 posições; quatro vistas e seis operações Tk; relatórios real-geojson-benchmark-*
Reduzir cálculos repetidos na cobertura de discos/limites/áreas sem simplificar a geometria Concluído no escopo medido quatro vistas, 16 renders RGBA/PNG idênticos; tests/test_municipal_stroke.py; docs/municipal-raster.md
Ampliar kernels de áreas pequenas preservando a ordem/bits da soma Concluído no escopo auditado tests/test_stroke_kernels.py; onze cenários/44 renders em 100/200 DPI
Corrigir traços totalmente coincidentes sem interferir em marcadores Concluído nos casos selecionados 18 contratos Agg, tests/test_degenerate_strokes.py; PNG/SVG e edições no Tk
Integrar globo/terreno, foco/Home e 200 DPI com raster/exportação estática Concluído localmente 12 verificações source/wheel em tools/smoke_stroke_kernels_tk.py; nono script CI configurado

Esses subpassos não prometem a API integral, parsing completo de cores/fontes, transação entre vários Artists ou comportamento idêntico em todas as plataformas. Limites: auditoria de Artists.

Estado dos cinco critérios

  1. Artists: aceito no catálogo 2D, com integração, auditoria e limites. Expansões da API permanecem no roteiro futuro, sem reabrir o corte por inferência.
  2. Composição: aceita nos cenários e limites: textos, componentes/atlas, 200 DPI, posição manual, toggles/resize/Home source/wheel.
  3. Visual: aceito no corte, com galeria, correções e verificação visual Windows; diferenças de raster/fontes/toolkit registradas, sem equivalência pixel a pixel.
  4. Desempenho: aceito localmente com base original/camadas, input humano, pintura Tk e limites. Pixels preservados, composição de pan novo acelerada e raster opcional próprio compilado; não promete rapidez arbitrária, latência do monitor ou outras plataformas.
  5. Release: CI efetiva aprovada nos três sistemas; aceite visual Windows e limites nativos Linux/macOS explícitos, no escopo de plataforma documentado. Build/instalação/auditoria 0.2.0 concluídos nos artefatos locais; publicação 0.2.0 no PyPI concluída.

Este registro complementa os critérios; não os substitui. Urbano, 3D, Qt e novos formatos ficam depois. Não há percentual/data estimados; novos subpassos só serão encerrados com evidência. Publicação PyPI é separada.

Lote maior de 2026-10-02: entregas, reprodução e limites. Suíte cumulativa atual: 675 testes/22.192 subtests. O lote de consolidação acrescentou 21 regressões/61 subtests e oito verificações Tk source/wheel; o lote seguinte de cobertura municipal acrescentou quatro regressões/1.087 subtests e repetiu os oito scripts Tk no wheel instalado.

O lote de contornos e integração acrescentou oito regressões/5.887 subtests, 18 contratos Agg e 12 novas verificações Tk source/wheel; os oito scripts anteriores passaram novamente no wheel.

A publicação verificada da 0.2.0 registra o commit publicado, a CI, os hashes e a instalação isolada do pacote do PyPI.