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
72 lines
1.3 KiB
JSON
72 lines
1.3 KiB
JSON
{
|
|
"collapse-filter": false,
|
|
"search": "path:wiki",
|
|
"showTags": false,
|
|
"showAttachments": false,
|
|
"hideUnresolved": true,
|
|
"showOrphans": false,
|
|
"collapse-color-groups": false,
|
|
"colorGroups": [
|
|
{
|
|
"query": "path:wiki/entities",
|
|
"color": {
|
|
"a": 1,
|
|
"rgb": 12945088
|
|
}
|
|
},
|
|
{
|
|
"query": "path:wiki/concepts",
|
|
"color": {
|
|
"a": 1,
|
|
"rgb": 5227007
|
|
}
|
|
},
|
|
{
|
|
"query": "path:wiki/sources",
|
|
"color": {
|
|
"a": 1,
|
|
"rgb": 6986069
|
|
}
|
|
},
|
|
{
|
|
"query": "path:wiki/questions",
|
|
"color": {
|
|
"a": 1,
|
|
"rgb": 14474410
|
|
}
|
|
},
|
|
{
|
|
"query": "path:wiki/comparisons",
|
|
"color": {
|
|
"a": 1,
|
|
"rgb": 13724009
|
|
}
|
|
},
|
|
{
|
|
"query": "path:wiki/meta",
|
|
"color": {
|
|
"a": 1,
|
|
"rgb": 5676246
|
|
}
|
|
},
|
|
{
|
|
"query": "path:wiki",
|
|
"color": {
|
|
"a": 1,
|
|
"rgb": 4473924
|
|
}
|
|
}
|
|
],
|
|
"collapse-display": true,
|
|
"showArrow": true,
|
|
"textFadeMultiplier": -1,
|
|
"nodeSizeMultiplier": 2,
|
|
"lineSizeMultiplier": 0.8,
|
|
"collapse-forces": false,
|
|
"centerStrength": 0.25,
|
|
"repelStrength": 20,
|
|
"linkStrength": 1,
|
|
"linkDistance": 80,
|
|
"scale": 0.6620854838064228,
|
|
"close": false
|
|
} |