-
Notifications
You must be signed in to change notification settings - Fork 58
feat: init scaffold #119
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
xiaoiver
wants to merge
67
commits into
master
Choose a base branch
from
v5
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
feat: init scaffold #119
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* chore: refine types and circular layout * chore: refine * chore: circular implement * feat: add grid layout * feat: add random layout * feat: add mds layout * feat: add concentric layout * feat: add radial layout * chore: refine radial * chore: refine radial * feat: layoutInvisible to control whether takes the invisible nodes and edges into calculation * perf: put extra properties of node and edge into data * chore: refine * chore: refine types according to graphlib
* chore: backup case-sensitive files * build: add ESM webpack config * chore: add lint & coverage script * chore: add missing lerna dep * chore: use node 14.x in ci * chore: add test to ci
* fix: use node's id correctly in grid layout * fix: external graphlib * chore: bump version alpha.4
* perf: read and format data * chore:refine * chore: test-live script
* fix: concentric layout sort by degree * chore: bump version alpha.5 * chore: add test case & demo for concentric layout * fix: get degree using graphlib API
* chore: add tests and demo for mds and radial layout * chore: lint * chore: refine
* feat: add d3force and force layout * chore: add notes for d3Force and force layout * chore: lint d3force * fix: format out edge when d3force layout ended * chore: bump version alpha.6 * chore: bump version alpha.7 * fix: clone edges before calc force layout * fix: force layout supports stop method * chore: bump version alpha.9 Co-authored-by: yuqi.pyq <[email protected]>
* feat: add fruchterman layout and its test and demo * chore: lint * chore: update test * fix: let Supervisor support layout with iterations such as d3force * fix: add demo for fruchterman * chore: bump version alpha.11 * chore: fruchterman test case * docs: add demo for force & supervisor * chore: bump version alpha.12 Co-authored-by: yuqi.pyq <[email protected]>
* feat: add force atlas 2 layout and its test and demo; chore: util function for graph without nodes or graph with one node; * chore: lint * chore: remove minNodeSpacing and use nodeSpacing istead for concentric layout * chore: add demo for forceAtlas2 * chore: bump version alpha.13 Co-authored-by: yuqi.pyq <[email protected]>
* feat: add layout-rust & layout-wasm * chore: use rollup & rollup-plugin-rust to bundle UMD
* docs: add README.md in root dir * docs: add docs for layout algorithm * feat: add fruchterman & gforce in layout-gpu * feat: add fruchterman & gforce in layout-gpu * fix: remove layout visibility logic, use GraphView instead * chore: external @antv/layout@alpha
* fix: make execute & assign API async * docs: update execute & assign API * chore: bump alpha version * chore: try to fix fruchterman test case in ci
* fix: d3force should resolve after simulation ended * fix: remove option * chore: bump alpha.17
* feat: migrate order dir from v4 * feat: horizontal coordinate assignment * feat: layout compound graph * feat: do dagre layout with compound graph correctly * chore: lint * fix: use begin to control layout's top-left corner in dagre * chore: bump v1.0.0-alpha.19
* feat(rust & wasm): forceatlas2 * chore: use rustfmt as linter
* feat: use vite to preview & deploy benchmark demo * build: remove jest-electron & modify ci.yml * chore: commit pnpm-lock.yml * chore: skip dagre test case temporarily * chore: skip build QWASM in ci * chore: update ci.yml * fix: modify radial filename * chore: update demo page * chore: use wee_alloc to reduce compiled code size * chore: optimizing builds for code size
* fix: add distance threshold mode * chore: update @antv/layout-wasm readme
* fix: add distance threshold mode * chore: update @antv/layout-wasm readme * chore: include packaged wasm files
* chore: pass frozen-lockfile on CI * chore: remove lint on CI * chore: remove pnpm-lock file * chore: config prettier * chore: remove tslint * chore: adjust package.json * refactor: execute prettier * chore: update build.yml --------- Co-authored-by: yuqi.pyq <[email protected]> Co-authored-by: hustcc <[email protected]>
* refactor: remove unused function * refactor: adjust types
* refactor: migrate built-in dagre to antv-dagre * chore: add layout jest config * feat: add parseSize util * chore: set tsc target to es6 * feat: adapt dagrejs * chore: config scripts * refactor: adjust antv-dagre test case * chore: fix build.yml * test: update dagre test case * test: add demo * chore: adjust build script
* chore: use swc jest * feat: adapt d3-force-3d * refactor: refactor d3 force * test: update demo
* refactor: update force types * refactor: adjust d3-force add setFixedPosition api, support disable default force * chore: update version to 1.2.14-beta.3
* docs: add layout api doc --------- Co-authored-by: whf01206399 <[email protected]>
* fix: fix async assign invoke * fix: fix rust deps * chore: update version
* perf: config perf env, add combo-combine test case * perf: add perf test baseline * perf: optimize combo-combined layout, generate perf report * refactor: fix cr issue
* docs: fix typo * chore: update comments of layout * chore: update dict * chore: format filename
* fix: d3-force get node data correctly * chore: update version
* chore: update ts config * refactor: adapt antv-dagre node size * refactor: adapt circular node size * refactor: adapt grid node size * refactor: adapt radial layout node size * refactor: adapt force-atlas2 node size * refactor: adapt force node size * refactor: adapt concentric node size * fix: ts * chore: revert * fix: adapt formatSizeFn
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
项目结构,基于
yarn workspace
的 monorep:@antv/layout
CPU 版本布局实现,更好地组织 WebWorker 相关代码@antv/layout-gpu
GPU 版本布局实现@antv/layout-wasm
Rust 实现并输出成 WASM 形式为了方便查看可以过滤掉
Deleted files
依赖
@antv/graphlib
,暂时使用yarn link
antvis/graphlib#6
使用到的 API 包括:
WebWorker
目前创建 Worker 是在 G6 代码中完成的,会存在有一些局限性:
https://github.com/antvis/G6/blob/master/packages/pc/src/layout/worker/work.ts#L5
@antv/layout
,需要重复实现一遍importScripts
直接引用线上的 layout UMD 版本,无网络环境下就无法使用了,也不便于调试(需要把新版本发到线上)。所以我想把创建 Worker、以及与主线程间通信的代码都放在 layout 里,需要解决以下问题:
importScripts
,通过模版替换的方式引用本地代码,但是需要先编译(模版 tpl.js + 编译后的算法 -> webworker.js 供 Supervisor 使用)Supervisor
看到 graphology 中有类似的名字,觉得还挺贴切的。它主要负责:
使用方式
同步布局:
异步:
实现一个同步布局:
实现一个 WebWorker 布局,使用模版: