mirror of
https://github.com/storytold/photocraft.git
synced 2026-11-12 05:02:51 +00:00
Conflicts: the batch's wheel reads (#5547 Animated Zoom) keep their extra argument with main's ids (`Id::unique`, `ui.scope_id()`); crop presets keep #6620's `apply_choice` with main's accessible name; Bevel & Emboss keeps #9370's per-mode id with main's name argument; the Stroke field keeps #7203's gradients with main's name; tone.rs keeps #9139's move of the Histogram panel to histogram_panel.rs (main only renamed ids there); translation catalogs as unions. Not flagged by git, the batch's new code follows egui 0.37 too: dropdowns take an accessible name (Histogram Channel/Source #9139, tool Mode #5504, Art History Style #1610, New Snapshot From #3567), MouseWheel events carry `source`, `WidgetType` is `Role` (ColorButton is ColorWell, #7203), `Id::new`/`Ui::id` are `Id::unique`/`Ui::scope_id`. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
PhotoCraft Documentation
PhotoCraft is a native image editor written in Rust. This book is the maintained entry point for installation, architecture, formats, automation, development, and security documentation.
The repository's existing docs/ directory remains authoritative for detailed design notes, parity reports, UI conventions, release procedures, and the complete control-protocol method reference. The book links to those documents instead of copying them.
Start here
- Users and evaluators: Installation
- Contributors: Building and Contributing
- Architecture work: Architecture overview
- Agents and automation clients: Automation overview
- Security-sensitive work: Security overview and Threat model
Documentation for coding agents
Coding agents should read the following in order:
AGENTS.mdfor repository rules and verification gates.README.mdfor product scope and current entry points.book/src/architecture/for crate boundaries and command flow.book/src/automation/before driving the CLI, control protocol, or MCP server.book/src/security/before changing a parser, file I/O, automation, MCP, the control server, command execution, or serialization/deserialization.
Agents must treat document bytes, paths, command parameters, and automation messages as untrusted input. A page that describes a proposed control does not mean that control is implemented.
Status language
Security pages use four labels consistently:
- Implemented: behavior confirmed in current source or tests.
- Known limitation: an exposed risk or missing control in current source.
- Proposed: a design direction that is not enforced by the current build.
- Future hardening: useful follow-up work without an accepted implementation yet.