maplibre-rs: Weekly Progress MapLibre

Categories: maplibre-rs
Authors: Max Ammann

maplibre-rs is an upcoming and cross-platform vector map renderer written in Rust. If you want to get in touch with the developers visit the #maplibre:matrix.org chat or our Slack at osmus.slack.com.

๐Ÿ“ฐ News

About one month ago, the MapLibre organisation started to host the maplibre-rs project (formerly known as mapr). I was happy about the opportunity and the support from the Geo community. It seems like I was not the first with the idea of a map rendering engine in Rust. In the discussion #18 a lot of people showed what they have been working on in the past. The maplibre-rs project is the place where we can bundle our efforts to create a new, unique and fun rendering engine.

At about the same time, researchers form the University of Applied Sciences and Arts (HES-SO/HEIG-VD), Switzerland, approached the maplibre-rs project. The maplibre-rs implementation should serve as a proof of concept to show that a true cross-platform experience is possible with WebGPU and Rust.

I’m looking forward what we will create in the following year!

๐Ÿ  House Keeping

The following will summarizes what happened last week on GitHub.

๐ŸŽ New Features

  • #13, #33 Add support for Gradle
    It’s not possible to easily use maplibre-rs on Android. Sadly only fullscreen is supported right now.
  • #15 Add support for XCode and Swift Packages
    It’s not possible to easily use maplibre-rs on iOS and macOS. Sadly only fullscreen is supported right now.
  • #43 Create a proper web package
    It’s not possible to easily use maplibre-rs on the web via an NPM package.
  • #46 Prepare for publishing on crates.io
    Some preparations are finished and maplibre-rs is available here
  • #38 optimize zoom bounds
    Computing some coordinates is faster now.
  • #63 Move platform specific code to web
    Most of the web related stuff lives now in the web crates and no longer in the core crate maplibre.

๐Ÿ”ง Fixes

  • #8 Rename to maplibre-rs

๐Ÿ“„ Documentation

  • #52 Add packaging Documentation
  • #54 Improve the MacOS documentation

๐Ÿงต Current Discussions

  • #18 Looking forward What’s up in the mapping community?
  • #32 Should the map be controlled from rust or from higher level languages? Input handling of maplibre-rs.
  • #49 Introduce yourself! Who are you?

Some architectural discussions:

  • #75 Usage of bevy game engine
  • #60 Requirement of cross-origin isolated
  • #83 Potential memory allocation issues on WASM

๐Ÿ‘‹ New Contributors

  • @Drabble: Thanks, for working on the documentation and testing maplibre-rs on different platforms!
  • @FabianWildgrube: Thanks for experimenting with text rendering!
  • @nyurik: Thanks, for reviews and optimizations!
  • @drwestco: Thanks, for the awesome new logo for maplibre-rs!
  • @vladdoster, @hdevalence: Thanks for improving the documentation!