Play's foreground-service declaration asks for a *link* to the demonstration video, which means
something has to be reachable without a login. The simplest answer is to stop ignoring the assets
and let Gitea serve them, so the video, the twelve normalised screenshots and the
already-committed icon and feature graphic all live in the repository now and are downloadable at
https://gitea.softwareapp-hb.de/fishfacegit/foto-duplicate-finder/raw/branch/main/<path>
That reverses the old "screenshots are never committed" rule, and the reason it is safe to reverse
is worth stating plainly: the library in every published frame is the *generated* one
(tools/make-demo-photos.py), never a real one. The phone set was re-checked frame by frame before
publishing - every thumbnail in it is a demo image and the only trace of the device's own
5,385-photo library is a count in the summary card. .gitignore and docs/STORE_LISTING.md say so
where the rule used to be, so the next person does not have to reconstruct why.
Still ignored, deliberately: the raw adb captures, the demo photos themselves, and the recording
script's milestone PNGs (store-assets/fgs-demo/checkpoint-*.png) - debugging aids, not assets.
An Android duplicate-photo finder. Pure-Kotlin core (SHA-256 + dHash hashing, exact and
perceptual union-find grouping, three sensitivity presets) with MediaStore access, a
persistent SQLite hash index and a tiered ScanEngine behind a Jetpack Compose UI.
No INTERNET permission, no ads, no analytics, no account.
Ships versionCode 2 / versionName 1.0.1, carrying the scan-stall hardening (BoundedCall
breaker) and verified against a 5,363-photo device library. 80 JVM unit tests, lint clean.
Release paperwork is in docs/ (Play checklist, store listing, edge-case testing), the
upload-ready Play graphics and screenshots in store-assets/, and the generators for those
assets in tools/.