navara-usage

Installation
SKILL.md

Using Navara (@navaramap/three)

Navara is a 3D globe map engine: reusable GIS logic lives in a Rust/WASM core, and drawing is delegated to a swappable CG-rendering library. @navaramap/three is the Three.js-based binding (currently the only one; more rendering engines are planned — avoid wording that fixes Navara to Three.js in prose). Its public API is ThreeView plus a declarative Source/Layer/Descriptor model.

Packages

Package What it provides When you need it
@navaramap/three ThreeView (default export), Color, geodetic math utils, MeshDesc/EffectDesc/LightDesc base classes, handle types, built-in attribution UI (view.attribution, on by default) Always
@navaramap/three-default-plugin DefaultPlugin, DefaultDescriptions (registers ~40 built-in descriptors) Almost always
@navaramap/three-default-descs Individual descriptor classes/types (BoxMeshDesc, SSREffectDesc, SunLightDesc, …) Typed addMesh<T>/addEffect<T> calls, or manual registration without DefaultPlugin
@navaramap/three-plugins PersonViewPlugin, OverlayPlugin, CesiumIonPlugin, TileJsonPlugin Per feature
@navaramap/three-api Standalone GIS math (no view) Pure geometry computation

Most apps need only the first two.

Install every package your code imports from, explicitly. @navaramap/three-default-plugin depends on @navaramap/three-default-descs, but importing descriptor types from the latter with only the plugin installed fails to resolve under pnpm (transitive deps are not importable). Peer deps to install alongside: three, postprocessing.

The canonical setup order (invariant)

Installs
1
Repository
maplibre/navara
GitHub Stars
329
First Seen
3 days ago
navara-usage — maplibre/navara