Closer/ClaudeBrandingReview.md

203 lines
15 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Closer — Branding & Artwork Review (Pass H)
Living deliverable for the **Branding pass**. It captures, screen by screen, where Closer could carry more of its
brand, and gives **ready-to-paste ChatGPT image-generation prompts** for the artwork worth adding. The user generates
the images; this file only describes them. Every prompt reuses the **House Style** block below so all new art matches
the existing artwork (`docs/brand/visual-identity.md` + `docs/brand/asset-system.md` + the shipped `illustration_*` /
`pack_art_*` / `particle_*` assets).
> Branding **defects** (off-brand color, clipped/low-contrast art) → `ClaudeReport.md`. Pure "could be warmer / feature"
> ideas → `Future.md` `## QA`. New art to create → here.
---
## R10 brand walk (2026-06-26) — existing art integration clean, 0 defects
R10 visual sweep doubled as the Pass-H existing-art integration check: Today (paired-books daily-question art),
Paywall (couple illustration), Security (padlock), Memory Lane / Date / Bucket-List empties, Home cards — **all render
on-brand, in-context, both themes, no clipping/placeholder/off-brand issues** (any defect would be a `ClaudeReport.md`
bug; none found). The new game-alert surfaces (`GamePromptBanner`, `GameWaitingHeroCard`) use the brand purple gradient
+ PlayArrow glyph and read as intentional action banners — no illustration warranted. No new art to add this round.
## ✅ WIRED INTO ANDROID (2026-06-26 art drop) — all 11 generated illustrations live
The generated art (source in gitignored `docs/brand/generated-art/`, copied full-res to
`app/src/main/res/drawable-nodpi/`) is now wired into the app via the shared `EmptyState`
(rounded-tile, theme-safe) and a new `ui/components/BrandIllustration.kt` helper:
| Art | Screen wired | Verified |
|---|---|---|
| A1 `pairing_success` (transparent) | PairingSuccessScreen hero (replaced the keyhole chip; pulse/spring kept) | gallery (transparent floats) |
| A2 `answer_history_empty` | AnswerHistoryScreen empty (replaced generic couple_history) | shared EmptyState (Run-2 both-theme) |
| A3 `connection_challenges_header` (banner) | ConnectionChallengesScreen series-list header | gallery (16:9 banner) |
| A4 `memory_lane_capsule` | MemoryLaneScreen empty (replaced 📦 emoji) | shared tile |
| A5 `date_match_empty` / `date_match_success` | DateMatchesScreen empty / "It is a match!" modal | shared tile / gallery |
| A6 `bucket_list_empty` | BucketListScreen empty | **live dark + light** |
| A8 `messages_empty` | MessagesInboxScreen (new empty state added) | shared EmptyState |
| A9 `quiet_hours` | NotificationSettings quiet-hours section | **live dark** |
| A10 `past_games_empty` | WheelHistoryScreen ("Past Games") empty | shared tile |
| A11 `privacy_recovery` | SecurityScreen header | **live dark** |
| A12 `account_deletion_goodbye` | DeleteAccountScreen header | **live dark** |
All 12 also live in the debug **Art preview** gallery (Settings → Art preview) for both-theme verification.
**Not done:** A7 pack art = **N/A** (all 10 packs already have `pack_art_*`). **G-set glyphs = still backlog**
(not generated; tracked in `Future.md` `## QA`). Empty/match/pairing states that need empty-or-new data weren't
reachable on the baseline couple — render path proven via the shared tile + gallery. Commits `077a408`→`5868d06` on `dev`.
---
## House Style (paste this at the top of EVERY image prompt)
> Flat 2D pastel vector **illustration** in the "Closer" couples-app style: soft rounded shapes, **no harsh outlines**,
> gentle smooth gradients, calm and intimate. **Palette only:** aubergine `#24122F`, deep purple `#56306F`, lavender
> `#B98AF4`, soft pink `#F7C8E4`, soft lavender `#D9B8FF`, blush white `#FFF8FC`. Mood: **warm, quiet, equal,
> intentional — a private ritual for two.** Recurring motifs available: paired/sealed cards, floating hearts and
> petals, a small wooden table with mugs + a lit candle + a lavender sprig, moon/window for quiet hours, a
> calendar/date-card, a sealed capsule/box. If people appear: **two balanced, inclusive figures, simple friendly
> faces, no dominant partner.** Soft abstract floral/heart shapes in the background.
> **Do NOT include:** any readable text, answer/prompt/message content, invite codes, emails, app UI/buttons, generic
> dating-app clichés, stock-photo realism, other brands' logos/wordmarks/app-store badges,
> alarm/urgency/surveillance/fire imagery.
> **The Closer brand mark** (use ONLY where a prompt explicitly calls for it — otherwise keep art mark-free): a
> pink-to-lavender **"C"** whose upper arc is soft pink and lower sweep is lavender, curving around a **heart-shaped
> negative space** with a small **dark aubergine keyhole** at its center (the keyhole = trust/privacy; the heart =
> the couple). Keep it faithful — do not redraw it as a plain `C`, turn the keyhole into a heart, add a key/lock
> shackle, add faces or text. On dark/aubergine surfaces use a white keyhole; on light/blush use the aubergine keyhole.
**Aspect/format conventions**
- Hero/onboarding/paywall: portrait **4:5** (matches `illustration_couple_*`).
- Empty states: roughly **square 1:1**, generous padding, sits centered above text.
- Celebration: **1:1**, transparent or blush-white background.
- Glyphs: **single-color** simple vector, square, legible at 2032 dp.
- Pack/category art: **landscape ~16:9** banner, object-led (no people), like `pack_art_*`.
- Always readable on **both** blush-white (light) and aubergine (dark) surfaces — keep a soft self-contained vignette
rather than a hard rectangular background; export PNG with transparency where noted.
**Existing assets (reuse before generating):** `illustration_couple_onboarding`, `_invite`, `_history`, `_paywall`,
`_subscription`, `illustration_tonight_partner_prompt`, `illustration_partner_activation`,
`illustration_reveal_celebration`, `illustration_streak_milestone`, `illustration_together_empty`,
`pack_art_{deep_reflection,family_commitment,home_life,trust_repair,money_values}`, `particle_heart`, `particle_petal`.
NOTE: most live only in iOS / `drawable-nodpi`; several screens below need the **Android copy** wired up, not new art.
---
## Screen-by-screen audit
Legend: ✅ on-brand / no art needed · add/þwire art (prompt below) · 🎨 new art to generate · 🔤 brand-copy/color touch
| Screen / surface | Current brand state | Opportunity |
|---|---|---|
| Onboarding carousel | ✅ couple art + warm copy | ✅ strong already |
| Welcome (Create / I have account) | heart mark + privacy line | ✅ on-brand; could rotate privacy messages 🔤 |
| Sign up / Login / Forgot password | plain form | 🔤 add small heart mark + one privacy line above the form (no big art — keep forms clean) |
| Create profile — name / sex / photo | plain steps | 🔤 light: small step glyphs; ✅ otherwise (forms stay clean) |
| Pair: invite (create code) | has recovery phrase, clean | small `illustration_couple_invite` at top (exists on iOS — wire to Android) |
| Pair: accept code / pairing success | minimal | 🎨 **A1** pairing-success celebration |
| Home (paired) | cards, warm copy | ✅ good; ensure card icons use brand glyphs 🔤 |
| Home (unpaired "bring your person in") | couple art present | ✅ on-brand |
| Today / daily question | clean card | ✅; reveal moment is the place for art (below) |
| Answer reveal (mutual) | functional | use `illustration_reveal_celebration` + petal/heart particles at the reveal beat |
| Answer history | list | empty state → wire `illustration_couple_history`; 🎨 **A2** if none |
| Play hub | card list, game glyphs | ✅; verify each game card has a consistent brand glyph 🔤 |
| This or That (setup/play) | clean | ✅ |
| This or That / How Well / Desire Sync **results** | score + rows | small celebration header art (reuse `reveal_celebration`); particles on high match |
| How Well / Desire Sync intro | icon + copy | ✅ |
| Spin the Wheel | nice wheel art | ✅ wheel is on-brand |
| Wheel complete / results | text reveal | celebration header (reuse particles) |
| Connection Challenges (series list) | text list | 🎨 **A3** series/“small steps” header + per-series glyphs |
| Connection Challenges (active day) | clean | 🔤 small streak/heart glyph; ✅ otherwise |
| Memory Lane (list) | sealed rows | 🎨 **A4** empty state (no capsules) + sealed-capsule glyph |
| Memory Lane (sealed capsule) | lock + date | use capsule art (A4) on the sealed card |
| Date Match (deck) | clean cards | ✅ |
| Date Match (your matches / empty) | list | 🎨 **A5** “no matches yet” + match celebration |
| Plan Date / Date Builder | form | 🔤 small date-card glyph; ✅ otherwise |
| Bucket List (empty) | list | 🎨 **A6** “save ideas together” empty state |
| Question Packs (library) | `pack_art_*` present | ✅; 🎨 **A7** packs needing art (any pack without `pack_art_*`) |
| Messages (inbox empty) | list | 🎨 **A8** “no messages yet” (two soft bubbles, no text) |
| Conversation | chat | ✅ keep clean; quiet-hours state → A9 |
| Past Games (empty/list) | list | small replay/heart glyph; 🎨 **A10** if empty state bare |
| Your Progress / Activity | stats | 🔤 brand-colored charts; reuse `streak_milestone` for milestones |
| Paywall / Subscription | couple art present | ✅ strong (couple illustration + “one subscription for both”) |
| WaitingForPartner | category glyph + copy | ✅ on-brand; ensure glyph per game type |
| Settings + sub-pages | dense lists | ✅ keep clean — **no illustrations**; brand via section headers/color only 🔤 |
| Security / Recovery phrase | text | 🎨 **A11** privacy-lock illustration (two sealed cards behind a soft lock) |
| Privacy & Terms | text | 🔤 small lock glyph header |
| Delete account | warning copy | 🎨 **A12** calm export/delete privacy scene (no alarm imagery) |
| Quiet hours (settings) | toggle | 🎨 **A9** moon/window/two-muted-phones |
| Notifications (system) | fallback glyph | 🎨 **G-set** monochrome notification glyph (heart/paired-card) |
---
## Art to generate — ChatGPT prompts (prefix the House Style block to each)
Priority order = the moments a user feels most. Each is self-contained after you paste the House Style block first.
**A1 · Pairing success celebration***1:1, transparent bg.*
> Scene: the Closer mark resolving into place — a soft-pink upper C-arc and a lavender lower sweep curving together to
> enclose a heart-shaped space with a small keyhole at its center — with a gentle burst of small floating hearts and
> petals around it. Convey "you're connected now." Calm, joyful, no text. (White keyhole if on a dark background.)
**A2 · Answer history empty state***1:1.*
> Scene: a small soft journal/photo-album, slightly open, with two paired cards tucked inside and a few faint floating
> hearts; a lavender sprig beside it. Conveys "your shared moments will collect here." Quiet and inviting.
**A3 · Connection Challenges header ("small steps together")***16:9 banner, object-led.*
> Scene: a gentle winding path of soft stepping-stones, each stone a small rounded card, leading toward a glowing
> heart; a tiny lit candle and lavender fronds at the edges. Conveys a shared daily habit, "one small step at a time."
**A4 · Memory Lane — sealed capsule***1:1 (also usable as the sealed-card glyph).*
> Scene: a softly glowing sealed keepsake box/time-capsule with a small heart latch, a calendar/moon hint above it, a
> couple of petals settling. Conveys "sealed until your chosen date." Warm, secret, safe.
**A5 · Date match — "it's a match" + empty***1:1.*
> Scene: two date-idea cards (one pink, one lavender) leaning together to meet in the middle with a small heart where
> they touch; faint calendar/clock and a sun/hill motif behind. Conveys "you both chose this." For the empty variant,
> show the two cards slightly apart with a dotted soft line between them.
**A6 · Bucket List empty state***1:1.*
> Scene: a soft open notebook with a checklist of blank rounded lines, a small star and heart doodle, a pin/map dot
> and a tiny suitcase, lavender sprig accent. Conveys "save ideas to do together." Hopeful, light.
**A7 · Question pack art (per missing pack)***16:9 banner, object-led, match `pack_art_*`.*
> Scene: a fanned deck of paired cards as the hero object, themed to the pack topic with one simple symbol (e.g.
> intimacy = soft flame + petals; communication = two speech shapes; future = a small horizon/sunrise), framed by
> lavender fronds and a soft glow. No people, no readable text. (Generate one per pack that lacks `pack_art_*`.)
**A8 · Messages empty state***1:1.*
> Scene: two soft rounded chat bubbles (one pink, one lavender) gently overlapping with a small heart between them and
> a few floating petals; **no text inside the bubbles.** Conveys "your private conversation starts here."
**A9 · Quiet hours***1:1.*
> Scene: a calm night window with a soft crescent moon and stars, and two muted phones resting face-down on a bedside
> surface with a small lavender sprig. Conveys "gentle, no pressure, paused for the night." Soothing, no alarm imagery.
**A10 · Past Games empty state***1:1.*
> Scene: two paired game cards stacked with a soft replay/loop arc of petals around them and a faint heart. Conveys
> "the games you've played together will live here." Playful but calm.
**A11 · Privacy / Recovery — privacy-lock***1:1 or 4:5.*
> Scene: two sealed cards or closed journals nestled behind a soft, friendly padlock with a small heart on it; a key
> shape made of a lavender sprig; quiet protective glow. Conveys "only the two of you hold the key." Reassuring, warm —
> **not** a cold security/vault look.
**A12 · Account deletion — calm goodbye***1:1.*
> Scene: a soft open box gently releasing a few hearts/petals upward, with a faint door/horizon and a lavender sprig;
> muted, respectful, peaceful. Conveys "your data leaves with you." **No** warning triangles, red, broken hearts, or
> alarm imagery.
**G-set · Notification + relationship glyphs***single-color vector, square, legible at 24 dp.* (One prompt each:)
> Simple single-color flat glyph in the Closer style, no text, no background: **the Closer C-heart-keyhole mark**, **paired sealed
> cards**, **daily card**, **sealed answer (card with small lock)**, **memory capsule**, **date-card with heart**,
> **quiet-hours moon**, **couple-premium (heart + small crown/spark, tasteful)**, **export-data**, **delete-account**.
> Export in lavender for in-app and as high-contrast monochrome for the platform notification glyph.
---
## Notes for the asset hand-off
- Match filenames to the existing scheme: `illustration_<name>.png` (nodpi), `pack_art_<pack>.png`, `glyph_<name>.xml`,
`particle_<name>.png`. Provide @1x in `drawable-nodpi/` (illustrations) or density buckets where the existing asset has them.
- Several items above are **"wire existing iOS art into Android,"** not new generation — do that first (cheaper):
history, invite, daily-question, together-empty, partner-activation already exist on iOS.
- After adding art, re-run Pass C (visual, light + dark) on those screens to confirm contrast + no clipping, and
re-export store graphics per `docs/brand/visual-identity.md` if the palette/mark changed.
</content>