Repository navigation
cmux NEXT agent pane: opening another chat plays the stagger motion by default - #33594
teamleaderleo wants to merge 1 commit into
Conversation
…y default Leo, 2026-11-03: "i wanted to have more... nice stuff? around the app". The chat-switch-motion experiment's picked arm (stagger, cmux#30602) becomes the default; Off stays one experiment override away. Leo-ask: ask-1ec99cec90 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-f81f28738a85957e4366
|
Closing without landing. The independent review at 8bdc61c found that turning the stagger arm on by default breaks webviews/test/chat-open-perf.test.ts. Every open there is a switch, so stagger's 6 px row rise counts as a layout shift (line 739), and the cold-open fade is replaced (lines 752-758). The other arms (fade, depth) animate cached opens instead, which the same test rules out (line 763, 'instant if cached'). Any on-by-default arm changes a stated no-layout-shift / instant-if-cached contract, which needs an explicit decision rather than a default flip here. The experiment stays available via cmux.experiments. |
|
cmux status (one comment, edited in place; each line is updated by the job that owns it) Review App of this head (app.zip, kept 1 day)
|
Leo, 2026-11-03, sharing a game menu animation clip: "i thought was cute and cool and i wanted to have more... nice stuff? around the app..." (and 2026-11-01: "honestly i just want to be able to be able to eventually play full-on animations like this").
Leo-ask: ask-1ec99cec90
What
The
chat-switch-motionexperiment (cmux#30602) now defaults to its picked arm, stagger: opening another chat moves the title, then the visible rows bottom-up (6 px rise, 16 ms apart, one spring) with Session Info's body following from the right, all settled within 240 ms. Off, Fade and Depth stay onecmux.experimentsoverride away, and the gallery's compare arms are unchanged.Spec: leo-workspace
design/motion-and-polish.md(Choreography) carried the open question of whether a switch performance on by default outranks rule 14 ("instant if cached"). Leo's ask answers it. The switch itself stays instant: the new chat is in the DOM on the frame it lands, and the motion plays over it.Risk
Small: a one-line default change plus comments. Already covered by what #30602 shipped:
data-cmux-motion=off, a zero--agent-motion-inor a hidden page plays nothing.fill: backwards, cancelled when the transcript unmounts; the next switch starts from the drawn value.chat.switch.<arm>, Linux pool, 10 runs, from cmux NEXT agent pane: chat switch motion experiment (rows, title and Session Info as one movement) #30602):chat.switch.off/chat.switch.staggerAgent session: agent session
🤖 Generated with Claude Code
Open in [code]smith · Need help on this PR? Tag
@codesmith-botwith what you need.Summary by cubic
Makes the
staggermotion the default when opening another chat in the NEXT agent pane. The switch stays instant — the new chat is in the DOM on the frame it lands — and the motion plays over it;offand the other arms remain available via acmux.experimentsoverride ({"chat-switch-motion":"off"}).data-cmux-motion=off, a zero--agent-motion-in, or a hidden page.Written for commit 8bdc61c. Summary will update on new commits.