anchor.diff:    /// [StrokeJoin.miter] and the [style] is set to [PaintingStyle.stroke]. If
     /// this limit is exceeded, then a [StrokeJoin.bevel] join will be drawn
     /// instead. This may cause some 'popping' of the corners of a path if the
  -  /// angle between line segments is animated.
  +  /// angle between line segments is animated, as seen in the diagrams below.
     ///
     /// This limit is expressed as a limit on the length of the miter.
     ///
     /// Defaults to 4.0.  Using zero as a limit will cause a [StrokeJoin.bevel]
     /// join to be used all the time.
  +  ///
  +  /// {@animation joinMiter 300 300 https://flutter.github.io/assets-for-api-docs/assets/dart-ui/miter_0_join.mp4}
  +  ///
  +  /// {@animation joinMiter 300 300 https://flutter.github.io/assets-for-api-docs/assets/dart-ui/miter_4_join.mp4}
  +  ///
  +  /// {@animation joinMiter 300 300 https://flutter.github.io/assets-for-api-docs/assets/dart-ui/miter_6_join.mp4}
  +  ///
  +  /// The centers of the line segments are colored in the diagrams above to
  +  /// highlight the joins, but in normal usage the join is the same color as the
  +  /// line.
  +  ///
  +  /// See also:
  +  ///
  +  ///  * [strokeJoin] to control the kind of finish to place on the joins
  +  ///    between segments.
  +  ///  * [strokeCap] to control what is drawn at the ends of the stroke.
     double get strokeMiterLimit {
       return _data.getFloat32(_kStrokeMiterLimitOffset, _kFakeHostEndian);
     }
  
positive.code: 
  /// Styles to use for line endings.
  ///
  /// See [Paint.strokeCap].
  // These enum values must be kept in sync with SkPaint::Cap.
  enum StrokeCap {
    /// Begin and end contours with a flat edge and no extension.
    butt,
  
    /// Begin and end contours with a semi-circle extension.
    round,
  
    /// Begin and end contours with a half square extension. This is
    /// similar to extending each contour by half the stroke width (as
    /// given by [Paint.strokeWidth]).
    square,
  }
  
  /// Styles to use for line joins.
  ///
  /// This only affects line joins for polygons drawn by [Canvas.drawPath] and
  /// rectangles, not points drawn as lines with [Canvas.drawPoints].
  ///
  /// See [Paint.strokeJoin].
  // These enum values must be kept in sync with SkPaint::Join.
  enum StrokeJoin {
    /// Joins between line segments form sharp corners.
    miter,
  
    /// Joins between line segments are semi-circular.
    round,
  
    /// Joins between line segments connect the corners of the butt ends of the
    /// line segments to give a beveled appearance.
    bevel,
  }
  
  
negative.code:   /// This applies to paths drawn when [style] is set to [PaintingStyle.stroke],
    /// It does not apply to points drawn as lines with [Canvas.drawPoints].
    ///
    /// Defaults to [StrokeJoin.miter], i.e. sharp corners.
    ///
    /// Some examples of joins:
    ///
    /// {@animation joinMiter 300 300 https://flutter.github.io/assets-for-api-docs/assets/dart-ui/miter_4_join.mp4}
    ///
    /// {@animation joinRound 300 300 https://flutter.github.io/assets-for-api-docs/assets/dart-ui/round_join.mp4}
    ///
    /// {@animation joinBevel 300 300 https://flutter.github.io/assets-for-api-docs/assets/dart-ui/bevel_join.mp4}
    ///
    /// The centers of the line segments are colored in the diagrams above to
    /// highlight the joins, but in normal usage the join is the same color as the
    /// line.
    ///
    /// See also:
    ///
    ///  * [strokeMiterLimit] to control when miters are replaced by bevels when
    ///    this is set to [StrokeJoin.miter].
    ///  * [strokeCap] to control what is drawn at the ends of the stroke.
    ///  * [StrokeJoin] for the definitive list of stroke joins.
    StrokeJoin get strokeJoin {
      return StrokeJoin.values[_data.getInt32(_kStrokeJoinOffset, _kFakeHostEndian)];
    }
  