An open API service indexing awesome lists of open source software.

https://github.com/cesiumgs/cesium-wasm-utils


https://github.com/cesiumgs/cesium-wasm-utils

Last synced: 12 months ago
JSON representation

Awesome Lists containing this project

README

          

# cesium-wasm-utils

![Cesium](https://github.com/CesiumGS/cesium/wiki/logos/Cesium_Logo_Color.jpg)

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.