Vault Orrery

approved

by Elliott Park

A 3D graph where folders are stars and notes orbit them. Replay how your vault grew. Works offline. - This plugin has not been manually reviewed by Obsidian staff.

1 stars604 downloadsUpdated 10d agoMIT

Vault Orrery

Your vault as a star system. Folders become stars, notes orbit them, and a Genesis timeline replays how the whole thing grew. Every body on screen is a note you can be reading a second later. Runs entirely offline.

A 263-note vault drawn as a star system: twelve lit folder-stars — MENUS, PRINCIPLES, SERVICE-NOTES, BAKERY — with their notes in orbit and the links drawn between them


Not another galaxy graph

Several plugins draw your vault as a starfield. If a prettier graph is all you want, those are lighter and you should use one of them. This one is an orrery, and three things follow from that:

Folders are star systems, not another colour of dot. Each folder is a lit system sitting in its own gas, with its notes in orbit round its star. The shape of the vault is the shape of the picture, so a crowded folder looks crowded and an orphaned one sits out on its own.

Genesis plays the vault's formation. Press G and the cosmos rewinds to void and condenses forward to today, note by note, in the order you actually wrote them. Nothing else here does this, and it is not an animation of the finished graph — it is the vault's own history, scrubbable.

It is wired into the editor. Ctrl/Cmd-click a planet and the note opens beside the orrery. The note you are editing carries its own beacon. Show in Vault Orrery is on every note's context menu, and every mode is a command you can bind a key to.

One note selected inside the FAILURES system: the inspector shows its path, word count, outbound links and backlinks, and the buttons to open it, map it or ripple from it


What it does

  • Folders are stars, notes are planets, cited sources are moons. Orbits open from a flat disc into a sphere on one knob.
  • GenesisG — plays the vault from void to present, with a scrubber.
  • Mind mapM — one note's neighbourhood, two hops out, in place.
  • Search/ — notes, controls and actions in one box.
  • RippleSPACE — a wave along the links from the selected note.
  • PosterP — a high-resolution PNG of the cosmos with no HUD.
  • Ambient soundU — every note has a pitch; off until you ask.
  • Broken links, counted in the status panel and named in the inspector. Click the count to keep only the notes carrying them.
  • Properties — a note's front matter is on the inspector and in the search box, so status: blocked is a thing you can look for.
  • Route — pick two notes and the shortest way between them lights up, with the rest of the vault held down to a trace.
  • 한국어 · English · 日本語 · 中文, switchable without reloading.

Mind map of one note: index at the centre with its neighbours — Sourdough programme, Collagen and gelatin, Bread basket — laid out in a ring around it

The graph is Obsidian's own. Links, backlinks and tags come from the index Obsidian already keeps, so a link written through an alias resolves rather than counting as broken, an embed counts as a link, and a #tag in a paragraph counts alongside the ones in the front matter.

The most-linked note selected, with its seventy outbound links drawn as lines reaching out across the cosmos

The vault stays current. Notes written, created, renamed or deleted while the view is open re-derive the cosmos — camera and selection left where they were, and no loading curtain over a view you are using.


Controls

O · ctrl/cmd-clickopen the note in Obsidian
/search
M · double-clickmind map
GGenesis — play the vault's formation
SPACEripple from the selected note
Psave a poster (high-resolution PNG, no HUD)
Lcycle the link layer — ALL · WIKI · SOURCE · BRIDGE · OFF
Xthe reference plane on the layout's own plane
Uambient sound
R · Hreset view · hide HUD
?the guide — every key above with a line on what it does
drag / wheelorbit · zoom
right-drag · shift-dragpan · move a node

The first time a vault loads, a card names the four moves that are enough to get going. Any key dismisses it. ? — or the [ ? ] in the SHORTCUTS title bar — opens the full guide, which explains each of the above and the three things that have no key: the broken-link filter, the route, and BRIDGE. The four-move card is one click away at the bottom of it.


Privacy, in one paragraph

No network access at runtime. At all. No server, no telemetry, no analytics, no update check, no remote font, no CDN — the plugin makes zero outbound requests, and npm run check is that claim automated over the built bundle. It reads every markdown file in the vault, because the shape of the vault is what is being drawn and a graph of a subset is a different vault's picture. Reading goes through Obsidian's own cache, and your excluded-files patterns are applied first, so a note you have hidden is never opened at all.

The long version, and how to verify it


Large vaults

The MAX NODES ceiling ships off: a cap that silently drops half a vault is worse than a slow first minute, and the slider is right there. If a big vault runs slowly, turn BLOOM and the four LIGHT knobs off first, then lower LINK GLOW and STARFIELD. Rendering stops entirely when you are not looking at the view, so an orrery in a background tab costs nothing.

Performance in detail


Installation

From the community plugin browser: Settings → Community plugins → Browse → "Vault Orrery" → Install.

Manually: copy main.js, manifest.json and styles.css from the release into <vault>/.obsidian/plugins/vault-orrery/, then enable it in Settings. Those three files are the whole plugin — three.js is bundled into main.js, so nothing is fetched at runtime.

Desktop only: the renderer needs WebGL.


Going deeper


License

MIT — see LICENSE.

This plugin bundles three.js (MIT) and nothing else, and does not fetch it from a network at runtime. Full notice and licence text in THIRD-PARTY-NOTICES.md.

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.