Fifth review round on 725eca27:
- develop.merge: a stated correction that is the photo's own, read in
any of the 8 frames, counts as not stated, so the photo's own is kept
and turned to the stated orientation. "The photo's own" is within 1e-5
per element, each matrix scaled so its last element is 1: rounding to
6 decimals moves an element by about 1e-6 at most, and corrections
1e-5 apart move no corner by more than about 0.2 px at 6000 px.
A copy of the settings read once and sent again after each change, or
written with fewer decimals, used to store the correction in the old
frame (15.5 px mean, 28.2 px max at 3200 x 4800).
- set_develop help: mentions the mode rule, and points agents to
Copy / Paste or Sync for copying edits between photos (settings JSON
from one photo carries that photo's correction).
- upright_transfer's module comment no longer says only the mode and
sliders move between files, as Lightroom does.
- Docs: the settings JSON rules in xmp-interop.md and whats-new.md.
- Tests, failing on 725eca27: a local copy sent whole three times,
re-rounded matrices (and corrections further away taken as given),
a sweep of 24,576 sends over every file orientation, read orientation
and later orientation, the same through MCP set_develop and through a
lightcraft-cli run script.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>