mirror of
https://github.com/storytold/photocraft.git
synced 2026-10-27 09:42:00 +01:00
* CLI --quality refuses every value outside 1-100 (#491) --quality was parsed as a u8 and clamped, so 0 and 101-255 were silently accepted while 256 and above were rejected. Every value outside 1-100 is now a bad --quality error, checked before any file is read or written. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * CLI batch: --format with a leading dot names outputs <stem>.<ext> (#490) batch built output names from the raw --format value, so --format .jpg wrote a..jpg. One leading dot is now dropped, as the save path and file.automate.batch already do. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * CLI batch --actions takes recorded-action and droplet steps (#489) batch read only {"command", "params"} objects, so the [id, params] pairs a recorded action or droplet stores failed with 'missing "command"'. It now uses the engine's action parser (automate_cmds::parse_action, split out of parse_script), which takes [id, params], objects and bare ids, bare or wrapped in {"steps": ...} or a droplet; {"actions": ...} still works. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * CLI batch refuses an --out folder that is the --in folder (#492) Results are saved as <out>/<stem>.<ext>, so --out naming the input folder silently replaced the originals. batch now compares the canonical folders (relative spellings, trailing separators, symbolic links) and fails before writing anything, naming the folder; the new --in-place flag opts in. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <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.