by noiseweaver
Run live circuit simulations in your notes and edit .circuit files in a full circuit editor. Based on Paul Falstad's CircuitJS.
Perun for Obsidian
Run live circuit simulations in your notes, and edit .circuit files in the full Perun circuit
editor. Perun is a rebuild of Paul Falstad's CircuitJS1:
circuits from CircuitJS1 open and run the same way.
-
Circuit blocks. A code block whose language is
circuitshows the circuit running, with its scopes, in reading view and live preview. Paste any CircuitJS1 or Perun circuit, text or XML:```circuit $ 1 0.000005 10.2 50 5 50 5e-11 r 96 112 240 112 0 220 w 96 112 96 240 0 w 240 112 240 240 0 v 96 240 240 240 0 0 40 5 0 0 0.5 ``` -
Embedded circuit files.
![[name.circuit]]shows that file running, and follows it when the file changes. -
Under each circuit: Pause and Run, Reset, the circuit's own sliders, and Open in Perun. Switches, push buttons and logic inputs can be clicked right in the note. Printing and Export to PDF show a sharp still picture.
-
Circuit files. A
.circuitfile opens the whole Perun editor in a tab: parts palette, scopes, analysis and themes. Every edit is saved to the file, so it syncs and versions like any other note. Exported images and CSV files are saved into the vault next to it. -
Themes. Circuits follow Obsidian's light and dark mode, or any of Perun's themes.
It works on desktop and on Obsidian for iPhone, iPad and Android. It needs no account and sends nothing anywhere.
Network use. The editor's example circuits and its menus in other languages (about 1.7 MB) are
kept out of the plugin itself. The first time a circuit file opens, the plugin downloads them once,
as perun-files.json, from the release of its own version on
GitHub, and keeps them in its folder. Until then,
or offline, the editor has no examples and its menus are in English. Nothing else goes over the
network.
Install
In Obsidian, Settings > Community plugins > Browse, search for Perun. Until it is listed there, use
the BRAT plugin: Add beta plugin,
noiseweaver/perun-obsidian.
About this repository
This is the release mirror of noiseweaver/Perun, where
Perun is developed. Each plugin release there is copied here: the source at that release (the
plugin is packages/obsidian, built from the other packages), manifest.json, and a release with
the same files. Please open issues and pull requests in
noiseweaver/Perun.
To build the plugin from this source: git submodule update --init --depth 1 (the upstream
CircuitJS1 examples and translations), pnpm install, then pnpm --filter @perun/obsidian build
(the files land in packages/obsidian/dist).
License
GPL-2.0-or-later (see LICENSE). Based on CircuitJS1 by Paul Falstad and Iain Sharp. Perun by Gadiel Zintu.
For plugin developers
Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.