anchor.diff:              // TODO: Fix once dart fixes this bug
               // zoom += e.wheelDeltaY;
               if (jse["deltaY"] != null) {
  -                zoom += -(jse["deltaY"] as int) / 100;
  +                zoom += -(jse["deltaY"] as int) / 200;
               } else {
                   zoom += (jse["wheelDeltaY"] as int) / 1000;
               }
  
positive.code: 
      int x = 0;
      int y = 0;
      int z = 0;
  
      CanvasSnapshot() {
          canvas.width = 256 * 2;
  
negative.code: 
          ImageData data = snapshot.data == null ? ctx.getImageData(0, 0, canvas.width, canvas.height) : snapshot.data;
  
          for (int x = snapshot.x; x < 16; x++) {
              int sz = x == snapshot.x ? snapshot.z : 15;
              for (int z = sz; z >= 0; z--) {
                  int sy = 0;
                  if (z == snapshot.z){
                      sy = snapshot.y;
                      snapshot.z = -1;
                  }
                  for (int y = sy; y < 16; y++) {
                      Block block = getBlock(x, (i << 4) + y, z);
                      if (block.renderable)
                          block.renderCanvas(data, x, y, z, (i << 4) + y, this);
  
                      if (stopwatch.elapsedMilliseconds >= CanvasWorld.BUILD_LIMIT_MS) {
                          snapshot.x = x;
                          snapshot.y = y + 1;
                          snapshot.z = z;
                          snapshot.data = data;
                          return snapshot;
                      }
  