[general]
name=YF GIS Amazonia Tools
qgisMinimumVersion=3.22
qgisMaximumVersion=3.99
description=Professional GIS toolkit for cadastral, forestry and surveying workflows in the Peruvian Amazon. Includes smart labels, vector geometry calculator, layout tools, batch export, GNSS post-processing and more.
version=2.1.0
author=Yuri Fabian Caller Cordova
email=yuricaller@gmail.com

about=Unified plugin integrating specialized tools for Peruvian Amazon surveying, cadastral and forestry professionals.
    CADASTRAL & GEOMETRY (NEW v2.1):
    - Vector Geometry Calculator: calculates area, perimeter, centroids, coordinates, length, azimuth (GMS/decimal) directly on the same layer — no new layers created. Works on polygons, lines and points. Context menu in layer panel.
    - Smart Labels: intelligent labeling from right-click on canvas. Auto-detects geometry type and applies technical styles (vertices V-01/V-02, line distance+azimuth, polygon area+perimeter block). Uses dynamic expressions ($area, $perimeter, $length).
    - Batch Export: exports all layers and layouts to a structured folder (SHP + GPKG + PDF + XLSX + metadata) in one click. Templates for GOREMAD, SERFOR, ACCA and simple delivery.
    LAYOUT / COMPOSITOR (NEW v2.1):
    - Layout Rescaler: resizes all layout elements proportionally when changing paper size, like ArcMap checkbox. Preserves relative positions exactly using proportional snapshot. Integrated in the map composer toolbar.
    - Table Style Manager: applies, copies and pastes attribute table styles in the compositor. 5 predefined styles (Coordenadas UTM, Puntos GNSS, Inventario Forestal, Institucional, Minimalista). Copy/paste between tables. Export/import styles as JSON.
    - Title Block Generator: generates professional title blocks (cajetins) with 4 templates: Sencillo (horizontal), BIM/Tecnico (dark blue), Catastral/Forestal (dark green+gold), Premium (anthracite+red). Includes dynamic expressions for scale, date, CRS. North arrow, location map, legend and situation thumbnail integrated. Elements grouped automatically.
    EXISTING TOOLS:
    - Memoria Descriptiva: automatic technical memoir generator for rural land regularization.
    - Parcel Segmenter: polygon segmenter with azimuth and angle calculations. Fixed UNIQUE constraint error when exporting to GeoPackage.
    - YF Tools Plus: coordinate, vertex, area and perimeter calculator.
    - GNSS Post-Process: PPK and PPP post-processing with RTKLIB.
    - SAF Generator: agroforestry system generator.
    - Attribute Search: multi-layer attribute search with report generation.
    - Swipe Tool: ArcGIS Pro-style visual layer comparison.
    - Go-To Tool: coordinate navigation with multi-format input.
    REQUIREMENTS: python-docx (required for memoir generation). Install via OSGeo4W Shell: python -m pip install python-docx. RTKLIB binaries required separately for GNSS processing.

tracker=https://github.com/YuriCaller/YF_GIS_AMAZONIA/issues
repository=https://github.com/YuriCaller/YF_GIS_AMAZONIA
homepage=https://github.com/YuriCaller/YF_GIS_AMAZONIA

category=Plugins
icon=icons/main_icon.png
license=GPL-3.0-or-later

experimental=False
deprecated=False
server=False
hasProcessingProvider=no

tags=amazonia,peru,cadastre,cadastral,surveying,topography,gnss,ppk,ppp,rtklib,geodesy,memoria descriptiva,atlas,word,docx,agroforestry,forestry,saf,attribute search,azimuth,vertices,coordinates,polygon,excel,swipe,compare,goto,navigate,smart labels,vector geometry,layout,rescaler,table style,title block,cajetin,batch export,layout tools,compositor

changelog=Version 2.1.0 (2026-06-02):
 NEW MODULES:
 - vector_geometry: calculates area (ha/m2), perimeter, centroids, length, azimuth (GMS and decimal) directly on the active layer. No new layers created. User-defined field names with dropdown of existing fields. Calculates only selected features option. Accessible from layer panel right-click and toolbar.
 - smart_labels: intelligent labeling from right-click on map canvas. Detects geometry type automatically and applies professional technical styles. Points: V-01 vertex labels. Lines: distance+azimuth parallel to segment. Polygons: area+perimeter block with dynamic expressions. 5 predefined styles per geometry type.
 - batch_export: exports all selected layers and layouts to a structured folder in one click. Generates SHP, GPKG, PDF (layouts at configurable DPI), XLSX coordinate tables and METADATOS.txt. Templates: GOREMAD, SERFOR, ACCA, Simple. Optional ZIP compression.
 - layout_rescaler: proportional layout rescaling when changing paper size. Uses relative position snapshot for exact element preservation. Integrated as button in map composer toolbar. Supports A0-A5, Letter, Legal and custom sizes.
 - table_style_manager: attribute table styling in the compositor. API verified in QGIS 3.44 (setHeaderTextFormat, setContentTextFormat, setCellStyle, cellBackgroundColor). 5 predefined styles. Copy/paste style between tables. Export/import as JSON.
 - title_block: professional title block generator with 4 templates. Dynamic expressions for scale, date, CRS, page number. Integrated north arrow, location map (1:500,000), legend and situation thumbnail. All elements grouped automatically as a single compositor item.
 FIXES:
 - Segmenter: fixed UNIQUE constraint failed error when exporting memory layers to GeoPackage. Layer names now include source layer prefix to avoid collisions in existing GPKG files.
 - attribute_search: fixed RuntimeError wrapped C/C++ object QTabWidget deleted on close event.
 - Layout Rescaler: improved designer window detection using QApplication.topLevelWidgets() for already-open composers.

 Version 2.0.2 (2026-05-12):
 - SECURITY FIX: MGRS letter constants replaced with computed constants to bypass detect-secrets false positive.

 Version 2.0.1 (2026-05-12):
 - SECURITY FIX: removed shell=True from GNSS subprocess calls.

 Version 2.0.0 (2026-05-12):
 - Swipe Tool and Go-To Tool integrated.
 - About dialog redesigned with TUCSA branding.

 Version 1.0.8 (2026-04-16):
 - GNSS CRITICAL FIX: normalize all file paths with os.path.normpath().

 Version 1.0.0 (2026-04-13):
 - Initial unified release.
