Prerequisites
EXEPERT builds a WebAssembly module from Rust and bundles a TypeScript/Three.js front end with Vite. You need both a JavaScript toolchain and a Rust toolchain installed.
JavaScript toolchain
| Tool | Version | Notes |
|---|---|---|
| Node.js | >= 20 | Enforced by the engines field in package.json. |
| pnpm | 9.15.4 | The repo pins packageManager: pnpm@9.15.4. |
Enable pnpm through Corepack (bundled with Node):
corepack enable
corepack prepare pnpm@9.15.4 --activate
Rust toolchain
The dev and build scripts compile the simulation crate before starting Vite,
so the Rust toolchain must be present even if you only intend to run the front
end.
| Tool | Notes |
|---|---|
| Rust (stable) | Install via rustup. |
wasm32-unknown-unknown target | Compilation target for the WASM module. |
wasm-pack | Drives the WASM build. |
rustup target add wasm32-unknown-unknown
cargo install wasm-pack
wasm-opt is disabled
rust/brain_sim/Cargo.toml sets wasm-opt = false, so you do not need
Binaryen installed. The unoptimized module is small (~26 KB gzipped).
Verifying the toolchain
node --version # v20 or newer
pnpm --version # 9.15.4
rustc --version # stable
wasm-pack --version
Once these are in place, continue to Installation.