anchor.diff:    }
     void drawBackground(CanvasRenderingContext2D context) {
       //resets the background at each level (clearRect may be faster if optimizing)
  -    context.fillStyle = 'white';
  +    context.fillStyle = 'black';
       context.fillRect(0, 0, width, height);
   //    context.clearRect(0, 0, width, height);
     }
  
positive.code:   render([CanvasRenderingContext2D context]) {
      if (points.isEmpty) return;
      var context = canvas.context2D;
      context..lineWidth = 0.5
             ..strokeStyle = 'black';
      context..beginPath()
             ..moveTo(points.first.x, points.first.y);
      for (int i=1; i<this.size(); ++i) {
  
negative.code:     // initial shape creation according to mouse input
      var rect = canvas.getBoundingClientRect();
      if (points.isEmpty) return;
      context..lineWidth = 1
             ..strokeStyle = 'white';
  
      if (this.size() >= 2) {
        context..beginPath()
  