Mind Map
The mind map is a force-directed graph that renders your ideas as nodes and their relations as edges. It gives you a bird’s-eye view of how your thinking connects and evolves.
How It Looks
Section titled “How It Looks”The map renders on a dark canvas with a dot grid background. Nodes are rounded cards colored by status, and edges are styled by relation type. Highly-connected ideas glow and appear larger, making hubs easy to spot.
Visual Language
Section titled “Visual Language”The map uses a consistent visual language so you can read relationships at a glance.
Node Anatomy
Section titled “Node Anatomy”Each node is a card showing:
- Title — the idea name (truncated if long)
- Status dot — colored circle in the top-right corner
- Tags — up to 2 tag pills shown below the title
- Connection count — badge in the bottom-right showing how many relations exist
Node width scales with connection count — ideas with more relations appear larger, making hub ideas easy to spot. Ideas with 3+ connections also get a subtle glow effect matching their status color.
Edge Types
Section titled “Edge Types”Edges encode the relation type through color, weight, and style:
| Relation | Color | Style | Arrow | Meaning |
|---|---|---|---|---|
related | Purple | Thin solid | No | General connection |
parent | Light | Solid, bold | Yes | Hierarchical parent → child |
blocks | Red | Solid, bold | Yes | A blocks progress on B |
inspires | Cyan | Solid, medium | Yes | A inspired the creation of B |
duplicate | Amber | Dashed | No | Auto-detected duplicate |
supersedes | Gray | Dashed | Yes | A replaces B |
Edges created by NeuralRepo from similarity carry a score, which the map shows as a
percentage; edges you created have score: null. The map also distinguishes them visually —
system edges are drawn fainter and thinner, your own edges brighter and roughly twice as
wide — so a graph you have curated stands out from one that assembled itself.
Interaction
Section titled “Interaction”| Action | How |
|---|---|
| Zoom | Scroll wheel or pinch gesture |
| Pan | Click and drag on the background |
| Open idea | Click a node to open the idea detail panel |
| Highlight connections | Hover a node to highlight its direct connections |
| Drag-to-connect | Drag from a node handle to another node to create a relation |
| Context menu | Right-click a node for quick actions (move status, link, focus, archive) |
| Focus mode | Right-click → Focus to dim everything except the 2-hop neighborhood |
| Filter by status | Status toggles above the graph show/hide ideas by status |
| Filter by tag | Tag filter narrows the graph to ideas with specific tags |
| Timeline | Adjustable time window with a brushable density chart showing idea creation frequency. Drag the beginning and end handles to set the visible range, use preset chips (1d, 7d, 30d, All) for quick navigation, or press play to sweep a playhead through the window. Keyboard shortcuts: Space for play/pause, Home to reset, Arrow keys to pan. |
Focus Mode
Section titled “Focus Mode”Right-click any node and select Focus to highlight its 2-hop neighborhood. All other nodes dim to 20% opacity, letting you trace the immediate context of an idea without visual clutter.
Drag-to-Connect
Section titled “Drag-to-Connect”Hover a node to reveal four connection handles. Drag from a handle to another node to create a new relation. A magnetic snap activates within 15px of the target, and a relation type picker appears on drop.
API Access
Section titled “API Access”Retrieve the full graph data to build custom visualizations.
curl https://neuralrepo.com/api/v1/map \ -H "X-API-Key: nrp_your_key_here"Response:
{ "nodes": [ { "id": 42, "title": "Background job processing system", "status": "building", "tags": ["backend", "infrastructure"], "connectionCount": 5, "created_at": "2026-03-15T10:00:00Z" } ], "edges": [ { "id": 1, "source": 10, "target": 42, "type": "blocks", "score": null, "note": "Need auth system before dashboard", "created_at": "2026-03-16T09:30:00Z" } ]}CLI Exploration
Section titled “CLI Exploration”Use nrepo graph to explore the graph from any idea without opening the web app.
# Immediate connectionsnrepo graph 42
# 3 levels deep, filtered to blocks and inspiresnrepo graph 42 --depth 3 --type blocks,inspires42: Background job processing system [building] ├── blocks → 55: Admin dashboard [exploring] ├── blocks → 60: API rate limiting [captured] └── inspires → 71: Event-driven architecture [exploring] └── inspires → 82: Real-time notifications [captured]3D Mind Map
Section titled “3D Mind Map”Toggle the 3D button in the toolbar to switch from the flat force-directed layout to an immersive three-dimensional view.
The 3D view is powered by Three.js and 3d-force-graph. It uses the same graph data as the 2D view with a few visual differences:
- Node labels — rendered as CSS2D overlays (always face the camera)
- Weak edges (
related,duplicate) — rendered as directional particle streams instead of dashes (3d-force-graph does not support dashed links) - Strong edges (
parent,blocks,inspires,supersedes) — rendered as solid lines with directional arrows - Camera — orbit with drag, zoom with scroll, pan with right-drag; auto-fits on load
Clicking a node in 3D works the same as in 2D — opens the idea detail panel. Right-click opens the context menu.
Performance Note
Section titled “Performance Note”The 3D view runs on WebGL. Very large graphs (500+ nodes) may be slower to navigate than the 2D view on lower-end hardware.
Force Controls
Section titled “Force Controls”Click Tune in the toolbar to open the Force Tuning panel and adjust the physics in real time:
| Slider | Range | Effect |
|---|---|---|
| Charge | −2000 to −100 | How strongly ideas repel each other |
| Distance | 40 to 400 | The ideal length of an edge |
| Strength | 0.10 to 0.50 | How hard a relation pulls its two ideas together |
| Gravity | 0 to 0.1 | How strongly everything is drawn toward the centre |
| Padding | 0 to 40 | Clearance kept between node cards |
| Filter Reheat | 0.10 to 1.00 | How much the layout re-settles after a filter change |
| Search Reheat | 0.00 to 1.00 | How much it re-settles after a search |
Changes take effect as you drag, with a burst of simulation energy (alpha 0.3) so ideas settle into the new arrangement. The panel also resets to the default preset in one click.
You can save custom force configurations as presets and switch between them from the
toolbar. Presets live in localStorage, so they are per-browser rather than per-account.
Agent Chat Panel
Section titled “Agent Chat Panel”The floating AI agent chat panel hovers over the mind map. Click the NeuralRepo icon in the bottom-right corner of the map to open it.
The panel is draggable — grab the header to reposition it anywhere on the map. Its position is saved to localStorage per session.
Model Selector
Section titled “Model Selector”A model selector appears at the top of the panel, offering five models:
- Anthropic — Sonnet, Haiku, Opus. Each requires your own Anthropic key via BYOK
- Workers AI — GPT-OSS 120B (the default) and Qwen 30B. No key required
Your selected model is remembered in localStorage across sessions.
Streaming & Thinking
Section titled “Streaming & Thinking”Responses stream token-by-token over a WebSocket connection. A collapsible “Thought process” block appears above the response text when extended thinking is active — click it to expand and read the model’s reasoning.
Tool Results
Section titled “Tool Results”Tool calls render as collapsible ToolResultCards in the message thread. Each card shows:
- A summary line (e.g., “Found 5 ideas for ‘machine learning’”)
- Expandable detail content
- Clickable idea chips — click a chip to highlight that node on the map and scroll it into view
Graph-mutating tool calls (creating ideas, creating connections, semantic layout) animate directly onto the map. See Artifacts for full details.
Selection Context
Section titled “Selection Context”When you have nodes selected on the map, the agent automatically receives the selected idea IDs and titles as additional context. This lets you say things like “summarize these” or “connect these ideas” without specifying them by name.
The panel header shows an undo button when there are reversible agent actions in the current session. Undo reverses what the agent wrote — it deletes an idea the agent created, or removes relations it added — and it works one action at a time, newest first. Layout changes are not part of the stack; clear an agent arrangement with the toolbar or by asking the agent to clear it.
Performance
Section titled “Performance”The mind map uses two rendering modes depending on graph size, switched automatically:
- SVG rendering (up to 200 nodes) — full interactivity, crisp at any zoom level
- Canvas rendering (more than 200 nodes) — optimized for large graphs, device-pixel-ratio aware
The force simulation is D3.js. Charge repulsion and ideal edge length both come from the
spread control — tightening it pulls the graph to roughly 60px edges, loosening it pushes
past 190px — and the remaining physics (velocity decay, collision padding) are fixed. To
group nodes deliberately rather than by physics, use the agent’s arrange_nodes or
semantic_layout.