hermes-explorigin 81a3da388e
All checks were successful
CI / test-and-build (push) Successful in 47s
Fix layer toggles: malformed GeoJSON geometry + fragile layer loading
Root cause: osm-data.mjs emitted ways with 'out center' (no geometry) as a
flat [lon,lat] labeled 'LineString'. Leaflet reads those as two invalid
points and threw 'Invalid LatLng', which aborted the entire layer load loop
in onMount -- so no layers rendered and the checkboxes all showed unchecked.
Toggling then appeared to do nothing.

Fixes:
- osm-data.mjs: coordsFor/geometryFor now emit a proper Point for any flat
  [lon,lat] (from nodes / 'out center' ways) instead of a malformed LineString
- MapView.svelte: isolate each layer's load + each feature's searchable build
  in try/catch so one bad feature/layer can't break all layers; skip invalid
  bounds in fitBounds
- osm-data.mjs: preserve manifest entries it doesn't generate (e.g. dump
  layers from osm-dump.mjs) so data/osm-dump scripts don't clobber each other
- scripts/test.mjs: add geometry-integrity checks (no malformed coords)

Verified in a real browser: all 6 layers render, each toggles off/on
independently (33361->0 overlays), and the Directions panel loads.
2026-08-09 21:35:47 +00:00
..