repowisestorytold/photocraft

storytold / photocraft

PhotoCraft: An open-source, photo editor written by scratch in pure Rust

Rust★ 68,374

github.com/storytold/photocraftIndexed at 4d4de45Up to date with upstream

What is photocraft?

photocraft is a Rust photo editing engine and application for editing layered images and Photoshop documents. It represents documents as layers, pixels, selections, and tool commands, then produces updated document state and exported files. The project is written primarily in pure Rust and uses Cargo.

Written by a model from the README and the source

1,600 files and 44,916 symbols in 7 modules, led by Rust (1,384 files) and Shell (15).

Code health

5.8out of 10Fair

This codebase scores 5.8 out of 10 for code health, which we rate fair. It also scores maintainability 6.4 and static performance 9.8 out of 10. The three are scored separately and never blended into one number. Risk is concentrated, as it usually is: 339 of 1,600 files are git hotspots, and they average 4.3 — which is where the fixes pay off most.

On the leaderboards:#7 of 13 Rust repos

Use storytold/photocraft in your agent

Point Claude Code, Cursor, Codex or VS Code at this repository. Your agent gets the index this page is built from: cited answers, callers, history and health for any file.

  1. 1.In Claude, open Customize → Connectors, click +, then Add custom connector. On a Team or Enterprise plan an owner adds it first under Organization settings → Connectors.
  2. 2.Paste the server URL below as the Remote MCP server URL, then click Add.
  3. 3.Click Connect. A Repowise sign-in window opens. Approve access.
  4. 4.Repowise's tools are now available in your Claude chats.

Connect with one click. Sign in with Repowise (OAuth), no API key to copy. Works in Claude on the web, desktop, and mobile.

Docs
bash
https://api.repowise.dev/mcp/storytold/photocraft
Editors need an API key: sign in to create one.Sign in to connect

This repo is public, so anyone with a Repowise account and an API key can connect.

Try asking

  • get_overview()
  • get_answer("how is photocraft put together?")
  • get_why("why is photocraft structured this way?")

Explore photocraft

Key features of photocraft

  • photocraft provides adjustment layers for Levels, Curves, Vibrance, Hue/Saturation, and other image adjustments while preserving original pixels.
  • photocraft supports layer styles such as Drop Shadow, Inner Shadow, Glow, Bevel & Emboss, Satin, Stroke, and color, gradient, and pattern overlays.
  • photocraft provides marquee, lasso, Magic Wand, Quick Selection, Object Selection, Select Subject, and Select and Mask tools.
  • photocraft supports editable point and paragraph text with Character and Paragraph controls and PSD round-tripping.
  • photocraft provides resolution-independent shape layers, gradient fills, dashed strokes, paths, vector masks, and shape combination operations.
  • photocraft provides live filter previews, editable smart-object filters, transformations, history, and export options including PNG and layered PSD files.

How storytold/photocraft works

User input enters through the runnable applications in apps, including the desktop application, web application, and headless CLI. apps/photocraft/src/main.rs wires the desktop UI, operating-system integration, file dialogs, and local control interface. apps/photocraft-cli/src/main.rs provides the CLI entry point for commands and files. Shared imaging operations are implemented in crates, including color, geometry, raster, GPU, document, and input functionality. crates/algo/src/lib.rs serves as an algorithm hub for image and selection operations. crates/ui-egui/src/canvas.rs, crates/ui-egui/src/panels.rs, and crates/ui-egui/src/control.rs connect canvas rendering, panels, and command control to the editing engine, which outputs updated documents, rendered canvases, and saved files such as PSD documents.

The codebase has 1,600 files and 44,916 symbols in 7 modules, led by Rust, Shell and Python. Code health is 5.8 out of 10, rated fair.

storytold/photocraft FAQ

What is photocraft?

photocraft is a Rust photo editing engine and application for layered image editing and Photoshop documents. It supports a native app, web app, CLI, JSON control channel, and MCP server.

How does photocraft work?

photocraft turns document data and tool commands into image edits through shared Rust crates. Desktop, web, and CLI applications delegate editing operations to the shared engine and produce updated documents or exported files.

What language is photocraft written in?

photocraft is written primarily in Rust. Its repository also includes shell, Python, and Dockerfile files.

How is the photocraft code organized?

photocraft is organized into runnable packages under apps and shared imaging crates under crates. The repository also includes packaging, xtask, examples, and scripts directories.

Who is photocraft for?

photocraft is for people who edit layered images, Photoshop documents, type, vectors, selections, masks, and effects. It supports interactive desktop, web, CLI, and agent workflows.

What license does photocraft use?

photocraft uses the Apache-2.0 license.

The summary, features and answers on this page are written by a model from the README and the source, and refreshed with each index.

About this page

Get a page like this for your own codebase

Repowise built this map of storytold/photocraft from its source and git history. It parses every symbol, draws the dependency graph, scores each file's health from complexity, duplication, coverage and churn, finds hotspots and owners in the history, and writes documentation for every module. Your coding agent reads the same index over MCP, so its answers cite real files.

Index your repo freeSee how Repowise worksFree for 2 public repos, with a page like this one.

Prefer local? pip install repowise && repowise init indexes your own checkout, no account needed.