You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Part of the Sep-2026 designer's-eye QA of the 138 "Artistant iOS Light" screens (theme T14, category token; epic #161). Full report with evidence and per-screen coverage: docs/DESIGN_QA_2026-09.md; the per-section appendices under docs/design-qa/ carry the code excerpts.
Why it matters.ArtistGradient.kt still holds six raw-hex palettes of the retired dark design (violet #7C5CFF → #0F1014) used as every cover's fallback and as the wizard's and press kit's swatches; Avatar mints 360 saturated hues; seven press-kit tap targets are accent text on white (≈1.3:1); three components fill with ink where dark is the token.
Fix direction. Replace the palettes with placeholder/surface2 tints (or a two-stop lime-to-ink gradient), give Avatar one palette, accentInk for any accent used as text, dark for dark surfaces.
Findings (8: P1 ×2, P2 ×4, P3 ×2)
F-DS-01 (P1) — Retired dark-palette gradient is the cover floor on every DS surface
Screens: 02, 03, 32 (and 14 suggestion thumbs)
Where: feature/discover/DiscoverScreen.kt:408-423; feature/search/SearchScreen.kt:862-877; feature/profile/ArtistListScreen.kt:388-409; palette designsystem/theme/ArtistGradient.kt:25-30; dead placeholder paint under it at SearchScreen.kt
Fix: One shared cover composable (or MediaSlot) that lets the placeholder fill show until the photo lands and keeps the gradient, if at all, as the media scrim under text only; delete the three private ArtistCover/ArtistThumb copies.
F-WZ-07 (P2) — Gradient swatches drift from the press kit's row and paint the retired palette
Fix: extract the press kit's swatch row into designsystem/component/ and call it from both; when F-DS-01 relights ArtistGradient, both surfaces follow.
F-PK-02 (P1) — Lime-on-white text: seven tap targets in the panes are unreadable
Fix: colors.accentInk for every accent-as-text site; colors.ink for the cursor and colors.ink at hairline weight for the active underline.
F-DSYS-08 (P2) — Avatar mints 360 saturated hues on a one-accent palette
Screens: —
Where: designsystem/component/Avatar.kt:101-113
Fix: replace the hue hash with the palette — surface2 fill and ink2 initials (or a placeholder fill), which is what the light design draws for an absent image everywhere else (Tile.kt:103, MediaSlot).
F-DSYS-03 (P2) — ink is used as a surface fill in three components; dark is the palette's token for that
Screens: —
Where: designsystem/component/Toast.kt:135 (+ text at :163); designsystem/component/Banner.kt:218 (+ text at :205); designsystem/component/MonthCalendar.kt:470 (+ text at :474)
Fix: repoint all three fills to colors.dark; if the calendar's selected day should carry the accent instead, that is a separate call for the design owner.
F-MS-08 (P2) — The Safety centre's dark card is painted ink, not dark
Screens: 131
Where: feature/messages/SafetyCentreScreen.kt:79
Fix: colors.dark, and pick one of dark/darkest for the brand disc on both screens.
F-BN-15 (P3) — Three different alpha values mean "stepped back"
Fix: radii.xs for the swatch; add component.meter (6) for the track (see F-DSYS-13).
Acceptance
Every finding above is closed on the cited lines (or refuted in a comment with the reason).
./gradlew :app:assembleDebug, :app:testDebugUnitTest and :app:lintDevDebug green.
The screens listed above walked on the artistant AVD with the debug harness (RELEASE.md §10) and the fix confirmed visually — this audit was code-grounded, not device-walked.
Part of the Sep-2026 designer's-eye QA of the 138 "Artistant iOS Light" screens (theme T14, category token; epic #161). Full report with evidence and per-screen coverage: docs/DESIGN_QA_2026-09.md; the per-section appendices under
docs/design-qa/carry the code excerpts.Why it matters.
ArtistGradient.ktstill holds six raw-hex palettes of the retired dark design (violet #7C5CFF → #0F1014) used as every cover's fallback and as the wizard's and press kit's swatches;Avatarmints 360 saturated hues; seven press-kit tap targets areaccenttext on white (≈1.3:1); three components fill withinkwheredarkis the token.Fix direction. Replace the palettes with
placeholder/surface2tints (or a two-stop lime-to-ink gradient), giveAvatarone palette,accentInkfor any accent used as text,darkfor dark surfaces.Findings (8: P1 ×2, P2 ×4, P3 ×2)
MediaSlot) that lets theplaceholderfill show until the photo lands and keeps the gradient, if at all, as the media scrim under text only; delete the three privateArtistCover/ArtistThumbcopies.designsystem/component/and call it from both; when F-DS-01 relightsArtistGradient, both surfaces follow.colors.accentInkfor every accent-as-text site;colors.inkfor the cursor andcolors.inkat hairline weight for the active underline.Avatarmints 360 saturated hues on a one-accent palettesurface2fill andink2initials (or aplaceholderfill), which is what the light design draws for an absent image everywhere else (Tile.kt:103,MediaSlot).inkis used as a surface fill in three components;darkis the palette's token for thatcolors.dark; if the calendar's selected day should carry the accent instead, that is a separate call for the design owner.ink, notdarkcolors.dark, and pick one ofdark/darkestfor the brand disc on both screens.AppColors.dimmedor a singleDIMMEDin the design system) used by all three.radii.xsfor the swatch; addcomponent.meter(6) for the track (see F-DSYS-13).Acceptance
./gradlew :app:assembleDebug,:app:testDebugUnitTestand:app:lintDevDebuggreen.artistantAVD with the debug harness (RELEASE.md §10) and the fix confirmed visually — this audit was code-grounded, not device-walked.