Geno-2 is an original audiovisual instrument built with Rust + WebAssembly + WebGPU + WebAudio.
It keeps the Geno stack, but shifts into a different artistic direction: shoegaze/ambient tone design and high-energy kaleidoscopic interaction.
- Original visual system: geometric lattice distortion, ripple propagation, and audio-coupled swirl field.
- Original gesture model: click for flare stacks; hold+drag to carve/reseed the field with strong musical and visual impact.
- Ambient-forward mix design with dynamic leveling, compression, and FX mapping.
- Deterministic build/deploy pipeline with CI checks on Rust + browser integration tests.
- Rust 2021
- WebAssembly (
wasm-pack) - WebGPU (
wgpu, WGSL shaders) - WebAudio (procedural synthesis + FX graph)
- Cloudflare Workers static hosting (
wrangler)
A..G: set root note1..7: set mode8/9/0: alternate pentatonic tuningsP: reset to C Major pentatonic presetR: reseed sequenceT: random root + modeSpace: pause/resume,/.: detune (holdShiftfor fine adjustment)/: reset detune←/→: tempo↑/↓: master volumeM: mute/unmute masterEnter/Esc: fullscreenH: toggle help panelClick: flare chord stack + shockwaveHold + Drag: carve/warp field + continuous reseedingRelease: drop carve into new root/mode with accent burst
2-finger pinch: adjust BPM (spread = faster, pinch = slower)2-finger rotate: adjust detune (twist clockwise = sharp, counter-clockwise = flat)3-finger swipe left/right: cycle root note (circle-of-fifths order)3-finger swipe up/down: cycle scale mode (Ionian through Locrian)4-finger tap: randomize root + mode + reseed all voices5-finger tap: toggle pause/resume
Requirements:
- Node.js 20+
- Rust stable
wasm-pack
Commands:
npm installnpm run devnpm run check
npm run check runs:
cargo fmt --checkcargo clippy -- -D warningscargo test- production wasm build
- browser integration test (
web-test.js)
- Build:
npm run build - Deploy:
npx --yes wrangler deploy - CI deploys on
mainonly whenCLOUDFLARE_API_TOKENandCLOUDFLARE_ACCOUNT_IDare configured.
