pub fn compute_groups(photos: &[Photo]) -> Vec<DateGroupRange>Expand description
Pre-compute timeline date groups from a date-descending photo
slice. Called by the photos_loaded handler once per load,
NOT per render frame.
Photos must already be sorted by date_taken DESC (the loader
guarantees this via SQL ORDER BY date_taken DESC). Photos
without a date_taken cluster under a single “Unknown Date”
group at the end.