[general]
name=Waveshed
qgisMinimumVersion=3.28
qgisMaximumVersion=4.99
version=0.4.1
author=Gian-Andrea Heinrich
email=info@waveshed.io
description=RF propagation and viewshed/LOS analysis (coverage, point-to-point) powered by the Aether GPU engine.
about=Waveshed provides RF propagation analysis for QGIS - area coverage (Site Analysis) and point-to-point link budgets - using LOS and ITM (Longley-Rice) models. All computation is performed by the proprietary Aether engine, a separate closed-source GPU binary that is NOT bundled with this plugin. The engine is downloaded on demand from https://waveshed.io through the plugin's Download dialog (an explicit, user-initiated action) and is licensed under its own EULA, shown for acceptance before download; the engine EULA permits non-commercial use only (commercial, governmental and organisational use requires prior written permission). Results are outputs of a propagation model - approximations, not measurements - and must not be relied on for safety-of-life, regulatory, planning or financial decisions without independent verification; no liability is accepted to the maximum extent permitted by law. Running analyses additionally requires an API key obtained from https://waveshed.io. Supported engine platforms: Windows x64, Linux x64, and macOS arm64.
tracker=https://github.com/gian1312/waveshed-qgis/issues
repository=https://github.com/gian1312/waveshed-qgis
homepage=https://waveshed.io
license=GPL-2.0-or-later
tags=rf,propagation,radio,coverage,p2p,gpu,terrain,ITM,LOS,line of sight,viewshed,waveshed
category=Analysis
icon=resources/icon.png
changelog=0.4.1
    - Needs Aether engine 0.4.3 or newer; the Map Converter's seam filter and
      fast building preparation need the converter of engine 0.5.0.
    - Code hygiene for the plugins.qgis.org security scan; deprecated
      supportsQt6 flag removed (QGIS 4 support comes from qgisMaximumVersion).
    0.4.0
    - Map Converter: XYZ terrain downloads through one shared pool in 1°
      bands with two lanes, a repair pass for failed tiles, local files
      converted while the download runs; OpenFreeMap buildings fetched beside
      the terrain (building prep under a second instead of ~25 s); background
      size estimate, "Auto" resolutions (finest source + 30 m / 90 m rings),
      tiles outside every layer skipped, Terrarium seam at 10°E repaired;
      folder index for GeoTIFF folders, whole-run progress bar, shared
      extents, add folder / all layers.
    - Site Analysis and Point-to-Point: "Folder…" picks a terrain folder;
      engine diagnostics go to a daily log file in the terrain cache, the QGIS
      log keeps the key lines; remembered output folders; per-band buildings
      for adaptive and custom range profiles; plots drawn by the plugin.
    - Data sources credited in Settings and Help (Terrarium via AWS,
      OpenFreeMap); waveshed.io links work before and after the public launch.
    0.3.3
    - Minor fixes. (New Icon and proper Metadata)
    0.3.2
    - Settings no longer shows "Installed engine: unknown" right after a
      successful download when the new engine is slow to answer its first
      version check; probe failures are now written to the QGIS log.
    - Plugin repository tags include line of sight and viewshed.
    0.3.1
    - Automatic release deployment.
    0.3.0
    - Engine downloads are verified end to end: the release manifest must
      carry a valid signature from the Waveshed release key (releases up to
      engine 0.4.7 predate signing and are still accepted), and engine
      archives are only accepted from releases.waveshed.io.
    - Engine updates are all-or-nothing: the new engine is unpacked and
      test-started next to the old one and only then swapped in. A failed or
      interrupted update leaves the previous engine working; on Windows an
      engine that is still running is detected and the update is refused.
    - First start without an engine shows a notice with a button to Settings.
      Once per QGIS session the plugin checks for a newer engine and shows a
      notice (once per release) with an "Update" button; the check can be
      switched off in Settings. Settings shows the installed and the latest
      engine version and has a "Check for updates" button.
    - An analysis that fails because the engine is too old or missing now
      offers "Update engine" / "Open Settings" right in the error message.
    - macOS: engine folders chosen with Browse or Auto-detect (for example a
      browser download) are made executable and cleared of the download
      quarantine, as on every plugin start; if macOS still blocks the engine,
      the error names the one Terminal command that fixes it.
    - The plugin is no longer marked experimental.
    - "Minimum LOS Altitude" is now "LOS Floor" everywhere in the UI. The
      Processing wire value stays MIN_ALT, so saved models keep working.
    - Built-in Help: a searchable Help tab (last tab of the dialog), a
      "Waveshed Help" menu entry and a "?" next to the model choice. Covers
      every control, terrain sources and the no-data contract, LOS Floor and
      the Altitude Explorer, the Processing algorithms, earth-curvature and
      ITM notes, troubleshooting and a glossary.
    - Altitude Explorer: each altitude band has its own AGL/AMSL reference,
      so "100 m AGL" and "2500 m AMSL" can be shown together. "Measured
      from" applies to the selected band and the next one added; sea-level
      bands render on the cached terrain twin, built on first use.
    - Engine failures now carry an actionable hint. An engine that rejects
      90 m / 250 m ("Unsupported resolution ... Allowed: [2, 5, 10, 30]")
      is an older build: update it via Settings, or pick 2/5/10/30 m.
    - Requires Aether engine 0.4.3 or newer for 90 m and 250 m coverage and
      for correct ITM results with AMSL antenna heights on the GPU.
    0.2.0
    - Runs on QGIS 4 (Qt6/PyQt6) as well as QGIS 3.28+ (Qt5): every Qt and
      QGIS enum is now spelled with its scope, QAction is imported from
      whichever module the binding keeps it in, and exec_() became exec().
    - Terrain tiles are pooled and reused across sites, so overlapping runs no
      longer re-download shared tiles. Existing caches are rebuilt once.
    - Building tiles (OpenFreeMap) pool alongside terrain and are reused too.
    - Removed SIMPLE_LOSS as a selectable propagation model; use ITM. Results
      already computed with it still load. NOTE: the Processing "Propagation
      Model" dropdown is index-based, so saved Processing models that selected
      ITM or MIN_ALT must be re-picked.
    - Data-source attribution for every fetched dataset, shown in Settings.
    - Settings can clear the terrain cache and reports its size.
    - Fixed: a failed building download no longer silently caches
      building-free terrain under a buildings-keyed entry.
    - Fixed: partial caches from an interrupted run are no longer reused as
      complete, which produced coverage with silent gaps.
    0.1.0
    - Initial experimental release.
experimental=False
deprecated=False
hasProcessingProvider=yes
