Background information
We will enhance the tile server without the intention to change styles in a way that affects user-facing. We should be able to render the same style with the current vector-tile schema, but if there is any change necessary to the current vector-tile schema, it should be reflected in the osm-bright.tm2 style.
What
Adapt current WMF map style to mapbox-gl-style renderer specification.
How
- The new style should use the current vector-tile schema as a baseline, which can be accessed from https://maps.wikimedia.org/osm-pbf/4/1/7.pbf, this endpoint will be later replaced with the output in Tegola.
- The current style is in CartoCSS and should be migrated to mapbox-gl-style spec https://github.com/kartotherian/osm-bright.tm2
- Work will concentrate on including as much pre-processing as possible in the schema rather than the mapbox gl-js code so as to maximize rendering efficiency on the client. A spriteset and a fontset will be created.
- It’s worth mentioning that the legacy code using mapnik and the current style will still be available for backward compatibility until we have a plan to phase it down without affecting the static image endpoint.
- Example
- Static snapshot diagram
- Code versioning will be concentrated in the Kartographer extension, see the WIP patch for the future work https://gerrit.wikimedia.org/r/c/mediawiki/extensions/Kartographer/+/663867/3/mvt-style.json
Open questions
- Does Tangram suffer from the same problems as mapbox-gl regarding Brahmic scripts not being supported? see T270189#6764054
- Is the original artwork for the water waves available?
- Are there any other sprites we need to be aware of other than maki?
- AFAIK maki and osm-bright.tm2 SVGs are the only ones used
- It’s worth mentioning that we’re stuck in old versions of maki while we need to keep mapnik around, see T145475
Acceptance criteria
- Documentation is updated
- Tiles can be rendered client-side with mapbox-gl-style specification without user-facing changes
- Code versioning is hosted in the Kartographer extension
- Changes to the vector-tile schema are applied to the CartoCSS style osm-bright.tm2
- The new WebGL style will be compared with the current production style, like this
- The percentage of difference pixels should be minimal and if it happens should be justifiable, e. g. labels placing, font-size slightly changing, etc
