Reduce TUI zero-state animation CPU usage - #14604
Conversation
|
I'm starting a first review of this pull request. You can view the conversation on Warp. I completed the review and no human review was requested for this pull request. Comment Powered by Oz |
There was a problem hiding this comment.
Overview
This PR reduces TUI zero-state animation CPU usage by retaining logo projection buffers, painting the starfield directly, replacing the generic zero-state stack with a specialized compositor, and suspending timed repaints while the terminal is unfocused.
Concerns
- For this user-facing TUI change, please attach terminal visual evidence demonstrating the zero-state still renders correctly and focus pause/resume works end to end. Per repo guidance, acceptable TUI evidence is a terminal transcript, a
render_to_lines/TuiBuffer::to_linessnapshot diff, or a./script/run-tuicapture; the PR currently lists manual testing but does not attach a capture.
Verdict
Found: 0 critical, 1 important, 0 suggestions
Request changes
Comment /oz-review on this pull request to retrigger a review (up to 3 times on the same pull request).
Powered by Oz
9f6d3c7 to
e720f0b
Compare

Description
Reduces the CPU cost of the TUI zero-state animation while preserving its original 66 ms (~15 FPS) visual cadence.
At 120×40, the retained-frame benchmarks improved by approximately 68% for the built-in logo and 73% for the ASCII logo. Larger terminal sizes showed greater savings.
Implementation plan: https://staging.warp.dev/drive/notebook/NHie0i2bcU6ge5gHne0EEC
Linked Issue
None.
Testing
./script/run-tuicargo nextest run -p warpui_core --features tui --no-fail-fast(559 passed, 7 skipped)cargo nextest run -p warp_tui --features test-util --no-fail-fast(947 passed)cargo clippy --workspace --exclude warp_completer --all-targets --tests -- -D warningscargo clippy -p warp --all-targets --tests -- -D warningscargo clippy -p warp_completer --all-targets --tests -- -D warnings./script/format --checkgit diff --checkAgent Mode
CHANGELOG-TUI: Reduced CPU usage while the zero-state animation is active.