Commit Graph
1661 Commits
Author SHA1 Message Date
aiongg 3300e6dad8 Merge track r2-t01 into next
# Conflicts:
#	docs/gaps.md
#	docs/parity-checklist.md
#	docs/raw/coverage.tsv
#	docs/whats-new.md
2026-10-22 02:49:52 +00:00
aiongg d26c11a676 Merge track r2-t02 into next
# Conflicts:
#	docs/gaps.md
#	docs/parity-checklist.md
#	docs/whats-new.md
2026-10-22 02:42:47 +00:00
aiongg fa6f5b285b Integration: one LOOK_VERSION (12) and RENDER_CACHE_VERSION (69) bump for the merged camera-look changes 2026-10-22 02:42:38 +00:00
aiongg e705eb563c Merge PR #2380: LR-EDIT-DETAIL-DENOISE: GPU denoise gives the right result on DX12 with NVIDIA Pascal 2026-10-22 02:42:06 +00:00
aiongg 70e9338085 Merge PR #1040: LR-IMP-FORMATS: decode Minolta MRW
docs/parity-checklist.md: header keeps the newer date; LR-IMP-FORMATS row keeps both sides' changes.
docs/raw-parity.md: header change note names both sides' changes.
docs/raw/coverage.tsv: merged cleanly; same rows as both sides, no duplicates (regenerated on the combined branch).
2026-10-22 02:42:05 +00:00
aiongg 91744336d0 Merge PR #2006: LR-EDIT-COLOR-TEMP: Kelvin white balance for the Nikon Z5II from built-in presets
crates/raw/src/kelvin_presets.rs: covered_models keeps the Z5II asserts (#2006) and the Canon cases (#2009).
docs/parity-checklist.md: LR-EDIT-COLOR-TEMP row keeps both sides' preset clauses.
2026-10-22 02:41:12 +00:00
aiongg 2959b3a7e8 Merge PR #2009: Kelvin white balance from Canon CR2 ColorData presets (PowerShot G1 X Mark III)
docs/raw-parity.md: header change note and revision rows keep both sides (newest first).
2026-10-22 02:40:28 +00:00
aiongg 8dec1e1183 Merge PR #2444: LR-EDIT-OPTICS-PROFILE: read Fujifilm's nine-knot lens tables at the plain radius
crates/engine/src/media.rs: RENDER_CACHE_VERSION keeps the higher value.
2026-10-22 02:40:15 +00:00
aiongg 04b099a4f5 Merge PR #1901: LR-EDIT-OPTICS-PROFILE: apply A7CR embedded distortion for corrected full-frame raws
crates/engine/src/camera_preview.rs: LOOK_VERSION keeps both history lines and the higher value.
crates/engine/src/media.rs: RENDER_CACHE_VERSION keeps the higher value.
docs/whats-new.md: both 2026-10-14 entries under one heading.
2026-10-22 02:40:09 +00:00
aiongg 055362cb1d Merge PR #2481: LR-MERGE-HDR: merge warps sample Lanczos-3 instead of bilinear (1/3 of #1887)
docs/parity-checklist.md: header keeps 2026-10-21 and lists both sides' change notes
2026-10-22 02:39:55 +00:00
aiongg 195340da77 Merge PR #2263: LR-IMP-PREVIEW-READ: thumbnails of merged HDR/panorama DNGs develop from their reduced raw copies (38 s → 1 s)
crates/engine/src/media.rs, crates/engine/src/smart.rs: DecodedSource keeps both new fields, from_proxy (#1809) and reduced (#2263); a smart preview loads with from_proxy true, reduced false.
crates/engine/src/cmd/previews.rs: original_only refuses both proxy-loaded and reduced sources.
2026-10-22 02:39:46 +00:00
aiongg c61ad57601 Merge PR #2425: LR-IMP-ADD-DIALOG: preserve album hierarchy in Import Photos
docs/parity-checklist.md: header keeps 2026-10-21 and lists both sides' change notes
2026-10-22 02:39:44 +00:00
aiongg d586360401 Merge PR #1959: Photo Merge: Merge a photo named twice only once (#1947) 2026-10-22 02:39:26 +00:00
aiongg 0e59398375 Integration: #1746 whats-new entry under the existing 2026-10-14 heading, without a duplicate heading 2026-10-22 02:39:25 +00:00
aiongg 758f2e2f21 Merge PR #671: LR-IMP-FORMATS: decode table-less Nikon 34713 NEFs stored as packed 12/14-bit data
crates/engine/src/media.rs: RENDER_CACHE_VERSION keeps the higher value.
docs/parity-checklist.md: LR-IMP-FORMATS row keeps both sides' changes.
2026-10-22 02:39:20 +00:00
aiongg b4df27022f Merge PR #1746: LR-IMP-LOCAL: Record folders browsed from the sidebar as browsed 2026-10-22 02:39:13 +00:00
aiongg a104372c92 Integration: #1165 Sony maker row counts match coverage.tsv (94 / 43 / 10 / 2) 2026-10-22 02:39:09 +00:00
aiongg 91c465a29c Merge PR #1165: LR-IMP-FORMATS: folder import finds Sony SR2 and SRF files
docs/parity-checklist.md: LR-IMP-FORMATS row keeps main's DNG/Hasselblad text and adds #1165's SR2/SRF phrase; revision rows are the union
docs/raw-parity.md, docs/gaps.md: revision rows are the union
2026-10-22 02:39:08 +00:00
aiongg 27f608ab03 Merge PR #2499: LR-VIEW-ZOOM: a pinch holds the loupe's fit size, so it no longer renders at every zoom step
docs/parity-checklist.md: header from HEAD; both revision rows.
docs/whats-new.md: both entries under 2026-10-21.
2026-10-22 02:38:42 +00:00
aiongg d27b56447b Merge PR #2454: KEYC-PANELS: F8 shows and hides the right panel
docs/parity-checklist.md: header and generated summary from HEAD (summary is regenerated later); both revision rows, newest first.
2026-10-22 02:38:23 +00:00
aiongg fd2503f125 Merge PR #2451: LR-MASK-OVERLAY: a new or picked mask shows its overlay again (#1800)
docs/parity-checklist.md: newer header (2026-10-21); both revision rows.
2026-10-22 02:38:08 +00:00
aiongg bb930900af Merge PR #1545: LR-RAW-DNG: preserve lens corrections in the existing DNG tone-fit proxy
crates/engine/src/camera_preview.rs: LOOK_VERSION keeps both history lines and the higher value.
crates/engine/src/media.rs: RENDER_CACHE_VERSION keeps the higher value.
2026-10-22 02:38:07 +00:00
aiongg 4ba72fa0eb Merge PR #2420: PERF-SMART: File Path rules compare in place instead of building strings per photo
docs/whats-new.md: both entries, newest first.
2026-10-22 02:38:00 +00:00
aiongg fbc927f0b1 Merge PR #2347: feat(guided): Guided Upright guides select, start on the press and drag their endpoints
docs/parity-checklist.md: both revision rows.
2026-10-22 02:37:49 +00:00
aiongg 8bd9a3af1e Merge PR #1616: LR-PROF-CAMERACOLOR: near-black frames get a tone curve when no colour look fits (#1587)
crates/engine/src/camera_preview.rs: LOOK_VERSION keeps the higher value; fit_tone_only_pairs (from #1616) takes the HighlightCheck of #699 from fit_tone_only_on, and fit_dark_tone passes its frame's (empty, as no JPEG pixel reaches 0.85) check.
crates/engine/src/media.rs: RENDER_CACHE_VERSION keeps the higher value.
docs/parity-checklist.md: LR-PROF-CAMERACOLOR row keeps both sides' changes.
2026-10-22 02:37:46 +00:00
aiongg 4de80f3ef9 Merge PR #2306: LR-CROP-RECT: a moved crop slides along a straightened photo's tilted edges (#2299) 2026-10-22 02:37:36 +00:00
aiongg cb8115b239 Merge PR #2217: LR-EDIT-OPTICS-PROFILE: look up Nikon DSLR lenses by their lens specification
docs/parity-checklist.md: newer header (2026-10-21); both revision rows.
2026-10-22 02:37:35 +00:00
aiongg 2965161505 Merge PR #1997: KEY-CROP-SWAP: X in the crop tool swaps the aspect once (#1866) 2026-10-22 02:37:24 +00:00
aiongg b242cd6bfc Merge PR #1972: Tone: neutral display tone map is the identity up to white (#1945) 2026-10-22 02:37:23 +00:00
aiongg bb18036420 Merge PR #1909: docs(support): explain the Remove tool workflow (#1756) 2026-10-22 02:37:22 +00:00
aiongg fb316ee5ea Merge PR #1402: Fix slider wheel edits after leaving and returning to the Edit panel
crates/ui-egui/src/widgets/tests_numeric_entry.rs: keep both sides' tests.
docs/parity-checklist.md: newer header (2026-10-21); KEY-SLIDER-NUDGE from #1402, KEY-SLIDER-TYPE from #1687; both revision rows.
2026-10-22 02:37:21 +00:00
aiongg cf804ee9f6 Merge PR #699: LR-PROF-CAMERACOLOR: fit the tone curve of low-contrast scenes (range limit 1.5 to 1.2)
crates/engine/src/camera_preview.rs: LOOK_VERSION keeps both history lines and the higher value.
crates/engine/src/media.rs: RENDER_CACHE_VERSION keeps the higher value.
2026-10-22 02:37:09 +00:00
aiongg 92c90ad743 Merge PR #1687: KEY-SLIDER-TYPE: a long click keeps the value field open; drag the value to scrub 2026-10-22 02:36:59 +00:00
aiongg 08f9334457 Merge PR #2452: LR-PRE-PANEL: the applied preset stays marked on returning to the pho… 2026-10-22 02:36:59 +00:00
aiongg a22f447523 Merge PR #1921: Context menus: a right-click elsewhere on the same widget moves its o… 2026-10-22 02:36:58 +00:00
aiongg f4dd312eac Merge PR #2177: LRC-DEV-AUTOSYNC: sync HDR state while retaining per-photo tuning
crates/engine/src/lib.rs: keep both explicit comparison leaves (camera_local_tone and hdr).
crates/engine/src/tests.rs: keep both sides' tests.
2026-10-22 02:36:58 +00:00
aiongg 04e20de345 Merge PR #2027: #1952: expire idle control connections
contributors/people.toml: union of new people entries
2026-10-22 02:36:51 +00:00
Nathaniel Ledford 0e08318bad LR-VIEW-ZOOM: a pinch holds the loupe's fit size, so it no longer renders at every zoom step 2026-10-21 19:50:28 -04:00
Bruno-Alumn d15fc0a6ce Merge remote-tracking branch 'upstream/main' into fix/f8-right-panel
# Conflicts:
#	docs/parity-checklist.md
2026-10-21 22:42:18 +00:00
Bruno-Alumn c96af686a1 Merge remote-tracking branch 'upstream/main' into fix/preset-mark-per-photo
# Conflicts:
#	docs/parity-checklist.md
2026-10-21 22:42:18 +00:00
Bruno-Alumn 731b461d7d Merge remote-tracking branch 'upstream/main' into fix/mask-overlay-reshow
# Conflicts:
#	docs/parity-checklist.md
2026-10-21 22:42:17 +00:00
chordpli 4bd40cda60 LR-CROP-RECT: a crop just past a tilted edge still moves, and a click leaves it be (#2299)
A handle drag can leave the frame up to is_within_image's tolerance past a
tilted edge. The move's bounds were tighter than that, so such a frame was
stuck again, and a click inside it moved it. The bounds are now never tighter
than where the frame is. A test pins how a smaller frame pushed past a tilted
edge slides along it, and the parity checklist's revision history notes the fix.
2026-10-22 07:34:48 +09:00
tylerphotosandCodex 4245d50f2f LR-IMP-ADD-DIALOG: reconcile album picker with integrated main (#2425)
Retain both sets of parity revision notes after the upstream integration.
Keep the hierarchical picker and deleted-destination guard unchanged.

Co-Authored-By: Codex <noreply@openai.com>
2026-10-21 17:34:40 -05:00
chordpli d63ce8e5f8 LR-CROP-RECT: a moved crop slides along a straightened photo's tilted edges (#2299)
On a straightened photo, a crop that fills the photo's height could not be
moved sideways: the move went across and then down, and no straight sideways
step stays inside the turned photo. The frame now goes to the place nearest
the pointer's that keeps it inside, so it slides along the tilted edges to the
photo's side. Unstraightened, that place is the old across-then-down clamp.
2026-10-22 07:34:28 +09:00
JackalCOBandClaude Opus 5.5 4771ae0ea5 LR-EDIT-OPTICS-PROFILE: read Fujifilm's nine-knot lens tables at the plain radius
Fujifilm's nine-knot distortion and vignetting tables (knots at sqrt(k/8))
end at the corner on the eighth knot; the ninth, sqrt(9/8), lies past it
with the eighth's value repeated. Reading them at rho = knot_last * r took
every value from 6 % further out. On the X-T4 the warp polynomial then
failed its fit checks on 253 of 425 zoom-lens raws, which got no
distortion correction at all, and corners came out up to 6.5 % brighter
than the camera's. Read at rho = r, the tables match the camera's measured
geometry and corner gain (docs/fuji-lens-corrections.md, "Knot radius").
Nothing changes for the 11-knot and 8-knot tables, whose last knot is 1.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 11:27:49 +13:00
Claude 55a094475d Merge main into fix/dx12-nn-denoise
The only conflict was the 2026-10-19 whats-new entries; both are kept.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01K93HTyCiwYvbRGaAkjPvXn
2026-10-21 13:01:31 -07:00
Haocheng FangandClaude Opus 5.5 868de3a9fe KEY-SLIDER-NUDGE: disarm the wheel on any move out of the row (#1355)
Review follow-ups:
- Check every PointerMoved / PointerGone of the frame, not only where the
  pointer ended: a slow frame merged leaving the row and coming back, so
  the slider stayed armed (new test for both events).
- One global armed slider (`wheel_slider_key`) instead of a bool per
  slider: unarmed sliders no longer write context data every frame, and
  arming another slider disarms the previous one. The wheel remainder is
  cleared on arming and disarming, so the second focus check is gone.
- The sideways branch uses `pointer_in_row` too.
- Document that Tab focus arms the arrows only; move the whats-new entry
  to 2026-10-21; update the KEY-SLIDER-NUDGE row, header and history; fix
  a test comment that described the old remainder carry-over.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 13:30:32 -05:00
Nathaniel LedfordandClaude Opus 5.5 84dbd1b15a PERF-SMART: File Path rules compare in place instead of building strings per photo
An ASCII path and rule text are compared byte by byte, folding case and
backslashes, with no allocation; other text takes the old code unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 14:07:51 -04:00
Matthew James SivakandClaude Opus 5.5 158923de1c Merge main into jxl-preview-thumbs (conflicts resolved)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 19:57:55 +02:00
Michael Anderson e93f1174c3 Merge remote-tracking branch 'upstream/main' into fix/local-browse-stamps
# Conflicts:
#	docs/parity-checklist.md
2026-10-21 12:40:16 -05:00