cmux-next: mark the sidebar card's Core Animation objects as reviewed motion exceptions
c5a1f900ec ("Sidebar update card: animate coming in, going out and message changes") built the card's entrance, exit and content crossfade from raw CABasicAnimation, CASpringAnimation, CATransition and CAMediaTimingFunction. Since then scripts/cmux-next/check-motion.sh has failed with 9 hits in SidebarCardTransition.swift, which turns "cmux-next checks" red on feat-cmux-next and every PR into it. The chat-web lane reported it.
Every duration and spring in that file already comes from the injected MotionPolicy's tokens (.fadeIn, .fadeOut, .crossfade, .appear). The raw objects are there because the card's animations are presentation-only, and Motion.set writes the model value and reads the global Motion.policy. Porting the file to the Motion helpers would change those semantics and the easing curves, so that's the owner's call and needs a build to check. This PR only marks the 9 lines with the script's reviewed-exception comment, // motion-allow:, and adds the reason to the type doc. It changes comments only; the compiled code is identical.
Verification
bash scripts/cmux-next/check-motion.shlists the 9 hits at the feat-cmux-next tip and printscheck-motion: okwith this change.bash scripts/cmux-next/tests/check-motion.test.sh: ok.- No build: the diff is comments only.
Changelog
none
🤖 Generated with Claude Code
Need help on this PR? Tag @codesmith-bot with what you need.
Summary by cubic
Fixes scripts/cmux-next/check-motion.sh failing with 9 hits by marking the sidebar card's raw Core Animation objects as reviewed motion exceptions.
- Each hit in
SidebarCardTransition.swiftnow carries a// motion-allow:comment, with the reason documented in the type doc. - The raw
CABasicAnimation,CASpringAnimation,CATransition, andCAMediaTimingFunctionobjects stay, sinceMotion.setwould write the model value and read the global policy; durations and springs come from theMotionPolicytokens, while the easing curves and the spring's settle tolerance remain literal. - Comments only; the compiled code is identical.