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.
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.
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.
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.
The catalog
50 experiments
- 01A*Pathfinding / Intermediate / graph, search, heuristicAlgorithms
- 02SortingComparison Sorting / Beginner / sorting, comparisonAlgorithms
- 03Conway’s Game of LifeEmergent Systems / Beginner / cellular-automaton, emergenceAlgorithms
- 04BoidsEmergent Systems / Intermediate / particles, steering, emergenceAlgorithms
- 05Langton’s AntEmergent Systems / Beginner / cellular-automaton, emergenceAlgorithms
- 06N-Body GravityGravitation / Advanced / particles, gravity, integrationPhysics
- 07Double PendulumClassical Mechanics / Intermediate / integration, chaosPhysics
- 08Heat DiffusionPartial Differential Equations / Intermediate / PDE, finite-difference, fieldComputational Science
- 09Reaction-DiffusionPartial Differential Equations / Advanced / PDE, fieldComputational Science
- 10Mandelbrot SetComplex Analysis / Intermediate / complex-plane, iteration, fractalMathematics
- 11SVD & Image CompressionLinear Algebra / Advanced / linear-algebra, decomposition, approximationMathematics
- 12Central Limit TheoremProbability / Beginner / probability, statistics, convergenceMathematics
- 13Elastic CollisionsClassical Mechanics / Beginner / particles, collision, conservationPhysics
- 14Electrostatic PotentialFields / Advanced / PDE, field, linear-solver, relaxationComputational Science
- 15Adaptive Step Size (RK45)Ordinary Differential Equations / Advanced / ODE, integration, adaptiveNumerical Methods
- 16Conjugate GradientLinear Systems / Advanced / linear-solver, convergence, optimizationNumerical Methods
- 17Least Squares Curve FittingApproximation / Beginner / linear-algebra, approximation, statisticsNumerical Methods
- 18Support Vector MachineClassification / Advanced / classification, optimization, kernel-methodMachine Learning
- 19Naive Bayes ClassifierClassification / Beginner / classification, probability, generativeMachine Learning
- 20RK4 vs EulerOrdinary Differential Equations / Intermediate / ODE, integration, error-analysisNumerical Methods
- 21Taylor SeriesApproximation / Beginner / approximation, calculusMathematics
- 22BFS & DFSGraph Traversal / Beginner / graph, searchAlgorithms
- 23RRT & RRT*Path Planning / Advanced / search, sampling, planningAlgorithms
- 24Barnes-Hut QuadtreeSpatial / Advanced / tree, gravity, approximationAlgorithms
- 25Genetic AlgorithmOptimization / Intermediate / optimization, evolution, searchAlgorithms
- 26Simulated AnnealingOptimization / Intermediate / optimization, samplingAlgorithms
- 27Fourier Transform (DFT)Analysis / Intermediate / approximation, frequency-domainMathematics
- 28Fourier SeriesAnalysis / Intermediate / approximation, trigonometryMathematics
- 29Eigenvectors & EigenvaluesLinear Algebra / Intermediate / linear-algebra, geometryMathematics
- 30Matrix TransformationsLinear Algebra / Beginner / linear-algebra, geometryMathematics
- 31Julia SetsComplex Analysis / Intermediate / complex-plane, iteration, fractalMathematics
- 32Probability DistributionsProbability / Beginner / probability, samplingMathematics
- 33Vector FieldsVector Calculus / Beginner / field, particles, flowMathematics
- 34Projectile MotionMechanics / Beginner / integration, dragPhysics
- 35Springs & OscillationOscillations / Beginner / integration, oscillation, conservationPhysics
- 36Kepler's LawsOrbital Mechanics / Intermediate / gravity, integration, conservationPhysics
- 37Three-Body ProblemOrbital Mechanics / Advanced / gravity, integration, chaosPhysics
- 38Wave SuperpositionWaves / Beginner / waves, superpositionPhysics
- 39Wave EquationPartial Differential Equations / Intermediate / PDE, finite-difference, fieldComputational Science
- 40Error-Diffusion DitheringRendering / Beginner / quantization, error-diffusionComputational Science
- 41Marching SquaresRendering / Intermediate / contours, implicit-surfacesComputational Science
- 42Raycasting ShadowsRendering / Intermediate / raycasting, geometry, occlusionComputational Science
- 432-D ConvolutionRendering / Beginner / kernels, filtering, linear-operatorsComputational Science
- 44Newton-RaphsonRoot Finding / Beginner / root-finding, iteration, calculusNumerical Methods
- 45Numerical QuadratureQuadrature / Intermediate / integration, error-analysisNumerical Methods
- 46Monte Carlo EstimationMonte Carlo / Beginner / probability, sampling, convergenceNumerical Methods
- 47Gradient DescentOptimization / Beginner / optimization, gradient-methodsMachine Learning
- 48K-Means ClusteringUnsupervised / Beginner / clustering, optimizationMachine Learning
- 49PerceptronClassification / Beginner / classification, linear-modelsMachine Learning
- 50K-Nearest NeighborsClassification / Beginner / classification, instance-basedMachine Learning
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.
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.
- 01React UIRouting, controls, metadata. Server components by default; interactive islands only.
- 02SimulationControllerA fixed-timestep accumulator on requestAnimationFrame. Behavior is identical at 30 fps and 144 fps.
- 03Engine coreFramework-free TypeScript with typed arrays. No React imports; unit-tested; deterministic per seed.
- 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.