libprocessing is an experimental native library with the goal of supporting the implementation of the core Processing API in a variety of languages. The library is written in the Rust programming language and built on top of the Bevy game engine. libprocessing uses WebGPU as its rendering backend and is designed to (eventually) support desktop, mobile, and web targets.
You'll need to install the Rust toolchain to work on this project. Most users will want to install Rust via rustup, which helps manage Rust toolchain versions.
This project uses just as a command runner. Run just to see available commands.
The processing_wasm crate provides WebAssembly bindings that expose a JavaScript API mirroring the C FFI.
Install wasm-pack:
cargo install wasm-packYou'll also need the wasm32 target:
rustup target add wasm32-unknown-unknownjust wasm-buildThis outputs the package to target/wasm/.
just wasm-serveWe want your help building this library! You can see a list of outstanding tasks in our issues. However, while we're still in the early phases, consider checking in with us first in the #devs-chat channel on Discord to coordinate our efforts.
You can read our project design principles here.