#!/usr/bin/env bash # Build the wasm bundle and copy it into ./web so you can serve that directory. # # Requires: wasm-bindgen-cli installed (`cargo install wasm-bindgen-cli`) # and the wasm32 target (`rustup target add wasm32-unknown-unknown`). set -euo pipefail cd "$(dirname "$0")" MODE="${1:-release}" case "$MODE" in release) cargo build --target wasm32-unknown-unknown --release --lib WASM="target/wasm32-unknown-unknown/release/voxel_game.wasm" ;; debug) cargo build --target wasm32-unknown-unknown --lib WASM="target/wasm32-unknown-unknown/debug/voxel_game.wasm" ;; *) echo "usage: $0 [release|debug]" >&2 exit 1 ;; esac wasm-bindgen --target web --out-dir web --no-typescript "$WASM" echo echo "Build complete. Serve the web/ directory, e.g.:" echo " python3 -m http.server --directory web 8080" echo "Then open http://localhost:8080/"