Sekai

An offline-first native globe package for SwiftUI, rendered with Metal and built for every Apple platform.

SwiftUI package / Swift + Metal

[ SCROLL TO OPEN Sekai ↓ ]

A native globe, composed in SwiftUI

Sekai is an offline-first native globe package for SwiftUI. One bundled Natural Earth atlas drives particles, boundaries, hierarchy, search, labels, and filtering, while SwiftUI owns composition and Metal renders dense geography on supported platforms.

The package exposes camera state, styles, features, filters, and ordered layers as Swift values. A host app can start with a single land-particle layer, then add only the interaction and geographic content it needs.

One reproducible world atlas

Source
Natural Earth 5.1.1 1:10m Admin 0 Map Units, built from a pinned source archive and checksum.
Particles
1,048,576 deterministic equal-area land particles drawn from one master hierarchy.
Hierarchy
Map unit, country, sovereign, continent, region, and subregion filters share the same atlas identities.
Detail
Three vector levels of detail plus localized names, labels, bounds, and political-worldview classifications.
Runtime
The atlas ships inside SekaiKit. Core globe rendering needs no host assets or network connection.

Compose geography as layers

Geography
Particles, boundaries, annotations, routes, polylines, polygons, geodesic circles, heat points, collision-managed labels, and physical boundary lines.
Camera
Orthographic and perspective projections, quaternion rotation, inertial dragging, zoom, feature fitting, and cancellable animated flights.
Interaction
Stable selection and hover identities for atlas regions, annotations, routes, polygons, circles, and custom features.
Performance
Adaptive, exact, and battery-saver policies with deterministic density and render metrics.
Optional modules
Link GeoJSON conversion, Core Location bridging, or development-inspector controls independently from the core package.

iOS, iPadOS, macOS, tvOS, and visionOS use the Metal-backed rendering path. watchOS uses a capped Canvas presentation while preserving the same atlas and public scene model.

Add Sekai with Swift Package Manager

Add the public repository in Xcode, or declare version 1.1.0 or later in Package.swift:

.package(
  url: "https://github.com/Kaizosha/Sekai.git",
  from: "1.1.0"
)

Sekai requires Swift 6.2, Xcode 26 or newer, and iOS, iPadOS, macOS, tvOS, watchOS, or visionOS 26 or newer. Link SekaiKit first, then add only the optional package products your app uses.

Offline core, host-controlled options

Core Sekai needs no account, API key, MapKit setup, JavaScript, WebView, network connection, or location permission. The current package includes no analytics, advertising, tracking, cloud-sync, or telemetry integration.

Location is separate. A host app must explicitly link SekaiLocation, provide the platform usage description, request authorization, and decide when updates begin and end. Host-provided GeoJSON and overlays are processed by the host app, which remains responsible for any separate download, persistence, or sharing behavior.

[ READ THE SEKAI PRIVACY NOTICE → ]

Designed for visualization

[ GEOGRAPHIC DATA NOTICE ]

Sekai's bundled geography is intended for visualization, not navigation, surveying, legal-boundary decisions, or precision GIS work.

Country aggregation and political-worldview classifications follow the bundled Natural Earth source and Sekai's documented filters. Applications that need a particular legal, diplomatic, or map-unit interpretation should select and label that view explicitly.

Texture values are reserved scene schema for a future raster product. The current built-in product is the bundled particle-and-vector atlas; the website does not advertise a raster basemap.

Available under the MIT License

Sekai 1.1.0 is publicly available under the MIT License. Its atlas manifest, source checksums, generator, package code, tests, demo, and documentation can all be inspected in the canonical repository.

008 / SEKAI / EOF