Node-based image processing for the web and desktop
Cascade is a free node-based image editor. Wire nodes together to build reusable editing pipelines, then apply them to any image. It runs entirely in your browser β no install needed β and ships as a macOS desktop app for users who want native filesystem access.
- Visual node graph β Connect typed inputs and outputs; cycles are rejected and dirty propagation flows downstream automatically
- Type-checked connections β The engine enforces connection types at the graph level, not just in the UI
- GPU-accelerated nodes β Per-pixel transforms run as wgpu compute shaders via GLSL kernel manifests; CPU fallback when GPU is unavailable
- Built-in nodes β Color correction, blending, filters, resize, alpha compositing, sRGB conversion, and more
- Linear color pipeline β All processing in linear f32 RGBA; sRGB conversion only at I/O boundaries
- Scripted GPU kernels β Register custom GLSL kernels via JSON manifests without writing Rust
- Replicate-backed nodes β Use Replicate models as processing nodes with a user-supplied API token
- AI assistant β In-app assistant powered by a user-supplied Anthropic API key
- All AI features are optional and bring-your-own-key; ignore them entirely if you do not need them
- Web β Runs in the browser via WebAssembly; ships both single-threaded and threaded WASM bundles
- Desktop (macOS) β Native app via Tauri with filesystem access, native packaging, and Tauri shell features
- Shared core β Web and desktop targets share the same Rust engine
The web app is the fastest way to evaluate Cascade. No installation required β the engine runs via WebAssembly in your browser.
Deployment note: The threaded WASM bundle requires SharedArrayBuffer, which means serving the app with Cross-Origin-Opener-Policy: same-origin and Cross-Origin-Embedder-Policy: require-corp. Without those headers the app falls back to the single-threaded engine automatically.
Download the latest signed DMG from GitHub Releases:
Requires macOS 10.15 (Catalina) or later.
Local setup, build commands, and contributor-facing references live in CONTRIBUTING.md and AGENTS.md.
Contributions are welcome! Please:
- Check existing issues or create a new one to discuss your idea
- Fork the repository and create a feature branch
- Follow the code style (
cargo fmtfor Rust, ESLint for TypeScript) - Update documentation as needed
- Submit a pull request
For detailed development guidelines, see AGENTS.md and CONTRIBUTING.md. Please also read CODE_OF_CONDUCT.md before participating in discussions or pull requests.
Cascade is released under the MIT License. See LICENSE for details.
Built with:
- Tauri β Rust-powered desktop framework
- React β UI framework
- React Flow β Node graph UI
- wgpu β GPU compute pipeline
- Rayon β CPU parallelism
- Zustand β Frontend state management
- wasm-bindgen β WebAssembly bridge
- Vite β Frontend build tooling