Photo Merge's Create Stack option now puts the merged DNG on top of a
collapsed stack of its sources (Catalog::stack_with_ops), so the grid
shows the result; test in tests_merge (and no stack without the option).
Photo Merge dialogs live in a Photo > Photo Merge submenu.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Also: GPU retired-buffer list leaks its buffers at thread exit instead of
dropping them (wgpu's thread-locals may already be gone; the drop aborted
the test process intermittently), and headless UI tests wait up to 120 s
for renders (they timed out on a loaded machine).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Filter bar above the grid (View > Filter Bar, ⇧F, or the top-bar filter
icon): rating with ≥ / = / ≤, picked / rejected / unflagged, colour labels,
kind, edited/unedited, camera / lens / keyword pickers, Clear and "Save as
Smart Album…" — every control drives library.filter. Two rows when the
grid is narrow. Empty grid under a filter says so. Headless test clicks
the bar's widgets and saves a smart album.
docs/parity.md: rows for smart albums, stacks, virtual copies, compare,
survey, filter bar, menu bar updated; finished top gaps removed.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Auto uses Upright's consensus level angle as the crop angle; sign verified on a tilted test image
and pinned by a test.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
One row per catalog feature, menu item, desktop shortcut and Classic extra with
tier, status, evidence (command/control ids, files) and what is missing; per-section
summary, ordered Top gaps, and a shortcut conflict review. Linked from README
(Feature status) and AGENTS.md (pick work from Top gaps).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>