Commit Graph
1585 Commits
Author SHA1 Message Date
aiongg aea654b59a Merge PR #2257: LR-META-XMP: fewer false "XMP adjustments were not imported" warnings for raws edited elsewhere
Conflicts:
- docs/parity-checklist.md: LR-META-XMP row carries both changes (JPEG embedded XMP, bookkeeping crs fields)
2026-10-22 02:40:48 +00:00
aiongg 5acc4dead6 Merge PR #2066: LR-BEHAV-LOCALIZE: German catalog filled, 217 interface strings and 862 What's New lines (80% → 97%)
Conflicts:
- docs/localization-parity.md: header keeps the newer date and both changes
2026-10-22 02:40:30 +00:00
aiongg 3ec8b08ad8 Merge PR #2042: LR-META-XMP: reread embedded JPEG metadata
Conflicts:
- crates/engine/src/sidecar.rs: imports keep HashSet and add Read, Seek, SeekFrom
- docs/parity-checklist.md: LR-META-XMP and LR-META-EXIF-FULL rows carry both changes (import stem ranking, JPEG embedded XMP)
- docs/xmp-interop.md: Read row carries both changes
2026-10-22 02:40:19 +00:00
aiongg 29565bbad0 Merge PR #1861: LR-EXP-DIM: Width & Height limits each edge to its own number (#1620)
Conflicts:
- docs/parity-checklist.md: header keeps the newer date; revision rows are the union
2026-10-22 02:39:44 +00:00
aiongg 05f31758fd Merge PR #1484: Add Vietnamese interface translation
Conflicts:
- crates/ui-egui/src/i18n.rs, crates/ui-egui/src/menus.rs: language table and commands keep every language plus vi
- docs/localization.md: language list, note links and table excerpt keep every language plus vi
- docs/localization-parity.md: header keeps the newer date and both changes; the newer per-language measurements are kept, Vietnamese row from the PR; links and revision rows are the union
2026-10-22 02:38:28 +00:00
aiongg 0068d9040b Merge PR #2295: i18n: Indonesian (id) interface language
Conflicts:
- crates/ui-egui/src/i18n.rs, crates/ui-egui/src/menus.rs: language table and commands keep sv, fi and id
- crates/ui-egui/src/panels/keyword_list.rs: code list gains id; Locale::ALL.len() is 17
- docs/localization.md: language list and note links keep every language
- docs/localization-parity.md: header keeps the newer date and both changes; links and revision rows are the union
2026-10-22 02:37:53 +00:00
aiongg d8b2eb60d3 Merge PR #2172: i18n: add Finnish (fi) interface language
Conflicts:
- README.md, docs/localization.md: language lists keep every language, Finnish appended
- assets/ATTRIBUTION.md: union of rows
- crates/ui-egui/src/i18n.rs, crates/ui-egui/src/menus.rs: language table and commands keep sv and fi
- crates/ui-egui/src/panels/keyword_list.rs: code list gains fi; Locale::ALL.len() is 16
- docs/localization-parity.md: header keeps the newer date and both changes; revision rows are the union
2026-10-22 02:37:29 +00:00
aiongg 4764767694 Merge PR #1855: i18n: Swedish (sv) interface translation
Conflicts:
- README.md, docs/localization.md: language lists keep every language, Swedish appended
- assets/ATTRIBUTION.md: union of rows
- crates/ui-egui/src/i18n.rs: language table and command test list keep it, ka and sv; both tests kept
- crates/ui-egui/src/menus.rs: language commands keep it, ka and sv
- crates/ui-egui/src/panels/keyword_list.rs: code list gains sv; Locale::ALL.len() is 15
2026-10-22 02:37:05 +00:00
Matthew James SivakandClaude Opus 5.5 85ceee31a7 Merge main into import-crs-false-warnings (conflicts resolved)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 19:57:58 +02:00
aiongg 21903294bf Merge track r1-rawcat into next
crates/ui-egui/locales/{cs,it,pl}-formats.json: kept the translations and added the track's new keys.
docs/parity-checklist.md: newer header line; revision rows from both sides.
docs/whats-new.md: both tracks' 2026-10-15 entries.
2026-10-21 14:58:55 +00:00
aiongg 69fcc25535 Revert "Merge PR #995: LR-VIEW-CLIPPING: ⌥-drag previews for Blacks, Whites, Exposure, Sharpening and NR (#937)"
Held for the owner: #995 and #999 overlap, and #995's author offered on 10-12 to
close #995 once his commit was in #999. docs/parity-checklist.md: header keeps the
#1485 note and drops the #995 part.
2026-10-21 14:56:17 +00:00
aiongg a1455fa7cd Merge PR #1988: #1507: web start-up treats only NotFoundError as a missing file
apps/lightcraft-web/src/files.rs: keeps #1987's and #1988's tests
docs/whats-new.md: keeps both 2026-10-15 entries
2026-10-21 14:56:12 +00:00
aiongg 697d201e97 Merge PR #1987: #1508: web backup refuses to start while changes are unsaved 2026-10-21 14:55:55 +00:00
aiongg 5443225c3c Merge track r1-i18nci into next 2026-10-21 14:54:41 +00:00
aiongg 4e581739bd Merge PR #1924: Do not read a sibling's shared stem sidecar on import (#1905)
docs/parity-checklist.md: header keeps the newer 2026-10-18 change
2026-10-21 14:54:19 +00:00
aiongg 523894b00b Merge PR #1998: LR-BEHAV-BG-TASKS: Reload from Disk reads its files in the background
docs/parity-checklist.md: header names #1998's change
2026-10-21 14:54:08 +00:00
aiongg a44a2eeb1d Merge track r1-ui into next
docs/whats-new.md: kept both tracks' entries, newest first, one 2026-10-18 heading.
2026-10-21 14:54:06 +00:00
aiongg c1c9f94094 Merge PR #842: Read large Lightroom catalogs by page
crates/engine/src/lightroom_catalog.rs: test helpers chained; native_catalog_rows takes #842's last_page argument, native_catalog_with_last_table_page builds on it
docs/parity-checklist.md: LRC-LIB-CATALOG-IMPORT keeps both texts
2026-10-21 14:53:52 +00:00
aiongg 06a5c2edb7 Merge PR #2244: fonts: Georgian UI text from craft-fonts' Noto Sans Georgian (release builds) 2026-10-21 14:53:17 +00:00
aiongg 80a7b8bba8 Merge PR #2230: Lightroom import: skip images whose file record is missing instead of failing 2026-10-21 14:53:06 +00:00
aiongg 83ac0bca70 Merge PR #1923: LR-IMP-FORMATS: CRX high-frequency band width from the tile geometry … 2026-10-21 14:53:02 +00:00
aiongg 47be297b69 Merge PR #2258: i18n(cs): bring the Czech catalog up to date 2026-10-21 14:52:57 +00:00
aiongg 9dd811de5d Merge PR #2272: #2266: a presets.json that can't be written counts as unsaved
docs/whats-new.md: entry added under the existing 2026-10-18 heading
2026-10-21 14:52:05 +00:00
aiongg 6196ebb968 Merge PR #2280: #2253: crop ratios keep the orientation asked for
docs/parity-checklist.md: LR-CROP-ASPECT keeps #2253's orientation note and #991's fresh-crop lock
docs/whats-new.md: 2026-10-18 entry placed between 2026-10-19 and 2026-10-15
2026-10-21 14:51:48 +00:00
aiongg 0a27b0d804 Merge PR #1990: #1927: Constrain Crop tightens the stored crop
docs/whats-new.md: both entries kept, 2026-10-19 above 2026-10-15
2026-10-21 14:51:24 +00:00
aiongg 7c3aed08fa Merge PR #2314: #2114: hidden Local locations come back one at a time 2026-10-21 14:51:12 +00:00
aiongg 0899915bdc Merge PR #1485: LR-VIEW-ZOOM: drag-scale follow-ups from #1009 review; slow verdicts expire (#330)
docs/parity-checklist.md: header keeps both changes, dated 2026-10-20
2026-10-21 14:51:12 +00:00
aiongg 70e6b02569 Merge PR #995: LR-VIEW-CLIPPING: ⌥-drag previews for Blacks, Whites, Exposure, Sharpening and NR (#937) 2026-10-21 14:50:38 +00:00
aiongg 30b6d3160c Merge PR #2067: LR-MASK-OBJECTS: SAM 3 falls back to the CPU when the GPU can't run it (#1974) 2026-10-21 14:49:23 +00:00
aiongg 5e5f1259ad Merge PR #1963: M12: Describe selections from SAM 3's semantic mask: sure inside, no lines between instances 2026-10-21 14:49:23 +00:00
aiongg 26c1c2b1b0 Merge PR #2273: #2242: reverseGeocode maxDistance, and the 15 000-people limit is documented 2026-10-21 14:49:23 +00:00
aiongg 145095663b Merge PR #2152: MCP: mark file-writing tools as potentially destructive 2026-10-21 14:48:49 +00:00
aiongg b1b9463e93 Merge PR #2285: LR-LIB-STACK: a double-click on a stack badge toggles the stack once (#2233) 2026-10-21 14:48:33 +00:00
aionggandharanishi fcbbda591c Merge PR #1864: Crop: a fresh crop starts locked to the photo's own shape (#991)
Co-authored-by: haranishi <223786623+haranishi@users.noreply.github.com>
2026-10-21 14:48:33 +00:00
aionggandharanishi cf2bfa4ece Merge PR #1863: Library: a picked photo's flag is drawn filled (#1013)
Co-authored-by: haranishi <223786623+haranishi@users.noreply.github.com>
2026-10-21 14:48:21 +00:00
helgehelge123andClaude Opus 5.5 d1eeff9600 LR-BEHAV-LOCALIZE: say what German's 59 and its 3,754 count
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 18:44:36 +02:00
Roope Gröhnandcoderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> 89a916a31d Update docs/localization-parity.md
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2026-10-20 18:54:28 +03:00
Roope GröhnandClaude Sonnet 5.5 494d9d77bb i18n: add Finnish (fi) interface language
Adds Finnish catalogs (fi.json, fi-formats.json), the language table entry
and menu command, Finnish tests, docs and an attribution row. What's New text
stays English, as in most catalogs.

AI-assisted translation (Claude Code), reviewed by a native Finnish speaker.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-20 18:29:23 +03:00
fabiodalez-dev fa135940e7 i18n(it): native-speaker corrections and every interface string translated
Corrections from my review of #1198: Exposure is Esposizione (not Tempo di esposizione, the shutter time), Sharpening is Nitidezza (not Contrasto), Preset stays Preset in every preset label, and blurry photos are sfocate, not mosse.

Adds the 339 interface messages Italian lacked (print, slideshow, mask effects, faces, HDR, external editors, keywords, focus points and their dialogs) and translates the 60 format strings still in English in it-formats.json. Only the What's New lines stay in English, as before: 2,628 of 3,278 messages.
2026-10-20 16:08:27 +02:00
helgehelge123andClaude Opus 5.5 f64d9a2e3c i18n(de): speak to the user with du throughout
The German catalog mixed du and Sie. It now uses du everywhere: the 11
messages that used Sie (imperatives such as "Wählen Sie", and "Ihr Name oder
Studio") changed; "Sie" and "Ihr" that mean they and their stay.
docs/localization-parity.md records the choice for the next batch.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 14:59:38 +02:00
helgehelge123andClaude Opus 5.5 6d5a3b02d2 i18n(de): translate the 862 What's New lines the German catalog lacked
Help → What's New now reads in German down to the oldest entry: every
wrapped line of docs/whats-new.md without a German entry has one. Dates
read DD.MM.YYYY; issue numbers, code spans, file names and link targets
are unchanged, and link texts stay English because the pages they open
are English. Each wrapped line is its own catalog key, so the German
lines break near the English line breaks. "Raw(s)" is "RAW-Datei(en)",
menu paths use →, and the text keeps the catalog's "du" form.

Held back: the 59 lines whose English text contains a ▸ menu path.
Their translations are ready (with →) and go in once #2016 (for #1950)
renames those keys; adding them now would only conflict with it.

localization-parity.md and ROADMAP.md: German re-measured with the
documented count over the catalogs, 2,572 → 3,644 of 3,754 messages
(80% → 97%). The denominator grows because German now translates
What's New lines no other catalog has; other rows keep their counts.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 14:57:40 +02:00
Matthew James SivakandClaude Opus 5.5 f08522b8a9 LR-VIEW-ZOOM: the 20 ms rule clears a slow verdict only on full-size drags (docs)
Only a drag timed at full size (median of its full-size drafts, after the
first, at most 20 ms) forgets a slow-drag verdict; a drag that drafts small
from its start, or times fewer than two full-size drafts, leaves it unchanged,
as `DragScale::finish` does.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 12:56:48 +02:00
Davit MatchakhelidzeandClaude Opus 5.5 2015f44c06 Release: keep the web build without craft-fonts for now (its WASM would pass Cloudflare's 25 MiB limit); docs say so
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YMTAbGNRxnMEzRvYnQGphF
2026-10-20 12:56:17 +04:00
Davit MatchakhelidzeandClaude Opus 5.5 04e11e701a docs: Georgian draws with craft-fonts' Noto Sans Georgian; the web WASM keeps the Japanese, Thai and Georgian faces
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YMTAbGNRxnMEzRvYnQGphF
2026-10-19 18:13:10 +04:00
Claude e2ea657668 #2114: hidden Local locations come back one at a time
"Show N hidden locations" put every location removed from Local back at
once. With several hidden, the row now lists them (name, path on hover):
each comes back on its own, or all with Restore All. With one hidden, the
row restores it directly, as before. The command side already had
local.restoreHidden {path}; only the panel called it without a path.

The headless test hides a second place, opens the list from the row,
restores one, checks the other stays hidden, then restores the rest.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AbegtYaPuwqZ81pGfELsFK
2026-10-19 11:29:48 +00:00
Matthew James SivakandClaude Opus 5.5 58c38ead2f LR-VIEW-ZOOM: describe the slow-drag verdict as per photo and control
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 10:13:51 +02:00
Matthew James SivakandClaude Opus 5.5 0360f940e3 Merge main into lightroom-jxl-dng
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 08:33:20 +02:00
Reva Doni AprilioandClaude Opus 5.5 61402815b5 docs: gaps header for gap 21; Indonesian parity counts messages only
Address review: gaps.md's header and history record the 2026-10-19 gap 21
change, and the Indonesian parity row counts the 2,555 catalog messages,
with the 69 command labels noted separately.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 13:26:32 +07:00
Reva Doni AprilioandClaude Opus 5.5 822c6ed101 docs: Indonesian in the key-languages tables and the localization headline numbers
Address review: the twelve-key-languages row for Indonesian still read 0%
while the shipped table listed it, and ROADMAP repeated it under Also
shipped. Indonesian is a key language, so it moves to its row (100% but
What's New) and out of the other-languages table (back to 4). Localization
mean of the 12 key languages ~55% -> ~64%, 8 of 12 present; the new-script
estimate drops Indonesian (135-239 h); the full-target weighted sum moves
61.2% -> 61.5% (still ~61%).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 13:07:58 +07:00
Reva Doni AprilioandClaude Opus 5.5 816a1112e3 i18n: Indonesian (id) interface language
Adds crates/ui-egui/locales/id.json and id-formats.json: every plain
(2,258) and formats (297) message any catalog has, plus 69 command
labels no catalog translated yet. What's New stays in English.

Indonesian keeps a noun unchanged after a count, so English plural
suffixes are consumed with {:.0}; dates read "Minggu, 20/09/2026".
Menu triangles use → and ⌄ like the other catalogs. 356 labels reuse
the sibling apps' Indonesian wording (PhotoCraft, VectorCraft,
FilmCraft, FigCraft) so the suite reads the same; credited in
ATTRIBUTION.md.

Registers Locale::Id ("Bahasa Indonesia", Latn), the
app.language.indonesian command, the keyword-list catalog check and
an Indonesian switch/persist/format/date test. Docs: localization.md,
localization-id.md, localization-parity.md, ROADMAP.md.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 12:17:59 +07:00