whose picture is still being made; this PR had added `placeholder` for
the same slab. Both now add the same token, with the same name, doc and
colours, so the two merge into one.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- docs/whats-new.md, docs/parity-checklist.md (LR-VIEW-SURVEY row and the
revision-history line): the active-photo ring in Compare, Reference,
Survey and the People view.
- tests_grid.rs: the ring comment matches the paint order.
Co-Authored-By: Claude <noreply@anthropic.com>
Review of the selection rings found the grid test never checked the active
(top-left) photo, a selected ring that fell under 3:1 on label-tinted cells,
and other places still framing the selection in fixed white.
- tests_grid.rs: the active photo is now checked (it was skipped by a leftover
x filter): a 3 pt `ring_active` stroke over a 1 pt `ring_inner` one, and not
white in a light theme
- theme.rs: `ring_selected` is also tested at 3:1 against the selected cell and
its label-tinted forms; Silver and Paper's goes darker (0x4a) and Charcoal
and Midnight's lighter (0xc0) to pass
- panels/grid.rs: the active ring is one 3 pt stroke with the 1 pt inner line
on top, both on the same rect, so two separately snapped strokes cannot
leave a half-pixel seam at 1.25x, 1.5x or 1.75x
- panels/compare.rs: Compare, Reference and Survey frame the active tile with
`selection_ring` instead of a white 2 pt stroke; the placeholder uses the
tile's own tokens
- panels/settings.rs: the theme preview's mini filmstrip rings its selected
cell with the theme's `ring_active`
- panels/people.rs: a selected face tile uses the same ring
- tests_compare.rs, tests_filmstrip.rs: a Survey test in a light theme and the
filmstrip test adjusted to the new widths
Co-Authored-By: Claude <noreply@anthropic.com>
The active photo had a 2 px pure white outline and the other selected photos
grey 170, so on Silver and Paper's light grid the active ring vanished and the
two differed by lightness alone. The loading placeholder was a fixed dark grey
slab in every theme.
- theme.rs: new tokens `ring_active`, `ring_inner`, `ring_selected` and
`placeholder`, per theme; tests that every theme's rings stand 3:1 against
the grid and the square grid's cells, and that the placeholder follows the
theme's family
- panels/grid.rs: `selection_ring` draws the active ring as 3 pt (1 pt inner
line against the photo, 2 pt theme line) and the others as 1.5 pt; the grid
uses it for loaded and unloaded thumbnails, and the placeholder token
- panels/detail.rs: the filmstrip uses the same ring and rule
- panels/compare.rs: the compare placeholder uses the token
- tests_grid.rs, tests_filmstrip.rs: painted ring widths and colours in a
light theme, active versus selected versus unselected
- docs/parity-checklist.md, docs/whats-new.md: rows and entry
Co-Authored-By: Claude <noreply@anthropic.com>
The restore actions use the recorded folder without checking that it still
exists, so an upgrade creates it again rather than using the default folder.