The key of a raster made for content that shows a symbol includes the
font generation, and since c348b384 (#1723) the key for content
painted with a pattern includes it too. FontDb::add_font increases
that generation, and the six tests in tests_fontchange.rs call it. Two
tests in fx.rs draw such content and count the rasters moved between
frames: moved_rasters_need_the_same_content_and_effects and
a_moved_group_draws_the_shadow_of_the_instance_art_in_it_while_interacting.
Neither held fonts_steady(). When a font test added a font between
their frames, the renderer made the raster again and the test counted
0 rasters moved instead of 1. Under CPU load on Windows, with the font
tests in the same process, the first test failed in 12 of 100 runs and
the second failed in 36 of 70.
Both tests now hold fonts_steady().
translucent_blended_and_shadowed_type_redraws_when_its_font_becomes_available
added its font without the font lock that fonts_steady() holds shared,
and it now takes adding_fonts(), as the other five font tests do. With
the change, the first test passed in all 200 runs and the second
passed in all 120 runs under the same load.
VectorCraft
Vector illustration; an open-source, clean-room reimplementation of Adobe Illustrator, rebuilt in pure Rust.
A fast, open-source, clean-room take on the Adobe Illustrator workflow. It runs natively on macOS, Windows, Linux and FreeBSD, and in the browser via WebAssembly. Built by the ArtCraft team.
VectorCraft on getartcraft.com · ArtCraft · All Crafting Apps
Neon Drive: a Pathfinder-cut sun, live Outer Glow on the type and grid, and clipping masks · examples/neon-drive.vectorcraft
Note
ArtCraft is a community of artists from all walks of life. Digital, generative, music, games — if you make things, you're one of us. Come say hi on Discord.
A look around · Made in VectorCraft · Why VectorCraft · Quick start · Status · Downloads · The Crafting Apps · License
A look around
Made in VectorCraft
Every piece below was built entirely through VectorCraft's command API, the same one the MCP server
exposes to agents, and exported by VectorCraft's own renderer. The source files are in
examples/.
Why VectorCraft
- Familiar. Illustrator's layout, tools, menus, panels and shortcuts: the Pen, Direct Selection, Pathfinder, Smart Guides, Appearance, Swatches, Layers and more. You already know how to use it.
- Fast. Multithreaded SIMD rendering off the UI thread. 20,000 shapes render in about 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, and property-tested file round trips.
- Open. A documented native format (
.vectorcraft, JSON), first-class SVG, PDF (and PDF-compatible.ai) import and export, PNG/JPEG/WebP export, Export for Screens, and SVGZ, templates, GIF, TIFF and BMP on open. - Agent-native. Every menu item, tool gesture, panel and dialog can be driven over a JSON control channel and an MCP server, so Claude and other agents can draw, edit and export the way a person does.
- Everywhere. One codebase for the desktop apps and the same UI in the browser.
Quick start
git clone https://github.com/storytold/vectorcraft
cd vectorcraft
cargo run --release -p vectorcraft # desktop app
cargo run --release -p vectorcraft -- examples/dusk-poster.vectorcraft
cargo run --release -p vectorcraft -- --control 7979 # + JSON control channel
cargo run --release -p vectorcraft-cli -- mcp # MCP server (stdio)
cargo run --release -p vectorcraft-cli -- run --in examples/ribbons.vectorcraft --export out.pdf # headless batch
cargo run --release -p vectorcraft-cli -- bench examples/neon-drive.vectorcraft # render timing
cargo xtask bundle # dist/VectorCraft.app (macOS)
cd apps/vectorcraft-web && trunk build --release # web build → dist/web
cargo xtask ci # fmt, clippy, tests, layering, wasm, vendor names
Japanese fonts come from storytold/craft-fonts, an optional
build input (releases always use it): CRAFT_FONTS_DIR="$PWD/../craft-fonts" cargo run --release -p vectorcraft (an absolute path).
Without it, Japanese text uses the installed system fonts. See docs/development.md.
On machines with two graphics processors, VectorCraft renders on the power-saving (integrated) one by default on
Windows and macOS, and on the one the desktop runs on under Linux. To choose, use Preferences › Performance ›
Graphics Processor and restart. If a graphics processor can't show the window, VectorCraft starts again on the
next one. To pick one when starting the app, set WGPU_POWER_PREF=high (or low), or WGPU_ADAPTER_NAME to part of
its name, such as WGPU_ADAPTER_NAME=nvidia (see docs/development.md).
On native Wayland, winit 0.30 does not deliver dropped files. To open an SVG, use File › Open;
to place artwork in the current document, copy and paste the file in a file manager. For file
drag-and-drop, set Preferences › Performance › Linux Display Server to X11 (XWayland) and restart, or start
the app with WAYLAND_DISPLAY= vectorcraft: the window then opens through XWayland, where drops work
(see docs/development.md).
On Linux under KDE Plasma 6.3 or later with Wayland, a drawing tablet's pen moves the cursor but VectorCraft doesn't
respond to it yet (#491). Open the window through XWayland instead, with the same preference or WAYLAND_DISPLAY= vectorcraft (see
docs/development.md).
Use it from Claude Code and other agents
Register the MCP server with Claude Code:
claude mcp add vectorcraft -- /path/to/vectorcraft-cli mcp
To keep an agent to one project's files, give it folders to read and write (the same flags as PhotoCraft):
claude mcp add vectorcraft -- /path/to/vectorcraft-cli mcp --automation-read-root /work/project --automation-write-root /work/project
The details are in docs/mcp.md and docs/control-protocol.md.
For the experimental, unsupported 64-bit Windows 7 build, see Windows 7 instructions.
Status
VectorCraft is under active development. ROADMAP.md has the stage, the numbers by dimension
and what's next; docs/target-app-parity.md the full parity assessment and
docs/gaps.md the ranked list of what's missing.
Where we are (2026-10-10): alpha. About 88% of Illustrator 2026's menu items, tools, effects and formats exist
(92.5% of menu items do something), feature depth is ~75%, and we estimate ~65% "ready for real work" for a mainstream illustrator (~62% against
all of Illustrator): everyday
vector illustration is close to usable: drawing and path tools,
Pathfinder and Shape Builder, paint, gradients, appearance and transparency, type with styles, threading and Hebrew/Arabic bidirectional layout, and
files (SVG, PDF and PDF-compatible .ai with PDF/X, legacy version 7 .ai keeping layers, groups and type, EPS, DXF, EMF/WMF, raster formats, PSD out and PSD/PSB in as their merged image, Print, Package).
Affinity documents (.af from Affinity 3, .afdesign, .afpub and, by their content, .afphoto from Affinity 1 and 2) open
and place natively: layers, groups, artboards and pages, curves and shapes, fills, gradients and strokes, clipping
and masks, text and images, with what didn't come in (effects, adjustments, brushes, master pages…) listed in the
import warning; a file whose native data can't be read opens as its embedded preview, saying why. VectorCraft
doesn't write Affinity files. Current .af validation includes 33 pinned files, native save/reload
and every-board SVG/PDF/PSD export, with fixes for Affinity 3 artboards, source-backed JPEGs and text runs.
Scope and limits; source audit and remaining gaps.
The interface
speaks English, German, Japanese, Korean, Vietnamese, Traditional and Simplified Chinese, Spanish, French, Hungarian, Italian, Polish, Russian and Ukrainian (and Czech and Brazilian Portuguese in the menus);
localization-parity.md has the details.
The scores are self-assessed from our code against Illustrator's public documentation;
target-app-parity.md explains how far to trust them.
What's missing:
- reliable exchange of Illustrator's own
.aifiles (layer structure in real files; Illustrator's editing data isn't written); - an interaction-fidelity pass covering every tool's modifiers and small behaviours;
- 3D and Materials beyond the initial live Revolve (Extrude & Bevel, Inflate, Rotate, materials);
- about half of the Photoshop-style raster effects (28 of 57 still missing; Film Grain is available under Artistic) and the Effect Gallery;
- CJK composition for vertical type (vertical type itself has initial support, with a Japanese interface);
- scripting, and the rest of Variables (image and graph kinds, dataset import);
- generative AI features.
Where we're going: next is the interaction-fidelity pass, .ai files from real users and start-up stability,
alongside the raster-effects package; then type, the Illustrator 2026 additions and 3D. The ranked list is in
docs/gaps.md.
Workspace: crates/{geom, color, doc, pathops, text, effects, three-d, trace, brush, render, svg, pdf, eps, cad, metafile, format, tools, engine, ui-egui, mcp, testkit}
and apps/{vectorcraft, vectorcraft-cli, vectorcraft-web}. The egui frontend is its own crate, so
the UI can be swapped without touching the engine.
Agent and contributor rules (clean-room, the asset policy, no panics in shipped code, quality gates) are in
AGENTS.md; docs/development.md
explains how VectorCraft avoids crashing, and docs/releasing.md how releases are built,
signed and published. Every bundled asset is listed with its licence in ASSETS.md.
Downloads
New to VectorCraft? Download it from the VectorCraft page on getartcraft.com. That's the easiest way to install it.
Want a specific build or format? On GitHub, the latest release has every build listed below, and all releases has earlier versions and their notes. <ver> in the file names is the version number, and SHA256SUMS.txt lists a checksum for every file.
Windows
| Build | Installer | Portable |
|---|---|---|
| x64 (64-bit Intel/AMD) | vectorcraft-<ver>-windows-x64.msi |
vectorcraft-<ver>-windows-x64-portable.zip |
| arm64 (Snapdragon and other ARM PCs) | vectorcraft-<ver>-windows-arm64.msi |
vectorcraft-<ver>-windows-arm64-portable.zip |
| x86 (32-bit) | vectorcraft-<ver>-windows-x86.msi |
vectorcraft-<ver>-windows-x86-portable.zip |
Installers and executables are code-signed.
macOS
| Build | File | Notes |
|---|---|---|
| App, universal (Apple silicon + Intel) | vectorcraft-<ver>-macos-universal.dmg |
Signed and notarized |
| Command-line tool, universal | vectorcraft-cli-<ver>-macos-universal.zip |
Signed and notarized |
Linux
| Format | x86_64 | aarch64 (ARM64) | Notes |
|---|---|---|---|
| AppImage | vectorcraft-<ver>-linux-x86_64.AppImage |
vectorcraft-<ver>-linux-aarch64.AppImage |
Runs anywhere; updates itself with AppImageUpdate (.zsync files) |
| Flatpak | vectorcraft-<ver>-linux-x86_64.flatpak |
vectorcraft-<ver>-linux-aarch64.flatpak |
Sandboxed; flatpak install --user <file> |
| Debian/Ubuntu | vectorcraft-<ver>-linux-x86_64.deb |
vectorcraft-<ver>-linux-aarch64.deb |
|
| Fedora/RHEL/openSUSE | vectorcraft-<ver>-linux-x86_64.rpm |
vectorcraft-<ver>-linux-aarch64.rpm |
|
| Tarball | vectorcraft-<ver>-linux-x86_64.tar.gz |
vectorcraft-<ver>-linux-aarch64.tar.gz |
Unpack anywhere |
FreeBSD
| Build | File |
|---|---|
| x86_64 | vectorcraft-<ver>-freebsd-x86_64.tar.gz |
Web (WebAssembly)
| Build | File | Notes |
|---|---|---|
| Static site | vectorcraft-web-<ver>.zip |
Runs in a modern browser; host it on any static server |
The Crafting Apps
VectorCraft is one of the Crafting Apps: free, open-source creative tools from the ArtCraft team, each written from scratch in Rust and each able to stand on its own.
| App | What it's for | Code | Learn more | |
|---|---|---|---|---|
| PhotoCraft | Image editing: layers, masks, type and real PSD files | GitHub | Website | |
| VectorCraft | Vector illustration · you are here | GitHub | Website | |
| FilmCraft | Video editing, color and sound | GitHub | Website | |
| LightCraft | Photo library and raw development | GitHub | Website | |
| PdfCraft | Reading, organizing and protecting PDFs | GitHub | Website | |
| EffectCraft | Motion graphics and visual effects | GitHub | Website | |
| DesignCraft | Page layout and publishing | GitHub | Website |
And ArtCraft itself, our AI image and video studio for artists who want real control.
Come make things with us
Our Discord is where artists of every kind hang out: people who paint, shoot, draw, cut film, set type, and people still figuring out what they like to make. Share what you're working on, ask for help, tell us what's broken, or tell us what you wish these tools could do. Whatever your medium and however long you've been at it, you're welcome here.
discord.gg/artcraft · getartcraft.com · The Crafting Apps · VectorCraft
Star history
License and credits
VectorCraft is dual-licensed under MIT or Apache-2.0, at your option. Copyright (c) 2026 ArtCraft Team and the VectorCraft contributors. Required notices are in NOTICE.
Bundled fonts, icons, images and other assets keep their own open licenses; each one is listed with its author, source and license in ASSETS.md. Release builds also embed the fonts of craft-fonts (Japanese, Simplified Chinese and Arabic faces; SIL Open Font License 1.1).
The app icon (an engraved dragon on VectorCraft red, #e8573f) is the owner's original artwork; its
palette and files are in assets/app-icon/.
The ArtCraft name, wordmark and logos in docs/brand/ are trademarks of the
ArtCraft Team and are not covered by this license. They may be used only unmodified, and only as
part of this repository and VectorCraft, under docs/brand/LICENSE-brand.txt.
Forks and modified versions must remove them.
Adobe, Photoshop, Illustrator, Premiere Pro, Lightroom, Acrobat, After Effects and InDesign are trademarks or registered trademarks of Adobe Inc. in the United States and/or other countries. VectorCraft is an independent, open-source project and is not affiliated with, sponsored by or endorsed by Adobe Inc.; these names are used only to describe the workflows it is compatible with.
Made by the ArtCraft team and community.










