feat(core): perceptual hashes for finding similar photos

A 64-bit difference hash of each thumbnail, stored in the new
photos.similar_hash column (schema 34), and the queries the similar-photo
finder needs: what is left to hash, progress, and the sets of shots that
look alike. Sets made only of byte-identical copies are left to the
duplicate finder. A refresh keeps a hash unless the photo's bytes changed.

The daemon pass, the control request and the GUI are not built yet; see
PLAN.md.
This commit is contained in:
nvrl committed 2026-09-28 09:16:54 +02:00
1 parent c46b2c1082
commit c98ed0d83b
6 files changed
+406 -4

No files matched your search

+3
View File
@@ -11,6 +11,9 @@ scratch (user data in `staging/` and `recovery/` is never touched by this).
## [Unreleased]
Schema: **34**. Photos gain a `similar_hash` column for the coming similar-photo finder. It
stays empty until the daemon hashes thumbnails, so updating reads and downloads nothing.
## [2.3.0] — 2026-09-28
Schema: **33**. Photos gain their location; the first timeline refresh after updating reads