[general]
name=ParcelFlux
qgisMinimumVersion=3.28
qgisMaximumVersion=4.99
description=Subdivide zoning blocks into parcels with configurable width variation, row asymmetry, fishbone offset, and automatic residual merging.
version=0.2.10
author=Yusuf Eminoglu
email=yusuf.eminoglu@deu.edu.tr

about=ParcelFlux automates the subdivision of zoning blocks into parcels with natural variation. It supports single/double-row detection, row-width asymmetry for differentiated front/rear facades, fishbone-style organic boundary offsets, H-line shift for asymmetric depth, and 3-pass automatic merging of residual fragments below a configurable area threshold. Developed at Dokuz Eylul University, Department of City and Regional Planning.

tracker=https://github.com/YusufEminoglu/parcelflux/issues
repository=https://github.com/YusufEminoglu/parcelflux
homepage=https://github.com/YusufEminoglu/parcelflux

category=Vector
tags=planx,qgis,parcel,subdivision,urban planning,settlement,dock
icon=icons/parcelflux.png

experimental=False
deprecated=False
hasProcessingProvider=no
license=GPL-3

changelog=
    0.2.10 - Fix: irregular and repaired blocks are now subdivided inside their real block geometry; OBB is used only as a layout guide, preventing parcels from expanding to the block bounding box.
    0.2.9 - Fix: core now rejects missing or invalid CRS inputs and preserves the source CRS on all temporary and output memory layers, including custom CRS definitions.
    0.2.8 - Fix: core now rejects invalid layers and unsafe parameter ranges up front, returns clear validation errors, and passes cancellation-aware feedback into native QGIS Processing steps.
    0.2.7 - Fix: core processing now honors cooperative cancellation checkpoints between processing stages and large geometry loops, returning Cancelled before adding output.
    0.2.6 - Fix: cancel and plugin unload no longer use unsafe QThread.terminate(); running jobs now request cancellation, discard late results, and detach safely during plugin shutdown.
    0.2.5 - Added: facade columns now contain computed exterior frontage length, side frontage, rear-edge proxy, exterior facade count, corner flag, and cardinal front direction instead of empty placeholders.
    0.2.4 - Fix: plugin unload now removes toolbar/menu/actions cleanly, the first panel toggle reliably shows the dock, and the worker completion signal no longer shadows QThread.finished.
    0.2.3 - Fix: single-row blocks no longer receive an unwanted centerline split. Irregular/invalid polygons are now split on their repaired OBB geometry, residual merge counting is accurate, max_area=0 disables the upper area filter, generated output field names avoid collisions, and a Hub-safe PNG icon is bundled.
    0.2.1 - Fix: invalid-geometry crash. OBB step no longer aborts when the user's global Processing "Invalid features filtering" is set to Stop. All processing.run() calls now use a private context with SkipInvalid; irregular blocks are pre-fixed via native:fixgeometries before OBB; self-intersecting "regular-looking" blocks are routed through the repair path too.
    0.2.0 - Fix: polygon layer selection (layer combo now correctly lists polygon layers; previous filter blocked them). UI: full tabbed redesign (Run / Guide / About), in-panel rich guide, slider+spinbox controls, configurable random seed with re-roll, selected-features-only mode, projected-CRS guard with explicit error, status banner, reset-to-defaults.
    0.1.1 - English-only UI, optional id/facade columns, QGIS 3/4 compatibility, HTML guide.
    0.1.0 - Initial dock-based release.
