GUX207 downloads把关系图谱渲染成 3D 山峰等高线图:链接越多的文档海拔越高,联系紧密的文档聚成一座山,最高连接数的文档是主峰。
Render your Obsidian link graph as a 3D tilted mountain contour map: the more links a note has, the higher its peak; tightly connected notes cluster into one mountain; the most-linked note is the main peak of the whole range.


graph.json; the layout is stable across opensmanifest.json, main.js, styles.css from plugin/ into
.obsidian/plugins/terrain-graph/ in your vaultInstall BRAT and add this repository.
Click the gear button in the top-right of the view to open the settings panel:
| Setting | Description |
|---|---|
| Levels | Number of contour levels (altitude layers) |
| Mountain width | Horizontal width of each mountain (Gaussian bandwidth) |
| Min links | Notes below this degree are demoted in display |
| Ghost low-degree nodes | Keep low-degree notes as faint dots |
| Show attachments / orphans / unresolved | Which node types appear (mirrors the official graph) |
| Docs / Names | Show document markers and name labels |
| Highlight selection | Light up direct neighbors when a node is selected |
| Relayout / Reset | Re-run the force layout / restore defaults |
Interactions: drag to rotate, scroll to zoom, double-click to reset, click to pin a selection (gold 1-hop highlight), right-click to deselect, hover for a note card. The bottom-right corner shows the selected note and node/edge/group/level statistics.
cd plugin
npm install
npm run build # type-check + bundle main.js
npm run dev # watch mode
main.js bundles d3-force, so there are no runtime dependencies to install separately.
terrain-graph/
├── plugin/ # Obsidian plugin
│ ├── manifest.json
│ ├── main.js # build output
│ ├── styles.css
│ └── src/ # TypeScript source
│ ├── main.ts # plugin entry, settings panel, view registration
│ ├── graph.ts # graph building, community detection
│ ├── terrain.ts # force layout, height field, contours
│ ├── render.ts # 3D rendering, interactions
│ └── everest.ts # Everest-region DEM data
├── docs/ # screenshots
├── LICENSE
└── README.md
MIT