Commit Graph
3491 Commits
Author SHA1 Message Date
aiongg 4e4ea5e3c3 Merge PR #2726: LR-BEHAV-LOCALIZE: panel layout toasts, face recognition prompts and the second window title are translated
locales it/ka/ru/vi/zh-hans/zh-hant: union of keys (side already on main kept where both set a key)
docs/parity-checklist.md: header keeps newer date, revision rows union
2026-10-31 02:07:51 +00:00
aiongg 72cb884c84 Merge PR #2703: LR-BEHAV-LOCALIZE: the translation report also lists plain tr() strings a catalog lacks, wrapped calls included 2026-10-31 02:07:36 +00:00
aiongg 9b991e254f Integration: #2693 drop duplicate ru Favorite line 2026-10-31 02:07:36 +00:00
aiongg 052062e3d9 Merge PR #2693: "Favorite" and "Listing folders" in the catalogs that lack them 2026-10-31 02:07:24 +00:00
aiongg bd4220fe7c Merge PR #2624: i18n(it): translate the effect presets, slideshow, print, people and overlay strings 2026-10-31 02:07:21 +00:00
aiongg 966a6cd946 Merge PR #2582: i18n(ka): Georgian for 336 interface strings, 48 format messages and the 559 untranslated What's New lines 2026-10-31 02:07:18 +00:00
aiongg 397e277d09 Merge PR #2520: i18n: add Vietnamese (vi) interface language 2026-10-31 02:07:14 +00:00
aiongg 84702189e3 Merge PR #2429: i18n: complete the Traditional Chinese (zh-hant) catalog (200 missing strings)
zh-hant.json: union of both sides' keys
2026-10-31 02:07:13 +00:00
aiongg 15e4f28519 Merge PR #2427: i18n: complete the Simplified Chinese (zh-hans) catalog (162 missing strings)
crates/ui-egui/locales/zh-hans.json: union of both sides' keys
2026-10-31 02:07:07 +00:00
Brandon Thomas c7d7d3c0fd Merge PR #2540 (maintainer follow-up) 2026-10-30 15:26:31 -04:00
Brandon ThomasandClaude Opus 5.5 831d724b87 Reject .cube data lines that start with nan or inf
A data line such as `nan 0 0` starts with a letter and was skipped as an
unknown keyword, so a file with enough other entries still parsed.
(CodeRabbit review on #2540.)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 15:26:29 -04:00
Brandon Thomas b854bbb94e Merge PR #2835 2026-10-30 15:24:59 -04:00
Brandon Thomas ac4a98bc2d Merge PR #3147 2026-10-30 15:24:59 -04:00
Brandon Thomas cfdf63c6e4 Merge PR #2917
# Conflicts:
#	docs/parity-checklist.md
#	docs/whats-new.md
2026-10-30 15:24:59 -04:00
Brandon Thomas 13711ace2b Merge PR #2155 2026-10-30 15:24:41 -04:00
Brandon Thomas c1fb95dfc0 Merge PR #3225 2026-10-30 15:24:30 -04:00
Brandon Thomas 273e9078de Merge PR #2969 2026-10-30 15:24:30 -04:00
Brandon Thomas 5693a3aeaa Merge PR #2540 2026-10-30 15:24:30 -04:00
Brandon Thomas bdb146be43 Merge PR #2833 2026-10-30 15:24:30 -04:00
Brandon Thomas ef83f30327 Merge PR #2834 2026-10-30 15:24:30 -04:00
Brandon Thomas 19eb08dc25 Merge PR #2909 2026-10-30 15:24:30 -04:00
Brandon Thomas b7c52c5032 Merge PR #2918 2026-10-30 15:24:30 -04:00
Brandon Thomas 181a580579 Merge PR #3366 2026-10-30 15:24:30 -04:00
Brandon Thomas 9140e8cd38 Merge PR #3267 2026-10-30 15:24:30 -04:00
Max MittelstädtandGPT-6-Luna b25808686d Reject mismatched XML closing tags
Found while testing crates/lensdb/src/xml.rs:77

Co-Authored-By: GPT-6-Luna <noreply@openai.com>
2026-10-30 06:10:13 +00:00
Dylan M. Taylor 445dd3106e Update prompt shows the app icon and accent color instead of a letter (#3362)
UPDATE_APP (native builds; craft-update is a native-only dependency) carries our 128 px icon and accent (#f2a516, its colour in ArtCraft Launcher). The updater, the self-update
helper and craft-update's startup prompt all get them through crate::UPDATE_APP; the
prompt draws the icon, the accent and "by ArtCraft" (craft-update's default developer).

craft-update is pinned to storytold/craft-libs main at 1065653e7 (#434).
Clippy fixes for Rust 1.99 in untouched code (same logic):
- crates/engine/src/cmd/export.rs
- crates/ui-egui/src/dialogs/rules_editor/rules_move.rs
- crates/ui-egui/src/panels/detail.rs
2026-10-30 01:27:49 -04:00
Nathaniel Ledford a165b4ee2c i18n: the gaps report test compares paths, not their text
On Windows the separator is a backslash, so the list of source files never equaled "sub/widget.rs".
2026-10-29 11:54:23 -04:00
Nathaniel Ledford 81cf656dc2 i18n: vi translates "…and {more} more" itself; id and sv keep their lines in place
#2520 does not touch vi-formats.json, so the English value stays unless this PR translates it. The moved Listing folders lines in id and sv are back where they were.
2026-10-29 11:21:40 -04:00
radialmonsterandClaude Opus 5.5 20c1f3c057 raw: test the grey JPEG XL restore through decode
The existing synthetic lossy RGB fixture tiles are re-declared grey by a
header edit (colour space RGB to Grey, dropping the 6-bit primaries field
a grey encoding does not carry, per the ColourEncoding bundle). Their XYB
frame data is unchanged, so they decode as one grey plane whose rendered
channels differ. The test checks decode against the gradient's BT.2100
luminance in the linear and sRGB curves.

Refs #275

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014ti8KemZbjE2ZgHgV1q1BM
2026-10-28 13:44:42 -04:00
radialmonsterandClaude Opus 5.5 953c4ee5fc raw: decode lossy single-plane (grey) JPEG XL tiles in LinearRaw DNGs
Lightroom Classic's HDR and panorama merges of monochrome raws store a
one-plane LinearRaw image as lossy (XYB) JPEG XL tiles whose codestream
declares a grey colour encoding (16-bit float with a linear curve, or
16-bit integer with the sRGB curve). Those were refused as "lossy JPEG XL
tile with a single colour plane", so the files opened preview-only.

A lossy grey tile is still coded as three XYB channels. It is now
restored like the RGB case: jxl-oxide renders linear sRGB (never the
declared encoding, which would clip), the single plane is the luminance
(CIE Y, D65) of that, then the declared transfer curve is applied.
One plane must be declared grey and three RGB; HDR curves, other white
points and intensity targets above 255 stay unsupported.

RENDER_CACHE_VERSION 70 -> 71: files that showed their embedded preview
before render from raw data now, under the same content key.

Refs #275

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014ti8KemZbjE2ZgHgV1q1BM
2026-10-28 13:44:42 -04:00
Max MittelstädtandGPT-6-Luna 7ab2575505 Reject ZIP entries with inconsistent decoded sizes
Found while testing crates/geocode/src/unzip.rs:64

Co-Authored-By: GPT-6-Luna <noreply@openai.com>
2026-10-28 16:41:59 +00:00
Dylan M. Taylor 307ecb981d fix(ui-egui): keep the Export dialog's original spacing before the preset row 2026-10-28 04:06:29 +00:00
Dylan M. Taylor 6e54232557 test: factor long UI and MCP scenarios into helpers 2026-10-28 03:25:18 +00:00
Dylan M. Taylor ce3ce07771 refactor(ui-egui): split the top bar and slider widget 2026-10-28 03:25:18 +00:00
Dylan M. Taylor f858578f8c refactor(ui-egui): split the detail view, mask overlay and denoise panel 2026-10-28 03:25:18 +00:00
Dylan M. Taylor 4ed9a5c869 refactor(ui-egui): split the grid cell and context menu 2026-10-28 03:25:18 +00:00
Dylan M. Taylor 620826cac0 refactor(ui-egui): shorten functions that format localized messages 2026-10-28 03:25:18 +00:00
Dylan M. Taylor 7b4236bc8b refactor(ui-egui): pass related arguments as small structs 2026-10-28 03:25:18 +00:00
Dylan M. Taylor b74612513c refactor(ui-egui): split the Export dialog body into sections 2026-10-28 03:24:18 +00:00
Dylan M. Taylor 8c3dd7ebd2 refactor(ui-egui): split dialog frame into title, buttons and confirm 2026-10-28 03:24:18 +00:00
Dylan M. Taylor 335defee47 refactor(ui-egui): one function per dialog body 2026-10-28 03:24:18 +00:00
Dylan M. Taylor 627804c161 refactor(ui-egui): split import finish and print settings 2026-10-28 03:24:18 +00:00
Dylan M. Taylor 63755f8a2e refactor(ui-egui): split the global shortcut dispatcher 2026-10-28 03:24:18 +00:00
Dylan M. Taylor 2f3002bc5c refactor(ui-egui): split preset import and find-missing commands 2026-10-28 03:24:18 +00:00
Dylan M. Taylor 71bf82f7bb refactor(ui-egui): split run_ui_command into parts and per-command functions 2026-10-28 03:24:18 +00:00
Dylan M. Taylor 6774d1419f refactor(ui-egui): replace wildcard imports with explicit lists 2026-10-28 03:24:18 +00:00
Dylan M. Taylor 5b5ddc3904 fix(engine): import denoise model and gpu names explicitly 2026-10-28 03:24:18 +00:00
Dylan M. Taylor ca69e74b62 fix(raw): check opcode byte counts without overflow 2026-10-28 03:24:18 +00:00
Dylan M. Taylor c9d44f7804 style(engine): expand module imports explicitly 2026-10-28 03:24:18 +00:00
Dylan M. Taylor 4d8369b091 test(engine): factor complex regression scenarios 2026-10-28 03:24:18 +00:00