MapLibre Newsletter May 2024

Categories: Newsletter
Authors: Oliver Wipfli Harel Mazor Bart Louwers Yuri Astrakhan

MapLibre Newsletter - May 2024

Mierune, our first-ever sponsor, has made a donation again to support MapLibre in 2024 for the third year in a row. Thank you so much Mierune!



MapLibre Tile Format - MLT

In a monthly MapLibre meeting several months ago, Markus Tremmel presented his research on a new vector tile format and how it might outperform conventional Mapbox Vector Tiles (MVT). Microsoft has now contracted Stamen for a proof of concept that will focus on tile size benchmarks and JavaScript decoding performance.

We migrated Markus’ private GitHub repository to the newly created maplibre-tile-spec repository where you will find all ongoing coding work. Discussions are also taking place in our open #maplibre-tile-format channel in the OSMUS slack.

We chose the file suffix .mlt for this new experimental vector tile format to distinguish it from the existing .mvt format. MLT tiles already achieve up to 6x size reduction compared to MVT tiles for large tiles. Planned improvements include zero-copy direct-to-GPU pre-tessellated geometries, support for more complex nested types and lists, linear referencing as well as m-values.

Flutter

We are happy that two new people volunteer to help maintain maplibre-flutter-gl: Joscha Eckert and Peter Leibinger. Welcome!

MapLibre Native

MapLibre Native is used in production at our sponsors AWS and Meta and these large-scale deployments with many different mobile devices can expose rare, hard-to-reproduce ’long-tail’ crashes. We are committed to the stability of the library and welcome bug reports for such crashes. To investigate these issues, we require a symbolicated crash report which can be generated using the debug symbols provided with the library for iOS and Android. More information can be found on the GitHub wiki (iOS and Android).

MapLibre Native Android 11.0.0 was released. The documentation was updated with the new package prefix.

This month, several iOS patch releases were made as well as a pre-release for Android (e.g. #2442, #2395, #2379). More stability improvements are underway.

Stefan Karschti, one of the developers that implemented Metal support for MapLibre Native, has left the Metal team (a.k.a. MapLibre Native Team). Stefan, thank you for your many contributions! We are happy that you want to continue being a member of the MapLibre community!

One way to ensure MapLibre Native and MapLibre GL JS remain interoperable is to make sure we share the same render tests. Storing the render tests in a shared repository would complicate pull requests too much, so instead we wrote a script that we periodically run to check which render tests are missing in each repo. The result is a render test parity status report with corresponding tracking issue.

Some guides have been added to the iOS Documentation demonstrating how to use the library with SwiftUI. People who are familiar with using MapLibre Native on iOS are invited to make a PR to add more guides to the DocC-based documentation site.

Are you using MapLibre Native? If yes, please leave a comment on the discussion thread on GitHub.

MapLibre GL JS

We have released four (!) versions this month: 4.2.0, 4.3.0, 4.3.1, 4.3.2. We finally added support for the distance expression that was missing in terms of parity between web and native, thus making web a superset of native when it comes to expression support - meaning that all the styles that work for native should work for web as well and look similar. Thanks to Bart Louwers we now can properly track this with the parity script. In the style spec documentation website we added links to open GitHub Issues about feature parity between MapLibre Native and MapLibre GL JS.

As part of the globe effort there was a need to fix the collision boxes bugs. Jakub, who is making great progress with the globe code, has been able to port these fixes to the main version, making the collision boxes experience a lot better.

The globe is in its final stretch now. Most of the issues have been fixed and most map features and style are supported. There is still work to be done but you can admire how nicely it looks already now:



A globe view screenshot from Pull Request #4067 with different debug labels.

There are some minor changes with rendering we expect to introduce in the next version related to brackets and new lines so keep an eye for those.

Regarding Terrain3D, we have fixed most of the issues with movements when terrain is on so now the panning and pinching is much smoother.

Overall, this month was amazing in terms of contribution from the community. We see that the library is steadily gaining momentum and we would like to thank the community for upstreaming all their work!

Next Meetings and Conferences

You are invited to join our monthly meetings as always on the second Wednesday of the month. Zoom links will be posted in the MapLibre Slack channel.

  • MapLibre Navigation, Wed June 12th, 2024, 6 PM CEST
  • MapLibre Native, Wed June 12th, 2024, 7 PM CEST
  • MapLibre GL JS, Wed June 12th, 2024, 8 PM CEST

Also if you want to meet some MapLibre community members in person you can do so at the following events: