code: function enterFrame() {
                  if (dur > 0) {
  					if (isFinite(Crafty.viewport._zoom)) zoom = Crafty.viewport._zoom;
                      var old = {
                          width: act.width * zoom,
                          height: act.height * zoom
                      };
                      zoom += zoom_tick;
                      Crafty.viewport._zoom = zoom;
                      var new_s = {
                          width: act.width * zoom,
                          height: act.height * zoom
                      },
                      diff = {
                          width: new_s.width - old.width,
                          height: new_s.height - old.height
                      };
                      Crafty.stage.inner.style[prop] = 'scale(' + zoom + ',' + zoom + ')';
                      if (Crafty.canvas._canvas) {
  						var czoom = zoom / (zoom - zoom_tick);
  						Crafty.canvas.context.scale(czoom, czoom);
                          Crafty.DrawManager.drawAll();
                      }
                      Crafty.viewport.x -= diff.width * prct.width;
                      Crafty.viewport.y -= diff.height * prct.height;
                      dur--;
                  }
              }
docs: what's going on: 1. Get the original point as a percentage of the stage 2. Scale the stage 3. Get the new size of the stage 4. Get the absolute position of our point using previous percentage 4. Offset inner by that much