Changelog

Everything new in Neural Garden — features, fixes, and improvements as they ship.

Latest

Your garden opens from your device

Every canvas now paints from the copy on your device first — online or offline — with the server catching up quietly behind it. Opening a garden or drilling into a thought is near-instant, offline work can't be lost to a flaky reconnect, and an iPhone crash is gone.

  • Gardens and sub-gardens open near-instantly: drilling into a thought paints from the on-device copy in a few hundredths of a second (down from around a second), and the server's answer merges in silently behind the paint
  • Work you do offline now reliably survives reconnecting on a shaky connection — until every offline change has finished uploading, your device's copy stays the source of truth, so nothing you made disappears mid-sync
  • Fixed a crash on iPhone: slowly zooming into a garden area with a color region could consistently crash Safari
  • Dropping a thought onto a node that already contains it now shows a clear warning — before, the drag just snapped back with no explanation, since a thought can only appear once inside each node
  • Picking an existing thought from the title suggestions at low zoom works again — a regression had it creating the half-typed title (like 'Fl') instead of linking the thought you tapped (like 'Flying')
  • Kinder to phones and batteries: idle background work on the canvas no longer burns CPU while you read, typing does less per-keystroke work, and the AI no longer spins through doomed retries while you're offline

The guide learns you

The Socratic guide now reads far more of your garden before it speaks — including a goal you write and every suggestion you've said no to. It answers and assigns tasks when the moment calls for it, occasionally coaches your thinking itself, and can prepare its suggestions ahead of time so they surface the instant you select a thought.

  • Suggestions understand where they stand: each one is generated knowing the thought's parent (a frame to fit), its siblings (what's covered — and what they collectively miss), its children (go deeper or diverge), its typed properties, and the branch path from root to here
  • The guide is no longer questions-only — a planning branch gets concrete next actions, a thought that asks a direct question gets a compact answer, an untested assumption gets a counterpoint. Socratic questions remain the default, and each suggestion's node type follows its form
  • Give your garden a Goal: a new field at the top of the Garden Intelligence panel that's yours alone — the AI reads it everywhere and steers every suggestion toward it, but never rewrites it
  • Occasionally a differently-tinted Coach note appears below the fan — an observation about your thinking process itself (a branch running deep with no synthesis, siblings circling one angle, drift from your goal) with a suggested move. It's deliberately rare; keep it as a note or dismiss it and nothing replaces it
  • Pre-think (off by default, in Settings): while your canvas is idle, the guide quietly prepares the next three suggestions for your most recently touched frontier thoughts — selecting one pops its suggestions out instantly, no waiting. Watch it work in the Agent Tasks panel (live progress, plus a pulsing dot on the sidebar icon), and it's careful with your API budget: nothing regenerates until a thought's context actually changes
  • Your no's are remembered: dismissing a suggestion is stored on that thought — across sessions and devices — so a rejected angle is never offered again, and every future batch is generated knowing what you turned down
  • In Tree layout, suggestions and their thinking placeholders now slot into the hierarchy like proper children instead of flying to the top of the tree — and they arrive with a soft bubble-up animation, siblings surfacing one after another like thoughts occurring in sequence
  • The /socratic page grew two sections: what the guide reads before it speaks, and Inside the Prompt — a full diagram of what's gathered from your garden, what the AI is actually asked, what comes back, and how your keep/dismiss decisions loop back into future suggestions

Offline now covers your whole garden

Working offline used to only cover each garden's top canvas — drilling into a thought showed an empty space unless you'd opened that sub-garden online first. The background sync now takes every nested level with you.

  • Drill into a thought while offline and its nested thoughts are there — every level of every garden is cached in the background, not just the top canvas, so sub-gardens you never opened online still work on the plane
  • Connection lines are part of the offline copy at every level too: links between nested thoughts, and links that reach into a sub-garden from outside, were silently left out before
  • Fixed a background caching error that repeated in the browser console every few minutes while a garden was open

Layouts that keep themselves tidy

A stability pass on auto-arrange and quick node creation: layouts re-tidy themselves as you zoom, timeline stays sane on big gardens, and the zoomed-out title box reliably does what you tapped.

  • Auto-arrange runs again when zooming changes how much detail thoughts show — tree, grid, and the other layout modes re-tidy themselves about half a second after things settle, instead of overlapping until you nudged a node
  • Timeline (and every auto layout) now measures off-screen thoughts freshly before arranging, fixing the misplaced and overlapping cards that crept in since the canvas started skipping rendering for what's outside your view
  • Picking an existing thought from the title suggestions at low zoom reliably becomes that thought — before, especially on phones, the tap could silently miss and a half-typed title like 'Mu' got created as its own node
  • Backing out of a new thought without typing anything no longer leaves a blank node on the canvas — Escape, tapping away, or starting another thought all clean up the empty draft
  • The merge dialog (shown when renaming a thought to a title that already exists) is now centered and always above the command bar on phones — its buttons were hidden underneath

Everything reads better

A readability pass across the canvas and the AI: long thought titles stay legible at every zoom level, the AI's answers render with real formatting instead of raw markdown, and the Garden Intelligence summary becomes a rich-text field.

  • Long titles are readable at every zoom: the compact card and chip views give titles two lines before trimming (the card grows to fit — including while views morph as you zoom), and the full card always shows the complete title, however long
  • Hover over any thought whose title is still cut off and the full title appears as a tooltip — no zooming in just to read a name
  • The AI's answers in the command bar now render properly — headings, bullet lists, numbered lists, dividers, and code appear formatted instead of as raw ### and --- markdown characters
  • The Garden Intelligence summary is now a rich-text field using the same editor as thought descriptions: generated summaries render with real headings and bullets, and you can edit or rewrite them in place — what you write is fed to the AI as garden context, formatted for it to read well

Big gardens stop tripping over themselves

Gardens with lots of thoughts — like a Daily garden with months of day entries — were flooding the server with one save request per thought every time they opened, hitting the rate limit and jamming everything else. Saves are now batched, so large gardens open quietly and stay responsive.

  • Opening a large auto-arranged garden no longer fires a save request per thought — the whole layout persists in one batched request, so the console stays quiet and the rate limit stays out of your way
  • Adding a date to the Daily garden is instant again — /today, /yesterday, /date, and the calendar picker were slow or failing because layout saves had exhausted the server's request budget
  • The same batching now covers every multi-thought move: align, tidy up, arranging a selection, restoring a saved view, dragging a subtree or a color region's contents, and undo/redo of those moves

At home on Windows and Linux

A quality-of-life pass for everyone not on a Mac: Ctrl+scroll now zooms the canvas the way you'd expect, every shortcut hint shows your keyboard's keys instead of Mac symbols, and a broken redo shortcut works again on all platforms.

  • Hold Ctrl and scroll to zoom the canvas toward your cursor on Windows and Linux — just like Cmd+scroll on a Mac. Previously, pressing Ctrl triggered the Mac-style eagle-eye fly-out instead, hijacking the view every time you tried to zoom or used any Ctrl shortcut
  • The eagle-eye view (hold the Control key to see your whole garden, release to dive back in at your cursor) is now a Mac-only gesture, where the Control key is free — and it's finally documented in Help, with its tuning sliders shown only on Macs
  • Shortcut hints across the app now match your keyboard: on Windows and Linux, the Keyboard Shortcuts reference, the command palette, and tooltips show Ctrl+K, Ctrl+Shift+Z, and Del instead of Mac's ⌘, ⇧, and ⌫ symbols
  • The redo keyboard shortcut works again — Cmd/Ctrl+Shift+Z had quietly stopped doing anything on every platform — and Ctrl+Y also redoes on Windows and Linux, matching the convention there
  • Keyboard shortcuts no longer break when Caps Lock is on

The AI becomes a Socratic guide

AI suggestions move out of chat and onto the canvas itself. Press + on a thought and three suggested paths fan out as real, movable nodes — sketched in dashes until you decide. The guide asks short questions instead of writing answers, explores upstream as well as down, and stays out of your thinking until you keep something.

  • Press + on a thought (or ask Cmd+K to expand it) and three AI suggestions fan out as real nodes on the canvas — drawn dashed and dimmed with dotted connections at every zoom level, so they read as sketches next to your own thoughts. Keep one with ✓ or just start editing it and it becomes an ordinary thought; dismiss with ✕ and a fresh path grows in its place
  • Direction carries the meaning, not edge labels: the + on the right explores where an idea leads — a next step, a contrasting angle, a surprise — while the + on the left explores what it rests on, adding prerequisites and broader context as parents. Cmd+K understands both: “expand this” grows downstream, “what does this require” or “explore prerequisites” grows upstream
  • Suggestions are short Socratic prompts, not essays — a 3–5 word title over a single question pointing at a gap worth opening. The guide reads the thoughts already around the branch so it never repeats or rephrases what you have, and dismissing a suggestion steers future ones away from that angle
  • Until you keep them, suggestions are read-only sketches: the regular node tools stay hidden, they can't be nested or receive children, and they're excluded from search, clustering, and garden intelligence — your thinking outranks the AI's
  • Asking Cmd+K to explore shows shimmering placeholders at the node instantly, already connected to their branch — so auto-arrange keeps them in place while the guide thinks
  • Open Cmd+K empty and a Suggested section offers AI commands fitted to the moment — with a thought selected, things like “Expand on …” and “What does … require?”
  • The assistant can now also move and arrange nodes, place a linked duplicate of a thought, un-nest children, and create color regions — and it sees your whole canvas, including what you have selected
  • A new page on the website — /socratic — explains the thinking behind the guide: questions over answers, one tier at a time, and why the effort staying with you is the point
  • Typing a capital letter no longer triggers the wikilink shortcut on “I”, “I'm”, “I'll” or at the start of a sentence
  • Fixes: collapsing a thought's subtree now hides the connection lines along with the thoughts; a thought created from the + button's title input connects to its parent again; large gardens no longer fail to load nested children (requests were hitting a browser URL-length limit); deleted or duplicated gardens no longer linger in the My Gardens panel; and the AI creating a thought with an already-used title no longer errors

On the trail of the last mobile crashes

Recent releases made the app far more stable on phones, but rare crashes remain. Now, when a tab dies, Neural Garden notices and reports what happened — so the remaining causes can be found and fixed — plus a small canvas annoyance fixed at far zoom.

  • If your phone's browser force-closes the app tab (usually the system reclaiming memory), Neural Garden now notices on your next visit and sends a crash report — on Android, Chrome itself also reports the crash directly. Reports work on iPhone and iPad too, where the browser gives no crash signal of its own
  • Crash reports carry technical details only — browser and device type, memory usage, how many thoughts were on screen, and which canvas effects were on — never the content of your thoughts; the Mobile help article documents exactly what's included
  • Zoomed all the way out to dot view, dragging in the blank space beside a dot (where its hidden title sits) no longer grabs the thought — it pans the canvas as you'd expect; the dot itself still drags the thought

A cleaner canvas and a panel you can resize

A polish pass across the canvas and panels: resize the thought panel to fit your work, reach panel actions on your phone, and a tidier desktop canvas with steadier orientation rings.

  • The thought panel on desktop is now resizable — drag its left edge to make it wider or narrower, and the width you pick is remembered next time; the canvas re-centers to fit whatever space is left
  • Panel row actions (gardens, bookmarks, saved views, trash) are now reachable on touch — a ⋮ menu replaces the hover-only icons on phones, with a few actions renamed for clarity (“Update to current” → “Update”, “Delete permanently” → “Delete”) and the “Duplicate” action removed from your own gardens
  • Cleaned up the desktop canvas by removing the bottom-left zoom, fit, and lock buttons — zoom still works on scroll or pinch, fit view on the F key, and canvas lock lives in Canvas settings — and the AI prompt and settings icons moved to line up with the layout controls
  • Color regions now appear only in Manual arrange mode, where they stay anchored to the thoughts you place; outside Manual the option to add one is hidden and existing region bookmarks dim with a note, so auto-arrange no longer leaves colored zones stranded over unrelated thoughts
  • The canvas orientation rings fade out toward the edges again, centered on your garden's origin, restoring a subtle sense of depth that was lost in the recent background rework

Wikilinks save instantly again

Editing a thought that links to others is snappy once more — saving no longer lags or leaves the editor stuck while your local copy catches up in the background.

  • Saving a thought whose description contains a [[wikilink]] is fast again — it could previously stall for several seconds, or leave the editor open with the save unfinished, while the app re-synced your local database in the background; that background work now runs in far fewer, batched steps
  • The "Smart detail" canvas setting is now labeled "(variable LOD)" so it's clearer that it varies how much detail thoughts show as you zoom

Cooler and steadier on your phone

A deep pass on mobile: the whole canvas background moved to one efficient layer that no longer crashes phones, your local data moved off the main thread so the app runs cooler, and the map's glow, regions, and rings got better along the way.

  • The canvas background — orientation rings, type zones, and color regions — is now drawn on a single lightweight layer instead of a separate layer per shape, ending the out-of-memory crashes that could kill the tab on phones when zooming with several regions or type zones on screen
  • Your local data now runs in a background worker, so browsing, editing, and syncing no longer compete with drawing — the app stays responsive and your phone runs noticeably cooler
  • Type zones now read as soft light glowing on the dark canvas (brighter and a touch larger), like real terrain rather than a flat tint
  • Color regions respond to touch — drag the label to move a region, pull the bottom-right corner to resize, and tap to rename or recolor, all with a finger
  • Orientation rings are now a calmer fixed grid — evenly spaced with a subtle bright/soft rhythm, and no more flicker or brightness pulsing as you zoom
  • Rings, type zones, and color regions are on by default on phones now that they're light enough to always show, and the smooth card-to-dot morph is on for mobile too
  • Fixed a canvas flick when a pinch ends with one finger lifting before the other

Your canvas becomes a place

A full background layer for the infinite canvas — orientation rings, automatic type territories, and color regions you draw yourself that now travel with your garden.

  • Subtle distance rings around the canvas center replace the old dot grid — their curvature always points home, and because ring spacing is fixed in the world, sparse rings mean you're zoomed in close while dense faint rings mean you're far out
  • Type zones tint the neighborhood around each type's most important thought with that type's color, sized by how much of your garden it represents — an automatic map of where your ideas live, with no setup
  • Draw your own color regions (right-click → Add Color Region): name them, recolor them, resize from the corner, and grab the handle at the top to move a region together with every thought inside it
  • Regions are saved with your garden and sync across devices and collaborators — they appear in the Bookmarks panel as colored entries, and clicking one flies over and frames the whole region on any screen size
  • Bookmarks now belong to the canvas you're on — drill into a thought and its sub-garden keeps its own bookmarks — and new bookmarks appear in the list instantly instead of after a refresh
  • New Node glow toggle in canvas settings for the soft halo behind zoomed-out thoughts (now off by default for a cleaner map)

Lighter on its feet

  • Clustering now runs in a background worker, so organizing related thoughts no longer freezes the canvas
  • The canvas does noticeably less work while idle and during drags — animated edges pause when nothing moves, off-screen work is culled more aggressively, and type zones render at a fixed GPU cost at any zoom (fixing a crash when pinch-zooming on phones)

A smoother ride from card to dot

Zooming got a full polish pass — cards unfold in stages, detail levels morph into one another on desktop, and the deepest zoom-out stays tidy, readable, and clickable.

  • The full card now opens in a condensed stage at 80% zoom — title, content, and counts — and unfolds its properties, backlinks, and nested sections as you zoom in past 100%
  • On desktop, detail levels morph smoothly into one another as you zoom — the dot and title hold their place while the card materializes around them — instead of switching in steps (phones keep the lighter stepped views)
  • At the deepest zoom, dot labels fade away gracefully to keep the overview clean — hover over or select any dot to fade its name back in, and when a name is showing, the name itself is clickable, not just the dot
  • Thoughts with connected children keep their name and collapse chevron visible at dot zoom, connection lines now point at the dot's center instead of stopping short, and selecting a tiny dot draws a clean circle around it
  • Every garden can now zoom all the way out to the 10% dot-map overview — small gardens included

Aliases show up when you link

  • The wikilink picker now lists each thought's aliases as pickable options beneath its title — search for “Daily Log”, pick “journal”, and the link reads as the alias while still pointing to the same thought (previously an alias only appeared if your search text happened to match it)

Faster ways to start a wikilink

Optional shortcuts get you into the wikilink picker without typing brackets, plus a friendlier way to back out.

  • New optional shortcuts open the wikilink picker without typing `[[` — a period at the start of a sentence, or a capital letter at the start of a word — each toggled independently in Settings → Wikilinks (both off by default)
  • Multi-word titles now work with these shortcuts — typing a space no longer closes the popup, so "John Smith" stays one search instead of splitting in two
  • Cancelling a shortcut popup now sticks — it won't pop back open just because your caret passes over the text again, only on a fresh edit
  • Added a tappable Cancel row at the bottom of the popup so it's dismissible without a keyboard
  • Fixed the wikilink dropdown reappearing right after you'd already dismissed it

Canvas zoom now reads more like a map

Zooming out settles thoughts into clear, consistent levels of detail instead of continuously resizing them — closer to city vs. country labels on a map.

  • Thoughts now settle into one of five clear detail levels as you zoom, instead of continuously growing or shrinking — importance decides when a thought gets more detail, not how big it draws
  • A new mid-level view shows a thought's icon, title, and child/link counts before it's small enough to collapse into a plain dot
  • Recently updated and well-connected thoughts bloom into full detail first as you zoom in
  • Your most important thoughts keep their name visible even at the deepest zoom-out
  • Town view now pulls connected thoughts toward each other instead of scattering them across the map

Small fixes and polish

  • Hover tooltips now appear on every canvas toolbar and sidebar button (zoom, filter, search, settings, account, AI suggestions) — several previously showed nothing on hover

Town view and zoom-out, rebuilt for mobile

Town view and zooming out are now smooth and crash-free on phones — the whole-garden map holds up at any size, thoughts simplify gracefully as you pull back, and zoom-out stops where your thoughts actually are.

  • Town view no longer freezes or crashes on mobile, even for large gardens — the whole-hierarchy map renders far more lightly and stays responsive while you pan, zoom, and drag
  • Zooming out is crash-free everywhere: thoughts collapse to simple dots as you pull back instead of straining the browser, while their soft glow stays so they keep their presence on the overview
  • Zoom-out now stops once your thoughts fill the screen instead of drifting off into empty space — the limit adapts to how spread out your garden is, on desktop and mobile
  • Town view opens instantly where you left it and lays out the same way every time, so large maps stop re-shuffling on each visit
  • Selecting a thought to dim the rest is now a lighter fade, and it's off by default on phones (on elsewhere) — toggle it anytime in canvas settings

Backup, Restore, and Settings refinements

Backup & Restore is clearer and safer, and Settings gets a tidy-up.

  • Restore is now a simple choice between Import (bring everything in as copies) and Reset (put your thoughts back exactly where they were), including a new 'Reset to snapshot' that restores from an automatic backup
  • Restoring a backup keeps your custom types intact — they're matched by name so nothing gets dropped or duplicated
  • Light/dark mode now lives in Settings, alongside a simpler Appearance section and a new automatic-embeddings toggle
  • Imported and adopted top-level gardens can now be deleted
  • Fixed the demo's daily garden being incorrectly marked as your home garden

Back up and restore your entire account

A new Backup & Restore section in Settings captures everything you own — every garden, sub-garden, thought, connection, and type — into a single file you can save, schedule, restore, or mirror to Markdown.

  • One-click full backup downloads everything you own as a single file — all gardens including the nested sub-gardens that per-garden export can't reach, plus thoughts, connections, wikilinks, clusters, bookmarks, and your types
  • Restore from a file two ways: 'Import as copy' brings everything in as fresh thoughts (safe to load repeatedly), or 'Restore in place' puts your original thoughts back exactly where they were and undeletes anything you'd trashed
  • Automatic snapshots on a schedule you choose — every 6 hours, daily, or weekly — kept in your browser to download, restore, or delete anytime
  • Mirror your garden to a folder of Markdown files (works with git, Dropbox, Drive, or iCloud) — each thought becomes a portable .md file with wikilinks and bullets preserved, re-synced after every auto-backup
  • Load demo data with one click to explore a fully-populated example garden — a year of daily notes, projects with nested tasks, book notes, people, and more
  • The old settings-level Import/Export box is gone — it only ever saw your local home garden. Whole-account Backup & Restore and the garden menu's per-garden export now cover everything it did and more

See your whole garden at a glance — Town view, focus dimming, semantic zoom

New ways to read a big garden: a draggable map of every nested thought, a focus mode that dims everything but what you tapped, and zoom that keeps your most important thoughts legible the longest.

  • New Town view arrange mode lays your entire nested hierarchy out as one living map — children cluster around their parents with gentle physics, nothing overlaps, and dragging a thought rearranges the map around it without ever disturbing your real layouts
  • Town view remembers where you left it and zooms out far enough to fit even a sprawling map fully on screen
  • Focus dimming (on by default, toggle in canvas settings) fades everything except the thought you select and its direct neighbors — like a map highlighting the place you tapped. Press Escape to bring it all back
  • Semantic zoom keeps your most-connected 'landmark' thoughts showing their card as you zoom out and everything else shrinks to dots, so the things that matter stay readable at every scale
  • Zoomed-out nodes now show the correct type color and icon for typed thoughts, matching the full card

Readable notifications on mobile

Pop-up notifications now sit above the bottom dock and match the dark theme, so you can actually read them on your phone.

  • Toast notifications no longer hide behind the Nexus dock at the bottom of the screen
  • Notifications now use the dark surface instead of a bright tint that clashed with the rest of the app
  • Notifications match the dock's rounded pill shape and keep an even gap from the screen edges, clear of the home indicator

See at a glance when thoughts are locked

  • While thoughts are locked, the lock button in the selection toolbar shows a blue open-lock icon instead of a near-identical padlock, so it's obvious the placement is held and one click releases it

Breadcrumbs follow the path you actually took

When the same thought lives in more than one place, drilling into a copy now shows the route you actually took to get there.

  • Each copy of a duplicated thought shows its own parent trail in the breadcrumb bar, so navigating back up always lands where you expect instead of jumping to one fixed path

Never lose your thoughts off-screen

Panning now gently stops at the edge of your thoughts, so a stray swipe can't fling the canvas into empty space.

  • Once you have at least one thought on the canvas, you can push the outermost node almost to the edge of the screen but never so far that everything leaves the view — no more hunting for where everything went
  • Zooming out near the boundary now glides your thoughts smoothly back into view instead of snapping abruptly
  • The boundary adapts to each layout and zoom level, and timeline views keep their own tailored scrolling

Steadier on mobile

Fixed a couple of crashes that could happen on phones while the bottom sheet was open.

  • Opening or resizing the bottom sheet while dragging no longer locks the app into a resize loop that could crash the tab
  • Zooming to fit on a small screen now stays within safe bounds instead of pushing the sheet into a bad state

Lock thoughts in place

Pin a layout you like — locked thoughts hold their spot and won't be nudged by a stray drag or an auto-arrange.

  • Select one or more thoughts and hit the new lock button in the selection toolbar to freeze their position — selecting, editing, and connecting all keep working, only the placement is held
  • Locked thoughts render slightly dimmer so you can see at a glance what's pinned, and the button flips to Unlock so you can release them anytime
  • Align, Tidy Up, and the other arrange tools now skip locked thoughts instead of shuffling them around
  • Locked thoughts also hold their spot when you zoom out — the spacing that keeps thoughts from overlapping treats them as fixed instead of nudging them aside
  • The delete button is back in the selection toolbar on mobile even when a single thought is selected

Capture a backlog idea without leaving the canvas

Admins can now jot a roadmap task straight from the command bar — no drilling into the Admin: Roadmap board first.

  • New 'Add to Backlog' command (Cmd+K, admins only) drops a fresh task into the Roadmap's Backlog column and opens it in the side panel in edit mode, so you can start typing the idea immediately — the same one-keystroke flow as 'Add to today'

More ways to follow a wikilink

Wikilinks now give you a choice: jump the canvas to a thought, or peek at it in the side panel without leaving where you are.

  • Shift-click any wikilink to open its target in the side panel instead of navigating the canvas to it — handy for a quick look while you keep writing
  • Right-click a wikilink (or long-press on mobile) for a menu with 'Go to Node' and 'Open in Panel', so both actions are always one tap away

A calmer Daily timeline

The Daily garden now opens as a clean newest-first vertical timeline, and moving around it lands where you expect.

  • Daily defaults to a newest-first vertical timeline, so today's entries sit right at the top when you arrive
  • Drilling into a day and coming back fits the view to the timeline itself instead of overshooting
  • Panning now reaches the edges of your entries rather than stopping at their centers

Fold everything under a heading in one click

The outliner's "collapse/expand everything underneath" gesture now works on headings and body text, not just bullet lists.

  • Option/Alt-click a heading's chevron to fold every sub-heading, paragraph, and list beneath it at once — then Option/Alt-click again to open it all back up, the same gesture you already use on nested list items
  • The recursive fold also works on the chevron in front of a paragraph or quote that sits above a list

Live updates — captures and agent results appear instantly

When a capture lands or the AI agent finishes classifying, your open canvas now updates on its own — across windows, no manual reload.

  • Captured pages and re-classified nodes show up live on whatever garden you're viewing — including the Inbox's nested preview on your home canvas and the sidebar's red dot
  • Each Agent Task links straight to where the work happened (your Inbox), so you can jump in and review with one click
  • Smoother Agent Tasks panel — a single scroll area with a scrollbar that only appears while you're scrolling

Agent Tasks — your captures, classified by AI

A new Agent Tasks area (the check-circle icon in the sidebar) is where background AI work shows up. Capture a batch of links and the agent classifies them into the right types — using your own AI key, on your command.

  • New Agent Tasks panel collects background AI work. Log in after capturing and a red dot flags items needing attention — '12 links need processing'. Hit play and watch them get typed, with a running history of past runs below
  • The AI reads each captured page and assigns the right type, a clean title, extracted properties, and a one-line description — so a saved company homepage becomes a properly-named Org, not a bare link
  • AI classifies what a page IS, not what it's about — a startup's site is an organization even when the startup builds AI, instead of being mistyped
  • Turn on Auto-run to have new captures processed automatically without clicking play each time
  • Captured links now refresh on the canvas when you return to the tab or when a run finishes — no manual reload to see them take their new shape
  • Developers: the Ghost, Dock AI, and new Classifier prompts are now tunable from one consolidated AI prompt control panel with tabs

Universal web clipper — capture any page into Inbox or Today

The Chrome extension now works on every web page, not just Beatport. Pages are auto-typed from their structured data (recipes, articles, movies, podcasts, products, apps, code repos, more) and land in your Inbox and/or today's Day node — your choice, persisted.

  • Capture any page with one click — the server detects the type from JSON-LD or OpenGraph and fills the matching properties (recipe ingredients + instructions, movie director + runtime, podcast host, product brand + price, etc.). Pages without structured data land as a typed link with their og:description as the body
  • Recipes auto-populate full ingredient lists and step-by-step instructions in the thought body, so the capture is immediately useful even before you organize it
  • Beatport album pages now capture as rich Album nodes — title, artist + label as wikilinks, catalog number, release date, cover artwork with a corner 'open on Beatport' link. Album cards match the visual rhythm of Track cards — redundant fields (URL, artist, artwork URL) collapse behind the hidden-properties toggle since they're already represented visually
  • Two destinations toggle: Save to Inbox (a renamable singleton in your home garden) and Add to Today (places a reference inside today's Day node). Both default ON and persist across captures
  • Re-capturing the same URL is safe — the button shows 'Already captured · Open in Garden' before you click, and any new destination toggles you've enabled get added without duplicating the thought
  • Album, Movie, and Video nodes now display their cover artwork in the node card, matching how Track nodes already worked

Sharper type system — refreshed seed types, new Ethereal type, type-creation conventions

All 45 built-in types got a once-over: shorter descriptions, tighter aliases, unique icons, and a cleaner top-level hierarchy. A new style guide ensures any future type — human-authored or AI-suggested — follows the same conventions.

  • New Ethereal type for non-material entities (replaces the unused Abstract type). Adopts a misty periwinkle color so it sits visually apart from AI, Org, and Person
  • Every built-in type now has a one-line description that's easier to scan in pickers, search, and the dock — no more verbose paragraphs crowding the UI
  • Aliases pruned to drop ambiguous overlaps (item, library, class, goal, initiative) so type-matching feels more decisive when you create a new node
  • Org color shifted to a bluer indigo so it stops competing with AI's purple — easier to tell apart at a glance
  • Type definitions in the Types garden now display with their own icon and color instead of the generic Type icon — each type-def card now visually previews itself
  • When you create a property linked to a type, the name and the type pill are now two separate slots: edit the property's semantic name freely while the linked type travels alongside it. A '+ type' button gives you a direct affordance for linking without needing to know the [[ shortcut
  • New type-authoring style guide built into the app — AI features that propose types now follow the same naming, alias, description, and icon conventions a human would, so suggestions feel native instead of generic

Unified picker — consistent search across the whole app

Every place that pops a search dropdown (title field, body wikilinks, slash commands, type-property picker, Nexus command bar) now uses the same picker primitive. Same look, same keyboard, same selection behavior across all five surfaces.

  • Pickers now feel the same everywhere — type a title, search for a thought via [[wikilink]], run a / slash command, or pick a type in the schema editor and you get identical visuals, keyboard nav, and selection behavior
  • Pickers reposition automatically when they'd run off-screen — flip above the anchor if there's no room below, follow the cursor when the mobile keyboard pushes the input up
  • Mouse hover only updates the selection on actual movement — the dropdown no longer silently grabs the row the cursor happens to be sitting over when it opens
  • Tapping a row on mobile now picks it (previously the row turned grey but never applied)
  • Canvas toolbar fades out when you open the command bar so the canvas chrome doesn't bleed through behind it
  • The Nexus command bar's results panel now uses a solid dark background — no more flicker of the canvas showing through while the panel opens

Beatport tracks, Track type, and tidier property nodes

Drag a Beatport URL onto the canvas (or use the new Chrome extension) and Neural Garden builds a fully-typed Track node — artwork, player, artist + label wikilinks, all linked into a 'Music Tracks' garden.

  • New Track type with DJ-ready fields (BPM, key, mix name, genre, label, release date, ISRC, catalog number, artwork). Tracks created from Beatport auto-nest the Artist and Record Label thoughts inside the track's own sub-garden so the whole release graph is one click away
  • New Chrome extension adds the current Beatport track to your garden with one click — bypasses the bot wall that blocks server-side scraping
  • Drag-drop, paste, and the canvas context menu all recognize Beatport track URLs and run the same ingest pipeline
  • Track nodes show album artwork with an overlaid Beatport player that loads on click — the artwork stays visible behind the player, and an 'open on Beatport' button is always one tap away
  • Property schemas now support a 'Hidden' flag — noisy technical fields collapse behind a 'N hidden properties' toggle at the bottom of the node
  • Wikilink type icons stay live: when a referenced thought changes type, every wikilink that points to it updates immediately across every canvas
  • Picking an existing thought from a wikilink popup now nests that thought inside the source, matching what creating a new wikilink already did

Small fixes — nesting, mobile scroll, arrange-aware fit

  • The + button on a thought's nested list reliably creates a new child when you type a name and press Enter. It used to silently nest an unrelated fuzzy-search match — or do nothing if no match existed
  • Mobile scroll is back on non-canvas pages — help, changelog, and landing pages scroll with a single finger again
  • Auto-fit on drill-down respects the active arrange mode, so the centered node lands where you can see it instead of behind chrome

A mobile pass — bigger text, smarter dock, snappier editor

Phone-sized typography, a dock that reflects your real canvas nodes, multi-word search across types, and a swipe gesture for indent/outdent in the editor.

  • Mobile typography sized for phones. Titles, body, panels, nested children, and backlinks all step up; body sits at 16px so iOS stops auto-zooming inputs. Desktop unchanged
  • The mobile dock shows your actual nodes. Each icon is a top-connected node's type icon in its type color — tap to focus that node and open its panel
  • Multi-word Nexus search matches across title, body, alias, and type. 'event birthday' finds an Event-typed thought whose body mentions birthday. Results show type icons
  • Type '/' at the start of Nexus to filter to commands only, mirroring '>'
  • Wikilink and slash popups re-measure on update, flip above the cursor when there's no room below, and center on-screen when the keyboard would cover the anchor. Pressing [ around a selection keeps the inner text selected so you can type to filter
  • Swipe right on a line in the editor to indent (or wrap as a bullet); swipe left to outdent — or unwrap a top-level item to a paragraph
  • Timeline ↓ fits every phone width — one consistent formula for base width and max zoom from iPhone SE through Pro Max
  • Backlinks sort newest first in both node and panel

Smoother mobile canvas — pinch over nodes, momentum, timeline polish

Pinch-to-zoom works anywhere including over cards, single-finger pan works over Timeline cards too, and flicking the canvas carries momentum like native iOS scrolling.

  • Pinch-to-zoom works over nodes. Any 2-finger gesture zooms cleanly, cancels any in-progress drag, and keeps the world point under your fingers anchored
  • Single-finger pan works over cards in Timeline modes. Drag is disabled where the layout owns positions, so cards no longer create dead zones
  • Momentum scrolling on touch — flicking the canvas coasts and decelerates naturally instead of stopping the instant your finger lifts
  • Long timelines feel less choppy. The viewport-clamp loop caches its layout measurements between frames
  • Page-level pinch zoom no longer stacks on top of canvas zoom on iOS Safari, so cards stop growing past their cap

Timeline view, redesigned for daily journaling

A new vertical Timeline ↓ stacks dated thoughts like a journal, and the horizontal Timeline → gains a date rail above the cards.

  • Timeline ↓ stacks dated thoughts vertically with a date rail on the right — weekday labels colored by Sat/Sun, month dividers, sticky month/year header, and a + button between dates to fill in a missing day
  • Timeline → adds a synchronized date rail above the band of cards — markers follow the nodes when you pan instead of sticking to the top
  • Entering a Timeline view auto-fits to a comfortable reading width and centers today. Max zoom is capped per device so titles stay legible
  • Scrolling stops cleanly at the edges. Timeline → also locks the cards' top edge so vertical scroll can't push them out of view
  • Timeline ↓ defaults to newest-first, Timeline → to oldest-first. Manual sort still wins

Calmer collaboration — per-sub-garden cursors, smarter shared wikilinks

Each sub-garden remembers its own arrangement, cursors stay scoped to the canvas you're on, and wikilinks in shared gardens render correctly even when the target is out of reach.

  • Arrangement is remembered per sub-garden. Set Outline on Home and Grid in a sub-garden — they stay independent. New sub-gardens you've never visited start on Manual instead of inheriting the previous garden's layout
  • Cursors and arrange-mode toggles are scoped to the sub-garden you're in. Different sub-gardens of the same shared garden no longer share presence
  • Wikilinks in shared gardens include their title even for collaborators who can't reach the target — the reference stays readable when the click isn't
  • Inaccessible wikilinks render faded with a 'not-allowed' cursor and tooltip, instead of attempting a navigation that lands on an error

Read nested thoughts without opening them

Each nested child shows a short body preview under its title, and hovering any child opens the same rich tooltip wikilinks have. Tooltips work across gardens too.

  • Two-line body preview under each nested child. For link children, the preview is suppressed when it would duplicate the imported page summary
  • Hover any nested child for the full tooltip — title and formatted body, no need to drill in. Works for default rows, image children, and YouTube children
  • Cross-garden tooltips render fully now. Hovering a wikilink or nested child pointing to a thought in another garden loads its body from the server when missing

Drop or paste any link onto the canvas

Drag or paste a URL onto the canvas and a Link node appears with the page's title, description, and preview card already filled in.

  • Drag a URL from the address bar onto the canvas — a new Link thought lands at the drop point with title, description, and preview image fetched server-side. Falls back to the hostname if no metadata
  • ⌘V on empty canvas pastes the URL at the viewport center. Right-click → 'Paste Link' drops it at the cursor. YouTube and image URLs continue to route to their own types
  • If a Link with the same title already exists, the paste becomes a reference placement of that existing thought

Wikilinks stay live — even across sub-gardens

  • Cross-canvas wikilinks reflect renames in real time, including renames flowing in from collaborators
  • Newly-created wikilinks stop getting strike-throughs when the target hasn't quite landed in the local cache yet. They only cross out when the target is actually deleted
  • Wikilinks save smaller HTML — the live title is resolved at render time from a single source. Aliases keep their custom label

Outliner-style descriptions, typed wikilinks at a glance

Bulleted lists inside any description fold and unfold like an outliner, and wikilinks to typed thoughts show their type's icon in its color.

  • Logseq-style collapsible bullets. Any list item with children gets a chevron — click to fold. Works in view mode too. Option/Alt-click folds the whole sub-tree (Finder gesture). ⌘/Ctrl+. folds the branch under the cursor while typing. Collapse state is saved across reloads
  • Numbered lists collapse too. The chevron sits next to the number instead of replacing it, so renumbering doesn't get lost
  • Wikilinks wear their target's type — the type's icon appears in its color right before the link text. Baked in at insert time so it shows up for cross-garden links too; existing wikilinks self-heal on next view
  • New /Body Text slash command resets the current block to a plain paragraph from inside any heading, quote, code block, or list item
  • Bullet markers tone down to read as visual rhythm rather than content; the chevron column lines up whether or not a branch has children
  • Panel edit mode no longer flickers bullets in place of chevrons on first paint

Daily journaling, smarter Cmd+K, calmer edits

A Daily sub-garden with one Day node per date, slash commands to drop wikilinks to any date, and Cmd+K that picks the best match instead of always offering Ask AI.

  • Daily journaling. /today, /yesterday, /tomorrow, /date drop wikilinks to dates — Day nodes live in a dedicated Daily sub-garden sorted chronologically. Cmd+K → 'Add to today' jumps to today's description ready to write. Event.day now links to a Day with a calendar picker
  • Smarter Cmd+K. Ask AI only shows up when nothing else matches. Type 'add' and 'Add to today' is selected; type a title and that thought is selected. 'Open today' renamed to 'Go to Today' to mirror 'Go to Home Garden'
  • Edit mode keeps your cursor on the description. The pencil on an existing thought drops the cursor at the end of the body so you can keep adding lines. Brand-new thoughts still focus the title. ⌘/Ctrl+Enter and Escape both save and exit
  • F key cleans up before fitting. In auto-arrange modes pressing F re-runs the layout in the same beat as the fit-view animation
  • Auto-arrange respects pending edits. New nodes stay under your cursor while you name them; commit or discard, then they slide into place

Aliases, typed property links, and calmer chrome

Aliases for thoughts, a quieter canvas top, and typeless-by-default new thoughts. Book/Movie/Music now reference typed people instead of free-text.

  • Aliases are first-class. Add nicknames or alternative spellings; typing one into [[ search surfaces the canonical thought as an alias row (e.g. 'diary' → Daily Log) and picking it stamps the link with the alias label. Removing an alias rewrites every wikilink that used it back to the canonical title in real time
  • Book.author / Movie.director / Music.artist now reference Author / Director / Artist types. Type [[ to pick or create — the new thought lands already typed. Backlinks include the source property name as context
  • New thoughts start typeless. Cmd+N, double-click, drop-file all create thoughts with no type. Adding a child no longer copies the parent's type onto the child
  • Canvas top consolidates. The AI orb sits inline with the breadcrumb pill in a single row — ~80px of vertical space back. The sparkle button on nodes is gone (AI is moving to ambient surfaces); + buttons show only on selection
  • Mobile top bar declutters: user icon moves into the sidebar, Share is reachable from right-click and ⌘K instead of top-right
  • Smart fit-view subtracts the breadcrumb pill, toolbar, and Nexus dock before framing — drill-in/out and breadcrumb-back no longer hide the centered node behind chrome
  • Side panel and canvas card share one body component, so view ↔ edit no longer shifts content under the cursor. Quieter accordion sections with tween-based expand/collapse
  • Wikilinks render in the foreground color with a dotted underline rather than saturated link blue
  • Breadcrumb polish: chevron after the home icon when nested, ellipsis collapses long chains and stays clickable on mobile

Live renames and structured property values

Renames flow through every wikilink and backlink in real time, property values accept wikilinks, and the side panel finally mirrors the canvas card's accordion shape.

  • Wikilinks read the live title of their target. Rename 'Author' to 'Writer' and every [[Author]] updates immediately. Backlink chips and the highlighted word inside each snippet update too. Propagates across every placement of the same thought
  • Wikilinks inside property values. Type [[ in any string property; if the property is linked to a type, the created thought is auto-typed (Book.author = [[New Author]] lands typed as Author). Backlinks show the source property name
  • Link a property to a type by typing [[ in the property NAME field. Type-links travel by slug across publish, so they survive reseeds
  • Renaming a typed property migrates every existing instance's value to the new key — no more silent orphans
  • Side panel view mode mirrors edit mode's accordion sections — properties, backlinks, nested children all share open/closed state. Drilling in/out frames around an open panel
  • Admin types-garden publish flow is sturdier: consistent draft count, transactional publish, and a future-stamped publishedAt now self-heals

Smoother nesting, wikilinks that flow

Inline + and the new-wikilink flow now create thoughts directly inside the sub-garden you're in. Brackets auto-pair, selected text wraps in place, and backlinks show the surrounding sentence.

  • Inline + and the AI sparkle on a nested-children list create the new thought directly inside the parent's sub-garden — no transient root placement, no extra round-trip
  • Pasting or dropping a YouTube/image URL into a sub-garden keeps the new node consistent end-to-end so edges drawn against it survive a refresh
  • Brackets auto-pair: [ → []; second [ → [[]] and opens the popup. Backspace deletes both brackets at once
  • Press [ around a selection to wrap it; press [ again to turn it into a wikilink with the selected text in the search
  • Picking 'Create new' on a wikilink nests the new thought inside the one you're writing — no more vanishing to (0, 0)
  • Backlink chips show the surrounding sentence with the link highlighted. Backlink contexts update on save
  • Title fields treat [[ as literal text — the always-on title autocomplete still works

Sturdier delete + restore, smoother navigation

  • Deleting a parent with grandchildren no longer wipes the grandchildren — direct children and their sub-canvases move up intact
  • Restored thoughts re-appear on the canvas immediately and the viewport centers on them
  • ⌘K, wikilinks, and backlinks all drill into the target with the matched node already centered — no parent-canvas flash
  • Cross-garden link clicks change the URL once instead of routing through the root and then drilling in. Easier to bookmark and share
  • Right-click works on dot, dot-label, and compact LODs — no more falling back to the browser's native menu
  • ⌘K matches against aliases. Type 'luna' to find a Moon thought, with an 'alias: luna' label explaining why
  • Type 'home' or 'gh' in ⌘K to jump to your home garden — works from any sub-canvas
  • Breadcrumb shows the parent chain of the canvas you're on, not your navigation trail — the same node always shows the same crumbs

View ↔ edit feels like a single surface

Toggling between viewing and editing a thought no longer shifts anything under the cursor — same font, same position, same spacing across the canvas card and the side panel.

  • Title, description, and type chip stay at the same vertical position with the same font and spacing across view and edit. The pencil flips to a check while editing
  • The canvas card and side panel share the same editor fields under the hood — no more drift between the two surfaces
  • Cursor lands at the end of the existing title instead of selecting all. Suggestion dropdown only opens once you start typing
  • Edit survives zoom — switch detail levels without losing the editor
  • Fixed: clicking + and picking an existing thought from the autocomplete now draws the connection. Previously it created the reference without an edge
  • Side panel's bottom Save button is gone (use the check at the top). Esc commits and returns to view. Mobile sheet handle moves to the very top, iOS-style

Steadier canvas loads and safer rich-text display

Two reliability passes — one to keep the canvas painting through flaky background writes, one to harden how thought content renders when it comes from someone else.

  • A single failed background write — for example, a placement update interrupted by going offline mid-nest — can no longer leave the canvas stuck on a loading state; pending writes resolve independently and the canvas paints with what it has
  • Rich-text content now passes through a sanitization step before it reaches the page, so any HTML received from a collaborator or import is filtered down to the formatting Neural Garden actually supports (headings, bold/italic, lists, code, blockquotes, links, and wikilinks)

The canvas opens like a notebook now

A pass at making the canvas feel local-first end-to-end — repeat visits are instant, slow wifi shows your last-known canvas in milliseconds, and the heaviest assets (the in-browser database) only download once.

  • Re-opening a garden you visited recently now paints instantly, with no network round-trip — your last view is read from the local database in under 50ms while fresh data arrives in the background
  • Backlinks badges and multi-placement chips now flicker in a beat after the canvas paints, instead of holding up first paint waiting for the network
  • On slow wifi, every canvas load was previously a cold load because of a cache-bypass bug — fixed; repeat loads are now actually fast
  • The 5MB PostgreSQL-in-the-browser data file is now precached by the service worker so it only downloads once, ever (instead of every page load)
  • Quieter console — the local-cache layer no longer spams scary-looking errors when your browser is fully online and working fine

Tighter arrange modes and a fix for the gravity crash

Layouts now respect the gaps you set, node widths can change without the grid overlapping, and switching to Gravity mode no longer throws a canvas error.

  • Grid layout stays tight no matter how wide your nodes get — spacing is computed from measured node sizes with just a Gap X / Gap Y control
  • New, tighter defaults for the arrange modes: Grid 20/20 gaps, Tree Down/Tree Side 80 rank gap + 10 node gap, Radial 500 base radius
  • Switching into Gravity or Gravity2 mode no longer crashes the canvas with a hooks error

Wikilinks and backlinks that actually land where you expect

A trio of navigation and display fixes for thoughts that live in multiple places — inside sub-gardens, across gardens, and under old names.

  • Clicking a backlink from a sub-garden now takes you to the specific placement inside that sub-garden, not back to the root garden
  • The "here" badge in the placement picker now marks the garden you are actually looking at — if you drilled into a sub-garden, "here" tags the sub-garden entry, not the root
  • Renaming a thought now updates every wikilink pointing at it in real time, across every node on the current canvas — no more stale titles after a rename

Outline mode, refined nodes, richer previews

A Logseq-style outline that actually feels like one, node descriptions that render bullets and wikilinks even at a glance, and a canvas that settles quietly into the background.

  • Outline mode is tighter and truly indented — set your own gap as low as 0px and children indent by exactly that amount instead of an invisible 30px baseline
  • Outline edges now snap into clean right angles — no more bulges when parent and child are close together
  • Node descriptions render their real formatting everywhere — bullet lists, line breaks, and wikilinks now look the same in preview mode and on compact nodes (up to 3 lines) as they do in the editor
  • Nested children rows declutter — the drag handle moves to the right, the pop-out arrow is gone, and the footer's add-row blends into the nested list
  • Subtler node surfaces — thinner type-color stripe on the left, softer contrast against the canvas, uniform padding on all four sides, and connection handles that only appear when the node is hovered or selected
  • Compact nodes align the icon with the title rather than the geometric center, so longer descriptions don't push the icon into no-man's-land

Quieter, calmer canvas

A pass of visual polish on the core interactions you make hundreds of times a day — connections, hovering, expanding, and switching layouts.

  • Smoother expand animation — layout shifts first, then new nodes fade into the space that opened for them, instead of popping in and jumping
  • Smaller, subtler connection handles that blend into the node — visible when you need them, out of the way when you don't
  • Outline mode draws clean vertical lines — parent-to-child edges now anchor to a left gutter so the whole tree reads as a single column
  • New "Zoom to 100%" option in the canvas right-click menu — one click to get back to actual size

Types you can edit — safely and collaboratively

Admins can now shape the default type system directly on the canvas. Changes stay local as a draft until you Publish, and users get improvements without losing their own edits.

  • Admins edit the "Admin: Seed Types" garden in the normal UI — no more code deploys to change colors, icons, or properties
  • Draft banner shows "N unpublished changes since last publish" with Publish and Revert buttons — review before pushing to everyone
  • Revert discards unpublished changes and restores the admin garden to the last published state
  • When admins publish, every user's Types garden syncs on next load via 3-way merge — user edits are preserved, untouched fields take the new values
  • Any admin can edit the shared admin garden; multiple admins see each other's edits in real time via the existing collaboration layer
  • Calmer canvas — the node action pill (edit, duplicate, delete) no longer appears on hover. It now shows only when a single node is selected, so brushing past nodes doesn't flash menus at you

Groups, connections, and auto-arrange stay in sync

Moving and connecting nodes now does what you'd expect — groups travel with their children, edges follow them into sub-gardens, and auto-arrange reshapes the canvas the moment something changes.

  • Drag a collapsed parent onto another node and all of its hidden descendants come along — no more orphaned subtrees
  • Internal edges are preserved when you nest a group of nodes — drill in and the connections are still there
  • Drawing a connection in any auto-arrange mode (Outline, Tree, Radial, Grid, Cluster, Timeline) instantly re-runs the layout with the new hierarchy
  • Switching back to Manual from an auto-arrange mode no longer spams 404s in the console when restoring positions
  • Wider, more readable nodes (360px) with tighter padding — longer text is easier to scan, and Outline mode is more compact

Reliable AI actions everywhere you work

Command-K and the sparkle button now work correctly in sub-gardens, keep their context across reloads, and stop crying wolf when AI calls take longer than a few seconds.

  • Nodes you create with AI inside a sub-garden now stay in that sub-garden on reload — no more losing your work back to the root
  • Command-K AI edits and aliases actually land on the right thought — fixes the phantom 'not found' errors that caused 5-second timeouts
  • AI actions now have a realistic 30-second budget — slow networks and longer chains no longer time out mid-operation
  • Sparkle button only opens the suggestion popover on click — hovering near a node's border no longer spams AI suggestions
  • Quieter console during normal use — stale sub-garden cache warnings no longer flood DevTools after opening a shared or typed garden

Sub-gardens, wikilinks, and smarter node creation

Every thought is now its own garden. Drill into any node to see its nested children on their own canvas, and link thoughts together with persistent wikilinks.

  • Drill into any node to open it as a sub-garden — nested children appear on their own canvas with full editing, connections, and AI features
  • Wikilinks ([[links]]) are now tracked persistently — backlinks update in real-time for collaborators and survive page reloads
  • Title autocomplete appears everywhere you create a node — including the nested children '+' button and edge insert — so you can link to existing thoughts instead of creating duplicates
  • Merging nodes: rename a node to match an existing title and you'll be offered to merge them, combining content and children into one thought
  • Soft-delete with trash: deleted thoughts go to trash first, can be restored to their original garden, and are searchable from the title input

Type badges now show on all nodes

Node types are fully visible at every zoom level, and the type system is resilient to database reseeds.

  • Type chips and colored borders now appear correctly on full-size nodes — previously only compact and dot nodes showed type colors
  • Existing notes, ideas, tasks, and questions are automatically mapped to their matching type definitions — no manual re-assignment needed
  • Type assignments survive garden reseeds: slugs are now stored alongside UUIDs as a stable fallback, so a reseed never silently orphans your typed nodes
  • The Types garden loads correctly for all users, including admins who also have an admin seed types garden

Smarter Command-K & AI actions

The command bar now doubles as an AI assistant — create, connect, and nest nodes with natural language, and everything auto-arranges.

  • Ask AI directly from Command-K — create nodes, connect them, or nest them inside other nodes just by typing what you want
  • Canvas auto-rearranges when nodes are added, removed, or resized — works in all layout modes including collision resolution in manual mode
  • Settings, keyboard shortcuts, and all toolbar actions are now searchable and executable from Command-K
  • Settings moved from a separate page to a quick-access modal — open from the sidebar or type 'settings' in Command-K
  • 'Open as garden' button moved to the hover pill toolbar, making it accessible at every zoom level

Viewport refit & mobile polish

  • Opening or closing the sidebar, properties panel, or mobile bottom sheet smoothly adjusts zoom and position to keep what you're looking at centered — no jarring jumps or lost context
  • Tapping a node on mobile immediately adjusts the viewport for the incoming bottom sheet instead of waiting for the animation to finish — feels snappier
  • The hover pill on small (compact, dot-label, dot) nodes now includes Select children and Properties buttons, matching the full-size node menu
  • The AI orb is smaller and tucked into the top-left on mobile, giving more room for the canvas and breadcrumb navigation

Gravity mode & per-garden settings

  • Gravity v1 shows full hierarchy when focusing a node — parents, grandparents, siblings, children, and grandchildren fade in at appropriate sizes based on relationship distance
  • Focused gravity nodes now display both title and description text with distinct heading and body fonts, matching the Gravity2 visual treatment
  • Arrange mode, sorting, grouping, and type filter settings are now saved automatically per garden and restored when you return — no more losing your layout when switching between gardens
  • New Gravity2 simulation mode wired into the canvas with focus navigation, pin/unpin support, and tap-blank-canvas-to-overview behavior

Nested nodes & panel improvements

  • Type-aware nested list — image nodes render as full-width image cards with title overlaid, and link nodes show favicon + domain preview cards instead of plain text rows
  • Inline child creation — a + button at the bottom of every nested list lets you type a title and instantly create a new nested child without leaving the node
  • AI suggestions for nesting — the sparkle button generates AI suggestions for new nested children, with a setup prompt when no AI provider is configured
  • Cleaner property panel — desktop side panel shows a read-only view of nested children with edge-to-edge link previews and left-aligned content

Import type reconciliation

  • Garden exports now include full type definitions (schema, colors, icons, properties) so imported nodes keep their types when shared with another user
  • On import, types are matched by slug and name against your existing type registry — matched types link up automatically with zero manual work
  • Unmatched types appear in the import preview with Create and Skip buttons — Create adds the type to your registry, Skip strips it from imported nodes
  • Older exports without type definitions now infer types from node slugs, so previously exported gardens regain their type assignments on re-import

iOS-style properties panel

  • Spring-animated bottom sheet with three snap points (25%, 50%, 90%) and velocity-based snapping — drag fast to skip detents, just like iOS Maps
  • Pull-down to resize — when content is scrolled to the top, pulling down shrinks the sheet instead of rubber-banding the content
  • Flick the sheet down quickly to dismiss, or tap the backdrop — both animate out with spring physics instead of abrupt CSS keyframes
  • On mobile, only the chevron arrow toggles accordion sections — tapping the section title no longer accidentally opens or closes panels while scrolling

Canvas layout polish

  • Switching between layout modes now smoothly animates nodes to their new positions instead of snapping instantly
  • Dragging a node in any auto-layout mode and releasing it animates all nodes back to their correct positions with a satisfying easeOutCubic curve
  • All layout modes now use actual measured node dimensions for spacing, so nodes of different sizes no longer overlap
  • Dragging a node on top of others in manual mode automatically pushes overlapping nodes apart with a smooth animation
  • Edge click targets are tighter and navigation arrow pills now consistently hug the node boundary at all zoom levels

Types system polish

  • Type nodes now have a working inline color picker that opens directly from the color chip — no more broken gradients or disappearing popups
  • Color, icon, and schema properties are unified under a single TYPE accordion section, eliminating the duplicate display that cluttered type nodes
  • The AI alias suggestions sparkle button now appears for all nodes, not just type definitions — with a clear disabled state when no AI provider is configured
  • Type icons can be selected from a searchable, categorized dropdown with 200+ Lucide icons grouped by theme, replacing the old free-text input

HeroUI component migration

  • All context menus, sidebar panels, and toolbar dropdowns now use HeroUI's native Dropdown and Popover components with consistent glassmorphic styling
  • Sidebar panels open as Popovers anchored to their toolbar icons instead of rendering through portal slots, making open/close behavior more predictable
  • Switched from shadcn/ui primitives to HeroUI across the entire app — buttons, inputs, cards, dropdowns, modals, and tooltips all share consistent styling
  • Menus and panels animate with a subtle scale effect so the frosted-glass backdrop stays visible throughout transitions

Per-garden AI intelligence

  • Each garden and sub-garden now has its own AI-generated summary and tags — drill into a nested canvas and its intelligence reflects that specific context, not the parent
  • Intelligence auto-generates when you first visit a garden — no manual setup needed, just open a canvas with nodes and AI creates a summary and tags within seconds
  • Summary and tags stay fresh automatically — 30 seconds after you add, edit, or remove nodes, intelligence updates itself using only the changes (not a full rescan), saving API tokens on large boards
  • The AI orb pulses when intelligence is regenerating so you can see the system thinking

Per-garden canvas memory

  • Each garden now remembers its own arrange mode — switching between gardens no longer resets your layout to manual
  • Sort, group-by, and manual node positions are preserved per garden — your preferred canvas setup stays exactly how you left it
  • Active saved view selection resets when switching gardens so stale highlights don't carry over

Gravity layout & outline arrangement

  • New Gravity arrangement mode — nodes orbit in a physics-driven hierarchy where the focused node sits at the center, children float above, and grandchildren cluster around their parents
  • Tap any node to refocus the gravity layout — the hierarchy smoothly reorganizes around the new focus with direction-aware animation
  • Children sort left-to-right by your active sort field (title, type, connections) — grandchildren group under their parent instead of scattering randomly
  • Drag a node sideways to override its sort position — it stays where you put it until you change sort settings
  • New Outline arrangement mode — arranges the entire canvas as an indented outline, matching the Tidy Up algorithm
  • Gravity Playground panel for power users — 27 tunable physics sliders with copy-values and reset buttons for rapid experimentation

Reliable node types everywhere

  • Duplicated nodes now keep their type — the type badge no longer vanishes when you copy a node from the hover menu
  • New child nodes stay in the current canvas — using the + button inside a sub-garden no longer sends the new node to the Home canvas
  • Duplicated gardens preserve the original's type — the copy no longer appears as an untyped 'note'
  • Undo/redo on child nodes preserves type assignments — redoing an 'add child' no longer strips the type
  • Collaboration guests see the garden owner's node types — types now persist through page refresh instead of disappearing

Import & export your garden

  • Export your garden as JSON, Markdown, OPML, or CSV — one-click JSON export with other formats in a dropdown
  • Import data from JSON, Markdown, OPML, or CSV files — supports Obsidian, Miro, XMind, and other tools
  • Choose how imported hierarchy maps to your canvas — 'Nested nodes' preserves sub-canvases, 'Connected edges' flattens into linked nodes
  • Imports land on the canvas you're currently viewing, not always the home canvas
  • OPML round-trip preserves connections, types, and metadata — export from Neural Garden, edit in an outliner, re-import without losing structure

True offline mode for server gardens

  • Server gardens now work fully offline — create, edit, delete, nest, unnest, and rearrange nodes without a connection. Changes sync automatically when you reconnect
  • Node arrangement works offline — grid, hierarchy, force, radial, cluster, and timeline layouts all run locally with positions saved to the browser database
  • Type visuals stay intact during collaboration — deleting a parent or unnesting a child no longer strips the type color and label from the guest's view
  • Dark mode no longer flashes white on load — the theme is applied before the first paint
  • Offline indicator shows sync status with pending change count, so you always know what's waiting to sync

Collaboration stability & sharing scope

  • Type definitions no longer vanish during live collaboration — Yjs sync now correctly ignores type definitions that belong on the Types sub-canvas
  • Zombie type nodes on the home canvas are gone for good — three layers of guards prevent type definitions from ever getting root-canvas placements
  • Type changes sync to collaborators in real time — creating, editing, or deleting a type definition now notifies all connected users to refresh their type registry
  • Shared garden guests stay within their garden — no more navigating to the owner's parent gardens via breadcrumbs or drill-up

Admin tools & user management

  • Admin panel in the sidebar — manage users and admin gardens from the same navigation as Search, Bookmarks, and Saved Views
  • User management with role control — promote or demote admins, and super admins can delete accounts for a clean reset
  • First user to log in is automatically promoted as super admin with full control over the instance
  • Admin-only shared gardens — system-owned gardens (like Seed Types) with no dependency on any individual user, shared via standard garden membership
  • LOD playground toggle in Developer settings — show or hide the zoom-level tuning panel without restarting

Type system self-repair & versioned updates

  • Type definitions now auto-update — when we ship improvements to built-in types (colors, icons, new categories), your garden receives them automatically on next load
  • Four new built-in type categories — Abstract, Emotion, Place, and Thing — organized under the Type parent for a richer starting taxonomy
  • Fixed duplicate types appearing in the type picker — caused by connection duplicates accumulating on each reseed, now cleaned up automatically
  • Fixed a critical bug where type nodes could multiply on every page load, flooding the home canvas with duplicates — existing duplicates are cleaned up automatically
  • Local garden canvas is now fully reliable — fixed an issue where returning users couldn't create or interact with nodes

Adaptive zoom & mobile property sheet

  • Nodes now adapt their appearance as you zoom — full cards shrink to compact strips, then labeled icons, then colored dots for a clear overview at any scale
  • Property panel no longer blocks canvas zoom — scroll and pinch to zoom freely even with the panel open
  • Resizable mobile property sheet — drag the handle to resize between 80% and 20% of your screen, or pull below 20% to close
  • Tapping a node in overview mode (dot or dot-label zoom) automatically opens its properties so you can inspect without zooming in
  • iOS-style frosted glass handle on the mobile sheet — content flows smoothly behind a blurred gradient as you scroll

Dynamic type system & canvas polish

  • Assign types directly on canvas nodes — tap the + button on any node to search, pick, or create types without opening the editor panel
  • Type hierarchy with subtree menus — types like Media → Book / Film / Song show as expandable submenus, matching the context menu pattern
  • Type properties flow down the hierarchy — define 'author' on Media and it appears on every Book, Film, and Song node automatically
  • Smarter node appearance — nodes show colored type chips, minimap dots match type colors, and hover borders highlight by type
  • Improved canvas layouts — consistent spacing between parent and child nodes, side handles pinned at fixed positions, and all arrangement algorithms use actual node sizes

Edge management & canvas layout tools

  • Directional handles — connections now flow naturally from right/bottom (source) to left/top (target), with handles persisted across reloads
  • Right-click any edge to flip its direction, edit its label, or delete it — with full undo support
  • Drag-select a region and all edges between selected nodes highlight too
  • Select Children button now selects the entire subtree — grandchildren, great-grandchildren, and all edges between them
  • New Tidy Up layout arranges nodes in an indented outline shape — parents and first children align on the same row, siblings flow downward
  • Tree and grid layouts now use actual node sizes for spacing instead of assuming a fixed card width
  • Keyboard shortcuts (F for fit-to-screen, Delete, Ctrl+Z, etc.) now work even when focus is on the sidebar or breadcrumb nav

Editing reliability & context menu shortcuts

  • Rapid Enter/Escape presses while editing a node no longer risk losing your changes — saves are now properly guarded against double-submission
  • Context menu shows keyboard shortcuts (⌘Z, ⌘A, ⌘+/−, etc.) so you can discover faster workflows at a glance
  • Save and delete errors in the editor panel now show a toast instead of failing silently
  • Handle pill menus are less flickery when moving your cursor between the node edge and the action buttons
  • Add-child buttons ignore rapid double-clicks so you don't accidentally create duplicate nodes

Apple Pencil support on iPad

  • Pen drag on canvas draws a selection rectangle and selects nodes — feels native
  • Pen tap deselects, double-tap creates a new node, and long-press opens the context menu
  • Seamless finger/pen switching — finger for panning, pencil for selecting, no ghost selection boxes between transitions
  • Double-tap a node with Apple Pencil to start editing inline

Canvas interaction & nesting improvements

  • Hover pills (+, sparkle, toolbar) no longer steal clicks from the node body — they appear only when hovering outside the card edge
  • Drag-and-drop into parent nodes is more reliable — tall cards with many children now register drops across their full height
  • New children land in the right order — dropping nodes into a parent places them at the bottom of the list (or exactly where the insert line shows)
  • Children list inside parent nodes is now a drop zone — drag a canvas node over the list to see an insert indicator and place it precisely
  • Layout commands (radial, cluster, hierarchy) now respect actual node sizes instead of assuming a fixed card shape

Code review hardening & bug fixes

  • Layout and clustering computations moved to Web Workers — canvas stays responsive during heavy operations
  • Content Security Policy headers, rate limiting on all API endpoints, and SQL injection fix in search
  • Error boundaries on every route and panel — one crash no longer takes down the whole app
  • Canvas provider and thought node split into focused sub-hooks and sub-components for maintainability
  • ARIA labels and keyboard navigation for canvas toolbar, context menus, and node actions
  • Pen input refined — jitter tolerance, stale finger detection, and blocked pen-during-finger conflicts
  • Fixed duplicate node creation on rapid clicks, missing children on unnest, and undo/redo orphaned nodes
  • Guests can no longer delete nodes with nested children — owner-only permission enforced
  • Structured logging, environment validation, typed event system, and virtual list hook

Touch & Apple Pencil support

  • Full touch support on iPad and iPhone — tap to select, long-press for context menus, and drag-to-select multiple nodes in pan mode
  • Apple Pencil works naturally — tap nodes to select, draw selection rectangles, with jitter-tolerant detection so tiny hand movements don't interfere
  • Drag-select groups now use native React Flow selection, so you can grab and move multiple nodes together as a group
  • Smarter overlay handling — tapping the canvas background consistently dismisses hover pills, context menus, and selection state
  • Safe area support for notched devices — sidebar, toolbar, and panels respect iPhone and iPad screen cutouts

Canvas interaction polish

  • Smoother AI suggestions — slide out from pill menus, switch directions cleanly, and dismiss naturally
  • Better edge creation — larger handle targets, cleaner canvas while dragging, and visual pulse feedback
  • Edge navigation — hover an edge to see where it leads, click nav arrows to pan there smoothly
  • Consistent edge rendering — thin lines at any zoom level with less visual clutter on node selection

Nesting stability & unified delete

  • Fixed ghost nodes: nested thoughts no longer reappear on the root canvas after nesting
  • Root cause fix in Hocuspocus — onLoadDocument now only hydrates root-canvas thoughts, not nested ones
  • onStoreDocument guards against creating duplicate root placements for nested thoughts
  • Removed expensive 30-second periodic reconciliation and 500ms initial sync (replaced by correct Yjs/DB architecture)
  • Unified delete path — My Gardens menu delete now uses the same handler as canvas node delete
  • Children of deleted nodes reposition neatly at 80px vertical step below the parent's position
  • Delete confirmation pill when removing a parent with more than 5 children
  • Group select nesting — drag multiple selected nodes onto another to nest all at once
  • Batched Yjs nesting — all removals happen in a single transaction to prevent observer race conditions
  • Double-click guard — prevents accidental node creation from panning, slow re-clicks, or cursor movement
  • Idempotent thought delete — returns success if thought was already deleted
  • Ghost suggestion fix — no more console errors when AI provider is not configured
  • Sub-garden cascade cleanup — deleting a parent canvas now removes child sub-garden records
  • Removed fixOrphans call on initial canvas load (no longer needed with correct architecture)
  • Hide duplicate button on the default Home garden in the gardens panel

Frosted glass UI & dark theme refinements

  • Frosted glass (backdrop-blur) across all UI chrome — sidebar, panels, toolbar, menus, breadcrumbs
  • Dark mode is now the default theme; light mode is opt-in and saved to localStorage
  • Sidebar panels use React portals — panels auto-align with their sidebar icons
  • Panel overlay separated from sidebar stacking context for independent blur compositing
  • Canvas controls shifted right to clear the absolutely-positioned sidebar
  • Increased backdrop blur from 12px to 24px for a richer frosted effect
  • Softer borders at 50% contrast and 80% text opacity for a muted, modern look
  • Dark mode canvas lightened to #141414 with tuned glass tint
  • Garden switcher always visible with login redirect for unauthenticated users
  • Removed sidebar collapse/expand button — sidebar is always open
  • Landing page and changelog nav updated to use glass design token
  • Fixed double-click to edit bug caused by nodesSelectionActive
  • Cleaned up dead code: removed unused rfStore and nodesSelectionActive references

Canvas interactions & deployment fixes

  • Smooth animated zoom on toolbar, context menu, and React Flow controls (+/- buttons)
  • Fixed double-zoom stutter by replacing built-in React Flow control buttons with custom ones
  • Long-press (tap-and-hold) opens context menu on mobile browsers
  • Blue selection overlay on node click with Shift/Cmd multi-select support
  • Floating selection pill with align, distribute, tidy, duplicate, and delete actions
  • Saved Views panel for storing and restoring canvas layouts and arrangements
  • Shared panel components (PanelListItem, PanelSortRow) for bookmarks and saved views
  • Layout utilities: alignment, distribution, radial, cluster, and timeline layouts
  • Auto-position algorithm with spiral search for non-overlapping node placement
  • Canvas toolbar and minimap hidden on mobile for cleaner touch experience
  • Garden switcher uses Neural Garden logo instead of Sprout icon
  • PGlite migration fix: uses ADD COLUMN IF NOT EXISTS instead of DO blocks
  • Docker entrypoint runs migration 0003 data backfill for garden hierarchy fields
  • Sort and group-by controls for canvas settings store
  • Clustering UI in settings page with k-means on embeddings

Gardens panel redesign & navigation polish

  • Pinned Home garden at the top of the gardens panel with a divider
  • Moved sort controls and create button below the Home garden
  • Sort arrow toggles direction; clicking the label cycles through Edited, Created, and Name
  • Smooth zoom effects when drilling into and out of sub-canvases
  • Viewport position and zoom now persist in the URL for shareable views
  • Improved favicon visibility with white icon on black circle

Multi-canvas navigation & branding

  • Full multi-canvas drill-down navigation with data swapping between canvases
  • Home garden protection — cannot be deleted, shows distinct visual treatment
  • Added branded favicon, apple touch icon, and Open Graph image
  • Single-pass nesting state with improved tRPC cache invalidation

Grouping, nesting & landing page

  • Grouping and nesting system — drag nodes onto each other to create groups
  • Drill-down navigation into nested thought groups
  • Multi-dimensional nesting with thought placements table
  • Un-nest via drag-out with improved drop zone indicators
  • Landing page polish — brand colors, spotlight cards, hero glow effects
  • Theme toggle moved to fixed bottom-right position

Landing page launch

  • Designed and built the landing page with Hex Bloom logo
  • Sora + DM Sans typography system with design tokens
  • Interactive demo canvas embedded in the hero section
  • Mobile safe-area insets for notched devices
  • Warm neutral color theme for dark mode

AI Ghost Suggestions & Intelligence

  • AI ghost node suggestions appear on handle hover — see what AI thinks connects
  • Garden Intelligence overlay with per-garden context and DB persistence
  • Editable ghost prompts with template variables and debug mode
  • Dynamic board intelligence with parameterized prompts
  • Animated AI orb waveform mesh replaces the old trigger button
  • Auto-detect available Ollama models for local AI suggestions
  • Bookmark CRUD persistence and inline edit improvements
  • Undo support for thought text edits
  • Smart redirect to most recently updated garden

Canvas UX overhaul & collaboration

  • Major canvas interaction improvements — edge handling, settings panel, and UX polish
  • Sync arrange mode across collaborators via Yjs Awareness protocol
  • Hide edit UI in view-only and canvas-locked modes
  • Developer toggle to hide/show canvas control menu
  • Default garden named after user with random name fallback
  • Presence bar repositioned to avoid share button overlap

Real-time collaboration & multi-user

  • Server-side Postgres with auth-aware tRPC and gardens model
  • Real-time collaboration with live cursors via Yjs + Hocuspocus
  • Garden sharing UI with invite system and role-based access
  • Invite notification dots with polling for new shared gardens
  • User icon in sidebar with login/logout menu
  • Frontend wired to server database via tRPC with garden routing
  • Docker deployment split into two processes (Next.js + WebSocket server)
  • Runtime WebSocket URL resolution via collab-token API

Initial release

The first version of Neural Garden goes live.

  • AI-powered second brain on an infinite canvas
  • React Flow canvas with real React components as nodes
  • Left and right handles on canvas nodes for flexible connections
  • Local-first architecture with PGlite browser-side database
  • Docker deployment config for Coolify
  • GitHub Actions CI/CD pipeline for Docker image builds