anchor.diff:      final scale = minDimension ~/ size;
       final offset = (minDimension - (scale * size)) ~/ 2;
   
  -    _ctx.setTransform(scale, 0, 0, scale, offset, offset);
  +    _scale.target = scale;
  +
  +    if(_scale.update()) {
  +      requestFrame();
  +    }
  +
  +    _ctx.setTransform(_scale.current, 0, 0, _scale.current, offset, offset);
   
       if(_squares.length > 0) {
         assert(_squares.length == size * size);
  
positive.code: class QrDemo{
    static final String _typeRadioIdKey = 'type-value';
    static final String _errorLevelIdKey = 'error-value';
    final CanvasElement _canvas;
    final _QrCalc _qrMapper;
    final CanvasRenderingContext2D _ctx;
  
negative.code:   final demo = new QrDemo(canvas, typeDiv, errorDiv);
  
    final InputElement input = query('#input');
  
    input.value = "Type your message in here...";
    demo.value = input.value;
  
  