
This adds a smoke test for every single API example. It also fixes 17 tests that had bugs in them, or were otherwise broken, and even fixes one actual bug in the framework, and one limitation in the framework. The bug in the framework is that NetworkImage's _loadAsync method had await response.drain<List<int>>();, but if the response is null, it will throw a cryptic exception saying that Null can't be assigned to List<int>. The fix was just to use await response.drain<void>(); instead. The limitation is that RelativePositionedTransition takes an Animation<Rect> rect parameter, and if you want to use a RectTween with it, the value emitted there is Rect?, and one of the examples was just casting from Animation<Rect> to Animation<Rect?>, which is invalid, so I modified RelativePositionedTransition to take a Rect? and just use Rect.zero if the rect is null.
vitool
This tool generates Dart files from frames described in SVG files that follow the small subset of SVG described below. This tool was crafted specifically to handle the assets for certain Material design animations as created by the Google Material Design team, and is not intended to be a general-purpose tool.
Supported SVG features
- groups
- group transforms
- group opacities
- paths (strokes are not supported, only fills, elliptical arc curve commands are not supported)