two.js
A renderer agnostic two-dimensional drawing api for the web
...It is renderer agnostic enabling the same api to draw in multiple contexts: svg, canvas, and webgl. Two.js is deeply inspired by flat motion graphics. As a result, two.js aims to make the creation and animation of flat shapes easier and more concise. At its core two.js relies on a scenegraph. This means that when you draw or create an object (a Two.Path or Two.Group), two actually stores and remembers that. After you make the object you can apply any number of operations to it. Two.js has a built in animation loop. It is simple in nature and can be automated or paired with another animation library. ...