* feat: use serverside rendering for integration tests
* chore: extend svg & webgl matchers for jest
* chore: interactive events can be triggerred in test case now
* chore: increase timeout
* chore: skip WebGL snapshot for now
* chore: support animation snapshot in test case
* chore: DOM API can be used in test case
* fix: make graph.getItemById private
* feat: unified datachange from changeData, addData, updateData, and removeData; feat: item definition and first drawing
* feat: update canvas while addData; feat: update canvas while updateData (node); chore: unified additems, removeitems, updateitems to be itemchange hook
* feat: init layout controller
* feat: node and edge updating and drawing
* chore: neaten
* feat: draw and update labels for node and edge
* feat: icon for edge; feat: custom node and edge and register to lib
* feat: init layout controller
* fix: use latest g-webgl
* feat: layout controller should support & option
* fix: registry typo & add custom layout test case
* feat: state related API for graph and item
* chore: update notes
---------
Co-authored-by: Yanyan-Wang <yanyanwang93@gmail.com>
* feat: hooks for graph; feat: data and interaction controllers for these two types of extensions
* chore: format notes
* perf: types refine
* feat: graph behavior apis
* feat: item and its controller
* feat: init Node Edge and Combo item
* feat: init layoutm theme, extension controllers
* feat: init Graph class
* feat: add gymnastics for behavior
* chore: behavior type generic refine
* chore: refine
* feat: complete hooks list