indentlabs / notebook

Notebook.ai is a set of tools for writers, game designers, and roleplayers to create magnificent universes – and everything within them.
http://www.notebook.ai
MIT License
354 stars 72 forks source link

Family tree visualizer/editor #81

Open drusepth opened 7 years ago

drusepth commented 7 years ago

With structured relations between characters, we should also have a way to visualize families in a family tree view. The easiest way to implement this would be a read-only view, but it'd be great if there were some way to actually edit those relationships as well. I have no idea what the UI would look like though. Thoughts?

Cantido commented 7 years ago

We need to make sure to make relationships bidirectional, like parent/child. At the moment, if you add a character's child, you have to go the child and add the parent back.

Cantido commented 7 years ago

This is a pretty popular request, I think it ought to go near the top of the list. I'll try starting a board that you can prioritize cards on.

Cornflakes91 commented 7 years ago

i'd personally add a link visualiser for /everything/ in the editor. when a person has made an item, its in the visualiser when a person has been born somewhere, its in the visualiser and so on. with filters like "all that links to/from this node" or "only persons" etc.

edit: its also a bit more elegant as its not a special case for people, but just a feature of the editor.

drusepth commented 7 years ago

Feedback dump:

One suggestion I have concerns characters and their relationships. It would be nice if familial relationships could be used to generate genealogical trees. These trees could be represented in Group Pages automatically created when a familial relationship is established.

drusepth commented 5 years ago

It looks like we can probably use d3.js for this. I haven't used it before, but it looks super customizable + powerful.

This SO answer looks to be a good starting point, though we'd want an editor on top of it to add/remove nodes, edit contents, etc. That doesn't seem so bad as long as d3 offers a way to "redraw" trees when the data is edited and/or plays nicely with users editing graphs after they're initially drawn.