Personas were retired in Sundial 2.0. This page documents what replaced the system this URL used to describe.
plum, apricot, olive, damson, cherry). Sundial 2.0 removes that axis entirely: the app has one accent — brand Lavender Blue — and themes vary only by brightness.
What changed
AccentPaletteand the ten per-personaAccentColorsstatics are deleted. Two instances remain:AccentColors.lavenderLight/.lavenderDark, wired intoAppTheme.light/.dark.AppTheme.fromPalette(palette, brightness)is gone — construct withAppTheme.lightorAppTheme.dark.ThemeOverrideis brightness-only: it flips a subtree light/dark (dark chrome over a photo, a dark-locked sheet) and no longer accepts a palette.
- Server-driven UI ignores palette hints: the SDUI
themeOverridecomponent honors brightness and dropsACCENT_PALETTE_*values (the proto enum survives — resolver cases are never deleted — but every palette resolves to lavender).
Why
Persona expression moves to content — voice, illustration, conversation — rather than repainting the interface. One accent keeps the bright-solid grammar coherent (a pale solid taking dark content only works if the solid is known), makes contrast guarantees provable once, and lets brand color carry recognition consistently across every surface.If you need per-surface color
Brand expression on cards and spotlight surfaces uses the mode-invariant brand surface tokens (surfaceBrandGreen, surfaceBrandOrange, …) with their paired on-brand inks — a per-card choice, not a theme axis.