feat: Excalidraw + Banner plugins + ITS CSS snippets

Plugins installed:
  obsidian-excalidraw-plugin
    manifest.json + styles.css tracked in git
    main.js (8MB) excluded from git — downloaded by setup-vault.sh on first run
  obsidian-banners
    manifest.json + main.js + styles.css all tracked (148KB, acceptable)

CSS Snippets (ITS Theme by SlRvb):
  ITS-Dataview-Cards.css  — transforms TABLE queries into visual card grids
    Usage: use backtick-dataview-cards instead of backtick-dataview above query
  ITS-Image-Adjustments.css — fine-grained image sizing in notes
    Usage: caption images with |100 or wrap in image-adjustments callout

Config updates:
  community-plugins.json — added obsidian-excalidraw-plugin, obsidian-banners
  appearance.json        — added ITS-Dataview-Cards + ITS-Image-Adjustments snippets
                           (vault-colors preserved)
  .gitignore             — added excalidraw main.js exclusion rule

setup-vault.sh — step 5: auto-downloads Excalidraw main.js if missing
  curl from GitHub releases/latest, skips if already present

Canvas updates (Obsidian saved state):
  welcome.canvas — user added Cosmic Brain GIF at top
  main.canvas    — user added brand assets to Wiki Pages zone
  Wiki Map.canvas — Obsidian format normalised
This commit is contained in:
Daniel
2026-04-07 13:48:28 +03:00
parent bfc270247b
commit 339396e447
15 changed files with 950 additions and 245 deletions

View File

@@ -1,75 +1,37 @@
{
"nodes": [
{
"id": "title",
"type": "text",
"text": "# 🧠 Cosmic Brain\n### Knowledge Map — Fibonacci Spiral\n*12 nodes at golden angle 137.5° — the sunflower pattern*",
"x": -280,
"y": -270,
"width": 560,
"height": 110
},
{ "id": "hub", "type": "file", "file": "wiki/index.md",
"x": -175, "y": -60, "width": 350, "height": 120, "color": "5" },
{ "id": "c-idx", "type": "file", "file": "wiki/concepts/_index.md",
"x": 120, "y": -40, "width": 270, "height": 80, "color": "2" },
{ "id": "e-idx", "type": "file", "file": "wiki/entities/_index.md",
"x": -411, "y": 209, "width": 270, "height": 80, "color": "6" },
{ "id": "s-idx", "type": "file", "file": "wiki/sources/_index.md",
"x": -101, "y": -488, "width": 270, "height": 80, "color": "4" },
{ "id": "dash", "type": "file", "file": "wiki/meta/dashboard.md",
"x": 187, "y": 372, "width": 260, "height": 80, "color": "5" },
{ "id": "ov", "type": "file", "file": "wiki/overview.md",
"x": -702, "y": -141, "width": 260, "height": 80, "color": "5" },
{ "id": "llm-wiki", "type": "file", "file": "wiki/concepts/LLM Wiki Pattern.md",
"x": 401, "y": -381, "width": 260, "height": 80, "color": "2" },
{ "id": "hot-c", "type": "file", "file": "wiki/concepts/Hot Cache.md",
"x": -313, "y": 623, "width": 260, "height": 80, "color": "2" },
{ "id": "hot-m", "type": "file", "file": "wiki/hot.md",
"x": -469, "y": -691, "width": 260, "height": 80, "color": "5" },
{ "id": "comp", "type": "file", "file": "wiki/concepts/Compounding Knowledge.md",
"x": 593, "y": 227, "width": 280, "height": 80, "color": "2" },
{ "id": "karp", "type": "file", "file": "wiki/entities/Andrej Karpathy.md",
"x": -891, "y": 275, "width": 260, "height": 80, "color": "6" },
{ "id": "log-m", "type": "file", "file": "wiki/log.md",
"x": 235, "y": -822, "width": 260, "height": 80, "color": "5" },
{ "id": "lbl-concepts", "type": "text", "text": "**💡 CONCEPTS**",
"x": 420, "y": -460, "width": 160, "height": 40, "color": "2" },
{ "id": "lbl-entities", "type": "text", "text": "**👤 ENTITIES**",
"x": -960, "y": 195, "width": 160, "height": 40, "color": "6" },
{ "id": "lbl-sources", "type": "text", "text": "**📄 SOURCES**",
"x": -200, "y": -580, "width": 160, "height": 40, "color": "4" },
{ "id": "lbl-nav", "type": "text", "text": "**🗂️ NAVIGATION**",
"x": -560, "y": -790, "width": 190, "height": 40, "color": "5" }
],
"edges": [
{ "id": "e-hub-cidx", "fromNode": "hub", "fromSide": "right", "toNode": "c-idx", "toSide": "left", "toEnd": "arrow", "label": "concepts" },
{ "id": "e-hub-eidx", "fromNode": "hub", "fromSide": "bottom", "toNode": "e-idx", "toSide": "top", "toEnd": "arrow", "label": "entities" },
{ "id": "e-hub-sidx", "fromNode": "hub", "fromSide": "top", "toNode": "s-idx", "toSide": "bottom", "toEnd": "arrow", "label": "sources" },
{ "id": "e-hub-dash", "fromNode": "hub", "fromSide": "right", "toNode": "dash", "toSide": "left", "toEnd": "arrow" },
{ "id": "e-hub-ov", "fromNode": "hub", "fromSide": "left", "toNode": "ov", "toSide": "right", "toEnd": "arrow" },
{ "id": "e-hub-hot", "fromNode": "hub", "fromSide": "left", "toNode": "hot-m", "toSide": "right", "toEnd": "arrow" },
{ "id": "e-hub-log", "fromNode": "hub", "fromSide": "top", "toNode": "log-m", "toSide": "bottom", "toEnd": "arrow" },
{ "id": "e-cidx-llm", "fromNode": "c-idx", "fromSide": "right", "toNode": "llm-wiki","toSide": "left", "toEnd": "arrow" },
{ "id": "e-cidx-hc", "fromNode": "c-idx", "fromSide": "bottom", "toNode": "hot-c", "toSide": "top", "toEnd": "arrow" },
{ "id": "e-cidx-comp", "fromNode": "c-idx", "fromSide": "right", "toNode": "comp", "toSide": "left", "toEnd": "arrow" },
{ "id": "e-eidx-karp", "fromNode": "e-idx", "fromSide": "left", "toNode": "karp", "toSide": "right", "toEnd": "arrow" },
{ "id": "e-llm-karp", "fromNode": "llm-wiki","fromSide":"bottom","toNode": "karp", "toSide": "top", "toEnd": "none", "color": "6", "label": "originated by" },
{ "id": "e-hc-hot", "fromNode": "hot-c", "fromSide": "left", "toNode": "hot-m", "toSide": "right", "toEnd": "arrow", "label": "implemented as" },
{ "id": "e-comp-karp", "fromNode": "comp", "fromSide": "left", "toNode": "karp", "toSide": "right", "toEnd": "none", "color": "6" }
]
}
"nodes":[
{"id":"title","type":"text","text":"# 🧠 Cosmic Brain\n### Knowledge Map — Fibonacci Spiral\n*12 nodes at golden angle 137.5° — the sunflower pattern*","x":-280,"y":-270,"width":560,"height":110},
{"id":"hub","type":"file","file":"wiki/index.md","x":-175,"y":-60,"width":350,"height":120,"color":"5"},
{"id":"c-idx","type":"file","file":"wiki/concepts/_index.md","x":120,"y":-40,"width":270,"height":80,"color":"2"},
{"id":"e-idx","type":"file","file":"wiki/entities/_index.md","x":-411,"y":209,"width":270,"height":80,"color":"6"},
{"id":"s-idx","type":"file","file":"wiki/sources/_index.md","x":-101,"y":-488,"width":270,"height":80,"color":"4"},
{"id":"dash","type":"file","file":"wiki/meta/dashboard.md","x":187,"y":372,"width":260,"height":80,"color":"5"},
{"id":"ov","type":"file","file":"wiki/overview.md","x":-702,"y":-141,"width":260,"height":80,"color":"5"},
{"id":"llm-wiki","type":"file","file":"wiki/concepts/LLM Wiki Pattern.md","x":401,"y":-381,"width":260,"height":80,"color":"2"},
{"id":"hot-c","type":"file","file":"wiki/concepts/Hot Cache.md","x":-313,"y":623,"width":260,"height":80,"color":"2"},
{"id":"hot-m","type":"file","file":"wiki/hot.md","x":-469,"y":-691,"width":260,"height":80,"color":"5"},
{"id":"comp","type":"file","file":"wiki/concepts/Compounding Knowledge.md","x":593,"y":227,"width":280,"height":80,"color":"2"},
{"id":"karp","type":"file","file":"wiki/entities/Andrej Karpathy.md","x":-891,"y":275,"width":260,"height":80,"color":"6"},
{"id":"log-m","type":"file","file":"wiki/log.md","x":235,"y":-822,"width":260,"height":80,"color":"5"},
{"id":"lbl-concepts","type":"text","text":"**💡 CONCEPTS**","x":420,"y":-460,"width":160,"height":40,"color":"2"},
{"id":"lbl-entities","type":"text","text":"**👤 ENTITIES**","x":-960,"y":195,"width":160,"height":40,"color":"6"},
{"id":"lbl-sources","type":"text","text":"**📄 SOURCES**","x":-200,"y":-580,"width":160,"height":40,"color":"4"},
{"id":"lbl-nav","type":"text","text":"**🗂️ NAVIGATION**","x":-560,"y":-790,"width":190,"height":40,"color":"5"}
],
"edges":[
{"id":"e-hub-cidx","fromNode":"hub","fromSide":"right","toNode":"c-idx","toSide":"left","toEnd":"arrow","label":"concepts"},
{"id":"e-hub-eidx","fromNode":"hub","fromSide":"bottom","toNode":"e-idx","toSide":"top","toEnd":"arrow","label":"entities"},
{"id":"e-hub-sidx","fromNode":"hub","fromSide":"top","toNode":"s-idx","toSide":"bottom","toEnd":"arrow","label":"sources"},
{"id":"e-hub-dash","fromNode":"hub","fromSide":"right","toNode":"dash","toSide":"left","toEnd":"arrow"},
{"id":"e-hub-ov","fromNode":"hub","fromSide":"left","toNode":"ov","toSide":"right","toEnd":"arrow"},
{"id":"e-hub-hot","fromNode":"hub","fromSide":"left","toNode":"hot-m","toSide":"right","toEnd":"arrow"},
{"id":"e-hub-log","fromNode":"hub","fromSide":"top","toNode":"log-m","toSide":"bottom","toEnd":"arrow"},
{"id":"e-cidx-llm","fromNode":"c-idx","fromSide":"right","toNode":"llm-wiki","toSide":"left","toEnd":"arrow"},
{"id":"e-cidx-hc","fromNode":"c-idx","fromSide":"bottom","toNode":"hot-c","toSide":"top","toEnd":"arrow"},
{"id":"e-cidx-comp","fromNode":"c-idx","fromSide":"right","toNode":"comp","toSide":"left","toEnd":"arrow"},
{"id":"e-eidx-karp","fromNode":"e-idx","fromSide":"left","toNode":"karp","toSide":"right","toEnd":"arrow"},
{"id":"e-llm-karp","fromNode":"llm-wiki","fromSide":"bottom","toNode":"karp","toSide":"top","toEnd":"none","color":"6","label":"originated by"},
{"id":"e-hc-hot","fromNode":"hot-c","fromSide":"left","toNode":"hot-m","toSide":"right","toEnd":"arrow","label":"implemented as"},
{"id":"e-comp-karp","fromNode":"comp","fromSide":"left","toNode":"karp","toSide":"right","toEnd":"none","color":"6"}
]
}