Rust codec

← Back to MapLibre Tile Format roadmap

Rust codec

The Rust implementation is our newest implementation for MLT, providing both encoder and decoder in a single workspace. Comparing with the other implementations, we offer a memory safe, more performant, and easy-to-use codec for MLT. Given the things we learned from the Java encoder, we made significant encoding size improvements too, next to the advancements in decoding performance.

It is the foundation other languages consume via FFI bindings:

  • C / C++ headers - generated via Diplomat, with a CMake demo and integration tests
  • Java bindings - generated via Diplomat
  • Kotlin bindings - generated via Diplomat
  • Python bindings - mlt-py via PyO3
  • WebAssembly bindings - mlt-wasm