NikShukrem176 downloadsA 3D star map alternative to Graph View: notes are stars, shared tags form constellations, top-level folders form universes.
A 3D star map alternative to Obsidian's Graph View.
Notes become stars. Shared tags become constellations. Folders become universes. Fly through your vault instead of staring at a flat force graph.

| Vault concept | Becomes |
|---|---|
| A note | A star, sized and colored by how connected it is |
| A tag shared by ≥2 notes | A constellation — its stars are linked by lines |
| A top-level folder | A universe — its own region of space, spiral arms once it's big enough |
| The vault's most-connected note | A pulsating quasar with particle jets |
| A brand-new or fast-growing note | A flash — a "birth" or "supernova" — no rebuild needed |
Untagged notes drift as a dense galactic bulge at the core of their universe. Heavier (better-connected) notes gravitate toward the center of their constellation. Everything is jittered off a mathematically perfect spiral so it reads as a sky, not a diagram.
Enter flies to the nearest match.
manifest.json, main.js, and styles.css from the
latest release.<vault>/.obsidian/plugins/constellations/ and put the three files
there.Install BRAT, then add this
repository (NikShukrem/obsidian-constellations) as a beta plugin. BRAT
keeps it updated automatically.
npm install
npm run dev # rebuilds main.js on file changes
npm run build # production build
Symlink (or copy) the project folder into
<vault>/.obsidian/plugins/constellations/ so Obsidian picks up rebuilds.
The Rebuild view command (command palette) forces the 3D scene to
re-read the vault if notes changed while the panel was already open;
Recenter camera snaps back to the default view.
src/graphBuilder.ts — builds the model: universes
(top-level folders), constellations (tags shared by ≥2 notes in the same
universe), and each star's connectivity-based weight (links + backlinks +
tags).src/layout.ts — places everything in 3D: universes and
constellations sit on a jittered Vogel spiral so nothing perfectly
overlaps; universes with many constellations grow real spiral arms
instead, with a dense bulge of untagged notes at the core; heavier stars
gravitate toward the center of their constellation.src/view.ts — the Three.js renderer: shader-based
twinkling/sparkle point stars, bloom post-processing, comets, the quasar,
flash events for new/growing notes, camera fly-to, search, and the info
panel.Not implemented yet, just on the shortlist:
This repo is set up to submit to Obsidian's official Community Plugins list:
manifest.json has a unique id, author, authorUrl, and a
minAppVersion that actually covers every Obsidian API used (checked via
the automated review at submission time — see below).versions.json maps plugin versions to the minimum Obsidian version.npm version patch|minor|major bumps manifest.json/versions.json
together (see version-bump.mjs).manifest.json, no v prefix)
triggers .github/workflows/release.yml, which builds, attests build
provenance for the release assets, and attaches main.js,
manifest.json, and styles.css to a GitHub Release.npx eslint src/*.ts main.ts checks for unnecessary type assertions and
floating promises — both of which the official review flags.obsidianmd/obsidian-releases no longer
accepts direct PRs to community-plugins.json — submissions go through
this portal instead, which runs an automated review before human review.)MIT — see LICENSE.