astro-nannou-starter
astro-nannou-starter copied to clipboard
A minimal boilerplate for Astro / Vite with the Nannou creative framework (Rust → WASM). Supports multiple sketches + hot-reload.
Astro x Nannou Starter
https://user-images.githubusercontent.com/603498/210013817-1866e0bb-427f-444b-92cb-172f94d26cb0.mov
# 0a. Rust language tools
open https://www.rust-lang.org/tools/install
# 0b. wasm-pack
open https://rustwasm.github.io/wasm-pack/installer
# 1. rsw = rs(rust) → w(wasm)
cargo install rsw
# 2. Install NodeJS dependencies
pnpm i
# 3a. Launch AstroJS + rsw (dev.)
pnpm dev:rsw
# 3b. Build all (prod.)
pnpm build:rsw
See also the full GitHub workflow: ./.github/workflows/release.yml.
Can be tested locally with Act, a GitHub workflow runner.
🍾 Result

References
- https://github.com/tomoyanonymous/nannou-web-template (w. Webpack)
- https://github.com/rwasm/vite-plugin-rsw
- https://github.com/rwasm/rsw-rs
- https://nannou.cc
- https://github.com/rustwasm/wasm-pack
Would be nice to have
- Dynamic sketch switcher
- Multiple sketch per page (without iframe)