Pluto notebooks,
live as Therapy components.
A Pluto.jl notebook's @bind-dependent cells compile to WebAssembly via WasmTarget.jl and ship as interactive islands inside a lean Therapy page — real reactive DOM, no Julia server, themeable, droppable into any site.
Quickstart
import Pkg
Pkg.add("Snapshot")
using Snapshot
# lean, themeable Therapy-component export — every compilable bond group
# ships as a WasmGC island, verified against the real notebook first
export_notebook("notebook.jl")
# → notebook.html + notebook.islands/ (serve anywhere static)At export time the notebook runs once in Pluto. Each group of co-dependent @bind variables becomes a small WasmGC module, verified two ways before shipping. In the browser a tiny runtime drives the islands from plain HTML inputs — no Pluto frontend, no multi-megabyte statefile.
Instant interactivity
Slider moves are local WASM calls — no network round-trip, no Julia process, no precompute explosion. Continuous + infinite bond domains work.
Proven before shipping
Every island passes an export-time differential oracle: byte-exact agreement with real notebook re-runs on sampled bond values. Mismatches degrade gracefully.
Native Therapy components
No iframe. The notebook is real DOM in the page — inherits the site's DaisyUI theme, flows inline, reskins with one click.