KineticJS is an HTML5 Canvas JavaScript library that extends the 2d context by enabling high performance path detection and pixel detection for desktop and mobile applications. You can draw things on the stage and then add event listeners to them, move them, scale them, and rotate them independently from other shapes to support high performance animations and transitions. Served hot with a side of awesomeness.