docs: PLAN.md status and the screenshot list after the second Android pass

This commit is contained in:
nvrl committed 2026-10-03 13:34:28 +02:00
1 parent 630f07a462
commit 39a7f3cc38
2 files changed
+25 -16

No files matched your search

+14 -9
View File
@@ -10,16 +10,21 @@ gained about twenty features on 2026-10-02 that Android does not have.
## Status (2026-10-03) ## Status (2026-10-03)
Done: section 0, every parity item, the Library, Title, Shares and Settings Done: section 0, every parity item, and every recommendation in section 2 —
redesigns, Inter, and screenshot tests. Not yet verified on a device; the the Library, Title, Shares, Settings and Downloads redesigns, per-page app
host gate (ktlint, lint, unit and screenshot tests) and CI's build job pass. bars drawn edge to edge, search behind an icon, skeleton loading and
generated placeholder art, Settings sub-pages and a language picker, a
long-press Change match, Inter, light and tablet screenshots, the library
and a title side by side from 840 dp, a poster-to-backdrop shared element
transition, and predictive back on the title page.
Open, from section 2: per-screen app bars and edge-to-edge under the status Two departures from the text below. The tablet layout is a two-pane `Row`
bar, skeleton loading and generated placeholder art, a search icon that rather than `ListDetailPaneScaffold`, which would have added the
expands, a language picker, Settings sub-pages, the Downloads page, light `adaptive-layout` artifact for one split. Pull to refresh shows the
theme and tablet screenshots, `ListDetailPaneScaffold` on tablets, shared indicator while a crawl runs, but not the crawl's progress.
element transitions and predictive back, and a long-press Change match (the
title page has it). Not yet verified on a device; the host gate (ktlint, unit and screenshot
tests) passes, and Android lint runs in CI.
## 0. CI (done) ## 0. CI (done)
+11 -7
View File
@@ -212,13 +212,17 @@ client's decisions, so a change to `pstr_app::theme::Role` that nobody carried
across fails here rather than being noticed in a screenshot. across fails here rather than being noticed in a screenshot.
**Screenshot tests** (`ScreenshotTest`, Roborazzi) draw each screen from fixed **Screenshot tests** (`ScreenshotTest`, Roborazzi) draw each screen from fixed
records — Library on a phone, a tablet and at font scale 1.5, an empty library, records — Library on a phone, a tablet, at font scale 1.5, while loading and
a title, History, Shares, Settings and Downloads — and `check` compares them with the empty; a title on a phone and a tablet; History on a phone and a tablet; Shares;
images in `app/src/test/screenshots`. A layout regression compiles and passes the Settings index and its Playback and Storage pages; Downloads with a season
everything else; here it fails, and the review shows the changed image. After a saved and empty; and the library and a title again in Catppuccin Latte — and
deliberate change, `gradlew recordRoborazziDebug` rewrites the images and they `check` compares them with the images in `app/src/test/screenshots`. A layout
are committed with it. No artwork loads on the host, so tiles show their regression compiles and passes everything else; here it fails, and the review
placeholder, and the palette is the shipped default. shows the changed image. After a deliberate change, `gradlew
recordRoborazziDebug` rewrites the images and they are committed with it.
Artwork loading is switched off (`LocalArtworkLoading`), so every tile shows
its generated placeholder whatever the timing, and the palette is the shipped
default except in the Latte captures.
**Instrumentation tests** (`app/src/androidTest`) are the things with no host **Instrumentation tests** (`app/src/androidTest`) are the things with no host
equivalent: equivalent: