Canvas: Allow more (custom) node and arrow shapes

Use case or problem

The canvas-plugin is quite useful, and has a lot of potential, especially as a rudimentary mindmap/story tracker. It is, however, fairly limited in two ways that hinder its potential substantially, in that there is only one kind of designator for nodes at large.

Assume you plan on using this plugin to lay out a story, or keep track of one. You might come up with a simple mind map, where everything is a circle around a place, character, item, and so on. Arrows are used to display connections between those, and colors can be used to mark supportive and antagonistic relationships, friendships, family and friend grading and so on.

But now you suddenly have a central character with eighteen connections, and for each one you need to check its text to see what kind of connection it is.

A good example of this is the Plot Mindmap by reddit user OkayToday2605 for the third campaign of Critical Role, a DnD campaign.

And campaign aside, pretty much all of the elements outlined in his legend are common and integral to most stories. Which would put us at an minimum of five to six box types, five to six connection types/colors (those are saturated), and a variety of line types - stuff like normal vs bold vs dashed and so on.

Proposed solution

Well, I alluded to it pretty much already. We need

  • more line types
  • and more box types.

Box types might be easy to generate dynamically - or at least, allow the user to define them based on line width and number of corners. Meaning you define an enclosed box with X corners, and from there you can get the edge lengths based on the notes contents

Lines might probably be easier to just provide a decent set of different ones. I suppose you could also make this dynamic, but not sure how you’d do so of the top of my tired head right now.

For both, an additional setting should let you set the width for each line type/box type you have.

Current workaround (optional)

Don’t do it in obsidian. Find a different app that’s suitable, or do it in onenote or on paper the old fashioned way. Even Onenote would be more effective right now, and I absolutely hate that program.

Related feature requests (optional)

I suppose this is similar to Add simple, shaped node in canvas, but in my opinion this FR goes beyond that - and for some reason I couldn’t find the duplicate mentioned in the closing comment to begin with.

Thoughts? Suggestions?

Thank you.


With a decent shape library and arrow customizations, I could easily see using an Obsidian Canvas where previously I’d have used some sort of UML tool or It’s just so nice to have the freedom to write whatever I want in a node.

There is a related request here:

You certainly have a point. But canvas fails on a much more basic level: In some instances you only need to have just a few connections, before the design/structure of the canvas needs to work around these limitations.

Here’s an example:

Good luck with trying to figure out if blue is connected to green og red. It should not be necessary to use mouse hover to see it.

So I not only support the request for more line types, but this must also include a fix of the way the lines are displayed.

1 Like