Files
personal-wiki/commands/canvas.md
Daniel 3b4f62eb0c feat: /canvas command — visual layer of the wiki
New files:
  commands/canvas.md              — slash command with full trigger table
  skills/canvas/SKILL.md          — complete skill: open, new, add image/text/pdf/note,
                                    zone, list, from-banana operations
  skills/canvas/references/canvas-spec.md — Obsidian canvas JSON spec:
                                    coordinate system, all node types, color table,
                                    image sizing by aspect ratio, auto-positioning
                                    pseudocode, common mistakes, full example

Auto-positioning algorithm (bbox math):
  - Finds rightmost node in target zone
  - Places next node at rightmost_x + 40, same row y
  - If overflow: wraps to new row (max_y_in_zone + 20)
  - Falls back to below all content if no zone found

Banana integration:
  - /canvas from banana: checks .recent-images.txt first, then
    filesystem find -newer 10min, presents list for confirmation
  - After any /banana run: suggests /canvas from banana

Updated:
  skills/wiki/SKILL.md        — added /canvas to routing table
  skills/wiki/references/plugins.md — added Calendar + Thino with
                                      pre-installed note + manual install fallback
  README.md                   — /canvas in commands table + file structure
2026-04-07 13:23:33 +03:00

22 lines
1.0 KiB
Markdown

---
description: Open, create, or update a visual canvas — add images, text, PDFs, wiki pages, and banana-generated assets to Obsidian canvas files.
---
Read the `canvas` skill. Then run the operation matching the user's command.
| Command | What it does |
|---------|-------------|
| `/canvas` | Status check — report node counts, list zones, open instructions |
| `/canvas new [name]` | Create a new named canvas in wiki/canvases/ |
| `/canvas add image [path]` | Add image to canvas (download if URL, copy if outside vault) |
| `/canvas add text [content]` | Add a text card to the canvas |
| `/canvas add pdf [path]` | Add a PDF document node |
| `/canvas add note [page]` | Add a wiki page as a linked card |
| `/canvas zone [name] [color]` | Add a new labeled zone group |
| `/canvas list` | List all canvases with node counts |
| `/canvas from banana` | Find recent generated images and add them |
Default canvas: `wiki/canvases/main.canvas`
If the canvas file does not exist, create it before adding anything.