blob: b5b560f3ec10dd3c486f2b6884886a34ed214536 [file] [view] [edit]
# Sparse strips WebAssembly builds
The build script produces browser-ready non-SIMD and SIMD128 JavaScript and
WebAssembly modules in `target/sparse-strips-wasm`. Pass the module and variant
to build:
```bash
./sparse_strips/web/build_wasm.sh vello_cpu non-simd
./sparse_strips/web/build_wasm.sh vello_hybrid_webgl simd
```
The supported modules are `vello_cpu`, `vello_hybrid_webgl`, and
`vello_hybrid_wgpu`. Both variants use `opt-level=3`, fat LTO, and one codegen
unit.
The script requires the `wasm32-unknown-unknown` Rust target and the
`wasm-bindgen` CLI version used by this workspace:
```bash
rustup target add wasm32-unknown-unknown
cargo install wasm-bindgen-cli --version 0.2.114 --locked --force
```
To build the three SIMD128 modules, report raw and gzip-compressed sizes, and
enforce the committed raw size limits, run:
```bash
./sparse_strips/web/check_wasm_sizes.sh
```
Set `WASM_BINDGEN` to use a `wasm-bindgen` executable that is not on `PATH`.