Engram is a Next.js app plus a version-controlled graph of papers, concepts, and open questions in world-models research. The graph lives in content/graph.json; the UI lets you explore it by time, paradigm, and lineage — not as a flat reading list.
The name comes from engram: a memory stored in connections. Here the links (builds-on, concept hubs, open questions) carry most of the meaning.
git clone https://github.com/utk7arsh/world-models-hub.git
cd world-models-hub
npm install
npm run devOpen http://localhost:3000.
| Command | Purpose |
|---|---|
npm run dev |
Start the local UI |
npm run build / npm start |
Production build |
npm run export:vault |
Regenerate the Obsidian vault from content/graph.json |
| Count | |
|---|---|
| Papers | 57 |
| Research paradigms | 8 |
| Concept hubs | 12 |
| Open questions | 7 |
Full paper list (titles, venues, arXiv/code/project links): PAPERS.md
Paradigms cover latent imagination (Dreamer), planning & value-equivalence (MuZero), autoregressive/token models, JEPA, video diffusion, embodied agents, foundations, and benchmarks.
World-models research has structure that flat lists hide:
- Lineage — PlaNet → Dreamer → DreamerV3; MuZero → EfficientZero
- Parallel bets — latent RSSMs, token autoregression, JEPA, video diffusion
- Open tensions — pixels vs representations, planning vs amortized policy
Engram makes that structure the interface.
Timeline — Papers on a year axis in paradigm swim-lanes. builds-on edges show lineage left to right.
Neuron — Force-directed layout with paradigms as clusters. Better for browsing neighborhoods and concept links.
Both views read the same graph.json. Switching morphs positions; selection, search, and the note panel stay in sync.
graph LR
Sources[Papers / arXiv / code] --> Graph["content/graph.json"]
Graph --> UI[Next.js UI]
Graph --> Vault["vault/ Obsidian mirror"]
Schema["SCHEMA.md + prompts/"] -.-> Graph
Layer 1 — Sources. Papers you care about. Human-curated evidence.
Layer 2 — Graph. content/graph.json: summaries, typed links, paradigm tags. What the app renders.
Layer 3 — Schema. SCHEMA.md and prompts/ define how an LLM should ingest papers and lint the graph. Assisted maintenance — you still review edits.
Inspired by Obsidian-style wikilinks and Karpathy's LLM-maintained wiki idea, with an explicit contract so the model does not improvise structure.
app/ # Next.js App Router UI
components/ # Graph canvas, note panel, toolbar
content/
graph.json # Source of truth (papers, concepts, questions)
lib/ # Graph loaders, layout, paradigm helpers
prompts/ # LLM prompt pack for growing the graph
scripts/ # Vault export and ingest helpers
vault/ # Generated Obsidian mirror
PAPERS.md # Flat paper collection for reading / sharing
SCHEMA.md # Graph schema and conventions
| Resource | Description |
|---|---|
| PAPERS.md | All 57 papers, grouped by paradigm, with links |
| SCHEMA.md | Data model and editing rules for the graph |
| vault/ | Obsidian-friendly export of papers, concepts, and questions |
| prompts/ | Prompt pack for assisted graph maintenance |
| content/graph.json | Canonical graph data |
- Note panel with markdown,
[[wikilinks]], backlinks, and arXiv/code/project links - Search with highlighting; filters by paradigm, note type, and edge type
- Focus mode on hover/select
- Health panel: orphans, link coverage, per-paradigm stats
- Dark-first, responsive; respects
prefers-reduced-motion
Next.js (App Router) · React 19 · @xyflow/react · d3-force · react-markdown · plain CSS.
No backend. The graph is a static JSON file you can diff, review, and version like any other source file.
- Edit
content/graph.json(follow SCHEMA.md). - Run
npm run export:vaultif you use the Obsidian mirror. - Keep PAPERS.md in sync when paper entries change, or regenerate it from the graph.
- Open a PR with a short note on what you added or corrected.