diff --git a/docs/design/dist/Dark/EmptyStateIllustration_dark.webp b/docs/design/dist/Dark/EmptyStateIllustration_dark.webp new file mode 100644 index 0000000..e78c4c5 Binary files /dev/null and b/docs/design/dist/Dark/EmptyStateIllustration_dark.webp differ diff --git a/docs/design/dist/Light/EmptyStateIllustration_light.webp b/docs/design/dist/Light/EmptyStateIllustration_light.webp new file mode 100644 index 0000000..c7facb0 Binary files /dev/null and b/docs/design/dist/Light/EmptyStateIllustration_light.webp differ diff --git a/docs/design/dist/README.md b/docs/design/dist/README.md index 3f1a5e7..e613c3e 100644 --- a/docs/design/dist/README.md +++ b/docs/design/dist/README.md @@ -27,11 +27,18 @@ replace in | `05_PrivacyIllustration` | 5 Privacy promise | `PrivacyIllustration` | | `06_NotificationPrivacyIllustration` | 6 Reminder privacy | *new* | | `07_ForecastIllustration` | 7 First forecast | *new* | +| `EmptyStateIllustration` | — not onboarding | `EmptyStateIllustration` | Each stem exists as `Light/_light.webp` and `Dark/_dark.webp`, at **identical dimensions per card**, so a theme switch swaps the image without moving the layout. +`EmptyStateIllustration` is the odd one and deliberately unnumbered: it is +Today's "nothing logged yet" state, not an onboarding step, and it is also drawn +in the onboarding previews. Its ring is empty because nothing has been logged — +the same ring the other illustrations fill with cycle-day markers, which is what +makes the empty state read as *waiting* rather than *broken*. + ## What these got right, and why it is worth not undoing Each of these was a correction during review, and every one of them would be easy @@ -64,13 +71,21 @@ Tracked as **#29**, which stays open until the app renders these: 2. Add the light/dark preview pair per step, per [`../README.md`](../README.md). 3. Reconcile step copy — `PRODUCT_PLAN.md` owns the screen wording. -`EmptyStateIllustration`, the Today "nothing logged yet" state, has no card here. -Onboarding would otherwise ship real art while Today keeps a placeholder visible -in the same session. +**One inconsistency to settle when these are redrawn:** the fourteen onboarding +illustrations are contained cards with a rounded frame, and the two +`EmptyStateIllustration` files are full-bleed with no frame. Both scale +acceptably at the 110–160 dp these are actually drawn at — checked by rendering +them at size rather than assumed — but the frame should be consistent across the +set, or deliberately absent from all of it. + +A second, smaller one: `TodayScreen.kt` currently calls +`EmptyStateIllustration(color = ..., size = ...)` with a single colour. These are +full-colour drawings, so the vector version will not take a colour parameter and +that call site changes with it. ## Format -WebP at the delivered resolution — 204 KB for all fourteen, against 3.4 MB as +WebP at the delivered resolution — 312 KB for all sixteen, against 6.8 MB as PNG, and the same format [`../../data/img/`](../../data/img/) uses for the marks privacyllc.dev renders. The delivery `.zip` archives are deliberately not tracked; see [`.gitignore`](.gitignore).