For the last few months I've been building ImmersiveMap - a native Swift + Metal vector-tile map engine for SwiftUI apps. It renders on iOS (UIKit host) and native macOS (AppKit, not Catalyst) from the same SwiftUI code, with no WebView and no JavaScript bridge. Today I open-sourced it under MIT.
What it does
- A vector map that renders a globe and a flat map, and continuously morphs between the two as you zoom.
- Runs out of the box with a built-in tile provider - no token, no account.
- Pluggable providers: Mapbox vector tiles and OpenStreetMap / Shortbread.
- Labels, a starfield, avatar / live markers, and a two-tier disk + memory tile cache.
The part I had the most fun with
Instead of hard-switching between a globe and a flat map at some zoom threshold, both render states are always computed and the shaders morph between sphere and plane. There is no visible "switch" moment - the planet just unrolls.
Rendering is also on-demand: the display link is paused unless something actually needs to redraw (interaction, label fades, tile loads), so an idle map costs essentially nothing.
Under the hood: MVT tiles decoded with swift-protobuf, polygons triangulated with earcut, MSDF text labels, a multi-pass render graph.
Quick start
import SwiftUI
import ImmersiveMap
struct ContentView: View {
@State private var camera = ImmersiveMapCameraController()
var body: some View {
ImmersiveMapView()
.cameraController(camera)
.enableCameraUIControls()
.ignoresSafeArea()
}
}
That renders a map with no token required. The same code runs on iOS and macOS.
Honest status
This is early alpha. The public API is not stable, it's not production-ready, and it's not a drop-in replacement for Mapbox, MapLibre, or MapKit. It's a solo project, and I'm sharing it now to get feedback on the rendering architecture and to find out whether a native Metal map engine like this is useful to anyone besides me.
Repo (MIT): https://github.com/artembobkin/ImmersiveMap
Requirements: Swift 6, Xcode 16, iOS 18+, macOS 15+, a Metal-capable device.
I'd love feedback - especially on the Metal pipeline and the globe/flat morph. Happy to answer anything in the comments.

Top comments (0)