anchor.diff:                .toDouble());
       } else {
         Float32List overrideColor = artboard.overrideColor;
  +      double o = (overrideColor[3] *
  +              artboard.modulateOpacity *
  +              opacity *
  +              shape.renderOpacity)
  +          .clamp(0.0, 1.0)
  +          .toDouble();
         paintColor = ui.Color.fromRGBO(
             (overrideColor[0] * 255.0).round(),
             (overrideColor[1] * 255.0).round(),
             (overrideColor[2] * 255.0).round(),
  -          overrideColor[3] *
  -              artboard.modulateOpacity *
  -              opacity *
  -              shape.renderOpacity);
  +          o);
       }
   
       _paint
  
positive.code: 
      int idx = 0;
      for (int i = 0; i < numStops; i++) {
        ui.Color color = ui.Color.fromRGBO(
            (colorStops[idx] * 255.0).round(),
            (colorStops[idx + 1] * 255.0).round(),
            (colorStops[idx + 2] * 255.0).round(),
            colorStops[idx + 3]);
        colors.add(color);
        stops.add(colorStops[idx + 4]);
        idx += 5;
  
negative.code:               .toDouble());
      } else {
        Float32List overrideColor = artboard.overrideColor;
        double o = (overrideColor[3] *
                artboard.modulateOpacity *
                opacity *
                shape.renderOpacity)
            .clamp(0.0, 1.0)
            .toDouble();
        paintColor = ui.Color.fromRGBO(
            (overrideColor[0] * 255.0).round(),
            (overrideColor[1] * 255.0).round(),
            (overrideColor[2] * 255.0).round(),
            o);
      }
      _paint
        ..color = paintColor
  