* feat: base history plugin
* feat: mount history api to graph
* test: history unit and integration test
* refactor: simplify compute draw data
* test: update snapshots
* feat: history event emitter and site demo
* feat: contextmenu class
* chore: update context menu options
* feat: show context menu
* feat: update context menu
* chore: rename to contextmenu
* chore: rename G6ElementEvent to ElementEvent
* chore: init type define
* fix: badge typo in readme
* feat: plugin watermark
* feat: add watmermark plugin
* test: add tc for watermark, but should skip it
* docs: add demos for watermark
* test: add tc for mock
* chore: fix cr
* test: use jest-canvas-mock make ci works
* chore: update demo
* docs: add case panel
* refactor: render watermark into div
* chore: update
* refactor(runtime): merge into getChildrenData, getComboData, add get getAncestorsData
* refactor(runtime): move translate logic from graph to data controller
* feat(utils): add positionOf util
* refactor(runtime): adjust the order of drawing combos
* refactor(elements): sync combo position to model, adjust combo size calc
* refactor(utils): dfs provide depth info
* refactor(elements): combo sync position and zIndex
* feat(utils): add zIndexOf util
* refactor(runtime): refactor data/element controller to fit combo update
* test: assign graph into window.graph
* refactor(elements): combo use childrenData to get marker text
* refactor(elements): filter zIndex from graphicStyle
* feat(utils): add getSubgraphRelatedEdges util
* refactor(animation): add combo-collapse-expand animation
* refactor(runtime): add combo collapse and expand flow
* fix: fix issue in data controller and base-combo
* test: update test case and snapshots
* feat(behaviors): support click collapse-expand, drag-combo
* refactor: merge drag node and drag combo into drag element
* fix(behaviors): fix issue drag element between combo wont update
* test(behaviors): add drag-element test case and snapshots
* test: fix snapshot
* test: update test case and snapshots
* fix: fix format and types
* chore: adjust drag-node to drag element
* refactor(runtime): element split draw to draw and computeDrawData
* feat(utils): add parentIdOf util
* refactor(runtime): element controller use data flow
* refactor(utils): toGraphlibData does a shallow copy
* refactor: base-shape set visibility, setVisibility support keep raw attributes
* refactor(runtime): refactor element controller, merge runtime style into model
* test: update test case and snapshots
* test(elements): add test case and snapshots
* chore(site): update site demo
* refactor(runtime): add syntax sugar for runtime api
* test: remove layout case demo
* refactor(animation): recover to enter, exit animation stage
* refactor(runtime): add frontElement, backElement api
* refactor(runtime): add showElement, hideElement API
* refactor(behaviors): drag-node adpat new api
* feat(node): support new badgePalette attribute
* feat: add light theme and dark theme;update demo and test panel
* refactor(site): update site demos
* refactor: rename disable to disabled
* refactor: rename disable to disabled
---------
Co-authored-by: Aaron <yangtao.yangtao@antgroup.com>