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.