[general]
name=Subsea Cable Tools
qgisMinimumVersion=3.22
qgisMaximumVersion=4.99
description=Tools to support working with subsea cable data in QGIS.
version=1.6.3
author=Kieran McMonagle
email=kieran.mcmonagle@globalmarine.group

about=Subsea Cable Tools is a QGIS Processing Plugin developed to support working with subsea cable data in QGIS.

tracker=https://github.com/k-mcmonagle/subsea-cable-tools/issues
repository=https://github.com/k-mcmonagle/subsea-cable-tools

hasProcessingProvider=yes

# changelog
changelog=Version 1.6.3:
  - Catenary Calculator V2 (UI only, no calculation changes): fixed the dialog layout on QGIS 3 / Qt5, where the left input panel was capped too narrow and the splitter could not be dragged right far enough to show all inputs — the assembly button row and longer field labels were clipped with no way to reveal them (QGIS 4 / Qt6 was unaffected). The panel now keeps a minimum width and shows a horizontal scrollbar instead of truncating content, and the dialog opens slightly larger with a wider default left share.
  - Catenary Calculator V2: the Results text box and the plot are now separated by a vertical splitter, so the Results panel can be enlarged or shrunk (previously it was pinned near its minimum height). Both panes keep a minimum height so neither collapses.
Version 1.6.2:
  - Security-scan compliance only, no functional change from 1.6.1: corrected the placement of Bandit "# nosec" suppressions on the dynamically-built Microsoft Access SQL (table/column identifiers are validated and bracket-quoted; row values use parameter placeholders) and annotated the vendored pyqtgraph SVG exporter's internal XML parsing, so the QGIS plugin repository's automated security scan passes.
Version 1.6.1:
  - This is a large jump from the previously published version, adding many new tools, algorithms and features in one step. It is published as a work in progress — please sanity-check and double-check results against your own data and established methods, and do not rely on the output uncritically.
  - Import MDB (ODBC path handling): normalises Windows MDB paths before connect and uses a driver-compatible DBQ connection string, fixing "HY000 / -1044 Not a valid file name" failures seen on some Microsoft Access ODBC driver builds.
  - Import MDB (geometry inference): in worker split mode, multi-vertex features are now emitted as LineString based on actual vertex shape rather than being forced to Point by unreliable source metadata; true point and polygon imports are preserved.
  - Added focused regression tests for MDB worker geometry inference across point/line/polygon/ambiguous metadata cases.
Version 1.6.0:
  - New "Cable Lay Data Import" group of Processing algorithms for building a GeoPackage of cable lay data: Create Cable Lay GeoPackage (sets up all the empty canonical layers), plus importers for Cable Lay CSV, Event Log, Slack Log (lines), Body Log, 3D Model Solutions, As-Laid and Plough Data.
  - GeoPackage-centric workflow: each importer accepts multiple files at once and writes to its fixed canonical layer (cable_lay, slack_logs, ...). The destination is either an existing layer picked from a dropdown (e.g. created by Create Cable Lay GeoPackage) or a GeoPackage file to create/append to. Layer names are prefixed with the GeoPackage file name (e.g. ProjectX_cable_lay) for clean grouping in the layer tree. Re-running grows that layer and removes duplicates on a per-type key, so data arriving daily/weekly builds up cleanly and re-importing a file is safe. A combined layer exports to CSV with QGIS's built-in Export.
  - Shared, dependency-free parsing helpers (degrees/decimal-minutes to decimal degrees, day-count time to ISO timestamp, numeric type inference, merge/dedupe). No new third-party dependencies.
  - See CHANGELOG.md for the full list.
Version 1.5.1:
  - Catenary Calculator V2: added sloped / profiled seabed support (tangent touchdown on a depth profile), convergence and seabed-penetration reporting, distributed buoyancy, and a fuller seabed plot. Bottom Tension input is now the actual tension at the touchdown (T_TDP), identical to before on a flat seabed.
  - Distance/KP measurement consolidated through a single helper that uses the project ellipsoid (with a WGS84 fallback when unset). Adds an Ellipsoidal/Cartesian distance-mode option to KP-emitting algorithms (default Ellipsoidal; no behaviour change).
  - Geodesic interpolation: point_at_kp / extract_line_segment now follow the great circle on geographic CRSes instead of linearly interpolating in lon/lat. KP Mouse Tool range ring drawn as a true geodesic circle.
  - CRS handling: KP Plotter, Find Nearest KP and Place KP Points (raster sampling) auto-reproject mismatched inputs with feedback warnings; Translate KP Between RPLs gives a clearer same-CRS error.
  - QGIS 4.0 / Qt6 compatibility: PyQt shim used throughout, compatibility aliases added for Qt/QGIS enum changes, qgisMaximumVersion=4.99 declared. Catenary calculators, KP Plotter and Depth Profile now use vendored pyqtgraph instead of requiring matplotlib.
  - Various fixes: RPL Route Comparison ellipsoid fallback, narrowed bare except clauses, Dynamic Buffer group label, dock-widget cleanup. Catenary Calculator v1 marked Legacy. Import Bathy MDB renamed to Import MDB (`import_mdb` algorithm id).
  - See CHANGELOG.md for the full list.
tags=subsea, cable, telecoms, mapping, gis, qgis, lrs, kp, offshore, engineering, bathymetry

homepage=https://github.com/k-mcmonagle/subsea-cable-tools
category=Vector
icon=icon.png
experimental=False
deprecated=False
server=False
