opentecture / mindmapping

Mindmapping with Three.js
https://opentecture.github.io/mindmapping
MIT License
15 stars 2 forks source link

User can draw a polyline between nodes #6

Closed afomi closed 6 years ago

afomi commented 6 years ago

Story

As a user, I want to visually connect link two or more nodes

Acceptance Criteria

Given a 3d space exists When I add 2 nodes And I mousedown on one and drag to the second node Then a link is outlines And when I mouseup on the second node Then a link is drawn and persisted

afomi commented 6 years ago

@theo-armour - Any thoughts on this story?

theo-armour commented 6 years ago

@afomi

Yes, we must have this feature. And, actually, connections will be the key, most important thing thing in this project.

The conections should be able to represent the 'needs' in a Wardley diagram. The net in a GraphQL diagram. Hyperlinks. Whatever.

Fingers crossed we come up with fresh approaches to connections. Perhaps this should be a database of connections - where some of the end nodes happen to be duplicates.

The connections should be able to send out a ton of visual signals:

If the connectors are the verbs then they need things like tense and adverbs and person and whatever good verbs can do.

As good as this connector:

image

Any good images, narratives, recipes you can think of will be helpful.

In terms of actual polyline code, most likely whatever we do will start with the code from zz85's Three.js example: https://threejs.org/examples/?q=edit#webgl_geometry_spline_editor

afomi commented 6 years ago

@theo-armour

Once we have a link between 2 nodes, then the Wardley Map needs link can be one style of connector - likely activated by displaying the map as a Wardley Map type of map.

Given each node will be its own row in a datastore, it makes sense for links to be their own too. Each link will have a source_id for the originating node, and a target_id for the destination node, for example. D3.js does a great job with this.

I'm inclined to keep the initial link as simple as possible, then layer in the bulleted items you outlined. How does that sound?

theo-armour commented 6 years ago

@afomi

Can we close this one for now?

afomi commented 6 years ago

@theo-armour - I think it is nearly ready to close.

Technically, this Polylines feature exists in one of the builds, but I'm unclear as to what is the master build and what are feature "spikes". Ideally, we'd close out this Issue when the the Polylines demo'd in https://github.com/opentecture/mindmapping/issues/18 are merged into what would be R6.

Thoughts?

afomi commented 6 years ago

@theo-armour - also, the goal of this feature was to allow a user to create a polyline to between 2 nodes. The demo feature draws many lines at once.

In terms of Acceptance Criteria, I realized I omitted anything about persisting/reloading these drawn links. I assumed it would be included, but realize that's a big assumption. So I wanted to call that out too.