MapLibre Native FFI
MapLibre Native FFI provides an experimental C API for MapLibre Native. It targets low-level language bindings and host integrations that need a C boundary instead of direct C++ interop.
The API exposes MapLibre Native concepts directly. Framework concerns such as gestures, widgets, declarative UI, and application lifecycle integration belong in downstream adapters.
Use the Docs
Section titled “Use the Docs”- Start with Concepts to understand the runtime, map, render target, ownership, threading, and host integration model.
- Read the Usage guides for integration tasks.
- Consult the API Reference for declarations, ownership rules, and status values.
- If you are contributing, read the Development overview first.
Status
Section titled “Status”MapLibre Native FFI is pre-1.0. The C ABI is unstable while mln_c_version()
returns 0.
The C API covers most of the MapLibre Native API surface. Advanced extension APIs, including custom layers and shader registry access, are not yet included.
Legend: 🟢 built and tested in CI; ❌ not yet implemented.
| Platform | OpenGL | Vulkan | Metal | WebGPU |
|---|---|---|---|---|
| Linux | ❌ #23 | 🟢 | - | ❌ #37 |
| Android | ❌ #24 | ❌ #24 | - | ❌ #37 |
| macOS | - | 🟢 | 🟢 | ❌ #37 |
| iOS | - | - | ❌ #25 | ❌ #37 |
| Windows | ❌ #22 | ❌ #21 | - | ❌ #37 |