doxa-maps/library/constants
Doxa Maps d431ae5d4d The poster credited Mapbox for tiles OpenFreeMap had served
The footer's attribution is a licence statement, so it has to be true rather than
merely present. posterDefaults ships "(c) Mapbox (c) OpenStreetMap" and any caller
that did not override it printed exactly that -- including country-posters, whose
maps run on the fleet's MapLibre default, where Mapbox serves nothing at all and
OpenFreeMap, OpenMapTiles and OpenStreetMap are the three parties whose licences
actually apply. research-map had a hand-written pair for the two providers, which
was right for research-map and helped nobody else.

The brief said to read it from the style's sources. Checked against the live style
rather than assumed, and it does not work: tiles.openfreemap.org/styles/liberty
declares two sources and NEITHER carries an attribution field. The credit lives in
the TileJSON the vector source points at, which the engine fetches and merges into
the SOURCE OBJECT once it loads. So the style is the request and the source is what
came back, and only the second one knows. map-attribution.js reads the live source
first and falls back to any style-declared value.

The TileJSON value is HTML with anchors and a © entity, and a poster footer is
text, so it is flattened rather than printed raw. Repeated credits collapse. When
nothing can be read -- no map, a style that throws before it has loaded -- it
returns empty and the caller keeps its own string, because a blank licence line is
the one outcome that is never acceptable.

The check uses the real TileJSON string as its fixture. A tidy invented style would
have passed while the real map printed the wrong credit, and its first negative
test is exactly that: reading the style alone returns nothing for OpenFreeMap.
2026-09-28 19:36:58 +00:00
..
cdn.js Every runtime CDN script and stylesheet is an exact version with an integrity hash 2026-09-26 05:50:24 +00:00
mapDefaults.js doxa-maps — portable bundler for embeddable JAMstack maps 2026-09-10 01:53:07 +00:00
posterDefaults.js The poster credited Mapbox for tiles OpenFreeMap had served 2026-09-28 19:36:58 +00:00
posterSizes.js doxa-maps — portable bundler for embeddable JAMstack maps 2026-09-10 01:53:07 +00:00
zoom.js doxa-maps — portable bundler for embeddable JAMstack maps 2026-09-10 01:53:07 +00:00