Nathaniel Ledford and Claude Opus 5.5
540a281ccd
PERF-SYNC: a Synchronize Folder scan reads off the folder's listing whether a photo and its sidecar are there
...
The scan asked the disk about every library photo in the folder: is its
file there, and has it a sidecar under any of four names. On a network
share each question is a round trip, and the scan had just listed the
folder. Measured on a hard disk over SMB, for unchanged folders of 1,600
to 2,400 photos: 4.6 to 7.1 s of questions after a listing of 4 to 5 s.
- The walk hands each folder's listing over (`walk::files_in_noting`:
every entry's name and kind, hidden ones too, and whether that is all of
them). The scan walks the folder once, then checks the photos beside
the probing of new files.
- `sync::Listing` answers "is it there" / "is it a file" where that holds
on any file system: a name the folder lists is there; a plain ASCII name
is not there when the folder was listed to its end, all its names are
ASCII and none is that name in another case. Everything else is asked
of the disk as before (a link, a name Windows reads another way, a
folder that was not walked, and every name not listed in a folder that
holds a name outside ASCII).
Now under 0.05 s for those folders. Two things differ on purpose: a file
the folder lists is there though it can't be opened by its path (a folder
that may be listed but not searched, an over-long path), where such
photos were listed as missing; and the answers are the folder as the
walk saw it.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-14 07:45:43 -04:00
Brandon Thomas and Claude Opus 5.5
180d400cdd
Batch 35: one header line per tracker doc, one 2026-10-13 section in What's New, parity summary refreshed, rustfmt after merges
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-14 01:59:55 -04:00
Brandon Thomas
5fe332c7b4
Merge PR #1570 (updated head)
...
# Conflicts:
# README.md
# crates/raw/src/vendor/nef_lens.rs
# docs/gaps.md
# docs/nikon-lens-corrections.md
# docs/parity-checklist.md
# docs/raw-parity.md
# docs/whats-new.md
2026-10-14 01:54:50 -04:00
Brandon Thomas
48b9a5e21f
Merge PR #1132
...
# Conflicts:
# crates/engine/src/lightroom_job.rs
2026-10-14 01:40:32 -04:00
Brandon Thomas
418f6255be
Merge PR #1543
...
# Conflicts:
# crates/engine/src/export.rs
# docs/parity-checklist.md
# docs/whats-new.md
2026-10-14 01:40:03 -04:00
Brandon Thomas
9085eb4b23
Merge PR #1653
...
# Conflicts:
# docs/parity-checklist.md
2026-10-14 01:39:50 -04:00
Brandon Thomas
694ce5b42b
Merge PR #1537
...
# Conflicts:
# docs/gaps.md
2026-10-14 01:39:50 -04:00
Brandon Thomas
aa0f9a5666
Merge PR #1536
...
# Conflicts:
# docs/parity-checklist.md
# docs/whats-new.md
2026-10-14 01:39:49 -04:00
Brandon Thomas
cc7179c560
Merge PR #1667
...
# Conflicts:
# docs/whats-new.md
2026-10-14 01:39:03 -04:00
Brandon Thomas
4fe0466942
Merge PR #1666
...
# Conflicts:
# docs/whats-new.md
2026-10-14 01:39:02 -04:00
Brandon Thomas
93bd81a480
Merge PR #1557
...
# Conflicts:
# docs/whats-new.md
2026-10-14 01:38:57 -04:00
Brandon Thomas
1dd41b1872
Merge PR #1550
...
# Conflicts:
# docs/whats-new.md
2026-10-14 01:38:56 -04:00
Brandon Thomas
deb7831083
Merge PR #1542
...
# Conflicts:
# docs/whats-new.md
2026-10-14 01:38:53 -04:00
Brandon Thomas
992e67188b
Merge PR #1539
...
# Conflicts:
# docs/whats-new.md
2026-10-14 01:38:51 -04:00
Brandon Thomas
07f73c44da
Merge PR #1443
...
# Conflicts:
# crates/engine/src/files.rs
# docs/raw-preview-reads.md
# docs/whats-new.md
2026-10-14 01:29:30 -04:00
Brandon Thomas
b4d5b47617
Merge PR #1453 (rebased onto main)
2026-10-14 01:27:32 -04:00
skybluu
bcfda31678
Merge current main into DNG identity fix
2026-10-13 21:34:33 -05:00
skybluu
83a89ff271
Merge current main into source build guidance
2026-10-13 21:31:07 -05:00
skybluu
f12cf65ab7
LR-BUILD: document command-local low-memory release overrides ( #1196 )
2026-10-13 21:19:28 -05:00
skybluu
ce607d5a49
LR-LIB-CONVERT: avoid duplicated DNG camera make ( #840 )
2026-10-13 21:13:51 -05:00
eliets2
3ad5eadab2
LR-REM-HEAL: checkpoint zero-feather spot edge correction
...
Treat a zero-width feather transition as a hard edge so exact-radius pixels remain unchanged, including at zero opacity. Add actual image regressions for all spot modes, image corners and two clone output sizes.
Validation: both new regressions failed on the original implementation and pass here. Formatting, workspace Clippy, HEIF and a generated-photo app smoke test pass. The unfiltered workspace gate remains blocked by the existing all-masks overlay test tracked by #1599 ; later parity, layers, assets and WASM stages are pending. This is a source checkpoint, not a green release candidate.
Contributor: @eliets2
2026-10-14 00:51:56 +03:00
Michael Anderson
1ee751ebdf
LR-EDIT-OPTICS-PROFILE: Apply Nikon's in-file distortion correction for the Z 6II, Z 8 and Z f
...
Read the polynomial, zoom and optical center offset from NikonNEFInfo.
2026-10-13 11:10:46 -05:00
Brandon Thomas
93f8ee7c0d
Merge PR #1427
...
# Conflicts:
# crates/ui-egui/src/lib.rs
# docs/parity-checklist.md
2026-10-13 11:52:07 -04:00
Brandon Thomas
cd59698798
Merge PR #1583
...
# Conflicts:
# docs/whats-new.md
2026-10-13 11:49:24 -04:00
Brandon Thomas
3f9b3b20cb
Merge PR #1579
...
# Conflicts:
# docs/whats-new.md
2026-10-13 11:49:22 -04:00
Brandon Thomas
9f8a17277e
Merge PR #1574
2026-10-13 11:49:20 -04:00
Brandon Thomas
642662d90f
Merge PR #1570
...
# Conflicts:
# docs/parity-checklist.md
# docs/whats-new.md
2026-10-13 11:49:17 -04:00
Brandon Thomas
2294329b0c
Merge PR #1565
...
# Conflicts:
# docs/parity-checklist.md
# docs/whats-new.md
2026-10-13 11:49:15 -04:00
Brandon Thomas
7627b2b2b8
Merge PR #1563
...
# Conflicts:
# docs/parity-checklist.md
2026-10-13 11:49:14 -04:00
Brandon Thomas
5ece09aa6c
Merge PR #1562
2026-10-13 11:49:13 -04:00
Brandon Thomas
2fd0530beb
Merge PR #1561
...
# Conflicts:
# docs/whats-new.md
2026-10-13 11:49:13 -04:00
Brandon Thomas
8bcbcd918b
Merge PR #1560
...
# Conflicts:
# docs/whats-new.md
2026-10-13 11:49:12 -04:00
Brandon Thomas
6b00656df8
Merge PR #1559
...
# Conflicts:
# docs/whats-new.md
2026-10-13 11:49:11 -04:00
Brandon Thomas
2341132b35
Merge PR #1558
...
# Conflicts:
# docs/whats-new.md
2026-10-13 11:49:11 -04:00
Brandon Thomas
c6b2686ba0
Merge PR #1410
...
# Conflicts:
# docs/whats-new.md
2026-10-13 11:49:05 -04:00
Brandon Thomas
02bdad38d2
Merge PR #1439
...
# Conflicts:
# docs/whats-new.md
2026-10-13 11:48:58 -04:00
Brandon Thomas
6d124d701b
Merge PR #1451
2026-10-13 11:48:38 -04:00
Brandon Thomas
f0493fa11b
Merge PR #1419
2026-10-13 11:48:36 -04:00
Brandon Thomas
836bc449f0
Merge PR #1454
2026-10-13 11:48:35 -04:00
Brandon Thomas
03b6c8a95d
Merge PR #1423
2026-10-13 11:48:34 -04:00
Michael Anderson
853a92e2de
LR-EDIT-OPTICS-PROFILE: Apply Nikon's in-file distortion correction for the Z 6II and Z f
...
Read the polynomial, zoom and optical center offset from NikonNEFInfo.
2026-10-13 10:47:57 -05:00
Michael Anderson
271bc41842
Never crash: Repair damaged catalog snapshots on open
...
Fix ids, stacks, album folders and counters that don't agree, and stop album trees at 64 deep.
2026-10-13 10:46:47 -05:00
Michael Anderson
4a07254e06
Never crash: Read the edge pixel for bilinear samples outside the picture
...
Infinite coordinates from a zero-size crop overflowed the sampler.
2026-10-13 10:46:42 -05:00
Michael Anderson
f753778f45
Never crash: Fix blur overflow and hangs on sliver crops
...
Cap the sigma at twice the picture's long side and square the box width in i64.
2026-10-13 10:46:37 -05:00
Michael Anderson
4c088c3284
Never crash: Give the loupe a finite aspect for a zero-size crop
...
Count each side as at least one pixel.
2026-10-13 10:46:33 -05:00
Michael Anderson
b43b7169aa
Never crash: Limit how much a preset zip can unpack
...
Cap entries at 256 MB and the archive at 1 GB, and check the offsets.
2026-10-13 10:46:28 -05:00
Michael Anderson
307843b2ad
Never crash: Fix defringe radius overflow for amounts past the sliders
...
Treat the amount as the slider's end and keep the radius within the picture.
2026-10-13 10:46:23 -05:00
Michael Anderson
e1860067a6
Never crash: Render demo scenes at most at their own size
...
A damaged width asked for a buffer size that overflowed.
2026-10-13 10:46:18 -05:00
Michael Anderson
911d7df321
Never crash: Fix panic dragging a tone curve point between close neighbours
...
Keep the point midway when there's no room, and keep curve points sorted.
2026-10-13 10:46:13 -05:00
Michael Anderson
27d1e9b04d
Never crash: Cap enlarged exports at 512 MP and check memory first
...
A huge enlargement failed to allocate and took the app down.
2026-10-13 10:45:39 -05:00