* refactor(test): use lil-gui in demo env
* refactor(runtime): graph viewport api use default canvas center as origin
* refactor(runtime): layout support preset options
* refactor(test): remove createGraph
* refactor(test): update test case and snapshot
* test: add test cases
* 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>
* chore(test): support alias in test cases
* chore(test): adjust test utils, add toMatchSnapshot
* chore(tests): use path alias in tests
* feat(utils): add parseSize util
* chore: set vite alias config
* fix(elements): fix elements types and remove edge sourcePoints
* refactor(tests): adapt size and remove sourcePoint, update snapshots
* refactor(runtime): remove sleep usage
* chore: add 3d sphere file
* test: add createDeterministicRandom for 3d test data
* chore: simplify type define
* fix: create webgl instance
* chore: remove sphere
* refactor(runtime): adjust async render process
* refactor(runtime): setup default zoom
* test: update layout test case
* refactor(runtime): remove context param from controller api
* feat(port): add linkToCenter attribute
* fix: ci
* refactor: rename getCurveControlPoint function
* refactor: update snapshots related to port
---------
Co-authored-by: banxuan.zyx <banxuan.zyx@antgroup.com>
* test: add test case for viewport with svg renderer
* chore: rename file
* chore: update test case
* chore: keep the comment
* feat: add createGraphCavas, and use it in main.ts
* chore: move viewport.spec.ts to unit
* test: use real graph instance instead of mock
* chore: remove unused code
* chore: fix ci
* refactor(runtime): rename dataController in context to model
* feat(utils): add isVisible and update uitls
* refactor(layout): update layout types and register built-in layouts
* feat(utils): add deduplicate util
* refactor(utils): update inferDefaultValue to infer position
* refactor(element): add updateNodeLikePosition method to update position immediately
* feat(runtime): data controller support call methods without trace
* fix(animation): it's neccessary to reserve commonEffectTiming config
* fix(test): fix test case issue
* feat(utils): add tree data converter utils
* refactor(runtime): update element controller, add get element api, and updateByLayoutResult method
* feat(utils): add layout utils
* refactor(layout): add built-in layouts
* refactor(elements): add built-in edges
* feat(runtime): add layout controller
* test(layout): add and update test snapshot
* test: update test case
* refactor(utils): remove transformGraphDataToTreeData
* fix: fix issue occured in rebase
* refactor(layout): add built-in layout registration
* refactor(spec): support config global animation
* test(runtime): update element controller snapshots
* fix(elements): fix issue that edge lack of default control points
* refactor(runtime): support tree layout
* fix(elements): fix issue that unexpect loop edge infer
* fix(runtime): fix layout error, support global animation, optimize updateNodeLikePosition method
* test(layout): add static layout test case
* refactor(test): update dendrogram snapshot
* fix(utils): fix pickLayoutResult test case
* refactor(types): add positions type
* refactor(runtime): optimize element updateNodeLikePosition perf
* fix(test): fix test case types issue
* test(demo): update test demos
* refactor(utils): modify transformTreeDataToGraphData default getNodeData
* refactor(runtime): data controller provide getParentData API
* refactor(runtime): rename sneak to silence
* refactor(layout): add comment
* refactor(registry): use console.error instead of throw when plugin duplicated
* feat(shape): add ellipse node
* chore: remove canvas.init()
* fix: modify haloStyle according to keyShape lineWidth
* fix: update 'lineWidth' of rect and ellipse in haloStyle
* feat(edge): add loop edge element
* feat: update demo
* refactor: change loop edge from an element to part of base edge
* test: update ut snapshots
* chore: fix code review
* chore: fix cr
---------
Co-authored-by: yvonneyx <banxuan.zyx@antgroup.com>
* chore: update node render order
* feat: add node default style
* feat: badge align style with different position
* feat: add maxWidth and wordWrapWidth for edge
* chore: fix ci
* chore: remove isEmpty, use antv util
* feat: add star node
* test: add test case
* test: add test case for star anchor
* chore: for coverage
* feat: padding = 0 when undefined
* fix: remove import type
* feat(themes): add theme plugin type definition
* feat(palettes): add palette utils and plugin type definition
* feat(utils): add computeElementCallbackStyle util
* refactor(spec): edge data style support config sourcePort and targetPort
* refactor(animation): adjust executor to adapt undefined animation
* test(spec): fix spec animation test case
* feat(palettes): add built-in palettes
* refactor(utils): adjust palette default logic
* feat(theme): add built in theme
* feat(runtime): add element controller
* refactor(spec): rename port to anchor
* test(registry): update registry test case
* refactor(palettes): remove built in palettes to canstants
* refactor(runtime): data controler remove event emit and provide getChanges API
* refactor(registry): register built-in nodes and edges
* refactor(runtime): adapt data controller changes, store animation result
* refactor(runtime): element style callback returns index and element data extractly
* fix(animation): remove parseAnimation to avoid circular dependencies
* test: update test case
* refactor: adjust demo env
* refactor(animation): executor support specific modifiedStyle, and provide default style value infer
* refactor(themes): update built-in themes
* refactor(utils): update createAnimationsProxy to avoid sync onframe and onfinish to all instances
* refactor(runtime): refactor cavas init function
* refactor(spec): support to disable animation
* test: update test spec
* test: update test case
* refactor(runtime): update element controller and integration cases
* chore: update editor config
* refactor(runtime): update render logic and fix issue that data states change
* chore: add circle node template
* feat: draw circle key, label, icon
* chore: update test case
* feat: add icon shape and test case
* refactor: make render function simple
* chore: fix code review
* feat: add key for anchor