[general]
name=ArchToolkit
qgisMinimumVersion=3.40
qgisMaximumVersion=3.99
description=Integrated archaeology toolkit for QGIS covering terrain, visibility, cost, networks, AHP suitability, trench planning, geology, and AOI reporting workflows.
version=0.1.3
author=balguljang2 (lzpxilfe)
email=lzpxilfe@gmail.com
license=GPL-3.0-or-later
repository=https://github.com/lzpxilfe/archtoolkit
tracker=https://github.com/lzpxilfe/archtoolkit/issues
homepage=https://github.com/lzpxilfe/archtoolkit
tags=archaeology,cultural-heritage,dem,kriging,geostatistics,ahp,contour,dxf,viewshed,line-of-sight,terrain-profile,terrain-analysis,slope,aspect,cost-surface,least-cost-path,least-cost-network,network,ppa,visibility,wms,geochem,geology,geological-map,kigam,cadastral,overlap,map-styling,ai,고고학,문화유산,가시권,가시선,지형,단면,비용표면,최소비용경로,최소비용네트워크,근접성,지적도,중첩,지구화학도,지질도,크리깅,AHP,지오통계
icon=icon.png
experimental=false
deprecated=false
about=ArchToolkit is an integrated QGIS plugin for archaeological and cultural-heritage workflows.
  It includes DEM generation, terrain analysis (slope/aspect/TPI/TRI/curvature/aspect derivatives), viewshed and line-of-sight tools, cost surface and least-cost path/network analysis, spatial/visibility networks (PPA), AHP site suitability, trench suggestion, covariate align/export and correlation/VIF reporting, terrain profiles, cadastral overlap, map styling, slope/aspect drafting, GeoChem helpers, KIGAM geology ZIP loading, and AI-assisted AOI reporting.
  Requirements: QGIS 3.40+, Processing, GDAL, and NumPy in the QGIS Python environment.
  Optional service: Gemini API access for AI AOI reporting.
changelog=0.1.3 - Security-scan hardening: every deliberately swallowed exception now records a [swallowed] line through the shared log_swallowed helpers, eliminating all 472 Bandit try/except/pass and try/except/continue findings that blocked the plugin directory upload, with the logging sinks made recursion-free and a regression test keeping bare except-pass and except-continue out of the shipped sources, while dev-only tests, scripts and CI configs are excluded from the release package; 0.1.3 - Full-code review hardening: fixed the plugin-wide help dialog crash (search now works); AHP suitability honors all scoring modes with correct NoData propagation, grid-alignment validation, boundary-target handling, and score clamping; trench suggestion gains coverage-first placement, footprint-averaged orientation with corrected flat-terrain fallback, geographic-DEM guard, and honest grave-avoidance reporting; contour extraction no longer inverts NoData handling; cost surface clamps Pandolf descents and applies friction to comparison figures; cost network fixes buffer=0 (full DEM) and closeness (Wasserman-Faust) with the spatial network tool; viewshed gains even sampling, LOS curvature/refraction support, cancel honesty, and CRS-correct observer outputs; terrain analysis adds memory guards, geographic-CRS guard, and NoData-correct aspect derivatives/custom TPI; map styling and DEM generator no longer orphan or mutate user layers; geology ZIP keeps project-referenced extracts, sanitizes ZIP names, survives bad config, and .asc export works; AI reporting narrows fallback retries and fixes context caching; align/export protects categorical rasters, records the reference grid, routes active GDAL work through QGIS tasks, rejects provider-reported partial outputs, and publishes complete run bundles atomically; runtime UI and README remove decorative emoji and Align/Export gains a dedicated pixel icon; CI now detects missing modules, release-identity drift, and UI asset regressions; align/export now names exported variables from each tool's English metadata so a downstream model cannot mangle or mis-bind Korean layer names, gives categorical exports an explicit NoData, records categorical/NoData in the manifest with a ready-to-paste CATEGORICAL_PREDICTORS list, and no longer auto-selects map-styling render clones; KIGAM geology rasters are recognized as categorical so class codes resample with nearest neighbour; the cumulative viewshed's binary union is no longer averaged as if it were a count; terrain analysis gains a TRI analysis radius so ruggedness can be measured over a landscape-scale window instead of gdaldem's fixed 3x3; a new Distance to Features tool produces distance-to-water/site/road predictors on a chosen reference grid; and the Weiss landform classification now honours the dialog's TPI radius instead of always using gdaldem's fixed 3x3, which classified micro-relief rather than landform; and the cost surface's flat 4,000,000-cell refusal is replaced by a budget derived from the memory the machine reports, so a county-scale 5 m analysis is possible where there is room for it, with the estimate shown for confirmation and a recommended pixel size when it does not fit (the least-cost network budgets its whole batch, since it runs one accumulation per directed pair); a failed AOI polygon union no longer silently falls back to the full raster extent in align/export, the covariate report or AHP statistics - it is reported and the run stops; AHP gains a full user guide (docs/AHP_GUIDE.md) with every figure produced by the real code; 382 silently swallowed exceptions in analysis, layer and file paths now leave a [swallowed] line in the plugin log so a wrong result can be traced to the failure that caused it; and the duplicated geotransform-inverse and source-path helpers are consolidated to one implementation each.
  0.1.2 - Added scroll-safe popups for long text and cleaned remaining flake8 issues flagged in quality checks (including W503/W226 updates); 0.1.1 - Added a selectable UI language setting and routed shared dialog chrome (buttons, help viewer) through it; tool dialogs themselves remain Korean. Fixed runtime i18n regressions, terrain profile reopen sync, safer geology QML parsing, and release polish.
  0.1.0 - Initial public beta covering terrain, visibility, cost, network, geology, GeoChem, cadastral overlap, styling, and AOI reporting workflows.
