anchor.diff:    Rectangle<int> dst;
     Vector2 offset;
     Vector2 trimmed;
  -  Sprite(Map<String, dynamic> singleAsset) {
  +  Sprite(_FrameValue singleAsset) {
       final _Asset asset = _Asset(singleAsset);
       src = asset.frame;
       var cx, cy;
  
positive.code:         String assetJson) =>
      Future.value(json.decode(assetJson));
  
  Future<Map<String, dynamic>> _processAssets(String assetJson) =>
      Future.value(json.decode(assetJson));
  
negative.code:   return Future.value(result);
  }
  
  Future<SpriteSheet> _createSpriteSheet(String imgPath, _AssetJson assets) {
    final completer = Completer<SpriteSheet>();
    final img = ImageElement();
    img.onLoad.listen((_) {
      final sprites = <String, Sprite>{};
      assets.frames.forEach((assetName, assetData) {
        sprites[assetName] = Sprite(assetData);
      });
      final sheet = SpriteSheet(img, sprites);
  