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 dev
The 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