Style migration lab
Compare Persona’s real renderers, then migrate a mounted widget with widget.update(). All replies, approvals, questions, and artifacts use local sample data.
Read the migration guide · Open the theme editor · Explore V5 defaults
The legacy column is an intentional compatibility fixture. Each light/dark palette is mapped to equivalent theme values. Both styled fixtures pin a card welcome and wrapped composer chips so V5 placement defaults do not obscure style parity. Voice states below are simulated; no microphone is captured. Narrow mode constrains the samples and live widget to 320px, or the available width on smaller screens.
Migrate without remounting
Start with legacy overrides. Adding theme values alone keeps explicit legacy styles in charge. Migrate and clear the aliases in one update, then clear the style overrides to expose current V4/V5 defaults. Your draft and conversation stay in the same widget.
Last live update
undefined is an own reset value. JSON serialization would remove it. The snippet shows the patch applied to the existing widget.