Commit Graph
2253 Commits
Author SHA1 Message Date
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