anchor.diff:  //    context.strokeStyle = '#00f';
   //    context.strokeRect(scaledImageRect.left, scaledImageRect.top, scaledImageRect.width, scaledImageRect.height);
       context.drawImageScaled(asset, scaledImageRect.left, scaledImageRect.top, scaledImageRect.width, scaledImageRect.height);
  +
  +    var boxSize = 16;
  +    var dotContainerRect = new Rectangle(xOffset + .8 * width - boxSize / 2, yOffset + .3 * height - boxSize / 2, boxSize, boxSize);
  +
  +//    context.fillStyle = '#00f';
  +//    context.fillRect(dotContainerRect.left, dotContainerRect.top, dotContainerRect.width, dotContainerRect.height);
  +
  +    if (this.dotCount == 1) {
  +      this._renderOneDot(context, dotContainerRect);
  +    } else if (this.dotCount == 2) {
  +      this._renderTwoDots(context, dotContainerRect);
  +    } else if (this.dotCount == 3) {
  +      this._renderThreeDots(context, dotContainerRect);
  +    }
     }
  +  
  +  void _renderOneDot(CanvasRenderingContext2D context, Rectangle boundingRect) {
  +    this._renderDot(context, boundingRect, 1/2, 1/2);
  +  }
  +
  +  void _renderTwoDots(CanvasRenderingContext2D context, Rectangle boundingRect) {
  +    this._renderDot(context, boundingRect, 1/4, 1/2);
  +    this._renderDot(context, boundingRect, 3/4, 1/2);
  +  }
  +  
  +  void _renderThreeDots(CanvasRenderingContext2D context, Rectangle boundingRect) {
  +    this._renderDot(context, boundingRect, 1/4, 2/3);
  +    this._renderDot(context, boundingRect, 3/4, 2/3);
  +    this._renderDot(context, boundingRect, 1/2, 1/3);
   }
  +  
  +  void _renderDot(CanvasRenderingContext2D context, Rectangle boundingRect, num xCenter, num yCenter) {
  +    context.save();
  +
  +    context.fillStyle = this.isWhite ? '#888' : '#fff';
  +    context.beginPath();
  +    context.arc(boundingRect.left + xCenter * boundingRect.width, boundingRect.top + yCenter * boundingRect.height, dotRadius, 0, PI * 2, true);
  +    context.closePath();
  +    context.fill();
  +
  +    context.restore();
  +  }
  +
  +}
  
positive.code: import 'dart:html';
  import 'dart:math' show Random;
  
  import '../lib/rect.dart';
  
  
negative.code:   
    static final num pointHeight = .25;
    
    static final num dotRadius = 2;
  
    static Random random;
    
    num row, col;
    bool isWhite;
    num dotCount;
    
    Tile(this.row, this.col) {
      random = new Random();
      this.isWhite = random.nextBool();
      this.dotCount = random.nextInt(3) + 1;
    }
  
    void draw(CanvasRenderingContext2D context) {
  