Canvas interaction functions

After Canvas became available, I converted my freeplane map and an older tiddlymap graph, and combined them in canvas. At this point, it’s slightly over 1000 nodes.

I must say the drag and drop and basic edge editing is excellently done, and that alone makes the switch worth it. The core team will probably add improvements over time, but at the current version, if no text is visible when you zoom to fit, locating nodes is extremely hard [1].

I hacked together a tiny plugin to scratch my itch as a stopgap, and now it’s indispensable for me because I mainly work in the canvas. I have put in no effort beyond making it do what I need, but someone else hanging out here can probably do a better job. So FYI, you can find the work in progress here: GitHub - whacked/obsidian-relevance-engine

Currently this implements:

  • find matching nodes by regex
  • zoom to matching node
  • select parents of current node
  • select children of current node

The API is undocumented but looks pretty well thought-out. So I’m assuming any work on this plugin will become superseded in the future.

[1] here’s a study on the responsiveness of the canvas feature on 1.1.8 with up to 6000 nodes Obsidian 1.1.8 canvas zoom and panning responsiveness test - YouTube