Plasmagicians — Substrate Spec
a Bret-Victor explorable-explanations wiki on a Rust + WebGPU + WASM substrate, anchored on the PPPL first-year graduate programme
A Bret-Victor-style explorable-explanations wiki on a Rust + WASM + WebGPU substrate, anchored on the PPPL first-year graduate programme (AST 551 / AST 552 and Generals prep), with a heritage archive of the original 2006 PlasmaWiki — which Danielle Fong and Abe named at Princeton. Authored at the substrate level by the operator; populated at the plate level by a physics-specialist Opus 4.8 max agent running in a custom harness with thinking-block visibility.
where we stand
✓ shipped · four spec documents (plate package · hyperstack blocks · solvers catalog · authoring prompt)
✓ shipped · licence.md (founder CC BY 4.0 + MIT, fair-use stance, 2006 lineage acknowledged)
✓ shipped · this graphite spec preview — Britannica plate engraved on lit concrete
✓ shipped · PlasmaWiki mirror complete — 3,004 files / 951 HTML articles / 80 MB
⏳ next · scripts/preview-plate.sh · plates/01-nlambda3 · chrome-strip · KaTeX recovery
⏳ next · canvas substrate port from xanadu-cx (deferred — corpus first)
pivots that shaped this day's build
| № | from | to |
|---|---|---|
| i | infinite-canvas wiki | readpath UI — smart-for-you order, snap-to-plate momentum, snap-out gesture |
| ii | editorial plates | Bret-Victor explorable explanations — every claim wired to a live model |
| iii | hand-authoring 8 plates | substrate for Opus 4.8 max agent in a custom harness |
| iv | vellum LightCell paper theme | graphite + spectral inks — Na yellow, Li red, white-hot · PPPL register |
| v | dense-Na cluster | AST 551 / 552 + Generals — hundreds of plates, agent fleet |
| vi | flat dark theme | fuckin' awesome — spectral glow, ray-traced light, graph paper, Britannica register |
plate package spec
Each plate is a directory, not a single file — because the substrate is HTML + WASM + WebGPU + Rust + Markdown + WGSL. A plate brings whatever the physics demands.
plates/<id-slug>/
├── plate.toml ← required: manifest
├── prose.md ← optional: markdown + KaTeX + explorable refs
├── citations.toml ← optional: overflow citation list
├── explorables/ ← optional: live interactive demos
│ ├── <name>.toml ← per-explorable manifest (hyperstack blocks)
│ ├── <name>.wgsl ← optional: custom WebGPU shader
│ └── <name>.rs ← optional: custom Rust solver (extras crate)
├── assets/ ← optional: images, datasets
└── render.html ← optional escape hatch
plate.toml — the manifest
[plate]
id = "01-nlambda3-cooperative-threshold"
title = "When Nλ³/64 > 1"
subtitle = "The cooperative-emission threshold for dense atomic vapor"
cluster = "dense-na"
status = "published"
authored_by = "Danielle Fong" # or "agent:opus-4.8-max:physicist-v1"
syllabus = ["AST552:radiative_transport", "Generals:plasma_waves"]
[ancestor]
references = [
"archive/qed.princeton.edu/main/PlasmaWiki/Mean_free_path.html",
]
[rails]
on = [
{ rail = "dense-na-readpath", position = 1 },
{ rail = "radiative-transport", position = 4 },
]
[citations.molisch1998]
authors = "Molisch, A. F. & Oehry, B. P."
year = 1998
title = "Radiation Trapping in Atomic Vapours"
publisher = "Oxford University Press"
a live explorable — proof of substrate
Every numerical claim below comes from a Rust function compiled to WASM and called by the slider handlers in the left gutter. Slide a knob; math re-typesets; the regime label flips at the threshold; the mini canvas redraws. Reading is doing.
Fig. I. Saturated sodium vapour density (amber) crosses the cooperative-emission threshold (incandescent rule) at the regime boundary. Scrub the gutter sliders to step through the phase plane.
The substrate primitive: slider in left gutter → WASM solver call → math + canvas + label update in lockstep. Every plate's explorables vary the solver / inputs / displays while keeping this same shape. The agent learns the shape once and replicates it.
PlasmaWiki — the heritage trellis
The 2006 wiki (which you and Abe named) has been fully mirrored from w3.pppl.gov/~dboyle/PlasmaWiki/ into sites/plasmagicians-v2/archive/ as the heritage trellis the new wiki grows on. The mirror finished while this preview was being engraved.
| statistic | value |
|---|---|
| Files mirrored | 3,004 |
| HTML articles | 951 |
| Total size | 80 MB |
| Date range | 2006–2017 · AST551 / AST554 / MG present |
| Categories | Single Particle Motion · Classical Mechanics · Electromagnetism · MHD · Kinetic Theory · Plasma Waves · Generals · Prelims · … |
| Licence (footer claim) | CC BY-NC-ND 2.5 — 2009 export artefact |
| Licence (founder intent) | CC BY 4.0 + MIT — reaffirmed in licence.md |
Next: strip MediaWiki chrome (sidebar / login / edit links / social bookmarks) and replace texvc math PNGs with live KaTeX rendering — the original LaTeX is preserved in each alt=. A significant typography upgrade for free.
corpus scope — AST 551 / 552 + Generals
Per operator: the corpus is anchored on the first-year Princeton graduate programme. AST 551 (Introduction to Plasma Physics I) + AST 552 (II) as the spine, with simultaneous tagging for Generals (qualifying-exam) preparation. Approximately 150–300 plates at full coverage, written by the physics-specialist agent fleet.
provisional cluster map
| cluster | anchor course | ≈plates |
|---|---|---|
| Single-particle motion · drifts · gyro · adiabatic invariants | AST 551 weeks 1–3 | 15 |
| Plasma waves · Langmuir · ion-acoustic · Alfvén · R L O X | AST 551 / 552 wk 4–8 | 25 |
| MHD · ideal · resistive · force-free · equilibria · stability | AST 552 first half | 25 |
| Kinetic theory · Vlasov · Landau · Fokker-Planck · BBGKY | AST 552 second half | 20 |
| Radiative transport — dense-Na cluster (canonical) | extension · LightCell | 10 |
| Diagnostics · Thomson · interferometry · Langmuir probes · ECE | AST · Generals | 15 |
| Transport · classical · neoclassical · anomalous · turbulent | AST 552 · Generals | 15 |
| ICF + MCF · tokamak · stellarator · ICF basics · FRC · MTF | AST · survey | 20 |
| Boundary plasmas · SOL · divertor | experimental focus | 10 |
| Lab + computational methods · PIC · MHD codes | AST · projects | 10 |
| LightCell + modern extensions · chemiluminescence · anti-entropy | operator corpus | 10 |
Total target: ≈150–300 plates. Agent-fleet authoring with the operator watching thinking blocks in a custom harness — a multi-month build, not a single-day push.
your read on
- Graphite + spectral glow + Britannica register — is it fuckin' awesome enough? Or push harder still?
- Both gutters interactive — left sliders + live readouts + mini-canvas + spectral palette; right rail-progress + ToC + cites + archive ancestors. Symmetry working?
- Topbar running-head in small caps, italic anchors — sufficiently Britannica? Or too restrained?
- Demo column treatment — gravure-shadowed canvas with figure caption — feels right?
- AST 551 / 552 + Generals scope right? Wider (557 / 559)? Tighter?
- Reference plate 01-nlambda3 — author it now by my hand as the benchmark, or let the agent's first run be the bootstrap?
※ flag specific changes — the visual + layout decisions here propagate to every plate, so they need to be right before the agent starts authoring at scale.
plasmagicians.com — substrate spec — plate i