Skip to content

Interactive computational laboratory

Computation,
made visible.

Interactive experiments in algorithms, mathematics, physics, and numerical science. Every figure is computed live; every control changes the system it names.

Computation is invisible until you give it form.

The laboratory turns algorithms, equations, and numerical systems into instruments you can operate: change a parameter, advance a single step, and watch the state answer. Nothing on this site is a video, and no number is invented.

Algorithms

Structure determines possibility.

A* expands the most promising cell first: cost paid so far, plus an honest guess of what remains. As you scroll, the obstacle density changes and the search restarts on the new maze, live.

Open the experiment

Mathematics

Equations become geometry.

A Taylor polynomial rebuilds sin(x) from derivatives at a single point. Scrolling adds terms; watch the polynomial commit to the curve, then betray it at the edges of the domain.

Open the experiment

Physics

Rules become motion.

Two rigid links under gravity, integrated with RK4 on the exact Lagrangian equations. The ghost is a twin started one millionth of a radian away; when it parts ways with the primary, you are watching chaos.

Open the experiment

Computation

Models become experiments.

Gray-Scott reaction-diffusion: two reagents, one eating the other, diffusion doing the rest. Turing predicted the patterns in 1952; the engine applies the two partial differential equations on a torus, sixty times a second.

Open the experiment

The catalog

50 experiments

Change the variables.

This is a live Boids engine, not a video. Pull a weight and the flock reorganizes on the next tick. Hold the pointer in the field to play predator.

140
44 px
1.6
1

order parameter 0.000

Computation, layered.

The UI never runs a simulation and the engine never touches the DOM. Each experiment implements one interface, so a heavier core can replace the TypeScript one without the page knowing.

WebAssembly slot

The interface is built for a C++20 core compiled with Emscripten behind the same experiment contract. No Emscripten toolchain is installed in this environment, so the audited TypeScript core ships today. The swap-in point is the single factory in src/engine/experiments/index.ts.

  1. 01React UIRouting, controls, metadata. Server components by default; interactive islands only.
  2. 02SimulationControllerA fixed-timestep accumulator on requestAnimationFrame. Behavior is identical at 30 fps and 144 fps.
  3. 03Engine coreFramework-free TypeScript with typed arrays. No React imports; unit-tested; deterministic per seed.
  4. 04Canvas rendererTheme-coupled draw primitives, DPR-aware, no glow, no allocations in the hot loop.

Live numbers, not claims: the pulse icon on any experiment page opens the performance overlay. The integrator comparison shows the engine being audited against its own exact solution.

Pick a system. Change a variable. See what happens.