anchor.diff:  }
   
   /// A widget that displays a vector_graphics formatted asset.
  -class VectorGraphics extends StatefulWidget {
  -  const VectorGraphics({Key? key, required this.controller}) : super(key: key);
  -
  -  final VectorGraphicsController controller;
  -
  -  @override
  -  State<VectorGraphics> createState() => _VectorGraphicsWidgetState();
  -}
  -
  -class _VectorGraphicsWidgetState extends State<VectorGraphics> {
  +///
  +/// A bytes loader class should not be constructed directly in a build method,
  +/// if this is done the corresponding [VectorGraphic] widget may repeatedly
  +/// reload the bytes.
  +///
  +/// ```dart
  +/// class MyVectorGraphic extends StatefulWidget {
  +///
  +///  State<MyVectorGraphic> createState() =>
  +/// }
  +///
  +/// class _MyVectorGraphicState extends State<MyVectorGraphic> {
  +///   BytesLoader? loader;
  +///
  +///   @override
  +///   void initState() {
  +///     super.initState();
  +///     loader = AssetBytesLoader(assetName: 'foobar', assetBundle: DefaultAssetBundle.of(context));
  +///   }
  +///
  +///   @override
  +///   Widget build(BuildContext context) {
  +///     return VectorGraphic(bytesLoader: loader!);
  +///   }
  +/// }
  +/// ```
  +class VectorGraphic extends StatefulWidget {
  +  const VectorGraphic({Key? key, required this.bytesLoader}) : super(key: key);
  +
  +  final BytesLoader bytesLoader;
  +
  +  @override
  +  State<VectorGraphic> createState() => _VectorGraphicsWidgetState();
  +}
  +
  +class _VectorGraphicsWidgetState extends State<VectorGraphic> {
     ui.Picture? _picture;
   
     @override
  
positive.code:   }
  }
  
  abstract class VectorGraphicsController {
    const VectorGraphicsController();
  
    Future<ByteData> loadBytes();
  
    bool equivalent(VectorGraphicsController other) => false;
  }
  
  /// A controller for loading vector graphics data from an asset bundle.
  class VectorGraphicsAssetController extends VectorGraphicsController {
    /// Create a new [VectorGraphicsAssetController].
    ///
    /// The default asset bundle can be acquired using [DefaultAssetBundle.of].
    const VectorGraphicsAssetController({
      required this.assetName,
      this.packageName,
      required this.assetBundle,
  
negative.code:   }
  
    void _loadAssetBytes() {
      widget.bytesLoader.loadBytes().then((ByteData data) {
        final ui.Picture picture = decodeVectorGraphics(data);
        setState(() {
          _picture?.dispose();
  