| Motion | Where | Number |
|---|
| Parallax | a cover lags the page it sits behind | 0.45× scroll, inside a ClipRect |
| Staggered entrance | a list of the user's own things | fade + 18px, 340ms, 70ms apart, cap 6 |
| Press response | a card that is a whole photograph | scale 0.985, 110ms |
| Photograph arrival | every hero, every card photo row | 260ms cross-fade |
| Hero flight | a trip card's picture into the trip page's | shared element, 120ms |
§8 used to read "no bounce, no spring, no parallax" and the third is struck. Ted, on the built app: "this app is supposed to look good and fun with lots of photos and videos and animations." The other two stand, and easeOutCubic carries everything added under the amendment. The cross-fade is over the DESIGNED state, never over a blank — a photograph arrives on top of the drawn scene on a hero, or the alt text on a card tile, so there is no frame in which the user sees nothing. Note: DdsMotion's doc comment in dds_tokens.dart still says "no parallax". §8.1 supersedes it; the comment is stale. §8.1.