Skip to content

Repository files navigation

Antechamber

The front room of your vault.

An Obsidian vault turned into a cinematic, scroll-choreographed 3D portal: your notes as a living constellation, your projects as chapters you walk through, a camera that tours your own graph, and a static site you can host anywhere.

Vite React TypeScript Three.js GSAP Bun Obsidian License: MIT Version


Live Demo

Walk through a real 264-note demo garden, no install


Deploy Your Own


The demo portal

An antechamber is the room you pass through before entering the chamber itself. That is what this builds: a front room for your second brain, where a visitor scrolls through the things you are making, reading and thinking about, sees how they connect, and follows doors out to everything else you have built.

Why this exists

Obsidian's graph is famously beautiful, and the community has built about two dozen plugins that render it in 3D. Every one of them lives inside the app: none can publish what they render. Meanwhile every serious vault-to-website tool (Quartz, Obsidian Publish, Webpage HTML Export, Digital Garden) renders its graph strictly in 2D. The two worlds have never crossed properly.

Antechamber is that crossing, and it is deliberately more than a graph viewer. The differentiation is not the 3D graph alone. It is the scroll-choreographed portal: chapters that light up regions of your vault as the camera tours their densest knots, glass HUD panels for live data, a newswire, a markets ticker, ten themes, and a first-run experience that works before you configure anything at all.

What you get

  • A 3D constellation of your actual vault. Titles, folders, tags and links only. Note contents never leave your machine, and file paths never enter the output. The privacy contract is documented and enforced in the extractor.
  • Chapters with a derived cinematic camera. Define what each chapter matches; the scroll tour through its most-connected hubs is computed from your graph. No coordinates to hand-tune, ever. Overrides exist if you want them.
  • A real first run. Clone it, bun run dev, and a complete demo garden renders immediately. bun run setup then opens a guided five-step flow that validates your vault, drafts chapters from your largest folders, and writes the whole configuration for you.
  • Pods, all optional, all keyless. A newswire with preset bundles, market quotes, weather and air quality, and HUD panels including one that needs no backend at all. Everything off by default; nothing phones home.
  • A static site at the end. bun run build emits plain files. Host them on nginx, GitHub Pages, a Raspberry Pi, anywhere.

Quickstart

git clone https://github.com/CmdShiftExecute/antechamber
cd antechamber
bun install
bun run dev        # the demo garden, immediately → localhost:5190
bun run setup      # the guided flow that connects your own vault

Requires Bun. Full walkthrough: docs/01-quickstart.md.

The tour

Chapters Chapters. Each one frames a region of the vault, tours its hubs as you scroll, and can link out to anything you run or publish.
Guided setup The guided setup. Vault validation, chapter drafting from your real folders, live theme preview. It writes the config; you never have to.
HUD The HUD. Glass panels over the constellation: vault topology with zero backend, an optional server overview, and bring-your-own JSON panels with a documented contract.
Themes Ten themes, dark and light. One token system drives the CSS and the Three.js scene together.

Documentation

The chapters read in order, each linking to the next.

Chapter What it covers
01 · Quickstart Clone to demo to your own vault in five minutes
02 · Guided setup The five-step first-run flow, step by step
03 · Configuration reference Every field in portal.config.json
04 · Graph extraction and privacy What enters the graph, what never does
05 · Chapters and the camera Match rules, the derived tour, manual overrides
06 · HUD panels Built-in panels, the JSON contract, and a prompting guide for building feeds with an AI agent
07 · News and feeds Preset wires, custom RSS, quotes, weather
08 · Deployment Static hosting, cron jobs, nginx
09 · FAQ Troubleshooting and honest limits

How it works

  1. Extract. bun run graph:extract walks the vault, resolves wikilinks the way Obsidian does, runs a seeded force layout, and writes a sanitized data/graph.json: labels, groups, tags, link topology, coordinates. Deterministic output, no note contents, no paths.
  2. Configure. One file, portal.config.json, drives everything: identity, chapters, pods, theme. It is fetched at runtime, so edits apply on refresh.
  3. Render. React and Three.js draw the constellation; GSAP choreographs the scroll; chapters highlight their matched nodes and the derived camera tours them. The build is a static site.

Privacy

The extractor's contract, stated once and enforced in code: the published graph never contains note bodies, never contains file paths, and never contains anything from excluded directories. What ships is what a stranger could learn from your note titles and their link structure, nothing more. Your portal.config.json (which knows your vault path) is gitignored by design. Details: docs/04-graph-extraction.md.

Stack

Vite 8 · React 19 · Three.js · GSAP · Bun. No accounts, no keys, no telemetry.

License

MIT

Releases

Packages

Contributors

Languages