Some of the Animation classes that we converted from performances use
the term "master" to refer to the animation upon which they're based.
This patch changes them to use the term "parent", which is consistent
with the rest of the animation classes.
Now that we've decided that Animation<double> isn't confined to the interval
0.0 to 1.0, we can expand AnimationController to cover the use cases that used
to require SimulationStepper.
This patch merges SimulationStepper into AnimationController and ports the one
stand-alone client of simulation stepper over to using AnimationController.
This patch removes Performance and AnimationValue now that we've ported the
framework over to AnimationController and Tween. This patch also cleans up the
names of the AnimationController classes now that they don't have to avoid
conflicts with the old animation API. Specifically, I've made the following
renames:
* Animated -> Animation
* Evaluatable -> Animatable
* PerformanceStatus -> AnimationStatus
This patch is just renames and moving code around. There aren't any changes in
behavior.
Also, clean up the class hierarchy for AnimationController now that
we've renamed progress to value. That means everything in the hierarchy
now has a value, include Watchable. This patch renames Watchable to
Animated<T>, which lets us use that type almost everywhere.
I've added some ducktape to modal bottom sheets to avoid having to
refactor all of Navigator to use AnimationController. I'll remove the
ducktape in the next patch.
Revised Material Gallery demo
The demo's home page is now a grid divided into the same six sections that appear in the Material Design spec itself. Tapping on a section leads to a list of demos. Currently only the "Components" section has any demos.
All of the demos are now self-contained apps with their own Scaffold and etc.
This patch removes state from the animation system, which was causing problems
as we were scaling the use of animated values.
Now the "tween" objects are stateless and can watch animations, which creates a
new object that holds both the tween and the animation instead of mutating the
tween every tick of the animation.
This patch ports one client as a proof-of-concept.
Fixes#215