anchor.diff:    }
   
     void _updateScissorBox(Region scissorBox) {
  -    if (scissorBox != null && scissorBox != _scissorBox) {
  +    if (scissorBox != null) {
         if (!_scissorTestEnabled) {
           _context.enable(WebGL.SCISSOR_TEST);
           _scissorTestEnabled = true;
         }
   
  -      _context.scissor(
  -          scissorBox.x, scissorBox.y, scissorBox.width, scissorBox.height);
  -
  -      _scissorBox = scissorBox;
  +      if (scissorBox != _scissorBox) {
  +        _context.scissor(
  +            scissorBox.x, scissorBox.y, scissorBox.width, scissorBox.height);
  +
  +        _scissorBox = scissorBox;
  +      }
       } else if (scissorBox == null && _scissorTestEnabled) {
         _context.disable(WebGL.SCISSOR_TEST);
         _scissorTestEnabled = false;
  
positive.code:     _samplerResources = new _ContextSamplerResourceManager(this);
      _defaultFrame = new Frame._default(this);
      _boundFrame = _defaultFrame;
      _recentlyUsedTextureUnits = new Queue.from(new List.generate(maxTextureUnits, (i) => i));
    }
  
    /// Retrieves a [RenderingContext] for the [canvas].
  
negative.code:   }
  
    void _updateBlending(Blending blending) {
      if (blending != null) {
        if (!_blendingEnabled) {
          _context.enable(WebGL.BLEND);
          _blendingEnabled = true;
        }
  
        if (!identical(blending, _blending)) {
          if (blending.colorFunction != _blending.colorFunction ||
              blending.alphaFunction != _blending.alphaFunction) {
            _context.blendEquationSeparate(
                _blendingFunctionMap[blending.colorFunction],
                _blendingFunctionMap[blending.alphaFunction]);
          }
  
          if (blending.sourceColorFactor != _blending.sourceColorFactor ||
              blending.sourceAlphaFactor != _blending.sourceAlphaFactor ||
              blending.destinationColorFactor !=
                  _blending.destinationColorFactor ||
              blending.destinationAlphaFactor !=
                  _blending.destinationAlphaFactor) {
            _context.blendFuncSeparate(
                _blendingFactorMap[blending.sourceColorFactor],
                _blendingFactorMap[blending.destinationColorFactor],
                _blendingFactorMap[blending.sourceAlphaFactor],
                _blendingFactorMap[blending.destinationAlphaFactor]);
          }
  
          _blending = blending;
        }
      } else if (blending == null && _blendingEnabled) {
        _context.disable(WebGL.BLEND);
        _blendingEnabled = false;
  