Osmosis

by Sawyer Rensel
5
4
3
2
1
Score: 33/100

Description

Absorb knowledge faster. An Obsidian plugin that turns your notes into mind maps you study with spaced repetition.

Reviews

No reviews yet.

Stats

5
stars
665
downloads
0
forks
58
days
13
days
36
days
37
total PRs
0
open PRs
0
closed PRs
37
merged PRs
1
total issues
1
open issues
0
closed issues
400
commits

Latest Version

a month ago

Changelog

0.0.5 is 0.0.4 with a version bump — no functional changes.

The community plugin scanner records one result per version and will not re-check a version it has already scanned. The 0.0.4 scan ran before that release had been published, so a fresh version was needed to get a new scan.

Everything below shipped in 0.0.4 and is included here.


Added

Image Occlusion

  • Image occlusion flashcards. Right-click any image (or run Create image occlusion) to open a canvas editor and mask parts of the picture. Rectangle, ellipse, polygon, and text-annotation tools, plus select, rotate (Shift to snap to 15°), duplicate, delete, group, ungroup, align, zoom, translucency toggle, pan, and multi-level undo/redo
  • A shape group is a card, exactly like a cloze group: masks sharing a group hide and reveal together and are scheduled independently. Two modes — Hide all, guess 1 and Hide 1, guess 1
  • Masks live where the card's data already lives: in the osmosis fence header bound to its embed by a {label}, or under occlude: in the note's osmosis-schedule. Coordinates are normalised 0–1, so masks survive resizing, retina variants, and the |300 suffix
  • Occluded images on a plain line tag themselves with a block ID and opt the note in on save
  • Embeds inside osmosis fences are rewritten when the image is renamed — Obsidian's own rename can't see inside a code fence
  • Occlusion cards study in all three modes, with the revealed group ringed on the answer

Dashboard, Browser, and Statistics

  • The Osmosis dashboard is now a hub: an operator bar with Browse and Stats above the deck tree, plus a Total column (new + learn + due — what's waiting now, not the deck's card count)
  • Osmosis Browser — every card in the vault as a Bases view, in a table or card layout. Twelve resizable, sortable columns; deferred markdown rendering of fronts and backs; filters for card state, due window, card type, and suspended cards; in-toolbar search over front, back, deck, and ID
  • Browser mutations — suspend/unsuspend, reset (clears scheduling, keeps history), change deck, and delete, over click, Ctrl/Shift, and long-press selections. Session-level undo/redo, with commands for both. Deleting a line card strips its block ID and never touches your prose
  • Statistics dashboard — 17 panels: Today, Future due, Calendar heatmap, Reviews, Review time, Card counts, Review intervals, Card stability, Card difficulty, Card retrievability, Study mode, Hourly breakdown, Answer buttons, True retention, Recall by study mode, Recall by card type, and Weakest notes. Deck, study-mode, and history scope controls apply to every panel; drag a panel by its grip to reorder, on desktop or touch
  • Colour-vision-safe series palette validated pair by pair in both themes

Study

  • Every card type is now studiable in every mode. Contextual and spatial study play the store's cards rather than re-deriving them, so a multi-cloze fence asks one question per group, a bidirectional fence asks both directions, and occlusion steps per group — everywhere, with every rating recorded against the card that was asked
  • Peek and Study appear in a note's header for any card, not just line cards
  • A cloze reveals in place; basic and bidirectional cards stack. Cards that aren't due render normally during a session — context, not targets

Flashcard Authoring

  • Rapid Flashcard Mode — a toggle (note ⋯ menu, or Toggle rapid flashcard mode) that turns plain typing into cards: one blank line ends the front, two commit the card. Multi-line fronts and backs, code blocks on either side (the fence is sized to fit), and it will never swallow an osmosis fence written moments earlier
  • The Insert card commands and Rapid Flashcard Mode now add osmosis-cards: true to the note, so a card typed into a fresh note is a real card

Review History

  • An append-only review log, one Markdown shard per month per device, in Osmosis/Reviews by default. Every answer records rating, resulting state, granted and prior interval, stability, difficulty, time on screen, and study mode
  • Markdown rather than .jsonl so Obsidian Sync carries it with no per-device configuration; one writer per file so two devices can never conflict; read by a bounded-memory streaming pass that stays fast over years of history
  • New settings: Review log folder and Device name

Mind Mapping

  • Node editing shows the real Markdown. The edit box opens on the line's source — list markers, heading hashes, ordered numbers, checkboxes, embeds — so a bullet can be retyped as a heading without leaving the map. The trailing block ID and the leading indentation stay hidden and are restored on save, so a line that changes kind keeps its card
  • The edit box scales to the current zoom, wraps like its node, and follows pan and zoom
  • Exclude folders and Exclude tags settings, which beat every opt-in

Changed

  • Derived card schedules nest under their group key (r:, c1:, c2:) with camelCase fields, matching frontmatter, instead of flat prefixed keys (r-due:, c1-due:). Both spellings are read; a card is converted the next time its schedule is written
  • The mind map's ribbon icon is gone. The dashboard is the single ribbon entry, and maps open from the note header, the file menu, or the command palette — all of which know which note to map
  • Reading view no longer hides card answers outside a session; hiding belongs to Peek and Study
  • exclude: true fences still generate their card, so a suspended card can be found and unsuspended in the browser
  • Resetting one cloze group no longer strips its siblings' schedules

Fixed

  • Mind map nodes ghosted or vanished while panning on iOS. WebKit strands composited content inside a <foreignObject> when the SVG viewBox changes; the map now pans with a CSS transform there, the way Obsidian's own Canvas does
  • Branch lines crossing the viewport are kept when their nodes leave it, instead of being culled with them
  • Tapping to reveal an occluded image no longer opens Obsidian's image viewer
  • The mind map header button uses Obsidian's own view-action class, so it sits and spaces like every other header icon
  • The stats deck dropdown no longer stretches arbitrarily wide on mobile
  • The mind map edit overlay no longer opens at the wrong size or drifts when the map is zoomed
  • injectFenceIdsIntoContent could sever an occlusion block when adding a missing id:

Full changelog: https://sawyerrensel.github.io/Osmosis/changelog/

Install manually: download main.js, manifest.json, and styles.css into <vault>/.obsidian/plugins/Osmosis/.

README file from

Github

Osmosis

Absorb knowledge faster.

An Obsidian plugin that turns your notes into mind maps you study with spaced repetition.

Release Obsidian License

Install Osmosis · Quick start · Documentation


Your learning has flow.

Write notes and study cards together in one app. Organize your thoughts with style.

Your memory is connected.

Answer flashcards on a visual map. Learn facts while seeing the big picture.

Your notes should last.

Osmosis authors your content in plain text — readable in any editor and yours to keep forever.


Mind maps

Visualize your thoughts.

Headings become branches. Lists become nodes. Every edit on the map is an edit to the file.

Interactive mind mapping

Add a node, drag a branch under a new parent, fold a subtree. Osmosis syncs your notes as you edit the map.

Editing and shortcuts →

Colorful theming

Layout, spacing, branch lines, and per-node shape and colour — all saved in the note's frontmatter, so a map travels with its file.

Styling →

Maps inside maps

Embed a note with ![[note]] and its structure becomes a sub-branch you can edit in place.

Transclusion →

Enhanced Markdown support

Tables, code blocks, images, callouts, and LaTeX render inside the node — just like they do in your notes.

What becomes a node →


Flashcards

Cards that live in your notes.

Write a card where the idea comes up. Seven card types, all landing in the Markdown file you were already writing — and Rapid Capture turns a run of typing into cards as you go.

Basic

A classic front and a back experience.

Bidirectional

One fence, two cards, scheduled apart.

Type-in

Type the answer instead of flipping the card.

Cloze deletion

Blank out a span; each blank is a card.

Code cloze

Hide code, highlighting left intact.

Image occlusion

Mask a diagram; each group is a card.

Line cards

One command cards a whole note, line by line.

All seven, in depth

How each type is written, and when to reach for it.

See the card types →


Studying

Three ways to study the same card.

Study any card in any mode, scheduled by FSRS — a system built on memory research. Rate a card anywhere and its schedule updates consistently.

On the map

Spatial study hides due cards behind placeholders while the rest of the map stays visible — you recall a fact with everything it connects to still on screen.

In the note

Contextual study hides what's due, reveals it in place, and lets you rate it and read on. Peek mode reveals a card and leaves its schedule untouched.

From a window

Sequential study is the classic deck run: one card at a time, with multi-level undo that restores each card's previous schedule as it steps back.

Compare study modes →


Dashboard

A clear view of your learning.

Navigate your decks, get a birds-eye view of your learning patterns, and find every flashcard in your vault with ease.

Analyze your growth

A year-long heatmap, true retention, interval and stability, answer buttons, and your load for the weeks ahead — plus recall by study mode, which shows how well the facts you studied in context are holding.

Statistics →

Find any card

The browser is a Bases view, so Obsidian's own filtering narrows it to the notes you care about. Then suspend, reset, change deck, or delete flashcards — with undo if you change your mind.

Card browser →


Your data

Plain Markdown. Forever.

A card's schedule lives in the fence that holds it, or in the note's frontmatter beside the line it belongs to. Your vault syncs the way it always has — Obsidian Sync, iCloud, Dropbox, Git — and your review history goes with it.

Because it is only ever text, an AI assistant can read and write your study material natively — and so can every other tool that has ever opened a Markdown file.

## Ownership and borrowing

- Each value has exactly one owner ^b3f1a2

```osmosis
id: os-3jds9x
due: 2026-05-02T19:52:12.592Z
stability: 2.0215
difficulty: 6.3909
reps: 3
lapses: 0
state: review
last-review: 2026-04-30T19:52:12.592Z
learning-steps: 0

What happens when an owner goes out of scope?
***
The value is dropped and its memory freed.
```

How it's stored →


Two-way everything Edit the note, the map, or the card — the other two follow, immediately.
Keyboard first Full keyboard control of map editing, navigation, and a review session.
Built for mobile Touch gestures throughout, a reading-mode default for phones, and capture designed for thumbs.
Rich nodes Images, LaTeX, code blocks, tables, callouts, checkboxes, and embeds render inside the map.
Undo that fits the map Map edits have their own history — one step per operation, with configurable depth and memory.
Opt in, or opt out Per note, per folder, per tag — and exclusion always wins, so a vault-in-a-vault stays out.
Native block IDs Cards anchor to Obsidian's own ^block-ids, so [[note#^id]] links work and history survives edits.
Every review, logged An append-only history in your vault, per month and per device, that syncs with your notes.
Free and open source GPL-3.0, developed in the open, with every feature available to everyone.

Installation

From Community Plugins

  1. Open Settings → Community Plugins → Browse
  2. Search for "Osmosis"
  3. Click Install, then Enable

Or open the listing in the plugin directory: Install Osmosis

Manual installation

  1. Download main.js, manifest.json, and styles.css from the latest release
  2. Create the folder .obsidian/plugins/osmosis/ in your vault
  3. Copy the downloaded files into that folder
  4. Run Reload app without saving from the command palette
  5. Open Settings → Community Plugins and enable "Osmosis"

Requirements

Obsidian 1.13.0 or later, desktop or mobile
Bases Obsidian's Bases core plugin, for the card browser. Everything else works without it

Start with one note.

Open any Markdown file you already have, press the mind map button, and see the structure you have been writing all along.

1. Open a mind map. Open a note and click the brain-circuit icon in the editor header bar — your headings and lists appear as an interactive map.

2. Write a flashcard. Add an osmosis fence anywhere in a note. The *** separator divides the front from the back:

```osmosis
What is the capital of France?
***
Paris
```

3. Opt the note in. Cards aren't generated until a note opts in — the card-insertion commands do this for you, or add it yourself:

---
osmosis-cards: true
---

4. Study. Click the brain-circuit icon in the left ribbon to open the dashboard, then pick a deck.

Install Osmosis · Read the docs →


Documentation

Full documentation lives at sawyerrensel.github.io/Osmosis.

Section What's in it
Getting Started Installation, quick start
Mind Mapping Editing, navigation, styling, transclusion
Flashcards Card types, decks, rapid capture, image occlusion, line cards
Studying Study modes, spaced repetition, dashboard, statistics, card browser
Reference Commands, settings, data storage, mobile
Changelog What changed, release by release

Development

Osmosis is TypeScript, bundled with esbuild, tested with Vitest.

git clone https://github.com/SawyerRensel/Osmosis.git
cd Osmosis
npm install
Command What it does
npm run dev Build and watch for changes
npm run build Type-check and produce a production build
npm run lint ESLint, including eslint-plugin-obsidianmd rules
npm test Run the Vitest unit suite

The build writes main.js, manifest.json, and styles.css into vault/.obsidian/plugins/Osmosis/. Open vault/ in Obsidian to test your changes against a real vault.


Contributing

Issues and pull requests are welcome.

  • Found a bug? Open a bug report
  • Have an idea? Open an idea
  • Sending a PR? Make sure npm run lint, npm test, and npm run build all pass, and describe what you changed and how you tested it.

License

GPL-3.0-only © 2026 Sawyer Rensel


Acknowledgments

  • Obsidian — The incredible knowledge base application
  • FSRS — Free Spaced Repetition Scheduler
  • Anki — Inspiration for spaced repetition workflows
  • Xmind — Inspiration for mind mapping UX
  • Minder — Open-source mind mapping software
  • obsidian-spaced-repetition — The original Obsidian spaced repetition plugin
  • Decks — Modern flashcard plugin for Obsidian using FSRS