[general]
name=Plover
qgisMinimumVersion=3.22
qgisMaximumVersion=4.99
supportsQt6=True
description=Boundary-aware Traveling Salesperson routing: shortest tour through your points, around your sloughs.
version=3.2.5
author=Zachary Komarnisky
email=zkomarnisky@oldscollege.ca
license=MIT

about=Plover generates an optimized TSP (Traveling Salesperson) route through a point layer, optionally constrained to stay within a polygon boundary and to route around interior rings (holes / sloughs / exclusion zones). Without a boundary it solves a plain straight-line Euclidean TSP. It builds a visibility graph over the points and the boundary's concave corners, computes obstacle-aware shortest paths between all points, and optimizes the visiting order with multi-start nearest-neighbour, 2-opt and Or-opt. Includes a dialog with live progress (runs in the background, cancellable), a numbered visit-order output layer, GPX/KML export for field navigation, and a Processing algorithm for use in models and batch runs.

tracker=https://github.com/Dozer3530/Plover/issues
repository=https://github.com/Dozer3530/Plover

hasProcessingProvider=yes

changelog=3.2.5
      - Plover now lives under the Vector menu (it is a vector tool) instead of the generic Plugins menu
      3.2.4
      - Minimal wireframe (monoline) icon
      3.2.3
      - New original vector icon (stylized plover above a dashed route), replacing the previous photo-derived icon — removes any third-party image licensing concern
      3.2.2
      - Bundle the LICENSE file inside the plugin package (required by the official QGIS plugin repository) and declare license=MIT in metadata
      3.2.1
      - Visit-order layer is now styled to match the route: orange numbered-waypoint badges with bold white visit numbers and a halo, instead of plain default markers
      3.2.0
      - Boundary is now optional: leave it empty for a plain straight-line (Euclidean) TSP through the points, no obstacle avoidance. With no boundary the working CRS is the point layer's.
      3.1.0
      - New "Points outside boundary" option: fail (require all points inside) or skip (route only the points inside the boundary) — route one field's points from a layer that spans many fields
      3.0.0
      - Routing now runs in a background task: QGIS stays responsive, runs are cancellable
      - New Processing algorithm (Toolbox / Model Designer / batch): plover:tsproute
      - Buffer now genuinely allows edge-hugging paths; points on the field edge no longer become unreachable
      - Visibility graph reduced to concave/turn vertices and built with prepared geometries (large speed-up)
      - One Dijkstra per waypoint instead of per pair (large speed-up on many points)
      - Better tours: multi-start nearest-neighbour + 2-opt + Or-opt
      - Optional one-way routes (uncheck "Return to start")
      - New numbered visit-order output layer with labels; route styled with direction arrows
      - GPX and KML export (auto-reprojected to WGS84) for field navigation
      - Boundary layers may have multiple features; fully-enclosed features become exclusion zones
      - Points are auto-reprojected to the boundary CRS; clear errors for geographic CRS
      - Layer dropdowns now track project layers; start point chosen with a feature picker
      - Unreachable points are reported by number instead of silently straight-lined
      2.7.0
      - Waypoint-only optimization with cached Dijkstra paths
      2.6.0
      - Slough (interior ring) fixes and GeoPackage export

tags=tsp, routing, optimization, vector, agriculture, path planning, field work, visibility graph, processing

homepage=https://github.com/Dozer3530/Plover
category=Vector
icon=icon.png
experimental=False
deprecated=False
server=False
