fix(next): follow up window motion pacing and scale changes

TE
1d ago
+42-11

Summary

Fix forward the merged window motion work: restore synchronous content display after the same-harness A/B showed no pacing win, require the shared window-resize minimum of 20 intermediate display frames, and relayout titlebar chrome when a window moves between displays with a new backing scale.

This follows #35063 and #35064 and closes their confirmed follow-ups in #35097. The capture follow-up remains tracked in #35098.

Performance

metricbeforeafterdeltaharness or run link
1x2 window-zoom frame p95 (ms)16.6716.670existing BEFORE f3dd8dba08e04d00a0ad640a / AFTER 75f549fef2070cb44e894434
1x2 window-zoom max frame (ms)33.035.55+2.55same 120 Hz virtual-display harness
stress window-zoom frame p95 (ms)28.220.99-7.21same harness
stress window-zoom missed frames12median 13unresolvedsame harness

The measured result did not establish a consistent benefit for deferred display, so this follow-up returns to the synchronized presentation path. No duplicate perf run was dispatched.

Validation

  • python3 -I scripts/cmux-next/tests/test_window_zoom_motion.py (17 passed)
  • Existing fleet app compile receipts for the parent changes: 8bdabc5b1818168834ece0f6 and f669c21e7814c2fa8ea9dec5

Changelog

  • Keep zoom content display synchronized with each animated frame.
  • Enforce the shared 20-intermediate-frame window pacing floor.
  • Re-layout pixel-aligned titlebar chrome after backing-scale changes.

agent-identity footer --repo manaflow-ai/cmux
🤖 Generated with Codex

Agent session: agent session


Autofix with [code]smith
Open in [code]smith · Need help on this PR? Tag @codesmith-bot with what you need.


Summary by cubic

Follows the merged window motion work: restores synchronous zoom content display, enforces the shared 20-intermediate-frame window pacing floor, and relayouts titlebar chrome when a window moves between displays with a new backing scale.

  • Zoom operations animate with display: true so content is painted with each frame; the deferred variant showed no consistent pacing benefit and could leave a late content update behind the window motion.
  • The window-perf harness rejects zoom and unzoom runs under 20 intermediate display frames, and the motion tests now cover that floor with 22-sample traces.