2026-09-30 11:02:34 -04:00
2026-09-30 09:36:51 -04:00
2026-09-30 10:07:15 -04:00
2026-09-30 10:07:15 -04:00

DrawCraft

Vector illustration, reimagined in pure Rust.
A fast, open-source, clean-room take on the Adobe Illustrator workflow — native on macOS, Windows and Linux, and in the browser via WebAssembly.
By the artcraft team.

DrawCraft editing the Dusk poster example: categorized toolbar, canvas with a selected sun, and the Layers panel

Dusk — an example poster made in DrawCraft

examples/dusk-poster.drawcraft — built entirely through DrawCraft's command API

Why DrawCraft

  • Familiar. Illustrator's layout, tools, menus, panels and shortcuts — the Pen, Direct Selection, Pathfinder, Smart Guides, Appearance, Swatches, Layers… you already know how to use it.
  • Fast. Multithreaded SIMD rendering off the UI thread; 20,000 shapes render in ~27 ms at full retina resolution while the interface stays at 120 fps.
  • Robust. Exact curve booleans (no "cannot perform operation"), unlimited undo via structural sharing, property-tested file round trips.
  • Open. A documented native format (.drawcraft, JSON), first-class SVG, PDF (and PDF-compatible .ai) import/export, PNG/JPEG/WebP and Export for Screens.
  • Agent-native. Every menu item, tool gesture, panel and dialog is drivable over a JSON control channel and an MCP server — Claude and other agents can draw, edit and export like a human.
  • Everywhere. One codebase: desktop apps and the same UI in the browser.

Quick start

cargo run --release -p drawcraft                          # desktop app
cargo run --release -p drawcraft -- examples/dusk-poster.drawcraft
cargo run --release -p drawcraft -- --control 7979        # + JSON control channel
cargo run --release -p drawcraft-cli -- mcp               # MCP server (stdio)
cargo xtask bundle                                        # dist/DrawCraft.app (macOS)
cd apps/drawcraft-web && trunk build --release            # web build → dist/web
cargo xtask ci                                            # fmt, clippy, tests, layering, wasm

Register with Claude Code: claude mcp add drawcraft -- /path/to/drawcraft-cli mcp — see docs/mcp.md and docs/control-protocol.md.

Status

DrawCraft is under active development. See ROADMAP.md for what ships today, milestones, and honest time-to-parity estimates.

Workspace: crates/{geom, color, doc, pathops, text, effects, trace, brush, render, svg, pdf, format, tools, engine, ui-egui, mcp, testkit}, apps/{drawcraft, drawcraft-cli, drawcraft-web}. The egui frontend is a separate crate, so the UI can be swapped without touching the engine. Agent guide: CLAUDE.md.

The Craft suite

Open-source, pure-Rust, clean-room creative tools — each engine-first, cross-platform, WASM-ready and fully agent-drivable.

PhotoCraft Layered raster image editor in the spirit of Photoshop — high-bit-depth pipeline, adjustment layers, brushes, PSD round-trip.
DrawCraft Vector illustration in the spirit of Illustrator — Pen, Pathfinder, live effects, type, SVG/PDF. (you are here)
FilmCraft Non-linear video editor in the spirit of Premiere Pro — timeline editing, effects, and export.
LightCraft Photo library and non-destructive raw developer in the spirit of Lightroom — local-first catalog, wide-gamut float pipeline.
PrintCraft PDF viewer and editor in the spirit of Acrobat — rendering, forms, annotations, and document tools.

License

MIT OR Apache-2.0. Bundled fonts are OFL; Lucide icons are ISC — see NOTICE.

DrawCraft is an independent project and is not affiliated with or endorsed by Adobe. "Adobe", "Illustrator", "Photoshop", "Premiere Pro", "Lightroom" and "Acrobat" are trademarks of Adobe Inc., used here only to describe compatibility and workflow familiarity.

Languages
Rust 99.7%
Shell 0.2%