We need to start with the Raphael library, providing cross browser abstract layers for rendering vector objects.
The following bulleted features are stolen directly from their home page:
- connecting vector objects with various types of arrows
- interacting with connections and objects
- custom handlers for various events
- bent lines smoothing
- ready-to-use elements of well-known diagrams (ERD, Org chart, FSA, UML, PN, DEVS, LDM)
- hierarchical diagrams
- serialization (to/from JSON format, SVG export only in browsers that support it)
Paper.js has its own set of impressive demos and seems much more approachable than Processing.js. This is a nice tool, powerful, not too complicated.
CAKE is a scene graph library that includes tweeing. This is the most Flash-like library in capabilites: the Missile Fleet demo runs at nearly 300fps on my PC. The documentation is a bit thin but it exists and there is only one tutorial. This is a go-to for fast, flashy graphics.