GUI
A Tauri 2 + React viewport. Pan and zoom run on the GPU; a slider previews in a fragment shader so the bridge stays idle — measured 165 fps, 21× the naive round-trip.
● pre-alpha — the engine, CLI and MCP server already run
claws + draws · a blazing-fast image editor for developers, written in Rust
Craws is a pipeline editor: an ordered chain of parametrized ops over a tiled, content-hash-cached, linear-light engine. Drive it from this GUI, a headless CLI, CI, or an AI agent over MCP.

propertiesopen_image
histogram
luminance · RGB
02◢ proof over vibes
Every bar is a criterion benchmark on a 24-megapixel photo, release build. When craws grew its own resampler and a SIMD encoder, these are the numbers that moved.
measured · 6000×4000 · one machine — the BLAZING contract
03◢ the toolbox
Every op is one line in a pipeline — composable, versionable, replayable. The same pipeline over the same input returns bit-identical pixels.
resize
{ "op": "resize", "width": 1600, "filter": "lanczos3" }Own separable resampler — 6× faster than the crate it replaced, with no gamma-space bleed and no dark fringing. One dimension can preserve aspect ratio.
04◢ the content-hash cache
Each step is a node keyed by the blake3 hash of its inputs and params. Edit a value and the cache works out exactly which tiles of which nodes have to run again — everything upstream is served straight from memory.
#d18a6
recompute
#d1fd0
recompute
#c1052
recompute
#e20fa
recompute
#384ed
recompute
#e217d
recompute
#d1929
recompute
[COLD RUN]
cold run — every node computes every tile from scratch
05◢ one engine, four ports
domain ← engine; codecs, GPU and AI are adapters behind traits; the CLI, the MCP server and the GUI are equal ports and never know about each other.
craws-engine
tiled · content-hash cache · linear f32 · rayon
A Tauri 2 + React viewport. Pan and zoom run on the GPU; a slider previews in a fragment shader so the bridge stays idle — measured 165 fps, 21× the naive round-trip.
craws run pipeline.json — headless, scriptable, deterministic. Format follows the file extension; a timing report follows every run.
The CPU path always exists. Drop craws into a pipeline and batch-process on a runner — bit-identical output makes it safe to diff.
13 tools over stdio. An agent opens an image, annotates it, exports it — automated documentation figures, the killer use case.