Use case or problem
It would be great to be able to draw on the canvas, either on a specific type of card, any card, or it’s own layer over the whole canvas. These could be ink strokes (see e.g. OneNote, storing the paths of the ink strokes as vector data) or even just a raster image like a png file (like MS Paint).
This allows for a lot of possibilities like drawing diagrams, arrows, and quick notes by hand. The Obsidian canvas starts to look something similar to OneNote.
With these features it may also be possible to directly markup a markdown document (no puns intended here!), like drawing strikethroughs, underlines, arrows, and notes on a layer over a render of the document/card. This has it’s pitfalls of any rendering variability, or the underlying document being edited and then the ink no longer anchoring consistently as originally drawn.
Proposed solution
Here are a few different options:
- a card type that has ink capability, with options for an opaque background & color picker, or a transparent background (useful for overlaying the card on top of others)
- ability to add a layer to any card to allow inking/drawing on top of other content
- ability to add a layer over the whole canvas which can be drawn on
For all options, the ink/paint could be either
- ink (vector paths of the strokes like One Note)
- paint/raster (pixels of the strokes like MS Paint)
Pen/stylus support should be included for drawing (e.g. Wacom tablet, Microsoft Surface Pro pens, etc).
Current workaround (optional)
For drawing in general, we can embed a png file and edit it in MS Paint or similar (related to Canvas - option to reload file(s) like images)
For marking up another card, it can be screenshotted and marked up in MS Paint or similar.
There’s also the excalidraw plugin for Obsidian which can do many of these things, but it is a different solution than the Obsidian Canvas.