navigator/static/data/_index.json
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

64 lines
1.4 KiB
JSON

[
{
"name": "tulsa-dump",
"label": "Tulsa OSM (dump)",
"category": "dump",
"layerType": "poi",
"color": "#8b5cf6",
"featureCount": 12853,
"path": "/data/tulsa-dump-poi.geojson",
"poiPath": "/data/tulsa-dump-poi.geojson",
"graphPath": "/data/tulsa-dump-graph.json",
"graphNodeCount": 55334
},
{
"name": "tulsa",
"label": "Tulsa, Oklahoma",
"category": "osm",
"layerType": "mixed",
"bbox": [
35.9,
-96.1,
36.3,
-95.7
],
"featureCount": 20496,
"path": "/data/tulsa.geojson"
},
{
"name": "my-places",
"label": "My Places",
"category": "custom",
"layerType": "poi",
"color": "#e11d48",
"featureCount": 4,
"path": "/data/custom/my-places.geojson"
},
{
"name": "districts",
"label": "Districts",
"category": "custom",
"layerType": "zone",
"color": "#0ea5e9",
"featureCount": 2,
"path": "/data/custom/districts.geojson"
},
{
"name": "trails",
"label": "Trails & Routes",
"category": "custom",
"layerType": "path",
"color": "#22c55e",
"featureCount": 1,
"path": "/data/custom/trails.geojson"
},
{
"name": "rogers-county",
"label": "Rogers County",
"category": "custom",
"layerType": "poi",
"color": "#f59e0b",
"featureCount": 7,
"path": "/data/custom/rogers-county.geojson"
}
]