Case study
PhotoCraft: editor workflow reconstruction and PSD round-trip boundaries
The authors describe this Rust image editor as a clean-room reimplementation of Photoshop-style workflows. Its document engine, UI and automation interfaces share editing commands, while the source distinguishes PSD editor round trips from byte preservation in the standalone file codec.
- Targets
- App
- Category
- Independent reconstruction cases
- Relationship
- Independent reconstruction project
- Sources reviewed
Requirements & limits
- Prerequisites: The pinned workspace identifies version 0.9.0 and declares Rust 1.95+ for source builds with Cargo. Native and WebAssembly paths have platform-specific dependencies; optional font inputs and reference documents are separate.
- Scope: This is an implemented document/compositing engine and editing interface, not merely a screenshot mockup.
- Testing evidence: The editor-level corpus tests compare rendering before and after export/reimport. Separate PSD codec tests compare bytes for parseable files, with a named malformed-file exception. Editor saves are explicitly not byte-identical to their inputs.
- Limits: The project remains alpha and distinguishes menu-command coverage from behavioral fidelity. Its dated parity assessment retains gaps in PSD exchange, typography, professional workflows, performance and plug-in compatibility.
- License: Project code is MIT OR Apache-2.0, subject to NOTICE; fonts, artwork and other assets retain separate terms. ArtCraft branding is excluded; published modified versions must remove it, apart from contribution-only forks.
About this entry
The description was reviewed against primary sources.
Primary sources
- README.md GitHub · storytold/photocraft · Revision 5f65579
- Cargo.toml GitHub · storytold/photocraft · Revision 5f65579
- docs/target-app-parity.md GitHub · storytold/photocraft · Revision 5f65579
- crates/io/tests/corpus.rs GitHub · storytold/photocraft · Revision 5f65579
- crates/psd/tests/corpus.rs GitHub · storytold/photocraft · Revision 5f65579
- LICENSE-MIT GitHub · storytold/photocraft · Revision 5f65579
- LICENSE-APACHE GitHub · storytold/photocraft · Revision 5f65579
- NOTICE GitHub · storytold/photocraft · Revision 5f65579
- docs/brand/LICENSE-brand.txt GitHub · storytold/photocraft · Revision 5f65579
More in Apps
- WordCraft: document workflow reconstruction and bounded DOCX compatibility · Case study
- GridCraft: spreadsheet workflow reconstruction and XLSX round-trip limits · Case study
- DeckCraft: presentation workflow reconstruction and bounded PPTX interchange · Case study
- Ledger Reborn: an independent accounting app informed by QuickBooks study · Case study
- Pocket Tasks: reconstructing task state and persistence · Case study
- Open Scrantic: reconstructing the Johnny Castaway screensaver engine · Case study