Kite, An Interactive Visualization Tool for Graph Theory

218 views
Skip to first unread message

Erkal Selman

unread,
Mar 23, 2017, 6:26:50 PM3/23/17
to Elm Discuss
I would like to announce that I open sourced my hobby project, which I named Kite. Here is the demo. Here is the source.

I am interested in visualising mathematical ideas, in particular, constructions, algorithms and games from the areas mathematical logic, combinatorics and theoretical computer science. 

My journey with Elm started 2 years ago with this question in Elm Discuss.

I am not a developer and I am sure that my code has many problems. I would be very happy if you would take a look over the code and point out the wrong practices. 

I try to keep the number of libraries that I depend on as small as possible. I try to write my own small libraries which serve my own purposes. Some of them may be useful for your projects, too. There are two modules in Kite, of which I think that they may be useful in other contexts:
  • FileSystem can be used with any file type, not only for graphs. Say, you want to implement something like the Atom text editor in Elm, you can use this module.
  • PanAndZoom can be used for panning and zooming on SVG elements. I think that my code organization for this module is bad. But I also couldn't find a better way. I certainly need help here.
I am planning to add many functionalities to Kite. My gut feeling is that first I should simplify the basis infrastructure as much as possible before adding new features. Therefore, ideas about simplification are most welcome. But I would be happy for any kind comment or pull-request.

Duane Johnson

unread,
Mar 23, 2017, 6:47:31 PM3/23/17
to elm-d...@googlegroups.com
Very cool project!

I saw this today and was equally impressed: http://ncase.me/loopy/v1/

It might be a source of ideas for your own UI (I like the way a user can just "draw" a node and then connect them in this Loopy app).

Thanks for highlighting the portions of your app that may be useful to others!

Duane

--
You received this message because you are subscribed to the Google Groups "Elm Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elm-discuss+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Robert Walter

unread,
Mar 24, 2017, 7:23:16 AM3/24/17
to Elm Discuss
Great stuff, thanks for making it open source!

Mark Marlow

unread,
Mar 24, 2017, 6:49:22 PM3/24/17
to Elm Discuss
Thanks for sharing - particularly interested in seeing your link to d3; I'm using it extensively and hoping to use elm!

Erkal Selman

unread,
Mar 24, 2017, 7:23:56 PM3/24/17
to elm-d...@googlegroups.com
About the interaction with d3-force: I was surprised that it worked so fine and so fast. Because I was mainly interested in the resulting layout after the simulation cools down, I implemented it without high expectations on high fps. What happens there is that in every tick of the simulation d3 sends a list of the (vertex,position) pairs to elm. Elm takes them and assigns these coordinates to each vertex in the Dict. I didn't expect that this would work so fast that even with large graphs the animations run smoothly, even on smart phones.

On Fri, Mar 24, 2017 at 9:54 PM, Mark Marlow <them...@gmail.com> wrote:
Thanks for sharing - particularly interested in seeing your link to d3; I'm using it extensively and hoping to use elm!

--
You received this message because you are subscribed to a topic in the Google Groups "Elm Discuss" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/elm-discuss/xbJtuHE3XL8/unsubscribe.
To unsubscribe from this group and all its topics, send an email to elm-discuss+unsubscribe@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages