Azimlib0.3.0 · documentation

Aceite de Artists 2D: checklist 1.10–1.12

Outputs under gallery/ are local generated previews, not distributed assets. For versioned current images, see the 0.3 gallery.

O passo 1 é aceito no catálogo do corte, após a integração/auditoria descritas aqui. Isso não encerra layout, fidelidade visual, desempenho ou validação multiplataforma dos outros quatro passos da 0.2.0. A versão continua 0.1.0 alpha; não houve publicação.

Os hashes dos relatórios desse lote continuam históricos, resolvidos contra snapshots exatos em tools/baselines, incluindo interactive-tiles-before. Não são substituídos pelos hashes atuais sem executar novamente o roteiro. Validação atual e galeria registram a nova suíte/exports, sem reabrir este catálogo por mudanças internas no viewer.

1.10 — Mapa integrado

O cenário reproduzível combina estados reais da base Natural Earth embarcada com valores, estações, rota, imagem, mesh, vetores e contornos sintéticos. Seis mappables compartilham a mesma Normalize: geometria temática, scatter, mesh, imagem, quiver e contour. Os dados geográficos permanecem imutáveis; cada handle edita seu próprio estado.

Verificações em colorbars horizontal/vertical e 100/200 DPI:

A inspeção da primeira imagem revelou que imshow sobrepunha o enquadramento manual do mapa com seu próprio extent. A correção respeita os limites de cada eixo bloqueado pelo usuário. Três casos de limites manuais (x, y ou ambos) foram registrados diretamente com Matplotlib/Agg e comparados no teste. Diferença preservada: nos eixos automáticos, a Azimlib continua aplicando seu enquadramento exato/fixo ao criar uma imagem, em vez de reproduzir toda a política sticky-edges/flags de autoscale do Matplotlib. Use limites explícitos ou ax.autoscale() para escolher a política da vista; essa diferença não fica escondida no aceite.

Exemplo, antes (gallery/artist-acceptance-before.png, generated locally) e depois (gallery/artist-acceptance-after.png, generated locally), também em SVG/HTML. O HTML é uma exportação: edições posteriores em Python exigem reexportação.

1.11 — Auditoria de propriedades e aliases

Os testes percorrem 28 handles/famílias de uso do catálogo, incluindo Figure/eixos, todas as camadas, textos internos de ticks/legenda/colorbar, spines/frame/outline, escala, norte, rosa, overview e inset. Uma propriedade desconhecida, junto de uma mudança de visibilidade, é rejeitada sem alterar controles, cena SVG, callbacks ou estado stale nesses casos.

Correções acrescentadas:

Referência direta produzida pelo tool de desenvolvimento: estados selecionados de aliases em linha/spine/frame, cinco rejeições e três vistas de imagem. Os testes lêem o registro, sem importar Matplotlib. As cores retornadas continuam com representações próprias, não tuplas RGBA idênticas em toda consulta; o teste verifica a coerência de cada alias/getter.

1.12 — Aceite e limites

Aceite requer a suíte cumulativa sem falhas, regressões do conjunto acima, execução em source/wheel, exports e relatório Tk com a mesma implementação. O smoke possui 14 verificações em janela Tk real oculta: duas combinações de DPI/orientação, edições em ion agrupadas em um draw, roundtrip de visibilidade, rejeição sem redraw, foco/Home, descarte e liberação do cache.

Relatórios source e wheel instalado incluem hashes dos módulos efetivamente importados, dos tools e o caminho do runtime. O core/wheel não usa Matplotlib, Cartopy, GeoPandas, Shapely ou pyproj. CI inclui este décimo smoke, mas não foi executada remotamente neste lote.

Limites que permanecem explícitos, sem impedir este aceite restrito:

Evidências de regressão: test_artist_acceptance.py, além dos testes já ligados no catálogo. Próximo trabalho do roteiro: 2.08.