Skip to content
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

Auto Pathing #92

Open
VinskyStrauss opened this issue Oct 10, 2024 · 4 comments
Open

Auto Pathing #92

VinskyStrauss opened this issue Oct 10, 2024 · 4 comments

Comments

@VinskyStrauss
Copy link

Hi,
I'm currently trying to migrate a diagram from GoJS to the ngx-vflow. I think, It would be nice to have an automatic pathing algorithm for the edge between Node, because right now the edge will go through the nodes or cut each other. I found ngx-vflow really interesting. Thanks a lot for creating this library.

@artem-mangilev
Copy link
Owner

artem-mangilev commented Oct 25, 2024

Hi! Do you have a live examples on GoJS or some other libraries? I would like to see how complex it would be to implement. It sounds like not a main priority, because I still need to add more basic things like a minimap

@VinskyStrauss
Copy link
Author

Hi, thanks for the reply. Here is a recording from the GoJS website as an Example.

@jleroy-dev
Copy link

Hi, there is this example as well from JointJS:
https://resources.jointjs.com/demos/rappid/apps/Chatbot/index.html

@artem-mangilev
Copy link
Owner

@VinskyStrauss thanks for example!

@jleroy-dev Thanks! Their implementation isn’t perfect, as there are still cases where lines collide with nodes, but it does look pretty cool.

image

Here's how I think this should be implemented:

  • It likely shouldn’t be part of the core library. it could impact performance, increase the initial bundle size, and introduce potential bugs (such as lines occasionally colliding with nodes).
  • I’ll add an API for drawing custom curves through a factory. The factory will receive flow data to calculate the curve accurately.
  • Using this factory, I’ll experiment with an implementation as a gist or a separate npm package. This API will also allow others to create their own implementations—possibly even better ones, because I'm not good at math.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Backlog
Development

No branches or pull requests

3 participants