Trigger the animation by pushing the destination route on the
Navigator’s stack. The Navigator push and pop operations trigger
a hero animation for each pair of heroes with matching tags in
the source and destination routes.

Flutter calculates the tween that animates the Hero’s bounds from
the starting point to the endpoint (interpolating size and position),
and performs the animation in an overlay.

The next section describes Flutter’s process in greater detail.

Behind the scenes

The following describes how Flutter performs the
transition from one route to another.

Before transition, the source hero waits in the source
route’s widget tree. The destination route does not yet exist,
and the overlay is empty.

Pushing a route to the Navigator triggers the animation.
At t=0.0, Flutter does the following: