Add albums support, API layer, and Docker improvements

- Add albums browsing and navigation (src/albums.c, src/app.c)
- Extract API calls into dedicated src/api.c module
- Improve display and UI components
- Update CMakeLists.txt to include new source files
- Refactor Dockerfile for better build process

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
nino
2026-10-23 14:11:00 -06:00
co-authored by Claude Sonnet 4.6
parent f4cf235c40
commit 07890191cf
10 changed files with 1070 additions and 44 deletions
+18 -1
View File
@@ -2,7 +2,24 @@
Task list for the current round of work. Checked items are done.
## -1. UI polish round 2 (current)
## -2. Albums (current)
- [x] Third top-bar button (photo-stack glyph) left of the map/cloud
buttons; d-pad focus cycles field -> albums -> map -> cloud, tap works.
- [x] Albums page: GET /api/albums, 4-column card grid (cover cropped to
4:3, name, item count, "Shared"), d-pad/tap, X open, O back,
triangle refresh. Covers load through the shared thumbnail worker
(cover id -> asset_for_id) and only rows near the viewport keep a
texture.
- [x] Opening an album fetches every member with /api/search/metadata
({"albumIds":[id]} paged by nextPage, nextCursor followed if sent)
on a worker thread with a progress throbber, then shows them on the
grid in month sections; the bar shows the album name and O (or the
red chip) returns to the album list.
- [x] Test-only scripted input (-DVIMM_TEST_INPUT, reads
ux0:/data/vitaimmich/test_input.txt) for Vita3K runs where synthetic
key events don't reach the emulator.
## -1. UI polish round 2
- [x] Reload images taken by the camera while the app was asleep: detect
resume via an RTC wall-clock jump (>3 s) and append-only re-scan the
camera folders (headroom reserved at startup so no realloc races the