opentecture / mindmapping

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

Update 2018-07-01 ~ Add graphQL 3D ~ yet another pivot ~ R5 #31

Open theo-armour opened 6 years ago

theo-armour commented 6 years ago

@opentecture/the-brains

Story

graphQL 3D R4

graphQL 3D Read Me

image

The priority must be for you to be able to grab and organize quantities of existing data for you more than you adding data one node at a time.

Concept

You want to

Augmented Reality and Augmented 3D

You want to be able to see the output by pointing your mobile device at the building and/or clicking on a 3D model of the building.

Textual data represented in 3D

There's a multitude of static text data on the web - goodly portions of which offer greats insights when graphed in 2D or 3D

Assemblies and components

The assembly and disassembly of a number of components into a finished assembly as visualized in 3D is a relatively unexplored territory

The traditional methods - large sheets of paper with numerous numbered drawings - requires expert drawing capabilities and extensive project management in order to produce

Problems associated traditional methods

The 'traditional' approach is to grab all the data and suck it into a database. This very often requires a person knowledgeable in setting up databases. This may also require setting up a server and initiating processes that cost money and are not open source.

Data may be comprised of small data sets from a variety of sources. Massaging the data so that it all mixes nicly may be more trouble than it's worth.

Features

Road Map

Issues

Not working on mobile devices

Possible fixes here:

Links of Interest / Graphing Knowledge

What's out there that we want to meet or exceed?

Mind Maps

Note: Examples mostly always show a single central node. Can we have fun with multiple node groups?

GraphQL

Mind maps expressed in a different way

Have you ever noticed that you very rarely see a graph when you read about GraphQL. Can we change that?

Xanadu / Ted Nelson

Original 17 rules

  1. Every Xanadu server is uniquely and securely identified.
  2. Every Xanadu server can be operated independently or in a network.
  3. Every user is uniquely and securely identified.
  4. Every user can search, retrieve, create and store documents.
  5. Every document can consist of any number of parts each of which may be of any data type.
  6. Every document can contain links of any type including virtual copies ("transclusions") to any other document in the system accessible to its owner.
  7. Links are visible and can be followed from all endpoints.
  8. Permission to link to a document is explicitly granted by the act of publication.
  9. Every document can contain a royalty mechanism at any desired degree of granularity to ensure payment on any portion accessed, including virtual copies ("transclusions") of all or part of the document.
  10. Every document is uniquely and securely identified.
  11. Every document can have secure access controls.
  12. Every document can be rapidly searched, stored and retrieved without user knowledge of where it is physically stored.
  13. Every document is automatically moved to physical storage appropriate to its frequency of access from any given location.
  14. Every document is automatically stored redundantly to maintain availability even in case of a disaster.
  15. Every Xanadu service provider can charge their users at any rate they choose for the storage, retrieval and publishing of documents.
  16. Every transaction is secure and auditable only by the parties to that transaction.
  17. The Xanadu client–server communication protocol is an openly published standard. Third-party software development and integration is encouraged.

More

Test Applications

If our effort is to be useful then it should be able to display existing data sets in newly meaningful and informative ways.

The following are links to possible test case ideas

gbXML Product List

In the beginning we should probably be kicking this one around

Wardley Maps

Is there data for Wardley map in reproducible digital format

A Pattern Language

The book includes 253 patterns along with their links to each other, diagrams and more

Periodic Table

Might be a good place to start

Russell's version

Lego Projects

Ikea Product Assembly / Moving Manual Projects

Opentecture Projects

Data used in demos sourced from

afomi commented 6 years ago

@theo-armour - there's a lot here. Thanks!

While loading a set of data makes sense, it is not a priority. Adding one node at a time to build up a map is sufficient at this time.


I'd also expect GitHub Issues represent work to be done, rather than communicate what has already been done -otherwise, when is an Issue closed?

Issues communicate work to be done. Pull Requests communicate work that has been done.

Issues should refer to a coherent set of work that delivers value for a User. Ideally, the smaller scope of an Issue, the better, so discussion can stay focused around a specific topic, rather than devolve into an exploration - which is better done in other channels.


Loading data drives out the question about what types of formats to support. If any .json file is taken in, it needs to at least be an array. If any .json file is taken in, then an interface needs to be created to map the fields. This can/should be done later.

Starting at the 2nd bullet point, about tweening - those all seem like discrete Feature Ideas that should be created as GitHub Issues. I would not want to leave them open in this Issue and parse them out over time.


There are many other references included in this Issue as well. I'd expect those to go in the wiki (which is also a GitHub repo) - or in https://github.com/opentecture/open-resources/tree/master/resources.

Overall, not specifically sure what to do with this Issue. I appreciate that nodes are loading as cubes, from a file, and the cubes are textured. Associated data is also displaying on mouseover which is nice. These features are already included in /build.

afomi commented 6 years ago

@theo-armour - I copy pasted things to be parsed from this Issue into https://github.com/opentecture/mindmapping/wiki.

I'm closing this Issue as it does not represent work to be done at this time.

theo-armour commented 6 years ago

@afomi

Reopening. ;-)

Notices of Updates

The title of this issues starts with the words 'Update 2018-06-30'

One of the tags to this issue is 'update'

The purpose of issues with this type of title and tag is to inform members of this organization that there has been some update somewhere that may be of interest to the general membership.

I find that using the GitHub issue feature is a fast, simple and easy way to inform peeps of what is going on. If you can propose a better war way, I would be delighted to follow up.

In the meantime, we currently have three members and it would be nice to be able to attract more members. So I think this issue should remain open for at least a few days or until the next update is posted.

The Purpose of Issues

Issues communicate work to be done. Pull Requests communicate work that has been done. Issues should refer to a coherent set of work that delivers value for a User.

I hear you. And yet common tags for issues also include quite open-ended discussion items including feature request, enhancements, usage questions help wanted and more. In these early stages and given the absence of a forum it may be worthwhile to broaden the scope of issue handling to cover general organization communications.

This issue is an update not a task list

those all seem like discrete Feature Ideas that should be created as GitHub Issues. I would not want to leave them open in this Issue and parse them out over time.

The text of the issue is - for the most part - a copy of the read me. It was intend to be taken as a reporting more than a wishlist.

See https://opentecture.github.io/mindmapping/#graphql-3d/README.md

Possible Test Applications

The list of items is intended to be guidance more than specific tasks.

For example. the concept of developing the Xanadu effort as Xanadu is currently specified might be more like creating an archaeology than creating a future. But I'm happy to organize a meetup with Ted Nelson if you are really interested.

Priorities

While loading a set of data makes sense, it is not a priority. Adding one node at a time to build up a map is sufficient at this time.

There is more than enough code in the current mindmapping repo to reproduce every mind map depicted here as a bunch of 3D boxes

https://www.google.com/search?q=mind+map+images&rlz=1CAZZAF_enUS801US801&tbm=isch&tbo=u&source=univ&sa=X

But would there be any benefit whatsoever in reproducing such simple diagrams as 3D boxes?

I say no. I think our task is bigger and broader. I think we need to consider a query language that helps you monitor and progress the tens of thousands of items that typically go into the average building.

afomi commented 6 years ago

@theo-armour

To communicate with collaborators about work through GitHub typically goes like this:

Member creates an Issue with some work to be done. Members can discuss it, before the work happens. There is typically some planning that happens to establish what Issues the team will work toward in a given amount of time.

When code is written, it is written to satisfy an Issue, and submitted as a Pull Request. Members see Pull Request activity and have a chance to review the code and respond BEFORE code is merged to master. Reviewing after master is too late.

I created an Issue for Xanadu as a place to discuss it. It looks cool, but a nth story to a building yet to have a foundation.

Members can review code changes via the commit log. Code represents the what. Issues represent the why.

Issues drive Pull Requests. Visible communication happens as a byproduct.

Please close this Issue when you feel appropriate.

On Sun, Jul 1, 2018, 00:45 Theo Armour notifications@github.com wrote:

@afomi https://github.com/afomi

Reopening. ;-) Notices of Updates

The title of this issues starts with the words 'Update 2018-06-30'

One of the tags to this issue is 'update'

The purpose of issues with this type of title and tag is to inform members of this organization that there has been some update somewhere that may be of interest to the general membership.

I find that using the GitHub issue feature is a fast, simple and easy way to inform peeps of what is going on. If you can propose a better war way, I would be delighted to follow up.

In the meantime, we currently have three members and it would be nice to be able to attract more members. So I think this issue should remain open for at least a few days or until the next update is posted. Possible Test Applications

The list of items is intended to be guidance more than specific tasks.

For example. the concept of developing the Xanadu effort as Xanadu is currently specified might be more like creating an archaeology than creating a future. But I'm happy to organize a meetup with Ted Nelson if you are really interested.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/opentecture/mindmapping/issues/31#issuecomment-401590400, or mute the thread https://github.com/notifications/unsubscribe-auth/AAEJkO1Wq7oEOZ__5s2lNNqqWi6SS2p_ks5uCH4ogaJpZM4U-Lj4 .

theo-armour commented 6 years ago

@opentecture/the-brains

Full Screen: graphQL 3D R5

image

This is a first pass. Note new icons ( indicating Wikipedia data ) displayed behind gbXML BIM apps

Change Log

R5