Skip to content

feat(map): serve facade_scan and incident layers from the tileserver - #290

Merged
yorickdewid merged 1 commit into
mainfrom
feat/dynamic-incident-facade-sources
Aug 6, 2026
Merged

feat(map): serve facade_scan and incident layers from the tileserver#290
yorickdewid merged 1 commit into
mainfrom
feat/dynamic-incident-facade-sources

Conversation

@yorickdewid

Copy link
Copy Markdown
Contributor

Adds the five remaining static sources to dynamicSources so they are added via their TileJSON endpoint on tiles.fundermaps.com instead of the raw Spaces bucket.

Backed by Laixer/FunderMapsWorker#73 (create_facade_scan_tiles.sql, create_incident_tiles.sql), which moves facade_scan and the four incident tilesets off the nightly tippecanoe build — ~40 of the ~50 minutes process_mapset spends every night, for 8,774 features.

No layer config changes

The MVT layer names match the retired tileset names, and every config already uses source == source-layer == tileset name. All ten affected configs (facade-*, skewed-*, incident*) are untouched.

Rollback

This is now every source the configs reference, so the static branch below is only reachable as a rollback. It — and the sourceZoomLevels overrides it needs — are deliberately kept, so rolling back is one name off the list rather than a logic redeploy. Both can go once the cutover has held.

Behaviour change

The incident sources now carry municipality_id / district_id / neighborhood_id, which the static tiles never had. The geofence in useGeographyFilter.ts builds any(match(<id>, fence), !has(<id>)), so features missing the id were always shown.

On Schiedam publiek — public, fenced to GM0606 via the client-side override in store/mapsets.ts, and it includes the incident layer — that takes the layer from all 2,728 Dutch incidents down to Schiedam's 216. See the Worker PR for the full write-up.

Verification

vue-tsc --noEmit and eslint both clean.

🤖 Generated with Claude Code

Adds the five remaining static sources to dynamicSources so they are
added via their TileJSON endpoint on tiles.fundermaps.com instead of the
raw Spaces bucket. Backed by the new maplayer function sources in
FunderMapsWorker (create_facade_scan_tiles.sql, create_incident_tiles.sql).

No layer config changes: the MVT layer names match the old tileset names,
and every config already uses source == source-layer == tileset name.

This is now every source the configs reference, so the static branch is
only reachable as a rollback. Keeping it (and the sourceZoomLevels
overrides it needs) means a rollback is one name off the list rather than
a logic redeploy; it can be removed once the cutover has held.

Note: the incident sources now carry municipality_id/district_id/
neighborhood_id, so the existing geofence starts applying to them. On
'Schiedam publiek' (public, fenced to GM0606) that takes the incident
layer from all 2,728 Dutch incidents down to Schiedam's 216.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@yorickdewid
yorickdewid merged commit dd2a3e6 into main Aug 6, 2026
4 checks passed
@yorickdewid
yorickdewid deleted the feat/dynamic-incident-facade-sources branch August 6, 2026 14:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant