Marco Arnulfo
cdc1505bb3
LR-FILT-FLAG: group the plural flags in the chip when flag and flags exclude each other
2026-10-30 02:26:41 +01:00
Marco Arnulfo
e7fa046d11
Flag chip and filter bar show what flag and flags let through together
...
With both set (only via library.filter) they AND, but the chip and the
bar's buttons showed their union. Filter::flags_shown gives the flags
that pass both; the chip names both constraints when none does.
2026-10-30 02:26:41 +01:00
Marco Arnulfo
1ee9991b41
LR-FILT-FLAG: the filter bar's flag buttons combine, Picked + Unflagged hides only the rejects ( fixes #2588 )
2026-10-30 02:26:41 +01: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
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
Dylan M. Taylor
47839a61db
refactor(bench): dispatch specialized render modes
2026-10-28 03:24:18 +00:00
Dylan M. Taylor
9e1483388f
refactor(import): separate Lightroom collection staging
2026-10-28 03:24:18 +00:00
Dylan M. Taylor
e8f52cc07e
refactor(print): define blit rectangles
2026-10-28 03:24:18 +00:00
Dylan M. Taylor
33252920e3
refactor(denoise): model installation requests
2026-10-28 03:24:18 +00:00
Dylan M. Taylor
694b237f0a
refactor(faces): model crop and plane shift inputs
2026-10-28 03:24:18 +00:00
Dylan M. Taylor
2f42ff8944
refactor(pipeline): group pixel finish parameters
2026-10-28 03:24:18 +00:00
aiongg
07bc2008d9
Merge pull request #3045 from dotCooCoo/fix/local-skips-windows-hidden-folders
...
Local: skip offscreen folder widgets and show browsed hidden paths
2026-10-27 13:47:10 -04:00
aiongg
94ea495bdb
Merge pull request #3020 from dotCooCoo/fix/windows-hard-link-write-target
...
Originals: on Windows a hard link to an original counts as that original
2026-10-27 13:46:50 -04:00
NetterSilver and Claude Opus 5.5
3ce8dbc55b
Drop copies and libm calls from 8-bit export encoding
...
- finish_8bit/finish_deep hand back the render itself when there is no
output sharpening and no watermark. Before, every export cloned the
image (~100 MB at 24 MP) and output_sharpen built a ~290 MB float copy
of it even for SharpenFor::None, all on one thread.
- Output sharpening's box blurs run row-parallel (par_rows); each pixel
is computed as before.
- The parallel JPEG encoder converts each band's rows to YCbCr inside the
band's task instead of first filling whole-image planes (~290 MB for
4:4:4 at 24 MP, written once and read back).
- fdct_quant rounds with plain arithmetic (round_i16) instead of
f32::round, a libm call per coefficient without SSE4.1; it equals
`x.round() as i16` for all 2^32 inputs.
Output is byte-identical (pinned by encoded_bytes_are_pinned and
sharpened_pixels_are_pinned, whose hashes come from main).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-27 15:43:41 +01:00
NetterSilver and Claude Opus 5.5
30d0a37051
Add a single-photo export benchmark
...
examples/export_bench imports the files given and runs export_photo
(decode, full-size render, encode) N times, forgetting the decoded
original between runs like a batch export does, and prints the median
and minimum wall time. OPT takes export options as app.export JSON,
PHASES=1 times render and encode separately, OUT=dir writes the files
for byte comparisons between builds.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-27 15:43:41 +01:00
dotCooCoo
d826e79fa2
Skip offscreen Local rows and share hidden-folder checks
...
Reuse cached folder listings through Arc and allow tests to inject Local places.
Show browsed folders below hidden ancestors as session roots. Apply the same
hidden-entry checks to folder walks, browsing, import scanning, and Local.
2026-10-26 22:36:11 -07:00
dotCooCoo
0c7640f7d3
Reject unavailable Windows file identities in strict comparisons
...
Return an error when either file index is zero. Keep the resolved-path fallback for lenient comparisons. Test both unknown-identity orderings and distinguish identity lookup failures from known-original refusals.
Merge main at 662df66f .
2026-10-26 20:28:34 -07:00
skylar taylor-barrick
662df66f1c
Preserve queued file drops across dialogs and restore Flatpak sources ( #2975 )
2026-10-27 03:50:41 +01:00
aiongg
8d8994ec87
refactor(lightcraft-engine): split cmd/library.rs into cmd/library/
2026-10-26 21:39:56 +00:00
aiongg
ff614cbe43
refactor(lightcraft-engine): split import.rs into import/
2026-10-26 21:39:56 +00:00
aiongg
39d6a8d668
refactor(lightcraft-engine): split rename.rs into rename/
2026-10-26 21:39:55 +00:00
aiongg
8942984c35
refactor(lightcraft-engine): split denoise.rs into denoise/
2026-10-26 21:39:55 +00:00
aiongg
21304db29b
refactor(lightcraft-engine): split media.rs into media/
2026-10-26 21:08:55 +00:00
aiongg
50509093b6
refactor(lightcraft-engine): split camera_preview.rs into camera_preview/
2026-10-26 21:08:55 +00:00
aiongg
e3c594cab8
refactor(lightcraft-engine): split export.rs into export/
2026-10-26 21:08:55 +00:00
aiongg
9b197d8215
refactor(lightcraft-engine): split files.rs into files/
2026-10-26 21:08:55 +00:00
aiongg
658f3c26d5
refactor(lightcraft-engine): move denoise gpu_tests to denoise/gpu_tests.rs
2026-10-26 21:05:53 +00:00
aiongg
7707047684
refactor(lightcraft-engine): move media thumbnail_hash_tests to media/thumbnail_hash_tests.rs
2026-10-26 21:05:53 +00:00
aiongg
d151df0149
style: cargo fmt the moved test modules
2026-10-26 18:30:36 +00:00
aiongg
73adafbae0
refactor(lightcraft-engine): move tests_slide_template.rs to slide_template/tests.rs
2026-10-26 18:28:42 +00:00
aiongg
9cc8a1c765
refactor(lightcraft-engine): move tests_*.rs to tests/
2026-10-26 18:24:54 +00:00
aiongg
c579f226ab
refactor(lightcraft-engine): move print/compose.rs tests to crates/engine/src/print/compose/tests.rs
2026-10-26 18:15:58 +00:00
aiongg
e6b0b386a7
refactor(lightcraft-engine): move print/layout.rs tests to crates/engine/src/print/layout/tests.rs
2026-10-26 18:15:57 +00:00
aiongg
41064fabb5
refactor(lightcraft-engine): move crs.rs tests to crates/engine/src/crs/tests.rs
2026-10-26 18:15:57 +00:00
aiongg
a3ec3eadef
refactor(lightcraft-engine): move rename.rs tests to crates/engine/src/rename/tests.rs
2026-10-26 18:15:57 +00:00
aiongg
89083b6c77
refactor(lightcraft-engine): move camera_preview.rs tests to crates/engine/src/camera_preview/tests.rs
2026-10-26 18:15:56 +00:00
aiongg
68abc4d4ce
refactor(lightcraft-engine): move slideshow.rs tests to crates/engine/src/slideshow/tests.rs
2026-10-26 18:15:55 +00:00
aiongg
c0fe58a144
refactor(lightcraft-engine): move demo.rs tests to crates/engine/src/demo/tests.rs
2026-10-26 18:15:55 +00:00
aiongg
102fa85a9c
refactor(lightcraft-engine): move files.rs tests to crates/engine/src/files/tests.rs
2026-10-26 18:15:55 +00:00
aiongg
a70d39eacd
refactor(lightcraft-engine): move slide_overlay.rs tests to crates/engine/src/slide_overlay/tests.rs
2026-10-26 18:15:54 +00:00
aiongg
34f15b567f
refactor(lightcraft-engine): move lightroom_sqlite.rs tests to crates/engine/src/lightroom_sqlite/tests.rs
2026-10-26 18:15:53 +00:00
aiongg
698ca5a884
refactor(lightcraft-engine): move lightroom_catalog.rs tests to crates/engine/src/lightroom_catalog/tests.rs
2026-10-26 18:15:53 +00:00
aiongg
619f346e74
refactor(lightcraft-engine): move apple_photos.rs tests to crates/engine/src/apple_photos/tests.rs
2026-10-26 18:15:52 +00:00
aiongg
6cf21f552a
refactor(lightcraft-engine): move crs_masks.rs tests to crates/engine/src/crs_masks/tests.rs
2026-10-26 18:15:52 +00:00
aiongg
47adb933db
refactor(lightcraft-engine): move smart.rs tests to crates/engine/src/smart/tests.rs
2026-10-26 18:15:52 +00:00
aiongg
50116167a6
refactor(lightcraft-engine): move export.rs tests to crates/engine/src/export/tests.rs
2026-10-26 18:15:51 +00:00
aiongg
858046cc4f
refactor(lightcraft-engine): move media.rs tests to crates/engine/src/media/tests.rs
2026-10-26 18:15:50 +00:00
aiongg
728f223ee5
refactor(lightcraft-engine): move crates/engine/src/segment/mod.rs to crates/engine/src/segment.rs
2026-10-26 18:15:08 +00:00