Slide No. 001

Ryan Kamp

Homo sapiens, graduate student

Loc.
University of Cincinnati, Ohio
Prep.
One neuron, grown from a seed in code: 32,768 Gaussian splats
Stain
After cresyl violet and Luxol fast blue

The live specimen needs JavaScript and WebGL2. It is a neuron drawn from 32,768 Gaussian splats that merge, pair by pair, down to one.

Stain
+40 mV −65 mV
Membrane potential at the cell body, slowed about 140 times.

At level 15 of 15, as at every other: mass 1.000000000 · center (0.000000, 0.000000, 0.000000) · spread σ (0.508733, 0.181531, 0.100124). Turn the focus and watch these not move.

I’m a master’s student in computer science at the University of Cincinnati, with degrees in mathematics and neuroscience from the same place. What I want to make is splats that explain: pictures of science you can take apart until the thing makes sense.

The cell on the slide is the smallest example I could build. Turn the focus down and its 32,768 Gaussians merge, pair by pair, until the whole neuron is one soft blob with the same mass, center and spread it started with. Turn it back up and tap: the spike you see is the Hodgkin–Huxley equations, solved while you watch. Point at a label and its part lights up. Change the stain and the same splats take up different dyes.

Case I the collection

Splashery

An interactive Gaussian splat playground that runs entirely in the browser. Pick a toy, a real captured object or one generated from a seed, then spin it, poke it, blow on it, splash paint on it, drop it, watch it fall apart and come back, make your own, and share it as a link, an embed, a GIF or a video.

Among the donuts and rubber ducks it keeps science shelves, where the toys do what the real thing does. The drawers below hold some of them. Pull one onto the bench: it is the real toy, live.

Nothing on the bench yet.
Pull a specimen from a drawer. Each one loads the real Splashery player, which is a heavy download, so it waits until you ask.

Live embeds of the real thing, served from ryanjosephkamp.github.io/splashery. Drag one to turn it; each has a link that opens it in Splashery, where the rest of its controls are.

What the science shelves are computed from

The drawers above are a sample. This is the longer catalog, by subject, with what each exhibit actually solves, samples or reads.

Waves and optics
A ripple tank that solves the 2D wave equation, with dippers, a plane wave, and one or two slits. A light bench that traces rays with Snell’s law through lenses, mirrors, a prism, a glass block and a fiber.
Light
Line spectra of sixteen elements from NIST data. A prism, with the glass’s index from its Sellmeier fit, and a grating, by d sin θ = mλ.
Sound
A Chladni plate whose sand moves live with the sound. A sound lab with a spectrogram, a spectrum and an oscilloscope. A song landscape drawn from measured features: bands, loudness, spectral centroid, pitch.
Molecules and crystals
A molecule viewer that opens PDB, mmCIF, SDF, MOL and XYZ files or fetches an entry from the Protein Data Bank, with distance and angle measurement. Crystal unit cells from published lattice constants. Hydrogen orbitals sampled from |ψ|².
Volumes and imaging
A volume viewer that opens CT, MRI and microscope scans on the device, with window and level, a transfer function, cut planes and a maximum-intensity picture. Its samples are a walnut and a gar’s head.
Scale and sky
Powers of ten: one continuous zoom from a galaxy down to a single molecular machine. The night sky for any date, time and place, with stars to magnitude 6 from the HYG database.
Earth and data
Real landscapes from public data: the Grand Canyon, Mount St. Helens before and after May 18, 1980, the Mariana Trench. A CSV becomes a scatter, bars or a surface. Mauna Loa CO2 as a spiral.
How splats work
A toy that fits 2D Gaussians to a picture by gradient descent, step by step, and shows one splat, many splats and sorting. A splat equation toy. The Tinkerer’s Manual: what one splat is, how a recipe is built, and the equation language.

My part

I defined the project’s vision and its toy categories, refined the interaction design through hands-on testing, and contributed mathematical recipes.

Toys
Captured ones are real scans of up to 450,000 splats. Generated ones are built from seeded recipes, so a saved scene rebuilds the same toy.
Effects
Poke, wind, dissolve, drop, magnet, twist, slice and paint, run on the GPU for every splat, every frame.
Sharing
A link, a JSON file, a PNG, a GIF, a WebM, or an embed. Bring your own splat file: PLY, SOG, SPLAT, SPZ.
Made of
Static files and ES modules only: no build step, no framework, no server. PlayCanvas engine, WebGPU with a WebGL2 fallback.

Case II the method

How to read the slide

Four things are going on in the specimen at the top of this page. Here is each one by itself, small enough to work with your hands.

Fig. 1

One splat

A Gaussian: a center, a spread in three directions (its covariance Σ), a weight and a stain. Turn it by a rotation R and its shadow on the screen is a Gaussian again, with spread RΣRT. The dashed ellipse is that formula, worked out separately from the picture. Edge-on, the same stain falls in a smaller shadow, so it is darker.

Shadow RΣRT = 0.0000.0000.0000.000

Fig. 2

Focus

Lowering the focus pairs splats up. Each pair becomes the one Gaussian with the same mass, center and covariance: the dashed ellipse. Drag either splat and it follows. On the slide this happens 32,767 times, and a script checks every merge against the splats beneath it and all 16 levels against the finest. The largest disagreement is about 10−13.

Mass 0.50 + 0.50 = 1.00 · center (0.00, 0.00) · spread 0.00 by 0.00

absorbedpainted over

Fig. 3

Light

These splats don’t glow. They absorb, the way a stained section does on a bright stage: each takes a little light out, the losses add, and what is left is e to the minus sum. Addition does not care about order. Painting one splat over another does, which is why a painter has to sort them first. Shuffle the order and only the right-hand picture changes.

Drawn cyan, then magenta, then yellow.

+40−65 0 ms16 ms

Fig. 4

Spike

Fire integrates the Hodgkin–Huxley equations, with the 1952 squid-axon constants, from rest after one millisecond of current. A spike is all or none. Push this membrane a little and it shrugs; push it past its threshold and you get the whole spike, nearly the same size however hard you push. The faint lines are twenty sizes of push.

5.0 µA/cm² for 1 ms gives a peak of −60 mV. Threshold: about 6.9. The slide fires at 20.

Case III the cabinet

The rest of the collection

Each label here is drawn in splats, on the same stage as the slide. They come into focus as you reach them; hover or tap one to send a pulse through.

Drawer 1 software engineering

grooph

Visual loop graphs for coding-agent workflows. You draw who builds, who checks, where a person decides and when the work stops.

grooph checks that every loop names a stop, then compiles the graph into a prompt package for a separate coding-agent harness. It runs no agent and calls no model, and graphs stay on your device. The graph on this page is 8,192 splats running one such loop: around again while the bar is not met, then out to a person.

  • Software engineering

    reword_nerd

    A local-first browser workbench that turns a reviewed document, or a set of images, into a portable workbook of rewriting prompts. Everything stays reviewable in the browser, the download is a separate, explicit step, and the application contacts no model provider itself.

  • Information retrieval

    resmon

    A local-first literature-monitoring desktop application. It runs scheduled searches across open-access scholarly sources, removes duplicates, and compiles reading reports, with optional summaries.

  • Information retrieval

    Link Meteor

    A Chrome extension that collects links with their anchor text and URL in separate fields, for reviewing sources and exporting a research collection. No account, ads, telemetry or backend.

  • Words

    English OpenList

    A free, open, continuously maintained list of valid English words, about 345,000 of them, with the provenance of every word (which sources attested it, and when), auditable correction records, and a browser explorer.

  • Words

    Ars Magna

    An anagram finder. Give it any text and it returns every way those exact letters can be re-partitioned into real English words, by a deterministic search.

  • Words

    aqrobat

    A local text and emoji QR lab: QR artwork built from letters, symbols or emoji.

  • Words

    Amordle

    A free word game: any word length from 2 to 35 letters, three difficulties, a daily puzzle, and ranked multiplayer with an Elo rating.

Also on file. The Speed-Accuracy Trade-Off in Perceptual Decision-Making (April 2025), my undergraduate research capstone. It models evidence accumulation as a diffusion process and uses dynamic programming and value iteration to study decision boundaries in a simulated autonomous-vehicle obstacle-avoidance scenario. Code · video

Case IV provenance

Where the specimen came from

Now
MS, Computer Science, concentration in Artificial Intelligence. University of Cincinnati, expected May 2027. Thesis advisor: Dr. Yizong Cheng.
Before
BA, Mathematics and BS, Neuroscience. University of Cincinnati, 2025.
Interests
Scientific visualization, computer graphics, digital media, software engineering, and information retrieval.

This page argues for the first interest on that list. A neuroscience degree taught me what the pictures are of; a mathematics degree taught me what a Gaussian is. I would like to spend the next few years putting the two together.