[general]
name=PlanX: Urban Resilience
email=yusuf.eminoglu@deu.edu.tr
author=Yusuf Eminoglu
qgisMinimumVersion=3.28
description=PlanX urban resilience suite (43 tools): seismic, heat, flood, social, emergency access, evacuation, network criticality, air, drought, synthesis, hot-spot/LISA statistics, risk-recovery matrix, time-series, scenario tools, HTML/Markdown/PDF atlas, symbology.
about=43 Processing algorithms and a docked Processing panel (colour-grouped, per-tool icons) for city-scale resilience screening: synthetic QA, seismic debris, heat and flood, social vulnerability, Euclidean and network emergency access, evacuation simulation with optional timestep queue, network criticality, air and drought, multi-hazard and equity-adjusted synthesis, climate projection overlay, recovery capacity, scenario sensitivity, risk-recovery priority matrix, time-series tracking, scenario templates, HTML/Markdown/PDF atlas with map-book presets, shelter arrival summaries, and symbology. DEU City and Regional Planning educational workflows. Online User Manual & Documentation: https://yusufeminoglu.github.io/planx_urban_resilience/ | If you find this plugin helpful, please consider starring the repository on GitHub (https://github.com/YusufEminoglu/planx_urban_resilience)!
version=2.1.1
tracker=https://github.com/YusufEminoglu/planx_urban_resilience/issues
repository=https://github.com/YusufEminoglu/planx_urban_resilience

category=Processing
tags=planx,urban resilience,drr,seismic,debris,heat,flood,social vulnerability,emergency accessibility,network analysis,air quality,drought,adaptation,scenario planning,scenario comparison,reporting,markdown,symbology,synthetic data,climate,spatial planning,QGIS,processing
homepage=https://yusufeminoglu.github.io/planx_urban_resilience/
icon=icons/plugin.svg
experimental=False
deprecated=False
qgisMaximumVersion=4.99
hasProcessingProvider=yes
plugin_dependencies=
license=GPL-3
changelog=
    PlanX Urban Resilience 2.1.1 - Help-text formatting fix, new main plugin icon, and manual visual polish.
        - shortHelpString() text for all 43 algorithms reformatted so no sentence is broken by a hard line-wrap: every paragraph is now one continuous logical run (matching the sibling PlanX plugin's own convention), regardless of how the consuming widget handles whitespace. Wording unchanged; only the underlying text layout changed.
        - New main plugin icon (icons/plugin.svg): a shield outline framing a small city skyline with a recovery arc, fully transparent background (replaces the old solid teal-gradient rounded-square tile), bolder strokes for legibility down to 16px toolbar size.
        - Reference manual: each tool's own dock icon is now shown next to its heading, tying the manual visually to the in-app panel; fixed a bug where the design-polish pass's "See also" cross-links silently rendered empty for every tool because of the new icon markup.
    PlanX Urban Resilience 2.1.0 - Academic reference manual and in-GUI help overhaul: every one of the 43 algorithms' online manual entry and shortHelpString() rewritten to the same elite-academic register as the sibling PlanX plugin.
        - Reference manual (https://yusufeminoglu.github.io/planx_urban_resilience/URBAN_RESILIENCE_REFERENCE_MANUAL.html): every entry now has Academic lineage, Key assumptions, and When-to-use-vs-when-NOT-to-use sub-sections, verified formulas cross-checked against the actual algorithm code, and real DOI'd citations. Manual grew from 26,439 to over 40,000 words.
        - Fixed a real bug: tool entries had no per-algorithm anchors, so the dock's right-click "View Documentation" opened the manual but never scrolled to the correct tool; every entry now has a stable id and the sidebar links point at it.
        - Design polish: an on-page mini jump-nav per tool, a copy-anchor-link button on every heading, "See also" cross-link chips between related tools, and small performance/complexity badges on the handful of tools with genuine O(n) cost notes.
        - In-GUI shortHelpString() text for all 43 algorithms rewritten in the same register: methodology with inline citation, practical usage notes, a "How to read the results" field-by-field breakdown, and a "Using the results" closing paragraph with concrete planning actions.
        - Documentation-only release: no algorithm logic, parameters, or output fields changed.
    PlanX Urban Resilience 2.0.0 - Major GUI rewrite: the modal dashboard is replaced by a docked Processing panel, matching the sibling PlanX plugin.
        - New docked panel (View -> Panels -> PlanX Urban Resilience): a searchable, grouped tool tree replaces the old Overview/Data/Modules/Run/Report/Test/Beta dashboard pages. Double-click a tool to run it, right-click for documentation.
        - Each of the 10 hazard/report groups now has its own colour (Seismic amber, Heat orange-red, Flood blue, Social purple, Emergency red, Air cyan, Drought gold, Synthesis teal, Report/QA slate, Demo/QA grey) and every one of the 43 tools has its own hand-drawn icon (was: one shared plugin icon for all tools).
        - Fixed: the Emergency and Synthesis groups were silently split across two different toolbox group labels each (inconsistent group() strings sharing one groupId), so the Processing toolbox and Algorithm dialog sometimes showed them as separate groups; unified to one label per domain.
        - Removed: the dashboard's Data/Report/Beta developer tooling (issue-template, diagnostics, smoke-test-plan, release-notes and Hub-changelog-draft clipboard actions) and the hand-maintained MODULES catalog it used to stay in sync with the Processing registry - the dock now reads the registry directly, so there is nothing left to drift out of sync.
    PlanX Urban Resilience 1.26.2 - Security packaging hotfix: excluded pytest cache artifacts from the QGIS Hub archive and cleaned all seven Hub-reported W503 quality findings.
        - Added plugin-level and shared packaging exclusions for .pytest_cache so CACHEDIR.TAG and test cache data cannot enter release archives.
        - Reformatted arithmetic, HTML assembly, attribute-list construction, and LISA variance code without changing behavior.
    PlanX Urban Resilience 1.26.1 - English-only fix: translated the Seismic Debris & Logistics module and synthetic demo dataset fields from Turkish, added a reproducible random seed to the Monte Carlo collapse draw.
        - Seismic Collapse module (algorithm id seismic_debris_monte_carlo, was sismik_risk_dinamik_analizor_v2) fully translated: display name, group, help text, parameter labels, output field names and log message.
        - Synthetic demo dataset fields translated: katadedi -> floor_count, uipfonksiyon -> land_use.
        - Bivariate Choropleth Symbology: removed a leftover Turkish sentence fragment from the help text.
        - New SEED parameter (default 42) makes the seismic Monte Carlo draw exactly reproducible.
    PlanX Urban Resilience 1.25.0 - Quality release: all 43 algorithms verified end-to-end on real QGIS 3.44 LTR and QGIS 4.0.2 via a headless test harness with numeric assertions.
        - QGIS 4: all 43 Processing tools re-enabled (the former panel-only gate hid the whole provider on QGIS 4).
        - Fixed PDF Atlas crash on modern QGIS (renderer factory signature and frame stroke width type); classification now pure Python (equal interval / quantile / Jenks) with explicit YlOrRd ranges.
        - Fixed LISA significance: the old variance approximation flagged every feature significant; replaced with Anselin (1995) randomization moments.
        - Added Benjamini-Hochberg FDR-adjusted p-values and classes to Gi* hot-spot (gi_p_fdr, gi_class_fdr) and LISA (lisa_p_fdr, lisa_quad_fdr).
        - Flood: DEM sampling clamped into the raster extent (no more out-of-range reads at study-area edges); exposed buildings and roads now carry the real maximum cell score instead of a constant.
        - Removed stale ROADMAP and outdated smoke test duplicate; corrected tool count to 43 in metadata and README.
    PlanX Urban Resilience 1.24.9 - Compatibility maintenance release:
        - Fixed spatial index constructor compatibility across QGIS 3 and QGIS 4 by using loop-based addition instead of bulk feature-list instantiation.
        - Fixed CP1252 character audit warnings by escaping literal CP1252 patterns into unicode escapes.
        - Aligned parameters, snapped tolerances, and memory layer objects in the smoke pipeline test suite.
    PlanX Urban Resilience 1.24.8 - Code quality and QGIS 4 dashboard polish.
        - Fixed 14 flake8 issues across 12 processing modules: unused imports (QgsGeometry, QgsPointXY, QgsRectangle, QgsSpatialIndex, QgsProcessingParameterEnum, math), unused local variable (weight_sum), dead-code conditional in seismic_cascade, f-strings without placeholders, over-indented continuation lines, ambiguous variable name 'I' -> 'moran_i', missing end-of-file newline.
        - Dashboard: QGIS 4 Qt6 compatibility with responsive font/layout sizing, mojibake text normalization for Turkish/special characters.
    PlanX Urban Resilience 1.23.0 - Four advanced modules: cross-hazard correlation, temporal x spatial fusion, facility location, lifecycle economics.
        - Multi-Hazard Correlation Matrix: Pearson + Spearman correlation between N numeric score fields on the same layer; standalone HTML report with colour-coded heatmap and top-10 correlations table, plus a long-format QGIS table sink.
        - Risk Trend Hot-Spot (Gi* x Delta): fuses temporal trend (delta between two snapshots) with spatial clustering (local Gi* on the later snapshot) into a single label per unit (Rising / Stable / Cooling hot or cold spot, Hot/Cold no cluster, or Not significant). Pair with the resilience_time_series outputs.
        - Optimal Shelter Siting: greedy maximal-coverage location problem. Picks K candidate sites that cover the most uncovered population within a max distance; optional existing-shelter layer pre-covers some demand. Per-step coverage curve in the log.
        - Lifecycle Cost Calculator: per planning unit NPV across capex + annual opex + periodic maintenance + replacement, over a configurable horizon (default 25 years) and discount rate. Outputs lc_capex_npv, lc_opex_npv, lc_maintenance_npv, lc_replacement_npv, lc_total_npv and lc_annualised (equivalent flat annual cost). Optional polygon-area scaling for per-m^2 inputs.
        - Provider and dashboard module catalog updated. Suite total: 43 algorithms.
    PlanX Urban Resilience 1.22.0 - Four advanced modules: 3D City bridge, multi-objective optimization, temporal aggregation, point-to-surface interpolation.
        - 3D Risk Volume Export: scored polygon -> GeoJSON in EPSG:4326 with extrusion_height (= score x scale) and color_hex (Yellow-Red, Blue-Red, or Greys ramps) per feature. Drops straight into the PlanX 3D City Viewer / Three.js / deck.gl / Cesium. Optional base-height field is additive.
        - Pareto-Optimal Intervention Selector: non-dominated sorting on (cost, benefit). Outputs pareto_rank (1 = first frontier, 2 = next, etc.), pareto_dominated and pareto_dominates counts. rank == 1 set is the budget-bounded best pick.
        - Multi-Period Hazard Frequency Aggregation: collapses 2-8 source hazard layers (temporal snapshots, magnitude bins, climate scenarios) into one composite per planning unit. Outputs hf_frequency, hf_mean, hf_max, hf_min, hf_composite (Mean / Max / Frequency-weighted mean), hf_class.
        - Vulnerability Surface (IDW): interpolates sparse point samples into a polygon grid using inverse-distance weighting. Per-cell vs_value, vs_class, vs_n_points. Optional search radius and neighbour cap for bounded runtime.
        - Provider and dashboard module catalog updated. Suite total: 39 algorithms.
    PlanX Urban Resilience 1.21.0 - Four advanced modules: spatial outliers, hazard cascading, planning economics, criticality overlay.
        - LISA Local Moran's I: companion to Hot-Spot Gi*. Outputs lisa_z, lisa_lag, lisa_I, lisa_pvalue, lisa_quadrant (HH/LL/HL/LH/Not significant). The HL and LH outlier classes are the under-served pockets Gi* cannot expose.
        - Seismic Cascade (Debris -> Network Degradation): pipes seismic debris polygons into the road graph, drops blocked edges, re-runs multi-source Dijkstra and compares pre- vs post-hazard accessibility per origin. Outputs cas_pre_dist, cas_post_dist, cas_delta_dist, reachable flags and a status label (Newly cut off / Always cut off / Worse / Same / Recovered). Genuine cross-domain hazard chain modelling.
        - Cost-Benefit Analyzer: cost = unit_cost x area; benefit = score x reduction_factor x population. Outputs cb_cost, cb_benefit, cb_ratio, cb_priority_rank. Log prints the cumulative-benefit curve (10/25/50/75/90 %% breakpoints) so planners can find the budget-breakpoint that captures most of the benefit.
        - Critical Infrastructure Exposure: combines hazard score and facility criticality into a single ci_combined score (0-100). Per-facility ci_hazard, ci_criticality, ci_combined, ci_exposure_class plus top-10 and mean-by-class log breakdown.
        - Provider and dashboard catalog updated.
    PlanX Urban Resilience 1.20.0 - Four new algorithms pushing the suite to elite scientific + planning-actionable level.
        - Hot-Spot Cluster Analysis (Getis-Ord Gi*): identifies statistically significant hot and cold spots in any score field. Outputs gi_zscore, gi_pvalue and a seven-class label (Hot-99/95/90, Not significant, Cold-90/95/99). Pure-Python implementation with QgsSpatialIndex neighbour lookup, supports inverse-distance and fixed-band spatial weights.
        - Population-Weighted Exposure: translates a 0-100 hazard score into per-unit pop_exposed (= score/100 × pop). Population comes from a field on the same layer or from a separate point/polygon layer. Prints a study-area summary in the log.
        - Bivariate Choropleth Symbology: classifies units into Low/Mid/High on a risk axis and a vulnerability axis using tertile breaks, then applies a Stevens-style 3x3 bivariate palette via a categorised renderer. Adds bv_class / bv_risk_bin / bv_vuln_bin fields so the symbology survives layer-style export.
        - Recommended Actions Report (Markdown): turns a scored layer with optional class and dominant-hazard fields into a structured Markdown report (class distribution, top-N units table, curated intervention checklists per hazard family - heat, flood, seismic, social, air, drought, emergency).
        - Provider and dashboard catalog updated to expose all four new modules.
    PlanX Urban Resilience 1.19.1 - Hub-scan hygiene patch.
        - Removed the build_local_zip.ps1 local-dev script from the shipped zip (flagged as suspicious file by Hub security scan in 1.19.0).
        - Hardened packaging/zip_hub.py to skip .ps1, .bat, .exe, .lnk, .dll, .pyc and similar non-plugin files by default so no future Hub upload accidentally ships executables.
        - Cleaned the 32 flake8 issues from the Hub Code Quality report: removed unused imports (dashboard.py, heat, scenario_comparison, pdf_atlas), removed dead 'ys' list in pluvial flood, fixed E302/E701/W293 in monte_carlo_debris (one statement per line, two blank lines before class, blank-line whitespace).
        - Added setup.cfg disabling W503 (modern PEP 8 prefers break-before-operator) and E203 (Black-style slicing).
    PlanX Urban Resilience 1.19.0 - Join scores to units + helpers rollout across hazard modules.
        - Join Hazard Scores to Planning Units: up to five intersecting score layers on planning-unit polygons.
        - processing/_helpers.py extended; heat/flood/social/air/drought/emergency/adaptation/recovery use shared clamp and class helpers.
        - build_local_zip.ps1 for local Hub zip without git.
    PlanX Urban Resilience 1.18.0 - Risk-recovery matrix, directional roads, helper rollout.
        - Risk-Recovery Priority Matrix: combine hazard/adapt score with recovery capacity deficit; rr_priority_score and intervention class.
        - Directional road network: optional direction field (both/ft/bt) on evacuation and network criticality via build_road_graph.
        - Synthetic roads include direction (North connector one-way ft); equity and scenario sensitivity use processing/_helpers.
    PlanX Urban Resilience 1.17.0 - Arrival curves, PDF presets, shared helpers, network refactor.
        - Evacuation Shelter Arrival Summary: per-shelter timestep/minute arrival table plus optional HTML from evacuation origin outputs.
        - Resilience PDF Atlas: map-book presets (A3 standard, A4 compact, A3 studio 300 dpi).
        - processing/_helpers.py shared clamp/risk-class/weight parsers; network_accessibility uses _network_graph.
    PlanX Urban Resilience 1.16.0 - Evacuation v2: road capacity mapping and timestep queue.
        - build_road_graph now maps per-edge capacity from a numeric field or road-class lookup (arterial/collector/local defaults).
        - Evacuation Time Simulation: optional timestep queue (minutes > 0) defers departures when segment flow exceeds per-interval capacity; new origin fields travel_min, evac_delay_min, evac_timestep; edge outputs trip_count, load_pop, congestion_pct.
        - Synthetic demo roads include capacity_ph and class for evacuation smoke tests.
    PlanX Urban Resilience 1.15.0 - Evacuation simulation and shared network graph module.
        - Evacuation Time Simulation: greedy capacity-constrained shelter assignment on the road network; outputs assigned origins, shelter utilization, edge load/bottleneck scores; P50/P95 evacuation times in the log.
        - Shared processing/accessibility/_network_graph.py; network_criticality refactored to use it.
        - Synthetic demo buildings now include a population field for evacuation smoke tests.
    PlanX Urban Resilience 1.14.0 - PDF atlas wired up, scenario sensitivity, dashboard sync.
        - Resilience PDF Atlas: multi-page A3 QgsLayout export (cover, overview, per-class maps) now registered in Processing and the dashboard.
        - Scenario Sensitivity Analysis: Latin Hypercube weight perturbation with baseline, mean, std, p05/p95, range and stability score per unit.
        - Dashboard: Recovery Capacity Index, Time-Series Tracker and PDF Atlas module cards added (were missing from v1.13).
        - Future-modules hint updated (evacuation simulation, GEE connectors remain on the roadmap).
    PlanX Urban Resilience 1.13.0 - Six new algorithms across synthesis, emergency and reporting.
        - Multi-Hazard Composite Index: weighted composite, dominant hazard label, Shannon diversity, top drivers, data-gap count.
        - Equity-Adjusted Adaptation Priority: equity factor from SVI, normalized adjusted priority (0-100) + class.
        - Network Criticality (edge betweenness proxy): origin to nearest-destination shortest-path edge usage; outputs usage_count and criticality_score 0-100 per edge.
        - Climate Projection Overlay: amplification factor (built-in 1.5C/2C/3C or custom) to a today score, with delta and delta class per unit.
        - Recovery Capacity Index: composite of four offline-derivable proxies (HHI diversity, redundancy, green coverage, social cohesion). Complementary to Adaptation Priority.
        - Resilience Time-Series Tracker: join two snapshots on a stable ID, emit per-unit delta, percent change, trend (Improved/Stable/Worsened), optional target gap.
        - All registered in the Processing provider and the dashboard catalog under Synthesis, Emergency and Report-and-QA groups.
    PlanX Urban Resilience 1.11.0 - Two new synthesis algorithms.
        - Multi-Hazard Composite Index: combine N hazard score fields per planning unit. Outputs weighted composite, class, dominant hazard, Shannon diversity index (single-stress -> multi-stress), top 3 drivers, and data-gap count.
        - Equity-Adjusted Adaptation Priority: multiply a hazard score by an equity factor derived from the Social Vulnerability Index. Surfaces units that are both high-hazard and high-vulnerability.
        - Both algorithms registered in the Processing provider and the dashboard module catalog under the Synthesis group.
    PlanX Urban Resilience 1.10.0 - New icon, dashboard UX overhaul, correctness pass, roadmap.
        - Replaced the seismic-only icon with a new mark representing the full suite: stratified city skyline, sweeping renewal arc and cycle dots on a soft teal-green base.
        - Dashboard: Overview/Modules/Run pages now scroll inside a QScrollArea, fixing overflow on small screens.
        - Dashboard: search bar on the Modules and Run pages filters cards by title, category, inputs and outputs in real time.
        - Dashboard: module cards are grouped by category (Seismic, Heat, Flood, Social, Emergency, Air, Drought, Synthesis, Report and QA) instead of a flat 2-column grid.
        - Seismic / Monte Carlo Debris: replaced hard-coded PyQt5 import with qgis.PyQt (forward-compatible with Qt6 QGIS), added empty-input guard, narrowed bare except clauses, and guarded the field-index lookup.
        - Added ROADMAP.md outlining the next nine algorithm candidates and a suggested release schedule.
        - Added tests/smoke_pipeline.py - one-shot QGIS-console smoke run across seven modules using synthetic inputs.
    PlanX Urban Resilience 1.9.0 - Added Markdown studio brief generation for planning communication.
        - Added Resilience Studio Brief to create first-draft executive summaries, key metrics, class distributions, dominant drivers, limitations, and suggested next actions.
        - Updated dashboard module cards, README, metadata, and Plugin Hub changelog for HTML/Markdown reporting workflows.
    PlanX Urban Resilience 1.8.0 - Added scenario planning template generation.
        - Added Scenario Planning Template to create editable baseline/proposed score worksheets from any planning unit or scored layer.
        - Added intervention labels, scenario metadata, expected reduction, draft status, and notes fields for studio workflows.
        - Updated dashboard guidance, README, metadata, and Plugin Hub changelog.
    PlanX Urban Resilience 1.7.0 - Added QGIS style preset tooling for scored and classified resilience outputs.
        - Added Apply Resilience Symbology for 0-100 risk scores, access classes, scenario change classes, and adaptation priority classes.
        - Added optional QML style export for reusable cartographic presets.
        - Updated dashboard cards, README, metadata, and Plugin Hub changelog.
    PlanX Urban Resilience 1.6.0 - Added network-based emergency accessibility screening.
        - Added Network Emergency Accessibility to compute approximate road-network distance and travel time from origins to shelters or safe assembly areas.
        - Added underserved origin outputs, access classes, snap-distance QA flags, and graph-build feedback.
        - Updated dashboard guidance, README, metadata, and Plugin Hub changelog for the new network workflow.
    PlanX Urban Resilience 1.5.0 - Added reporting and scenario comparison tools for studio-ready outputs.
        - Added Scenario Comparison / Delta Map to compare baseline and proposed 0-100 score fields.
        - Added Resilience Score HTML Report for standalone score summaries, class distributions, and top drivers.
        - Updated dashboard module cards, data readiness guidance, README, metadata, and roadmap.
    PlanX Urban Resilience 1.4.0 - Added synthetic demo data generation and dashboard smoke-test guidance.
        - Added Synthetic Resilience Demo Dataset Processing algorithm for artificial study area, buildings, roads, impervious surfaces, green infrastructure, water, shelters, social units, and sensitive receptors.
        - Added a dashboard Test page that opens the synthetic dataset generator and explains the smoke-test workflow.
        - Updated README, metadata, provider registration, and data readiness guidance for classroom and QA workflows.
    PlanX Urban Resilience 1.3.0 - Added the remaining roadmap modules as offline-first Processing tools.
        - Added Air Quality / Urban Exposure screening for road, source, sensitive receptor, and green buffer inputs.
        - Added Drought and Green Infrastructure Stress screening for parks, canopy patches, impervious context, water access, and tree density.
        - Added Climate Adaptation Priority Synthesis to combine joined 0-100 risk fields into one priority layer.
        - Updated the dashboard, data readiness guidance, README, and Plugin Hub metadata for the expanded eight-module suite.
    PlanX Urban Resilience 1.2.0 - Expanded the suite with Social Vulnerability Index and Emergency Accessibility/Shelter Coverage modules.
        - Added a weighted social vulnerability screening algorithm for neighborhood or census polygons.
        - Added an emergency accessibility and shelter coverage screening algorithm with underserved asset outputs.
        - Updated the dashboard module catalog, data readiness guidance, README, and Plugin Hub metadata.
    PlanX Urban Resilience 1.1.0 - Added QGIS dashboard, Urban Heat Comfort Risk screening, and Pluvial Flood Susceptibility screening modules.
        - Added module cards, project data readiness guidance, and Processing launch shortcuts.
        - Registered heat and flood Processing groups alongside the existing seismic debris module.
    PlanX Urban Resilience 1.0.3 - Standardized author/email metadata, added DEU educational context, marked the plugin stable, and refreshed the Plugin Hub release package.
    PlanX Urban Resilience 1.0.2 - Refreshed the release for Plugin Hub publication.
        - Update package metadata for the next published version.
        - Rebuild the Hub-ready ZIP archive from the current plugin sources.
    PlanX Urban Resilience 1.0.1 - Built a Hub-conformant ZIP package with forward-slash paths.
    PlanX Urban Resilience 1.0.0 - Initial suite release with the seismic debris and evacuation-network module migrated from the former PlanX Seismic Resilience package.
