Content generated by an LLM with human direction.

Notebooks

The rule

A notebook element puts a Jupyter notebook (.ipynb) on a slide. Eigendeck renders the cells as part of the slide, and — if a kernel is available — lets you run them live during a talk.

The key idea: the .ipynb file is never modified. Everything you do to the notebook inside your deck — edit a cell, run it and capture its output, add a new cell on the fly — is saved as a recording attached to the element and stored in the deck, layered on top of the pristine source file. Open the deck later (even with no kernel running) and your edited code and captured outputs are right there.

The recording

The recording holds three things, all kept in the deck, none written back to the .ipynb:

This is what makes a notebook-driven talk reproducible and portable: the deck carries the exact code and results you presented, while your source .ipynb stays clean for everyday work in Jupyter.

Editable vs. file-watching

By default a notebook is read-only in the deck (you still run cells; you just can't retype them). Turn on Editable (per element in the Inspector, or as a global default in Settings → General) to edit cell source in place.

Editing in the deck and watching the file on disk are at odds — a disk change would clobber your in-deck edits — so making a notebook editable turns off file-watching for it. When you do want the latest from disk, use the Asset section's Reload from disk (which intentionally discards the in-deck edits and pulls the current .ipynb).

Running cells — kernels

A notebook element only says which kernel it needs (e.g. python3). The actual server URL and token live in a per-machine registry, not in the deck. See Jupyter servers for how that works and what the topbar status pill means. Cells still display fine with no kernel — you only need one to run them.

Display options

Each notebook's Inspector lets you tailor how it appears on the slide:

The same notebook on several slides

Duplicate a slide and the notebook becomes synced — it is one notebook shown on both slides, sharing one recording. Edit a cell or capture an output on either slide and both update; it stays one thing through save and reopen. To give instances independent positions for an animation, or to understand sync vs. link, see Sync and link. (When you free a synced notebook, it keeps its own copy of the recording; when you promote a link to a sync, the master's recording is the one that's kept.)

Copy carries the recording. Copy/paste or duplicate a notebook and its recording comes along: an independent or animation-linked copy gets its own copy of the recording (it can then diverge), while a copy that joins a sync group shares that group's single recording.

Previews

Wherever Eigendeck needs a small stand-in image of a notebook — the slide thumbnails in the sidebar, the link picker — it shows a cached picture of the rendered notebook, refreshed as you edit it, rather than a blank box.

Why this design

A talk should be reproducible without a live kernel and your source files should stay pristine. Recording the session into the deck (instead of editing the .ipynb) gives you both: you can rehearse, capture the outputs you want, and present the exact same thing weeks later on a laptop with nothing installed — while the notebook you keep iterating on in Jupyter is untouched.