Releases: WorldFishCenter/coasts
Releases · WorldFishCenter/coasts
Release list
v0.4.1
Improvements
- PDS activity filter: H3 effort cells and fishing grounds are now pre-filtered to
unique_trips ≥ 3globally, removing low-confidence single-visit cells from all layers, legends, and stats. avg_hours_per_dayheight calibration: Fixed 3D column heights for the Avg Hrs / Active Day metric. The previous data update changed its range from 0–0.4 to 0–17 (correct denominator:fishing_hours / n_active_days). Heights now use a fixed semantic ceiling (75 h) aligned to the visual scale of the Total Hours metric.- Metric definitions updated for backend fix:
avg_hours_per_daynow correctly represents fishing intensity per active day (fishing_hours / n_active_days), not a diluted daily average over the entire study period.constancyis confirmed asn_active_days / n_total_days(study period ≈ 2023–present; typical range ≤ 0.41). - Metric labels and formats: Renamed
avg_hours_per_dayUI label to "Avg Hrs / Active Day"; addedh/dayandhunit suffixes to relevant formatters;constancyformat precision increased to 4 decimal places. - Glossary expanded: Added authoritative definitions for Avg Hrs / Active Day, Constancy, Unique Trips, and Active Days (including formulas and typical ranges) to
GLOSSARY_TERMSandLAYER_METADATA. - Tooltip deduplication: Activity tooltips (H3 cells and fishing grounds) no longer repeat the selected metric in the context rows below — the chosen metric appears once at the top, remaining context fields follow.
- Data dictionary updated:
DATA_DICTIONARY_ROWSandLAYER_METADATAnotes now reflect corrected formulas and theunique_trips ≥ 3filter.
v0.4.0
New Features
- Whole-app clarity system: Added shared metadata in
src/utils/metricMetadata.jsto define glossary terms, metric definitions, layer semantics, tooltip field standards, and data dictionary mappings from UI labels to source fields/transforms. - In-app docs hub: Added
/docsroute with anchored sections (Data Sources, Metric Definitions, Layer Interpretation, Methodology, Limitations, Glossary) and direct links from map UI. - Map inline understanding panel: Added
MapClarityPanelwith “What am I seeing?” context, layer encoding summaries, and deep links to docs.
Improvements
- Map help control redesign: Replaced the persistent “What am I seeing?” panel with a compact help icon and dismissible popover to prevent map occlusion.
- Metric naming consistency hardening: Normalized metadata display aliases so map/sidebar/country/docs consistently render human-readable metric labels and descriptions.
- Docs readability polish: Updated docs hub data-source formatting and included metric cadence in definitions.
- Legend clarity upgrade: Enhanced legend now explains quantile semantics for map and activity layers, exposes docs guide links, and shows a
Data as offreshness label. - Tooltip standardization: H3 and grounds tooltips now consistently display selected activity metric first with unified formatting and clearer ordering.
- Naming consistency refactor: Migrated metric formatter source-of-truth to shared metadata and aligned label/unit/formula usage across map, legend, and docs.
Trust and Validation
- QA guardrails command: Added
npm run qa:clarity(scripts/qa/checkClarityGuardrails.js) to verify metric unit metadata, tooltip-field coverage, required docs anchors, and docs-link integrity from map UI. - Developer dictionary artifact: Added
docs/data-dictionary.mdfor human-readable glossary + source mapping reference.
v0.1.0
New Features
- GAUL admin level switch: Users can switch between Admin 1 (provinces) and Admin 2 (districts). The app loads
map_gaul1.json,map_gaul2.json,ts_gaul1.json, andts_gaul2.json; default is Admin 2. Selection and comparison panels are level-aware. - Data service GAUL1/GAUL2 API: New loaders (
loadMapDataGaul1,loadMapDataGaul2,loadTimeSeriesGaul1,loadTimeSeriesGaul2), validators, and helpers (getTimeSeriesKeyGaul1,getTimeSeriesForGaul1,getLatestMetricsGaul1,getAverageMetricsInRangeGaul1,getRegionKey(props, gaulLevel)).
Improvements
- Selectable metrics: CPUA and RPUA are hidden from the metric selector; only CPUE, RPUE, and Price are offered.
SELECTABLE_METRIC_IDSinformatters.jscontrols the list. - Documentation:
data-models.mdand CLAUDE.md/AGENTS.md updated for GAUL-suffixed data and admin level behavior.
Bug Fixes
- (None in this release.)