mirror of
https://github.com/storytold/lightcraft.git
synced 2026-11-13 09:20:07 -06:00
* LRC-DEV-AUTOSYNC: Auto Sync carries white balance as a mode or on each photo's own scale: As Shot and Auto per photo, a Temp move keeps each photo's tint (N-A3, note 18) Auto Sync already sets every other setting to the active photo's number. White balance is the exception: main stores the resolved Kelvin and tint with the mode, and Auto Sync copied those numbers. As Shot then gave every selected photo the active photo's camera white, Auto gave them the active photo's Auto white, a Temp move from As Shot gave them the active photo's tint too, and a JPEG beside a raw got the raw's Kelvin read on its own scale. Now (sync_same.rs) the mode goes on each photo and each applies it to itself: As Shot its own camera white, Auto its own white worked out on its own pixels, a light preset its numbers. A typed or dragged Temp or Tint sets the same Kelvin on every raw (an old relative-scale value converted first) and only the slider that moved, and a photo on another scale moves by as much as the active one did. One undo step, as before. Tests (tests/autosync_wb.rs): As Shot / Tungsten / Auto per photo with three different as-shot whites and undo; a typed and a dragged Temp keep each photo's tint; the old relative scale; a JPEG beside a raw. Three of the four fail on main. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * LRC-DEV-AUTOSYNC: Auto's per-photo pixels are read in parallel; the row says which sync does what Review of #3571: - When Auto is synced, the other selected photos' thumbnails that aren't in memory are now decoded in parallel (one per core), not one after another on the UI thread. - The checklist row says the per-photo white balance belongs to Auto Sync, while Sync Settings copies the active photo's stored one. - The row and the test notes now say a Temp is the same number only on a photo of the same scale, and that other photos move by as much as the active photo did. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * LRC-DEV-AUTOSYNC: Auto's per-photo pixels are read a core's worth at a time, each with its decoder's facts Review of #3571: - A large selection no longer holds every decoded thumbnail at once. They are decoded in batches of one per core (at most 16), and each batch's white balance is worked out before the next is decoded. - Each photo's Auto uses the facts its own decoder gave, read right after its source is cached, so a photo pushed out of the cache by later ones never falls back to catalog metadata. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * LRC-DEV-AUTOSYNC: a light preset with a tint of its own on a JPEG carries that tint; Auto's facts are read before the cache can evict them (review of #3585) - On the relative scale the stored numbers are what renders, so a preset the active photo overrides (`develop.wb {mode, tint}`) travels as its numbers, like Custom, not as the preset's tint. - `sources_now` reads each photo's decoder facts before storing the decoded source: the cache's budget may evict that entry at once, and the header facts alone lack the camera colour Auto uses. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: FredApps <153173854+FredApps@users.noreply.github.com>