netcreateorg / netcreate-2018

Please report bugs, problems, ideas in the project Issues page: https://github.com/netcreateorg/netcreate-2018/issues
Other
11 stars 2 forks source link

Edge Weight first pass for VFOI #245

Closed jdanish closed 1 year ago

jdanish commented 1 year ago

Add the option to include edge weight into the net.create interface.

daveseah commented 1 year ago

Did we make a reference anywhere for what the needed files to touch were?

benloh commented 1 year ago

See #252 for a reference that covers all the steps.

daveseah commented 1 year ago

Have a template settable maximum size for how edges are displayed so anything above that number is displayed as that number. Long-term we might also want this to be based on node size.

I'm assuming that this means the maximum width of the line in a unit like pixels.

jdanish commented 1 year ago

Yes, the actual number in the edge table should not change, but the display should have a maximum width so that we don't blow out the rest of the graph.

daveseah commented 1 year ago

Yes, the actual number in the edge table should not change, but the display should have a maximum width so that we don't blow out the rest of the graph.

I am still a bit confused by this phrasing. Does "actual number in the edge table" refer to the the count of edges? or is this a link to the weight attribute being added?

jdanish commented 1 year ago

My understanding (@kalanicraig please verify):

Each edge has a weight. Right now, all edges are defaulting to 1. The width of the line between two nodes is the sum of edge weights. So 2 edges of weight 1 is a total of 2, but 2 edges of weight 2 is a total of 4.

So if we have:

A -> B weight 2 B -> A weight 2 A -> B weight 1

All three would be listed in the edge table. However, when drawing the line between A and B, the system would note that there is a total weight of 5. If the max is 5, it'll draw it that way. If the max is 4, it'll draw a width 4 line, but if you look at the tables or filters the weights will be as listed above.

Incidentally, the display would be a bi-directional arrow in this case A <-> B.

That help? Sorry to be unclear.

daveseah commented 1 year ago

That helps a lot! Thanks! I didn't realize that bidirectional edges were modeled in this way, so that was my missing bit of knowledge to make sense of it.

jdanish commented 1 year ago

Well, we are breaking some norms but I am AOK with that as it gives us flexibility. People can enforce norms on their own if they want. :).

daveseah commented 1 year ago

Ben helped me add the weight support for UI, data writing, edge table. Passing this issue to Ben to add the viewgraph data transformation a D3 displayObject list (it has to combine individual edges in the source data to single edges)