antvis / G6

♾ A Graph Visualization Framework in JavaScript.
https://g6.antv.antgroup.com/
MIT License
11.04k stars 1.31k forks source link

⭐️ 💌 G6: [EN] To Our Dear Users, We are Looking for Contributors!⭐️ #2536

Closed Yanyan-Wang closed 9 months ago

Yanyan-Wang commented 3 years ago

⭐️ 💌 To Our Dear Users, We are Looking for Contributors!⭐️

Hi, all.

G6 is 3 years old now. We are grateful for your trust and support in the past 3 years. With the widespread application of graph visualization, the usage of G6 has also grown rapidly, and with it comes more demand. The growth rate of GitHub Issues has increased significantly. We have seen everyone’s enthusiasm for graph visualization and the Blue Sea future in this field. As G6 developers, we are deeply delighted and strengthened our determination to develop G6.

Recently, the G6 community has flourished, and many users have provided excellent Pull Requests for G6. We are very grateful even if it is to modify a typo or a symbol. Due to the dual pressure of technology and business, G6 core developers often find it difficult to solve issues quickly. Therefore, we hope that more friends who love graph visualization and open-source culture will work together to build G6 better! We will also regularly select lucky contributors from the contributors and send 「🎊AntV souvenir packages as gifts🎊」. If you are interested in joining AntV, send your resume to antv@antfin.com pls! 😀

Graph visualization and analysis engine G6 is looking forward to your power!

We have selected some requirements and issues, if you are interested, leave your intention in the comment area pls :). At the same time, we will also publish the official schedule list.

Of course, if you have other requirements, you can also comment below and we will select the good ones to fill the list.

If you have any questions about the list, ask in the comment section without hesitate pls.

AntV Outstanding Contributor in 2020

This contributing calling has been executed for one year. It is our pleasure to receive lots of Pull Requests from GitHub communities. We appreciate all the excellent contributors. From them, we selected three best ones who has received an AntV outstanding Contributor tropy and gifts, they are: @ColinChen2、@zuiidea、@xiaohu12685.

This contributing calling will be continued. We welcome more friends to join the family. And who is the next AntV Outstanding Contributor? Let's see~

Requirements Waiting for Contributors

Index Tag Description Related Issues User Who has Intention Solved
0 Graph Algorithm Graph algorithm with GPU parallel computing
1 Graph Algorithm Graph algorithm with webworker https://github.com/antvis/G6/issues/2203 @zuiidea ✅ @antv/algorithm@0.1.0-beta
2 Graph Algorithm Return all the shortest path in the findShortestPath algorithm https://github.com/antvis/G6/issues/2297 @feikerwu ✅ @antv/algorithm@0.1.0-beta
3 Layout Radial layout with assigned start angle and end angle https://github.com/antvis/G6/issues/2484
4 Layout Combo layout optimization
5 Layout Configure several sub graph layouts in the same time https://github.com/antvis/G6/issues/1462 @ ColinChen2 ✅ @antv/g6@4.2.2
6 Layout Built-in dagre Dagre depends on a 3rd-party lib now, which is hard to support our new requirements https://github.com/antvis/G6/issues/1701
7 Compatibility Compatibility tests and solution for ie11 and firefox
8 Compatibility Problem of minimap in firefox https://github.com/antvis/G6/issues/2337 @zjgyb ✅ @antv/g6@4.1.8
9 Compatibility Custom behavior double-finger-drag-canvas in firefox https://github.com/antvis/G6/issues/2033 ✅ demo fixed
10 Export Image Export an image with graph and water marker https://github.com/antvis/G6/issues/2521 @xiaohu12685 ✅ @antv/g6@4.2.5
11 Export Image Export an image with a single node https://github.com/antvis/G6/issues/2028
12 Animation State transformation with animation https://github.com/antvis/G6/issues/2406
13 Animation moveTo with animation ✅ @antv/g6@4.3.3
14 Plugin grid plugin's position problem under flex layout https://github.com/antvis/G6/issues/1594 @zxccvms
15 Interaction drag-node with related edge label adjustment @xdddst
16 Interaction drag-canvas with position param in the timing events @xdddst
17 Interaction hover or click a node to show the related path in a graph with dagre layout @xdddst
18 Performance graph.render() and some other heavy-weight functions into Web Worker @sklinov
19 Graph Algorithm LOUVAIN returns fixed IDs for communities @zuiidea
20 Graph Layout CompactBox TreeGraph layout optimization https://github.com/antvis/G6/issues/2537 @lmsccc
21 Graph Plugin TimeBar supports configurations for the controlling buttons https://github.com/antvis/G6/issues/2581

Official Scheduled Requirements in Half Year

Index Tag Module Description Finished Version
0 Chore & Unpack layout A single package with 10+ layouts 4.1.1
1 Chore & Unpack algorithm A single package with 10+ algorithms 4.1.1
2 Chore & Unpack g6-core Only provide basical rendering, state mechanism, and custom mechanism 4.1.1
3 Chore & Unpack g6-pc PC version contains full functions 4.1.1
4 Chore & Unpack g6 A unified port for the user, contains g6-pc. It will contains g6-mobile in the future 4.1.1
5 Chore & Unpack g6-element A single package with built-in nodes and edges 4.1.1
6 Chore & Unpack g6-plugin A single package with plugins for G6 4.1.1
7 Chore & Unpack chart-node-g6 Support node with G2 chart 3.8.5
8 Chore & Unpack site The site for G6 4.1.1
9 Experience Behavior optimization Conflict of zoom-canvas and drag-canvas with enableOptimize 4.1.1
10 Experience Combo A new combo type allows to load more nodes by clicking 'more'
11 Experience Combo Support fixing the size and position 4.2.0
12 Experience Merge parallel edges Merge the parallel edges and show the number
13 Experience Label breaking lines Break lines for label automatically
14 Experience Legend Add legends for graph 4.3.0
15 Ease of use React node Support rendering a node with react or antd component
16 Ease of use Custom node with react DEMO
17 Ease of use 3+ Graph components More convenient graph components
18 Performance Polyline Polyline performance optimization
19 Performance setState setState performance optimization
20 Time-series Scene solution Time-series graph vis and exploration
21 Time-series Timebar Timebar optimization 4.2.1
22 Time-series Open ability Open the ability of timebar for all AntV produces
23 Layout AI layout prediction Support layout prediction for 4 types 4.3.0
24 Layout Layout optimization Neighbor expand layout
25 Layout ForceAtlas2 ForceAtlas2 layout 4.2.5
26 Layout Combo layout Combo layout optimization
27 G6 mobile G6 mobile for H5 Complete the core functions
28 G6 mobile beta Release beta version 4.3.0
29 G6 mobile 1.0 Release 1.0 version
30 Design Graph visualization design system
31 GraphMaker 2.0 Release GraphMaker 2.0 Create and custom node by UI
32 Ease of use Data processing Support multiple format of graph data, and database connection
33 Ease of use Error catching
34 Ease of use Snap Line Plugin 4.3.0
35 Performance Size of the package Reduce the size of G6 packages to less than 1M, and support loading on demand
36 Performance Improve the performance of updating items
……
sklinov commented 3 years ago

I'm interested in extracting graph.render() and maybe some other heavy-weight functions into Web Worker

Yanyan-Wang commented 3 years ago

I'm interested in extracting graph.render() and maybe some other heavy-weight functions into Web Worker

@sklinov That's would be GREAT! Thanks! If there is any problem, open an issue about it and we can discuss by comments.

sklinov commented 3 years ago

@Yanyan-Wang Sure, I'll get my hands on it within this week because I really need this performance and UX improvement for my current project.

andreasnett commented 3 years ago

I want to do a couple things to the dagre layout. I want to add the option to exclude nodes from the layout algorithm (dagre not knowing about these nodes and then position them manually with x,y coordinates), as well as fixing #1701.

The option to exclude nodes I think must be implemented in the anvt/layout repo, or with an override in g6 repo at packages/pc/src/layout. The easiest fix for #1701 is forking dagre and providing an option to do the return as stated by dominiczy in dagrejs/dagre#189.

Is this viable @Yanyan-Wang or is this type of fix not wanted because of the wish for implementing a built in dagre?

I have the capacity to get this done next week

Yanyan-Wang commented 3 years ago

I want to do a couple things to the dagre layout. I want to add the option to exclude nodes from the layout algorithm (dagre not knowing about these nodes and then position them manually with x,y coordinates), as well as fixing #1701.

The option to exclude nodes I think must be implemented in the anvt/layout repo, or with an override in g6 repo at packages/pc/src/layout. The easiest fix for #1701 is forking dagre and providing an option to do the return as stated by dominiczy in dagrejs/dagre#189.

Is this viable @Yanyan-Wang or is this type of fix not wanted because of the wish for implementing a built in dagre?

I have the capacity to get this done next week

Great! Thanks! Our team member @brickmaker is now improving the dagre by forking the dagrejs to solve the following three problems:

And if you are interested in this, maybe you and @brickmaker could do some cooperation?

brickmaker commented 3 years ago

I want to do a couple things to the dagre layout. I want to add the option to exclude nodes from the layout algorithm (dagre not knowing about these nodes and then position them manually with x,y coordinates), as well as fixing #1701.

The option to exclude nodes I think must be implemented in the anvt/layout repo, or with an override in g6 repo at packages/pc/src/layout. The easiest fix for #1701 is forking dagre and providing an option to do the return as stated by dominiczy in dagrejs/dagre#189.

Is this viable @Yanyan-Wang or is this type of fix not wanted because of the wish for implementing a built in dagre?

I have the capacity to get this done next week

Hey bro. I'm currently trying to improve the dagre layout in our library. #1701 is definitely a big issue with dagre layout and need be fixed ASAP. Our library currently use dagre.js to support layerd layout and it does not support memorizing old layout state, which causes mess in #1701. So currently I'm trying to modify dagre.js to support it. I sincerely hope we can communicate more on this problem. P.S. Maybe the paper: Incremental layout in DynaDAG can help.

andreasnett commented 3 years ago

I want to do a couple things to the dagre layout. I want to add the option to exclude nodes from the layout algorithm (dagre not knowing about these nodes and then position them manually with x,y coordinates), as well as fixing #1701. The option to exclude nodes I think must be implemented in the anvt/layout repo, or with an override in g6 repo at packages/pc/src/layout. The easiest fix for #1701 is forking dagre and providing an option to do the return as stated by dominiczy in dagrejs/dagre#189. Is this viable @Yanyan-Wang or is this type of fix not wanted because of the wish for implementing a built in dagre? I have the capacity to get this done next week

Hey bro. I'm currently trying to improve the dagre layout in our library. #1701 is definitely a big issue with dagre layout and need be fixed ASAP. Our library currently use dagre.js to support layerd layout and it does not support memorizing old layout state, which causes mess in #1701. So currently I'm trying to modify dagre.js to support it. I sincerely hope we can communicate more on this problem. P.S. Maybe the paper: Incremental layout in DynaDAG can help.

Great, I'll get to reading it through the weekend. Is there somewhere we can have a chat conversation about this? I can invite you to our slack if there's not some other platform you prefer. Me and one more person from my team can be contributing to this project

andreasnett commented 3 years ago

@brickmaker anything new?

brickmaker commented 3 years ago

@brickmaker anything new?

Hey, sorry for this late reply. I hardly use slack but it's alright. My id is zxd.brickmaker@gmail.com.

erlebach commented 3 years ago

Hi,

What is the best place to communicate with the contributers of Antv/G6 and the c ommunity on how to use Antv/G6? I have looked over your numerous examples and ha ve not found the answer to my question. No activity on StackOverflow either. Th anks. Great package!