Skip to content

About

a second brain for world models papers

Resources

Stars

6 stars

Watchers

0 watching

Forks

Repository files navigation

Engram

A navigable knowledge graph for world-models research

GitHub stars Next.js TypeScript

What is this?

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.

Quick Start

git clone https://github.com/utk7arsh/world-models-hub.git
cd world-models-hub
npm install
npm run dev

Open 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

What's in the graph

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.

Why not a PDF folder?

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.

Two layouts

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.

Architecture

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
Loading

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.

Project 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

Documentation

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

UI features

  • 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

Stack

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.

Contributing

  1. Edit content/graph.json (follow SCHEMA.md).
  2. Run npm run export:vault if you use the Obsidian mirror.
  3. Keep PAPERS.md in sync when paper entries change, or regenerate it from the graph.
  4. Open a PR with a short note on what you added or corrected.
Contributors

About

a second brain for world models papers

Resources

Stars

6 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages