https://github.com/cesiumgs/cesium-wasm-utils
https://github.com/cesiumgs/cesium-wasm-utils
Last synced: 12 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/cesiumgs/cesium-wasm-utils
- Owner: CesiumGS
- License: apache-2.0
- Created: 2024-12-02T17:25:21.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-04-25T17:31:55.000Z (about 1 year ago)
- Last Synced: 2025-06-06T21:45:47.339Z (about 1 year ago)
- Language: Rust
- Size: 85.9 KB
- Stars: 5
- Watchers: 8
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGES.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# cesium-wasm-utils

CesiumJS is a JavaScript library for creating 3D globes and 2D maps in a web browser without a plugin. It uses WebGL for
hardware-accelerated graphics, and is cross-platform, cross-browser, and tuned for dynamic-data visualization.
Built on open formats, CesiumJS is designed for robust interoperability and scaling for massive datasets.
The `cesium-wasm-utils` mono-repository contains utilities for CesiumJS written in WebAssembly (Wasm) for
performance-critical tasks.
**NOTE**: This repository is only required for development of these WebAssembly packages. If you are a CesiumJS user or
contributor, you do not need to clone this repository. Instead, follow the instructions in
the [CesiumJS README](https://github.com/CesiumGS/cesium/blob/main/README.md).
## Packages in this Repository
- [wasm-splats](wasm-splats/README.md): High-performance algorithms used in the rendering of Gaussian Splats in
CesiumJS.
# Get Started
These instructions assume that you already
have [CesiumJS](https://github.com/CesiumGS/cesium/blob/main/README.md#rocket-get-started) configured on your system.
## Prerequisites
- [Node.js](https://nodejs.org/en/download/) v22 or later.
- [Rust](https://www.rust-lang.org/tools/install) v1.55 or later.
- [wasm-pack](https://rustwasm.github.io/wasm-pack/installer/) v0.13 or later.
### Installation recommendations
#### Node.js
##### Windows
On Windows, we recommend using [chocolatey](https://chocolatey.org/) to install Node.js.
```sh
choco install nodejs
```
##### Linux and macOS
On Linux and macOS, we recommend using [nvm](https://github.com/nvm-sh/nvm) to install Node.js.
See the [nvm README](https://github.com/nvm-sh/nvm/blob/master/README.md) for installation instructions.
#### Rust
On all platforms, we recommend using [rustup](https://rustup.rs/) to install Rust.
See the [rust website](https://www.rust-lang.org/tools/install) for installation instructions.
#### wasm-pack
On all platforms, we recommend using the wasm-pack installer to install wasm-pack.
See the [wasm-pack website](https://rustwasm.github.io/wasm-pack/installer/) for installation instructions.
## Get the Code
### You have commit access to `cesium-wasm-utils`
Clone the repository:
```sh
git clone git@github.com:CesiumGS/cesium-wasm-utils.git
```
### You do not have commit access to `cesium-wasm-utils`
You need to fork `cesium-wasm-utils`:
1. Fork the repository on GitHub.
2. Clone your fork, e.g., `git clone git@github.com:yourusername/cesium.git`.
3. Make changes in a branch, e.g., `git checkout -b my-feature`.
## Generate Documentation and Open in Browser
To generate the documentation for all packages in the workspace and open in your default browser, run:
```sh
cargo doc --no-deps --document-private-items --open
```
## Further Instructions
For further instructions on building and running the packages in this repository, see the README in each package
directory.