Analyzing 3 Body Problem in GNU Emacs

Node view (left) and Group view (right)


 3 Body Problem is a sci-fi series on Netflix. Though this post is more about the analyzing process in GNU Emacs than about the show storyline. This is a work-in-progress.

The entry point to the package is M-x graph-brain.

Design Decisions

  • Leaf title will be displayed at the center of the circle. If it has an image, it will be displayed at the bottom.
  • Group title is displayed at the top.
  • Information gets fuzzier at a certain density. Around 16 leaves and three levels - root, groups and leaves - seems to be a comfortable threshold.
  • org-roam is being used for the database. Presently, only ID, title, filetags and  link fields are being used. IMAGE is managed as an org-mode property.


The Shape

We don't want to restrict the number of characters in the story. Yet we don't want to manually decide their placement on the screen. So we need a shape which can be easily placed based on geometrical calculations. The two simplest options are a square and a circle. However, a circle looks better.

Also, we should be able to attach images to the nodes.


We need three views - one showing all the individual nodes, one showing cluster of nodes based on tags and another one showing the tags.


Tags can follow a hierarchy based on the order of application. There's really no need to create a separate hierarchy. Use as many tags on your notes as needed.


Tags can also define your work context. When you have made a tag selection, any notes added after that will inherit the currently selected tags. 



Exploration of this idea led to implementation of circle packing in Elisp and birth of lot of other ideas.



Popular posts from this blog

GNU Emacs as a Comic Book Reader

Data Visualization with GNU Emacs

Tinylisp and Multi-threaded Emacs