|
Some checks are pending
build-gate / build (push) Waiting to run
The switch existed and did not reach. resolveMapProvider has long read profile-config.provider -> ?provider= -> window.MAP_PROVIDER, but useMapInstance defaulted `provider` to the LITERAL 'mapbox', so the page switch only reached a map whose bundle happened to pass provider through. MEASURED: 3 of the 11 bundles that mount a map. The other 8 pinned Mapbox whatever the page asked — it LOOKED global and was not. The factory now resolves it when a caller leaves it unset, which moves the decision to the one place every map already goes through. An explicit caller still wins (prayer-walk-planner pins maplibre deliberately), and with no switch set resolveMapProvider returns 'mapbox', so the default is unchanged. DashboardMapPanel collapsed anything that was not the literal 'maplibre' to 'mapbox', which outranked the page switch. But dashboard.config.js pins Mapbox DELIBERATELY — the Driver's ruling for Mapbox Standard's native starfield globe — so that default had to survive. Both hold by putting the page switch BETWEEN the per-element config and the bundle default: 1. profile-config.provider this embed 2. ?provider= / MAP_PROVIDER the page — "swap every map on this site" 3. dashboard.config.js this bundle's shipped default (Mapbox) MEASURED across seven map leaves, default vs ?provider=maplibre, counting requests to api.mapbox.com: doxa-simple-map 21 -> 4 engine swaps country-posters 24 -> 4 engine swaps research-dashboard 25 -> 4 engine swaps (was pinned) doxa-research-map 16 -> 4 engine swaps research-map-plus-grid 16 -> 0 fully keyless my-upg-100-list 19 -> 19 NOT swapped — see backlog regions-dashboard 4 -> 4 no map on that leaf Simple Research reaches ZERO Mapbox requests, which is the case that matters most: it is the one carrying the search bar, and the geocoder is the quota risk (GeocoderComponent's maplibre path still geocodes through Mapbox, so a keyless map with a search bar is not keyless). Two gaps left, both filed rather than hidden: my-upg-100-list bypasses useMapInstance entirely and cannot see the switch, and generated leaves still preload mapbox-gl.js/.css + the geocoder from api.mapbox.com even under maplibre (library downloads, no token, but still a CDN dependency — the composite leaf proves 0 is reachable). The second belongs to the tree verb, which is not mine to change. 22/22 bundles, 7/7 pre, 18/18 post, browser sweep of five StackLayout consumers and all seven studio dashboards. |
||
|---|---|---|
| .. | ||
| src | ||
| dashboard.config.js | ||
| index.html | ||
| index.js | ||
| research-dashboard.meta.json | ||
| research-dashboard.vue | ||