@polaris-ecosystems/polaris-globe
v0.1.3
Published
High-performance WebGPU/WebGL2 globe renderer — drop-in CesiumJS replacement with a Rust/WASM core
Downloads
361
Readme
polaris-globe
High-performance WebGPU/WebGL2 globe renderer -- a drop-in replacement for CesiumJS with a Rust/WASM performance core and Bun as the development runtime.
Architecture
TypeScript owns the public API, DOM/WebGPU context, and async glue. Rust (compiled to WASM) owns all per-frame compute, binary format decoding, and measurement math. See specs/architecture.md for the full layer diagram and crate dependency graph.
Crates
| Crate | Description |
|---|---|
| polaris-math | Cartesian/Matrix/Quaternion, ellipsoid, geodesy, coordinate transforms |
| polaris-culling | Frustum, horizon, and occlusion culling; BVH |
| polaris-ffi | wasm-bindgen glue, type conversions, shared buffer management |
| polaris-terrain | Quantized-mesh decode, heightmap decode, mesh stitching |
| polaris-tiles | 3D Tiles 1.0/1.1 traversal, implicit tiling, tile content dispatch |
| polaris-gltf | glTF 2.0/GLB parsing, Draco, meshopt, KTX2 |
| polaris-czml | CZML parsing and property interpolation |
| polaris-geojson | GeoJSON, TopoJSON, KML parsers |
| polaris-meshing | Polygon triangulation, polyline tessellation |
| polaris-picking | Ray-geometry intersection, drill-pick |
| polaris-provenance | wf_provmap_v1 parser, element ID hash |
| polaris-metrology | Error-propagating measurements, colormap LUTs |
| polaris-capture | waveform-mobile bundle reader, depth/IMU parsing |
| polaris-headless | Headless rendering binary for CI visual regression |
Quick Start
# Install dependencies
bun install
# Run Rust tests
cargo test --workspace
# Run TypeScript tests
bun test
# Build everything (WASM + TypeScript)
bun run buildSpecs
- Architecture
- M0 -- Foundations
- M1 -- Globe & Imagery
- M2 -- Terrain & 3D Tiles
- M3 -- Entities & DataSources
- M4 -- Parity Freeze
- M5 -- Fallback & Native
License
MIT OR Apache-2.0
