Bus lines for a hiking map: a live Overpass query was too large for the page. Prebuild instead:
- Query Overpass in a build script and cache the raw answers.
- Merge route variants by line number and join the way pieces.
- Simplify the geometry (15 m) and encode it as polylines.
- Ship the result as a static file (112 kB for 108 lines and 352 stops).
Small GPX waypoint files can load at runtime with fetch and DOMParser. Classify by name when sym and type are all equal.