[general]
name=SIGMAI
description=Secure local bridge between AI assistants and QGIS, with cartographic quality control.
version=1.3.0
qgisMinimumVersion=3.28
qgisMaximumVersion=4.99
author=MACIEL, L. S. C.
email=herpetomantiqueira@gmail.com
about=SIGMAI lets AI assistants operate QGIS through a local, auditable command interface instead of screen automation. It ships a standards-compliant MCP server (JSON-RPC 2.0 over stdio) so Claude, Cursor, Codex and any other MCP client can connect; a consent layer where the user chooses between read-only, ask-every-time and allow-for-this-session, with output-folder sandboxing, per-session limits and an audit trail; and a cartographic engine that composes page-aware map layouts, fits the extent to the map frame, rounds the scale to the cartographic series, sizes the scale bar, computes the coordinate grid interval, builds a legend covering every visible layer, and then audits the result against an explicit rulebook whose findings tell the assistant what is wrong and how to fix it. The bridge binds to 127.0.0.1 only and requires a bearer token. Normal operation never exposes arbitrary Python execution; Developer Mode is explicit, warning-protected and disabled by default. SIGMAI runs on the Python bundled with QGIS/OSGeo4W. Developed by Luan da Silva Cortes Maciel as a research product associated with Herpeto Mantiqueira.
category=Plugins
icon=icons/sigmai_icon.png
experimental=False
deprecated=False
tags=AI,MCP,cartography,map layout,automation,workflow,spatial analysis,research tools,GIS automation,plugin development,JSON API,quality control
homepage=https://github.com/LuanCortesM/SIGMAI
repository=https://github.com/LuanCortesM/SIGMAI
tracker=https://github.com/LuanCortesM/SIGMAI/issues
license=MIT
changelog=1.3.0
    - Símbolo de ponto ajustado ao quadro: menor e semitransparente quando os pontos cobririam o que está embaixo.
    - Nova regra CART076 (aviso): pontos que escondem quantos registros há em cada lugar.
    - Novos comandos count_points_by_site e apply_proportional_symbol_style (um símbolo por local, com área proporcional ao número de registros, locais agrupados na escala do mapa); apply_single_symbol aceita size_mm.
    - compose_map com dense_points ('sites' ou 'heatmap') e com map_crs='auto' (Lambert azimutal num continente, Equal Earth no mundo, grade em graus).
    - Figura de artigo: title_placement='caption' tira título e créditos da imagem e devolve a legenda pronta para o texto; 'none' faz o mapa sem título.
    - Relevo sem riscas (reamostragem bilinear), contexto em cinza, barra de figura a partir do zero, fonte do GBIF preservada no rodapé dos locais.
    - Nova regra CART081 (painéis comparáveis com a mesma régua de cor e tamanho); símbolo proporcional com min_value e max_value; rótulos de classes de raster na classe certa.
    - apply_categorized_style acima do limite mantém as classes mais frequentes; rodapé declara a projeção Lambert criada pelo compositor.
    - Mapa de calor como assunto: o contexto vira contorno por cima, como sobre um raster.
    - Novas regras CART077 (rampa de raster esticada), CART078 (coordenadas fora do sistema de referência, graus como UTM, ponto em 0,0), CART079 (pontos isolados que abrem o recorte) e CART080 (mapa de calor que esconde lugares com pontos).
    - Estilo de raster ignora valores de preenchimento e picos isolados; mapa em graus sem barra métrica; contorno fino em polígonos pequenos.
    - Recusa rotular mais de 5000 feições; amostra de legenda legível para ponto reduzido; aviso quando os quantis coincidem.
    - Referências das regras CART006, CART024, CART064 e CART070 corrigidas; a terceira simulação de daltonismo passa a se chamar tritanomaly.
    - A receita refaz o mapa num projeto vazio: recarrega as camadas com o estilo gravado (data_dir noutro computador) e refaz divisas e nomes.
    1.2.0
    - Modo em tons de cinza para figuras de periódico (colour_mode='greyscale'), mantendo as classes dos mapas temáticos; regra CART073.
    - Ordem de desenho cartográfica; polígono que contém outra camada ou cobre um raster é desenhado como contorno por cima.
    - CART021 acusa camada da legenda coberta; novas regras CART074 (números da barra de escala) e CART075 (assunto do mapa à vista).
    - Classificação graduada por quantis, Jenks ou números redondos; estilo de raster (hipsometria, declividade Embrapa, valores únicos) e mapa de calor.
    - Polígono que esconderia outra camada vira contorno; legenda em colunas; cores com significado nas classes.
    - KMZ, OSM, FlatGeobuf e shapefile zipado; carregar dado fora da pasta de saída; busca e instalação de plugins no perfil em uso.
    - Orientação e altura da faixa inferior escolhidas pelos dados; legenda de raster legível.
    - Corrigidas as regras CART003, CART061 e CART062.
    1.1.7
    - Nomes de variáveis ajustados (Flake8 E741). Sem mudança de comportamento.
    1.1.6
    - Código de pareamento com gerador criptográfico; ajustes para a varredura de segurança do repositório de plugins.
    1.1.5
    - Ajustes para a verificação Qt6 do repositório de plugins. Sem mudança de comportamento.
    1.1.4
    - Opção persist_token renomeada para persist_access_key, com migração automática.
    1.1.3
    - Corrigidos: painel que travava o QGIS 4 e o 3.40, interpretador Python errado no Windows, porta compartilhada entre duas instâncias, CSV de pontos no Windows e Python 3.9.
    - Token da ponte regenerado a cada abertura do QGIS.
    1.1.2
    - Licença MIT; fonte declarada para cada regra; análise de sensibilidade dos limiares.
    1.1.1
    - Arranjo do layout pela forma dos dados, grade de painéis e separadores da barra de escala na língua do mapa.
    1.1.0
    - Figuras para periódicos, painéis, receita reproduzível do mapa, desfazer, mapa de campanha e regras CART068 a CART072.
    Histórico completo: CHANGELOG.md no repositório.
