Nathaniel Ledford
e845b97d8d
LR-BEHAV-ACCESS: the Flatpak may talk to the accessibility bus, so Orca can read LightCraft
2026-10-31 07:33:45 -04:00
aiongg
e80c3e3e13
Merge upstream main into integration-r3
2026-10-31 05:09:34 +00:00
aiongg
a9ac47cbce
docs: tidy wording
2026-10-31 04:25:37 +00:00
aiongg
ffd5a4a22b
docs: tidy agent, contributor and asset docs
2026-10-31 04:17:15 +00:00
aiongg
a4dc70c07b
Integration: sort modules, merge duplicated checklist and gap rows from the combined tracks
2026-10-31 02:42:54 +00:00
aiongg
ee0a627536
Merge track r3-t10
...
# Conflicts:
# crates/engine/src/cmd/masks.rs
# crates/ui-egui/locales/de.json
# crates/ui-egui/locales/es.json
# crates/ui-egui/locales/fr.json
# crates/ui-egui/locales/ja.json
# crates/ui-egui/locales/ka.json
# crates/ui-egui/locales/pt-br.json
# crates/ui-egui/locales/ru.json
# crates/ui-egui/locales/uk.json
# crates/ui-egui/locales/zh-hant.json
# docs/gaps.md
# docs/parity-checklist.md
# docs/whats-new.md
2026-10-31 02:31:38 +00:00
aiongg
56c842d8fe
Merge track r3-t09
...
# Conflicts:
# docs/parity-checklist.md
# docs/raw-parity.md
# docs/ui-parity.md
# docs/whats-new.md
2026-10-31 02:31:25 +00:00
aiongg
e05c4f7e7c
Merge track r3-t08
...
# Conflicts:
# crates/meta/README.md
# crates/ui-egui/locales/cs.json
# crates/ui-egui/locales/de.json
# crates/ui-egui/locales/es.json
# crates/ui-egui/locales/fi.json
# crates/ui-egui/locales/fr.json
# crates/ui-egui/locales/id-formats.json
# crates/ui-egui/locales/id.json
# crates/ui-egui/locales/it.json
# crates/ui-egui/locales/ja.json
# crates/ui-egui/locales/ka-formats.json
# crates/ui-egui/locales/ka.json
# crates/ui-egui/locales/pl.json
# crates/ui-egui/locales/pt-br.json
# crates/ui-egui/locales/ru.json
# crates/ui-egui/locales/sv-formats.json
# crates/ui-egui/locales/sv.json
# crates/ui-egui/locales/uk.json
# crates/ui-egui/locales/vi.json
# crates/ui-egui/locales/zh-hans.json
# crates/ui-egui/locales/zh-hant.json
# crates/ui-egui/src/panels/grid.rs
# crates/ui-egui/tests/it/main.rs
# docs/gaps.md
# docs/library-shortcuts.md
# docs/parity-checklist.md
# docs/raw-parity.md
# docs/user/guides/export-photos.md
# docs/whats-new.md
2026-10-31 02:31:16 +00:00
aiongg
1f111b5e80
Merge track r3-t07
...
# Conflicts:
# crates/engine/src/tests/libops.rs
# docs/gaps.md
# docs/parity-checklist.md
# docs/whats-new.md
2026-10-31 02:30:21 +00:00
aiongg
8415fd6a90
Merge track r3-t06
...
# Conflicts:
# docs/parity-checklist.md
# docs/whats-new.md
2026-10-31 02:30:12 +00:00
aiongg
0fa59f8846
Merge track r3-t05
...
# Conflicts:
# crates/ui-egui/locales/cs-formats.json
# crates/ui-egui/locales/cs.json
# crates/ui-egui/locales/de-formats.json
# crates/ui-egui/locales/de.json
# crates/ui-egui/locales/es-formats.json
# crates/ui-egui/locales/es.json
# crates/ui-egui/locales/fi-formats.json
# crates/ui-egui/locales/fi.json
# crates/ui-egui/locales/fr-formats.json
# crates/ui-egui/locales/fr.json
# crates/ui-egui/locales/id-formats.json
# crates/ui-egui/locales/id.json
# crates/ui-egui/locales/it-formats.json
# crates/ui-egui/locales/it.json
# crates/ui-egui/locales/ja-formats.json
# crates/ui-egui/locales/ja.json
# crates/ui-egui/locales/ka-formats.json
# crates/ui-egui/locales/ka.json
# crates/ui-egui/locales/pl-formats.json
# crates/ui-egui/locales/pl.json
# crates/ui-egui/locales/pt-br-formats.json
# crates/ui-egui/locales/pt-br.json
# crates/ui-egui/locales/ru-formats.json
# crates/ui-egui/locales/ru.json
# crates/ui-egui/locales/sv-formats.json
# crates/ui-egui/locales/sv.json
# crates/ui-egui/locales/uk-formats.json
# crates/ui-egui/locales/uk.json
# crates/ui-egui/locales/vi-formats.json
# crates/ui-egui/locales/vi.json
# crates/ui-egui/locales/zh-hans-formats.json
# crates/ui-egui/locales/zh-hans.json
# crates/ui-egui/locales/zh-hant-formats.json
# crates/ui-egui/locales/zh-hant.json
# docs/gaps.md
# docs/parity-checklist.md
# docs/whats-new.md
2026-10-31 02:30:12 +00:00
aiongg
5e56e9536b
Merge track r3-t04
...
# Conflicts:
# docs/gaps.md
# docs/parity-checklist.md
# docs/whats-new.md
2026-10-31 02:30:01 +00:00
aiongg
67b636329a
Merge track r3-t03
...
# Conflicts:
# crates/ui-egui/src/tests/drop_import.rs
# crates/ui-egui/tests/it/main.rs
# docs/gaps.md
# docs/parity-checklist.md
# docs/whats-new.md
2026-10-31 02:29:52 +00:00
aiongg
46982a5c4f
Merge track r3-t02
...
# Conflicts:
# docs/gaps.md
# docs/parity-checklist.md
# docs/whats-new.md
2026-10-31 02:29:22 +00:00
aiongg
1e0289cb37
Merge PR #3403 : LRC-LIB-CATALOG-SWITCH: files waiting for a library wait for a running import instead of being dropped
...
crates/ui-egui/src/dialogs/settings/libraries.rs: can_switch_library keeps both refusals (folder.move pick pending, files waiting to import).
docs/whats-new.md: the PR's entry added under the 2026-10-30 heading.
2026-10-31 02:12:00 +00:00
aiongg
e235ac71e2
Merge PR #3375 : LR-IMP-FORMATS: a Samsung panorama JPEG with its SEF trailer imports
...
docs/whats-new.md: the PR's 2026-10-30 section added above main's sections.
2026-10-31 02:11:48 +00:00
aiongg
9b5a339ac5
Merge PR #3325 : LRC-LIB-FOLDERS: Move Folder To… asks for the destination without freezing the window
...
crates/ui-egui/src/panels/left/folders.rs: main's built-in-place guard around Rename and Move kept; the Move item is the PR's move_folder_item inside it.
docs/parity-checklist.md: the PR's edits to its rows applied to main's rows.
docs/whats-new.md: the PR's entry added under the 2026-10-29 heading.
2026-10-31 02:11:38 +00:00
aiongg
d8f45ed5a5
Merge PR #3322 : LRC-LIB-CATALOG-SWITCH: a library missing at launch is reported instead of being made anew with demo photos
...
docs/parity-checklist.md: the PR's edit to the LRC-LIB-CATALOG-SWITCH row applied to main's row.
docs/whats-new.md: the PR's 2026-10-29 section added above main's sections.
2026-10-31 02:11:23 +00:00
aiongg
c2155326d6
Merge PR #2942 : Issue #2936 : build the GPU kernels on parallel threads
2026-10-31 02:11:04 +00:00
aiongg
e619c977b9
Merge PR #3276 : LRC-LIB-FOLDERS: the home folder and Local's built-in places can't be renamed or moved
...
docs/parity-checklist.md: header keeps main's newer date plus the PR's item; the PR's edit to the LRC-LIB-FOLDERS row applied to main's row; revision rows union, newest first.
docs/whats-new.md: the PR's 2026-10-28 section added above 2026-10-27.
2026-10-31 02:11:01 +00:00
aiongg
c9c69ddd4c
Merge PR #2919 : PERF-WINDOW: the window queues one frame, not two (eframe's low-latency surface)
...
# Conflicts:
# docs/whats-new.md
2026-10-31 02:11:01 +00:00
aiongg
c034f5bc52
Merge PR #2848 : LRC-SS-LAYOUT: the Slideshow settings page no longer moves when the slide preview finishes rendering
...
docs/whats-new.md, docs/parity-checklist.md: both sides kept; header keeps the newer date.
2026-10-31 02:10:51 +00:00
aiongg
8f9e146217
Merge PR #3286 : FACES: a person's page finds its look-alikes in seconds, not minutes
...
docs/whats-new.md, docs/parity-checklist.md: both sides kept; header keeps the newer date.
2026-10-31 02:10:50 +00:00
aiongg
3af32798f3
Merge PR #2821 : LR-META-LOCATION: reject malformed typed GPS coordinates
...
crates/engine/src/cmd/library.rs: kept main's split; the PR's parse_gps changes and tests are ported to crates/engine/src/cmd/library/gps.rs.
docs/gaps.md, docs/parity-checklist.md: both sides kept (header items, rows, LR-META-LOCATION note).
2026-10-31 02:10:49 +00:00
aiongg
a1ef1bf5fd
Merge PR #3176 : LR-IMP-ADD-DIALOG: an import's probe opens each file once
...
docs/whats-new.md: the PR's entry added under the 2026-10-27 heading after main's entry.
2026-10-31 02:10:38 +00:00
aiongg
b38bb32185
Merge PR #3386 : Never crash: strip byte counts near u64::MAX don't overflow their sum in ORF, SRW, ARW and PEF
...
docs/whats-new.md: both entries under 2026-10-30
2026-10-31 02:10:25 +00:00
aiongg
b3ddfefa5d
Merge PR #3141 : Issue #2589 : a reference app import never creates a photo already in Recently Deleted
...
crates/engine/src/import/job.rs: union of the imports (main's Seen, reusable_probes, sidecars_of plus the PR's FileFacts); the sidecar read uses main's batched found_sidecar and the PR's skip for duplicates with a known capture time.
2026-10-31 02:10:23 +00:00
aiongg
5062acc601
Merge PR #2421 : fix(windows): add opt-in DirectComposition workaround for VRR flicker
...
apps/lightcraft/src/main.rs: kept main's split; hunks ported (clear_color, compose_window, with_transparent); test moved to tests.rs
crates/ui-egui/src/panels/settings.rs: deleted on main; checkbox ported to dialogs/settings/performance.rs
crates/ui-egui/src/state.rs: compose_window field and default ported to state/settings.rs
crates/ui-egui/locales/*.json: main's file plus the new key
docs/gaps.md, docs/parity-checklist.md: main's header and rows plus the PR's additions; duplicated header line and blank lines dropped
2026-10-31 02:10:21 +00:00
aiongg
1d10bc70e1
Merge PR #3321 : LR-IMP-FORMATS: decode compressed RAF 13–17 % faster with a buffered bit reader
2026-10-31 02:10:18 +00:00
aiongg
acf0f6b938
Merge PR #2698 : LR-IMP-FORMATS: AHD blends its candidates where noise alone would pick one, no maze in noisy raws ( #2094 )
...
docs/whats-new.md: both entries kept
2026-10-31 02:10:17 +00:00
aiongg
bfb9572eb1
Merge PR #2529 : LR-MAP-TRACKLOG: Decode XML character references in GPX
...
docs/gaps.md, docs/whats-new.md, docs/parity-checklist.md: both sides' header items, entries and rows kept.
2026-10-31 02:10:14 +00:00
aiongg
b54f299e55
Merge PR #3398 : Never crash: a photo renders at most 64 red eye corrections ( #2556 )
...
docs/whats-new.md: both entries under 2026-10-30
2026-10-31 02:10:08 +00:00
aiongg
9d4de0518a
Merge PR #2979 : LRC-LIB-CATALOG-SWITCH: a library's catalog.snap or folder given at launch opens that library
...
docs/parity-checklist.md: header keeps main's newer date plus the PR's item; revision rows union.
2026-10-31 02:10:05 +00:00
aiongg
35d2fc957b
Merge PR #3402 : RAW.colour: fit the per-file look on the vignetting-corrected sensor
...
Conflicts: crates/engine/src/camera_preview.rs: LOOK_VERSION stays 13, all three version notes kept; docs/raw-parity.md header merged (newer date, both changes)
2026-10-31 02:10:02 +00:00
aiongg
f6b9c3ee8f
Merge PR #3331 : LR-VIEW-HISTOGRAM: the histogram's clipping buttons read in every theme
...
docs/parity-checklist.md: header from main with this PR's date and text; Histogram row gets this PR's clause; revision rows both kept
docs/whats-new.md: both entries, newest first
2026-10-31 02:09:58 +00:00
aiongg
847fc7558d
Merge PR #3027 : LR-PROF-CAMERACOLOR: docs count 9 bundled camera profiles, not 5
2026-10-31 02:09:51 +00:00
aiongg
e8566e839a
Merge PR #2952 : LR-EDIT-COLOR-TEMP: a one-field white balance partial keeps the other field's look ( #2910 )
...
Conflicts: docs unioned
2026-10-31 02:09:50 +00:00
aiongg
b28ef86773
Merge PR #2724 : fix(codecs): validate JPEG ICC APP2 chunk sequences
...
Conflicts: docs/gaps.md header merged (newer date, both change lists), rows kept; other docs unioned
2026-10-31 02:09:46 +00:00
aiongg
5a7a1b2ad9
Merge PR #2964 : LR-IMP-ADD-DIALOG: handle rename sequence exhaustion
...
crates/engine/src/import.rs, cmd/library.rs: main split these files; kept main's side here and ported the PR's hunks to import/job.rs, cmd/library/import.rs and cmd/library/specs.rs (module doc stays in import.rs).
docs: headers keep main's newer date plus the PR's item; the PR's row additions applied to main's rows; revision rows and What's New entries kept, one heading per date.
2026-10-31 02:09:36 +00:00
aiongg
42254ce585
Merge PR #2809 : LR-CROP-AUTO: Auto straighten reads the vertical vanishing point and the horizon
...
docs/parity-checklist.md: LR-CROP-STRAIGHTEN row from main (moved test path); LR-CROP-AUTO row from the PR; header and revision rows both kept.
docs/whats-new.md: both entries kept.
2026-10-31 02:09:32 +00:00
aiongg
d68af705a0
Merge PR #2981 : Issue #2819 : the histogram stays SDR when HDR is switched off
...
crates/ui-egui/src/panels/edit/histogram.rs: live_hdr_histogram added above main's histogram() (now in edit/histogram.rs, pub(crate))
docs/parity-checklist.md: main's Histogram row with this PR's HDR-off clause
2026-10-31 02:09:32 +00:00
aiongg
dc946d9876
Merge PR #3265 : LR-BEHAV-ACCESS: the grid's Thumbnail size reads as a slider
...
crates/ui-egui/tests/it/main.rs: all mod lines kept. docs: both sides kept; header keeps the newer date.
2026-10-31 02:09:27 +00:00
aiongg
0cc014c79a
Merge PR #2514 : Kelvin for Fujifilm X-Trans III bodies from the RAF's own neutral pair ( #730 )
2026-10-31 02:09:20 +00:00
aiongg
8241145ba7
Merge PR #3332 : LR-BEHAV-TITLEBAR: a dialog leaves the macOS title bar undimmed
...
Conflicts: docs unioned
2026-10-31 02:09:20 +00:00
aiongg
866ed3846c
Merge PR #3385 : Never crash: a mask id at the u32 limit doesn't overflow the next mask's id
...
# Conflicts:
# docs/whats-new.md
2026-10-31 02:09:14 +00:00
aiongg
f597811c3b
Merge PR #3273 : LR-BEHAV-ACCESS: panels and bars are named as landmarks and toolbars
...
Conflicts: docs unioned, locales/ru.json and sv.json keys unioned
2026-10-31 02:09:13 +00:00
aiongg
69eaf50db9
Merge PR #3262 : LR-BEHAV-ACCESS: the photo in Detail is named with its file name
...
crates/ui-egui/tests/it/main.rs: all mod lines kept. docs: both sides kept; header keeps the newer date.
2026-10-31 02:09:11 +00:00
aiongg
ac36428e6d
Merge PR #3384 : LR-MASK-OBJECTS: a SAM 3 checkpoint in Meta's original format is named as such, not as an unsupported dtype ( #3378 )
...
# Conflicts:
# docs/parity-checklist.md
# docs/whats-new.md
2026-10-31 02:09:05 +00:00
aiongg
538a77e841
Merge PR #3260 : LR-BEHAV-ACCESS: a dialog is exposed to screen readers as a dialog, not a group
...
Conflicts: docs unioned
2026-10-31 02:09:02 +00:00
aiongg
e0d393c732
Merge PR #2777 : LR-EDIT-OPTICS-PROFILE: Fujifilm X-S20 embedded lens corrections and spectral matrices
2026-10-31 02:08:57 +00:00