Common (both node types)
| \topicid{my-topic} | Unique slug, used in connections and URLs |
| \topictitle{My Topic} | Display name in graph and panels |
| \timestamp{ISO-8601} | Creation date (auto-filled) |
| \lastupdated{ISO-8601} | Last edit date (auto-updated on commit) |
| \tags{tag1, tag2} | Comma-separated labels for filtering |
| \category{math/algebra} | Hierarchical path, slash-separated |
| \nodetype{knowledge} | knowledge or research |
| \status{draft} | draft, in-progress, solid, or reference |
| \purpose{...} | One-paragraph summary shown at the top |
| \connections{id1, id2} | Comma-separated topic IDs, creates graph edges |
| \sources{Book Ch.1, Paper} | Books, courses, or papers this draws from |
| \archived{true} | Hides node from graph and views (still searchable) |
Keyboard Shortcuts
| shift + click node | Focus graph on that node and its 2-hop neighbors. Expands collapsed groups. |
| shift + click canvas | Return to full graph view |
| W | Toggle wiring mode — click two nodes to connect/disconnect them |
| A | Toggle archive mode — click nodes to archive/unarchive, then save |
| / | Focus the search bar |
| Escape | Close panel, clear search, or dismiss modal |
Knowledge Nodes
| \begin{definition}{Term} | Formal definition with a named term |
| \begin{keypoints} | Container for bullet insights |
| \point{...} | A single key insight |
| \begin{equations} | Container for named equations |
| \entry{Name} | Label for the next equation |
| \begin{equation} | LaTeX math environment |
| \begin{questions} | Container for open questions |
| \question{...} | An open question to explore |
| \begin{notes} | Free-form notes and discussion |
Research Nodes
| \collaborators{names} | Who you're working with |
| \targetvenue{ICML 2027} | Where you plan to submit |
| \viewers{user1, user2} | GitHub usernames who can see this node (empty = default visibility) |
| \begin{researchmeta} | Container for research overview fields |
| \field{key}{value} | Any key-value metadata (scope, approach, etc.) |
| \begin{papers} | Container for paper entries |
| \begin{gaps} | Container for open research gaps |
| \gap{...} | An open problem or missing piece |
| \begin{ideas} | Container for your hypotheses |
| \idea{...} | A proposed approach or experiment idea |
| \begin{experiments} | Container for experiment entries |
Paper Sub-Tags (inside \begin{papers})
| \paper{Title} | Starts a new paper block |
| \authors{A, B, C} | Author list |
| \venue{NeurIPS 2023} | Conference or journal + year |
| \field{key}{value} | Any metadata (setting, approach, abstract...) |
| \result{...} | One-line key contribution or theorem |
| \assumptions{...} | What the paper assumes |
| \gap{...} | What's missing from this paper |
| \readstatus{read} | read, skimmed, queued, or to-revisit |
| \relevance{high} | high, medium, or low |
| \link{url} | Semantic Scholar, arxiv, or DOI link |
| \bibtex{cite-key} | Citation key for your .bib file |
| \cites{key1, key2} | Papers this one builds on |
| \papernotes{...} | Your personal notes on this paper |
Paper Nodes (standalone .tex files)
| \nodetype{paper} | Marks this as a paper node (square in graph) |
| \authors{A, B, C} | Author list |
| \venue{NeurIPS 2023} | Conference or journal + year |
| \readstatus{read} | read, skimmed, queued, or to-revisit |
| \relevance{high} | high, medium, or low |
| \link{url} | Semantic Scholar, arxiv, or DOI link |
| \bibtex{cite-key} | Citation key for your .bib file |
| \cites{key1, key2} | Papers this one builds on |
| \result{...} | One-line key contribution or theorem |
| \assumptions{...} | What the paper assumes |
| \gap{...} | What's missing from this paper |
| \papernotes{...} | Your personal notes on this paper |
| \field{key}{value} | Any metadata (setting, approach, abstract) |
Person Nodes (hexagon in graph)
| \nodetype{person} | Marks this as a person node (sky blue hexagon) |
| \field{affiliation}{MIT} | Institution or company |
| \field{role}{Professor} | Title or position |
| \field{interests}{AI Safety, RL} | Research interests |
| \field{website}{url} | Personal website |
| \field{scholar}{url} | Google Scholar profile |
| \field{email}{addr} | Email address |
| \viewers{sam-ghala} | Restrict visibility (empty = default rules) |
Milestones (inside \begin{milestones})
| \milestone{name}{date}{type} | A timeline event. Date is YYYY-MM-DD. |
Milestone Types:
| ▲ milestone | sage green triangle — research checkpoints: "lit review done", "theory proof complete", "first draft" |
| ◆ deadline | red diamond — hard deadlines: "submit to ICML", "camera ready due" |
| ● meeting | blue circle — advisor meetings, collaborator calls |
| ● workshop | purple circle — workshops, seminars, summer schools |
| ● presentation | amber circle — talks, defenses, poster sessions |
Experiment Sub-Tags (inside \begin{experiments})
| \experiment{Name} | Starts a new experiment block |
| \date{2026-03-28} | When you ran it |
| \result{...} | What happened — data, observations |
| \expstatus{completed} | planned, in-progress, completed, failed, abandoned |
| \expnotes{...} | Debugging notes, next steps |
Comments (auto-generated)
| \begin{comment}{user}{time} | Visitor comment — added via the comment button |