storytold / photocraft
PhotoCraft: An open-source, photo editor written by scratch in pure Rust
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
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.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.Paste the server URL below as the Remote MCP server URL, then click Add.
- 3.Click Connect. A Repowise sign-in window opens. Approve access.
- 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.
Docshttps://api.repowise.dev/mcp/storytold/photocraft
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
- DocumentationModule-by-module documentation, 2,256 pages.
- ArchitectureDependency graph, layers and third-party dependencies.
- Code healthEvery file's score and the findings behind it.
- CommitsEach commit's effect on code health.
- OverviewEverything else the index found: contributors, decisions, what changed this week.
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.
Prefer local? pip install repowise && repowise init indexes your own checkout, no account needed.
Maintain storytold/photocraft?
Claim this page, add a badge to the README, or re-index it.
Claim this page
Sign in with GitHub and we check that you are an admin or maintainer of storytold/photocraft. Then add a badge to the README that links readers here.
Add a badge to your README
Every badge is public, cached, and updates on its own after every index. Nothing to install.
Repowise badge
Links to this page, with no score on it. Adding it also re-indexes the repo every week.
[](https://repowise.dev/repo/storytold/photocraft?src=badge_wiki)Code health badge
The repo's health score out of 10, from the latest index.
[](https://repowise.dev/repo/storytold/photocraft?src=badge_health)Code health card
A larger card with the score, its change since the last index, and when it was measured. The HTML version follows the reader's light or dark theme.
[](https://repowise.dev/repo/storytold/photocraft?src=badge_card)