feat(tui): animate startup header mascot#25340
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: bb76d3ed69
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
Please gate the animation on the |
It's already gated, try starting it with |
|
I agree: It's a compromise. People that are using these terminals are probably already used to the gaps on nerdfonts and unicode characters in general. I see two ways forward: release it and see if people dislike or complain about it or gate it to some terminals. I am in favor of just releasing it and gathering feedback. Edit: I will test again on Windows and Linux. |





Why
Give the initial Codex TUI banner a recognizable mascot without depending on terminal image protocols or the separate ambient pets surface. The header should remain portable across terminals that can render styled Unicode text.
What Changed
14x6Unicode mascot frame set forworking,thinking, andread-below, plus the approved idle reference frame.Debugging Notes
ChatWidget::newselects startup motion once and stores the sharedStartupAnimation.handle_session_configuredcopies that same state into the configuredSessionInfoCellso metadata arrival does not restart or switch motion.ChatWidget::pre_draw_tickschedules redraws while the active header reports a mascot tick, then flushes settled configured session info into transcript history.HistoryCell::finalize_for_historyremoves transient visual state before an active cell is committed.SessionHeaderHistoryCell::display_linesfirst attempts the side-by-side mascot layout, then rebuilds text at full width if the terminal requires the text-only fallback.How to Test
just c.14x6Unicode mascot and animates during startup.working,thinking, andread-belowmotions.Targeted verification:
cargo check -p codex-tuijust fix -p codex-tuijust test -p codex-tuipasses the mascot coverage and snapshots. The suite currently also reports two unrelated guardian feature-flag test failures inapp::tests::update_feature_flags_disabling_guardian_*.