A tool that transforms images into string art using a greedy algorithm implemented in Rust, with both web and desktop interfaces.
stringart/- Core Rust package implementing the string art algorithmwasm-stringart/- WebAssembly bindings for the core algorithmsrc-tauri/- Tauri desktop application configurationsrc/- Frontend web application (vanilla JavaScript)docs/- GitHub Pages deployment files
The project uses Tauri to create a desktop application that combines the Rust backend with a web-based frontend:
# Build and run desktop app
npm run tauri devThe web version is automatically deployed to GitHub Pages using GitHub Actions:
- The Rust backend is compiled to WebAssembly using
wasm-pack - The web application in
docs/directory uses the WebAssembly module - GitHub Actions automatically builds and deploys to GitHub Pages on push
- Rust toolchain
- Node.js
- wasm-pack
- Tauri dependencies
- Build WebAssembly module:
cd wasm-stringart
wasm-pack build- Run web version locally:
cd docs
npm start- Build desktop version:
npm run tauri build- Frontend: Vanilla JavaScript with HTML Canvas for rendering
- Backend: Rust implementation of string art algorithm
- Interfaces:
- Desktop: Tauri-based application
- Web: WebAssembly compilation served via GitHub Pages