All Topics

Thoughts & Nodes

Create, edit, nest, and organize the building blocks of your garden.

Creating thoughts

Thoughts are the building blocks of Neural Garden. Each thought is a card on the canvas with a title and an optional rich-text body.

  1. 1Double-click (or double-tap) empty space on the canvas.
  2. 2Type a title for your thought.
  3. 3Press Enter or click away to save.
  4. 4Click the thought again to expand and edit its body.

Editing content

Click a thought to select it, then press Enter or double-click to edit. When zoomed in (full detail), this opens the rich text editor with formatting toolbar. When zoomed out (compact, dot-label, or dot view), you get a lightweight inline title editor right on the node — no zoom change needed. Entering edit mode on an existing thought drops the cursor at the end of the description so you can keep adding to your notes. Brand-new (still-unnamed) thoughts focus the title field instead — there's nothing to add to yet. The inline editor shows a dropdown of matching thoughts as you type, making it easy to find and link to existing ideas. The rich editor supports headings, bold, italic, lists, code blocks, links, and images — paste an image from your clipboard or drop an image file straight into the description; it uploads to your garden and appears in place. A thought whose description contains an image also shows it as the card's cover and as a small thumbnail at every zoom level. If an uploaded picture's file is no longer on the server, the card shows an “Image missing” box in its place; upload the same picture again anywhere, reload, and every thought that used it shows it once more. Bulleted and numbered lists can be nested — any item with children gets a chevron in front of the bullet you can click to collapse or expand that branch, even when you're just viewing the thought. The same fold-below behavior extends to headings (H1/H2/H3 hide everything below until the next equal-or-higher heading) and to paragraphs or quotes that sit directly above a list (the chevron tucks the list out of the way without making the line itself a list item). Option/Alt-click any chevron — on a list item, a heading, or a paragraph/quote above a list — to recursively collapse or expand everything underneath in one go (same gesture as macOS Finder's disclosure triangles). The collapse state is saved with the description, so it stays the way you left it across reloads and matches between view and edit modes. Use the toolbar or markdown-style shortcuts. Press Cmd/Ctrl+Enter (or Escape) to save and exit edit mode.

Tip: Type / in the editor to open the slash command menu for quick formatting options like headings, lists, blockquotes, code blocks, dividers, and links — plus /image (upload a picture from your device or paste an image URL) and /ai (ask the assistant with this thought as context: it can write text or draw a picture right where your cursor is, or act on the canvas). Press Cmd/Ctrl+K to insert or edit a URL link (if text is selected it becomes the label). Pasting markdown-formatted text auto-converts to rich text. Press Cmd/Ctrl+. while inside a nested bullet list to collapse or expand it without reaching for the chevron.

AI completion (the sparkle)

While you're editing a thought — the canvas card or the side panel — a sparkle sits on its own line just below the description (or below the Description placeholder while the field is still empty). Tapping it completes the thought in one go: a short factual sentence about the thing itself (a known book gets its author and core idea, a place gets where it is — not a summary of nearby notes), empty properties filled with confidently-known facts, and a type if the thought is still untyped. It only ever adds: the sentence is appended after whatever you've written, filled values go into empty fields only, and nothing existing is changed or deleted.

Tip: Write the title first — it's the main thing the completion is built from, and the sparkle will tell you if the title is still empty.

Wikilinks and backlinks

Type [[ in the editor to create a wikilink to another thought. The brackets auto-pair as you type, and a popup shows matching thoughts — select one to create a clickable link. If the linked thought has a type, the type's icon appears in its own color right in front of the link text, so you can scan a description and see at a glance what each reference points at — even when the linked thought lives on a different canvas. If the title doesn't match anything (and isn't an existing alias), choose 'Create' to spawn a new thought; the new thought is automatically nested inside the one you're editing so it lives where the link was made. Linking to a thought that already exists only creates the link — it doesn't add a copy of that thought to your canvas, so a person mentioned in many notes stays in one place and the backlinks are what record the mentions. With AI configured, that new thought is also completed for you: the sentence you typed the link into is read alongside the title, so its type icon appears in the link a moment later — and when the AI is confident about what the thing is, it writes a short first description and fills properties it knows too (Settings → AI autofill turns this off). To turn existing text into a link, select it and press [ — the selection is wrapped, and a second [ opens the popup with that text as the initial query. Wikilinks automatically create backlinks, which appear under each target thought — below its nested thoughts — along with the surrounding line as context, so you can see how each reference is phrased. Each backlink sits in its own container, matching the nested list's rows. Right-click a backlink (or long-press it on touch) for 'Open as Garden' and 'Open in Panel' — on the card and in the side panel alike. The wikilinks inside a backlink's snippet are live links too: click one to jump to what it points at, or right-click / long-press it for its own 'Go to Node' and 'Open in Panel'. Long backlink lists cap their height and scroll rather than stretching the card, with the top and bottom edges fading softly while there's more to scroll in that direction and no scrollbar cluttering the edge — the same treatment nested lists get. A sort control above the list lets each thought keep its own order for the things pointing at it: Linked (most recently linked first, the default), Title, Type, Created, Edited, or any typed property those sources carry, with a caret to flip ascending/descending. At the right end of that same row a magnifier opens a search field for the list: type a word or several (every word must match), put a minus in front to exclude one (-tesla), quote a phrase ('pork belly'), or narrow by type with type:day — several type: terms widen to any of them, and -type: drops a type. Pressing Enter turns what you typed into a pill that sits inside the field ahead of the cursor, suggested pills underneath (the types present in the list) can be clicked to accept, and each accepted pill has its own × — the × at the field's edge clears everything. Words that are wikilinks in a description count too, so searching a linked name finds the rows that mention it. The filter is shared between the card and the side panel showing the same thought, and a count shows how many rows match. One more suggested pill, unlinked mentions, switches the list to thoughts that say this thought's title — or one of its aliases — in plain text without a link: references written before the thought existed, imported as plain text, or simply never linked. Each shows the matching words with a dashed underline, and the check mark on the right turns them into a real wikilink, so the mention becomes a backlink and the source's text now links here. A thought that has no backlinks yet shows no Backlinks section at all — for it, run 'Search Backlinks' from the command palette (Cmd/Ctrl+K) with the thought selected: the section opens with the search field ready, and the unlinked mentions pill is one click away. If the source thought is being edited elsewhere at that moment, the link waits — you'll be asked to try again. In a shared garden the scan covers only the canvases you can reach, the same as backlinks. When the wikilink sits inside a list item with sub-bullets — or above a list — those nested items show up in the backlink too, collapsed by default to save space, with the same chevron toggles you use in the editor for selective expansion. Renaming a thought updates every wikilink and backlink that points to it — the new title shows up in the link label, the backlink chip, and the highlighted word inside each backlink's snippet, all without a reload. Hover any wikilink to see a tooltip with the linked thought's title and a short preview of its body. Links work across sub-gardens. Clicking a link takes you to its thought on the canvas when that's unambiguous — it's on the canvas you're looking at, it's nested inside the thought you clicked from, or it only lives in one place. When the thought is placed in several other locations, the link opens it in the side panel instead of asking you to choose; from there the number beside its title lists every location if you want a particular one on the canvas. Shift-click a wikilink to open its target in the side panel directly. For more options, right-click a wikilink (desktop) or long-press it (mobile) to get a menu with 'Go to Node' and 'Open in Panel'. That menu is the link's own wherever the link appears — inside a card on the canvas, the reader gets the link's menu rather than the card's. While you're editing a description, wikilinks behave like ordinary text so they don't get in the way: a plain click or tap just places the cursor, there's no hover tooltip, and a long-press starts a text selection like anywhere else instead of opening the menu. To follow a link mid-edit, Cmd-click it (Ctrl-click on Windows and Linux) to jump to the node, Shift-click to open it in the panel, or right-click for the menu. The cursor steps over a wikilink as a single unit with the arrow keys, and one press of Backspace or Delete next to a link removes the whole link. In shared gardens, wikilinks pointing to thoughts you don't have access to render as faded with a 'not-allowed' cursor — you can see the reference exists, but the click is disabled. Wikilinks are body-only — typing [[ inside a title field is treated as literal text. If typing [[ feels slow (especially on mobile), Settings → Wikilinks offers two opt-in shortcuts, both off by default: the period shortcut opens the picker when you type '.' at the start of a sentence or after a space (a period that ends a word, like 'done.', won't trigger it), and the capital shortcut opens it whenever you type a capital letter at the start of a word — except it skips the pronoun 'I' and its contractions ('I'm', 'I'll', 'I'd', and so on) and the first word of a sentence, since those are capitalised by grammar rather than to name a link. To link a sentence's first word, use the period shortcut (if it's on) or type [[. These prioritise linking over normal typing, so enable only the ones you want. The picker from these shortcuts accepts spaces, so you can type a multi-word title like 'John Smith' before choosing — because there's no closing ']]' to end them, they stay open until you pick a result or cancel. Cancel by pressing Esc or tapping the 'Cancel' row at the bottom of the popup (handy on mobile). Once you cancel, that word stays cancelled as you keep typing past it — retype the leading '.' or capital if you actually wanted to link it. And as before, moving the cursor back into a dismissed span won't reopen the popup.

Aliases

A thought can have multiple alias names alongside its canonical title — think of them as alternative spellings or nicknames. Add aliases under the title in edit mode (each press of Enter commits one). Whenever a thought shows up in the [[ picker — whether you found it by its title or by one of its aliases — each of its aliases is listed as its own option (marked with a small alias icon and the canonical title beneath), right alongside the canonical name. So you don't need to remember the alias: type the thought's title, then pick the alias you want. Picking an alias stamps the wikilink with the alias label, so the prose keeps reading naturally (e.g. 'I keep a [[diary]]') while the link still navigates to the canonical thought ('Daily Log'). Removing an alias automatically rewrites every wikilink that used it back to the canonical title across all your thoughts. Merging two thoughts also promotes the merged-away thought's title into an alias on the survivor — every existing reference keeps reading as the original name and now points at the merged thought. Because an alias is a name, it has to be unique the same way a title is: if you type an alias that another thought on the same canvas already answers to — as its title or as one of its own aliases — Neural Garden offers to merge the two thoughts instead of storing the same name twice. Cancel that prompt and your text is still in the alias field, ready to change to something else.

Merging thoughts

Two thoughts on the same canvas can't share a name, so renaming one to a name that's already taken offers to merge them instead. You'll see the offer whichever way you get there: picking the existing thought from the title dropdown, or just typing its name and pressing Enter. It works at every zoom level — the full card's editor and the lightweight inline title editor you get when zoomed out behave the same way. Merging appends the renamed thought's body to the one it merges into, brings over its aliases, types, typed properties, nested children, and backlinks, promotes its old title to an alias on the survivor so existing references keep reading naturally, re-points the node you were editing at the merged thought, and takes you to it. Choosing Cancel leaves both thoughts exactly as they were — the node you were renaming goes back to its original title. Type definitions can't be merged — every thought using that type would lose it — so the prompt refuses and asks you to rename instead. Merging also needs a connection: it rewrites several thoughts at once, so it can't be queued up offline like ordinary edits. Offline, the prompt says so and nothing is changed — rename to a free name for now, or merge once you're back online.

Tip: Merging is one-way and there's no undo for it, so if you only meant to rename, hit Cancel and pick a name nothing else is using.

Multiple placements

A single thought can appear on multiple canvases simultaneously. Creating a reference placement puts the same thought in a new location — editing it in one place updates it everywhere. Deleting a placement removes that instance without affecting other placements. The thought itself only disappears when its last placement is removed. A thought placed in more than one location shows a small number beside its title; click it for the list of every location, the one you're on pinned at the top, with a filter field once the list gets long (on a touch screen it waits for a tap, so the keyboard doesn't cover the list). Choosing one goes to that copy — scrolling to it on the same canvas, drilling into its sub-garden, or switching gardens with the thought focused. This list is the one place you pick a specific copy: following a wikilink, a backlink, a nested row, or a search result never asks, it goes to the obvious copy or opens the thought in the panel.

Nesting thoughts

Thoughts can contain other thoughts, creating a hierarchy. Drag a thought onto another to nest it, or use the context menu. Nested thoughts appear as a list inside their parent, each row in its own container. Rows look the same wherever the list appears — on the card or in the side panel — only the drag handle is hidden where reordering isn't available. Click a row's title to go to that thought inside its parent. A row's two-line description preview keeps the wikilinks written into it, complete with their type icons, and they behave like links anywhere else: click one to go to what it points at, or right-click / long-press it for 'Go to Node' and 'Open in Panel'. You can expand the parent to see and interact with children directly on the canvas. Each listed item has its own context menu — long-press it on touch, or right-click it on the canvas, for Open in Panel, Move Out, and Delete. On touch, hold an item briefly and it pops under your finger, ready to drag: reorder it within the list, drop it onto another thought to move it there, or drop it on the canvas background to move it out of the parent at that spot. Above the list, a sort control lets each parent keep its own order — Manual (the order you dragged), Title, Type, Created, Edited, or any typed property its children carry, with a caret to flip ascending/descending. Manual is the default; while another sort is active the list follows that order and drag-to-reorder is off. A magnifier at the right end of the sort row opens a search field that narrows the list the same way the backlinks search does — several words (all must match), -word to exclude, 'quoted phrases', type:day to keep one type, with suggested type pills to click and each accepted term shown as a removable pill. It reads titles, aliases, descriptions and typed property values, the same filter applies on the card and in the side panel, and drag-to-reorder pauses while a filter is active because the rows on screen are only part of the list. Both searches are also in the command palette as 'Search Nested Items' and 'Search Backlinks' for the selected thought. Long lists cap their height and scroll, so a parent with many children doesn't stretch its card down the screen — roughly ten plain rows, fewer when they carry images or previews — and the top and bottom edges fade softly while there's more list to scroll in that direction. Drilling into a parent thought opens its own sub-garden canvas.

  1. 1Right-click (or long-press) a thought and choose 'Move Into…' to pick or create a container — the container appears in the thought's place with it nested inside.
  2. 2Or drag and drop one thought onto another.
  3. 3Select a parent and click the + handle on its right side to add a new child inline — or drag that handle onto empty canvas to choose where the child lands.
  4. 4Or right-click the thought and choose 'Suggest Ideas (AI)' to have children suggested for you.

Node types and appearance

Thoughts render differently based on their content. Image nodes show a full-width preview. Link nodes show a preview card: the page's own picture when it offers one, otherwise the site's icon, beside the page title and domain. Plain thoughts show title and a text preview. At different zoom levels, nodes switch between five levels of detail: full card (editor and content — its backlinks, properties, and nested sections unfold as you zoom in close), compact (title, snippet, and child/connection counts), chip (title with child and connection counts), dot-with-label (single-line title), and dot (colored shape only). Type colors and shapes are preserved at all zoom levels for easy identification.

Properties panel

Select a thought and the properties panel opens on the right (desktop) or as a bottom sheet (mobile). Here you can edit the title, body, assign types, set typed properties, view backlinks, and manage nesting. If the thought is placed in more than one location, the same number shown on its card sits beside the title here too — click it to list every location and move the canvas to one while the panel stays open (a location in another garden opens that garden with the thought focused). Editing the title offers the same dropdown of matching thoughts the card does, so renaming to a name that's already taken offers to merge instead of quietly creating a second thought by that name. Changes to type or properties update all placements of the same thought immediately. Nothing you type in the panel is lost on the way out: the check button, Escape in the description, the close button (or swiping the sheet down on mobile), and pointing the panel at another thought — by clicking a wikilink, a backlink, a nested row, another card, or from Cmd+K — all save the edits you'd made first. If that save fails because the new title is already taken, the thought keeps its old name and the merge offer appears; the rest of the edits are kept. The panel stays open while you interact with the canvas — close it explicitly when done. On desktop you can resize the panel by dragging its left edge; the canvas re-centers to fit the remaining space, and your chosen width is remembered across sessions.