Erwin Zhang  /  Browser Experiments

thirty-two
labs

32  projects
0  dependencies
CF  Pages
2026
01

GPU Compute

Reaction Diffusion

Gray-Scott model on WebGL2. Organic Turing
patterns from chemical noise. Ping-pong
framebuffers, 9-point Laplacian stencil.
Five presets: coral, mitosis, maze.

02

GPU Compute

Ray Tracer

Fragment shader path tracer, runs entirely
on the GPU. Progressive accumulation,
4-bounce reflections, soft shadows.
Orbit camera, click and drag.

03

Mathematics

Fractal Explorer

Mandelbrot + Julia sets in WebGL2.
Double-float emulation for trillion-× zoom.
Smooth coloring, 6 palettes, live Julia
preview on hover, URL-encoded bookmarks.

04

GPU Compute

Fluid Simulation

Navier-Stokes stable fluids on WebGL2.
Semi-Lagrangian advection, 40-pass Jacobi
pressure solver, vorticity confinement.
Drag to inject dye and velocity.

05

Physics

N-Body Gravity

Barnes-Hut O(n log n) gravitational sim.
Leapfrog integration, collision merging,
velocity trails. Includes the exact
Chenciner-Montgomery figure-8 orbit.

06

Simulation

City Builder

Isometric 40×40 grid, all drawn with Canvas
paths — no image assets. Population,
happiness, and money tick every 2s.
Zone, build, watch your city grow.

07

Audio

Music Sequencer

6-track algorithmic step sequencer.
Bjorklund euclidean rhythms, scale
quantization, per-step probability.
Lookahead AudioContext scheduling.

08

Audio

Modular Synth

Drag-and-drop patch cables over a Web Audio
graph. VCO → VCF → VCA → Reverb,
pre-wired and ready to play. Computer
keyboard maps to two octaves of MIDI.

09

Distributed Systems

CRDT Canvas

Collaborative drawing with a grow-only op set
and BroadcastChannel sync — no server.
Open two tabs, draw simultaneously.
Lamport clocks, tombstone undo.

10

Typography

Font Playground

Live variable font axis sliders. Recursive,
Fraunces, Roboto Flex, and more — every
axis exposed in real time. Animate mode
cycles through the full design space.

11

Computer Science

Algorithm Visualizer

Sorting, pathfinding, and graph algorithms
animated via generator functions. A*,
Dijkstra, merge sort, Kruskal's MST.
Step-by-step or continuous playback.

12

Emulation

CHIP-8 Emulator

All 35 opcodes. 4KB memory. 500Hz clock.
Drop in any .ch8 ROM or choose a
bundled classic. PONG is playable.
Debugger shows registers live.

13

Frontend Design

Animation Showcase

Pure CSS and WebGL spectacle. Magnetic
text, particle explosions, morphing blobs,
scroll-triggered reveals. Every animation
technique in one place.

14

Generative Art

Flow Field

Curl-noise flow field with 100k particles.
Perlin noise drives velocity vectors;
additive blending builds luminous
tapestries over time.

15

Physics

Physics Sandbox

Rigid body dynamics with Matter.js-style
constraints. Spawn shapes, set gravity,
chain constraints, spring joints.
Verlet integration, impulse resolution.

16

GPU Compute

SDF Ray Marcher

Signed distance function ray marcher in
WebGL2. Sphere, torus, box primitives
with smooth boolean ops. Ambient
occlusion, soft shadows, reflections.

17

Mathematics

L-System Fractals

Lindenmayer system interpreter drawing
recursive botanical forms. Koch, Hilbert,
Sierpiński, Dragon Curve, Stochastic
plants. Edit grammar live.

18

Mathematics

Fourier Machine

Draw any curve; FFT decomposes it into
rotating epicycles that reconstruct it.
Watch epicycles converge to your shape.
Slow time to see individual harmonics.

19

Algorithms

Wave Function Collapse

Constraint propagation procedural generation.
Tile rules extracted from a sample image;
WFC fills the canvas respecting adjacency.
Watch entropy collapse cell by cell.

20

Physics

Cloth Simulation

Verlet position-based cloth with structural,
shear, and bend constraints. Pin corners,
cut with scissors, poke with wind.
Self-collision via spatial hashing.

21

GPU Compute

Physarum

1M slime mold agents on GPU. Ping-pong
agent + trail textures; agents sense,
rotate, deposit. Trail diffuses and decays.
Five palettes: bioluminescent to void.

22

Mathematics

Strange Attractors

500k particle trails in WebGL2. Lorenz,
Rössler, Thomas, Halvorsen, Dadras,
Aizawa, Sprott B — RK4 integrated.
Additive blending builds glowing sculpture.

23

GPU Compute

Procedural Terrain

Domain-warped FBM heightmap in WebGL2.
Biome coloring, AO, atmospheric fog,
water with Fresnel, sky with Rayleigh
scattering and god-ray post-process.

24

GPU Compute

GPU Metaballs

50 metaballs in a fullscreen fragment shader.
Five visual modes: iridescent oil-slick,
lava, plasma, crystal, dark matter.
Click to spawn; drag to pull.

25

Simulation

Falling Sand

300×200 cellular automaton with 14 elements:
sand, water, fire, lava, acid, ice, gas,
oil, wood, stone, ash, clone, void, fuse.
CRT phosphor aesthetic, 4 presets.

26

Simulation

Boids Flocking

3D murmuration with WebGL instanced render.
Spatial hash O(n) neighbor lookup.
Separation, alignment, cohesion rules.
Ping-pong trail effect for motion blur.

27

GPU Compute

Lenia

Continuous cellular automaton on GPU.
Ring kernel convolution + bell-curve
growth function. Orbium glider preset
moves on its own. Paint new creatures.

28

Generative Art

Crystal Growth

Diffusion-limited aggregation with 300
simultaneous random walkers. Gaussian
glow renderer, tip-brightening, four
color palettes. Spectral, icy, coral, neon.

29

Mathematics

Hyperbolic Geometry

Poincaré disk tessellations. {p,q} regular
tilings via Möbius transforms and BFS.
Drag to navigate; scroll to zoom in
hyperbolic space. Four color modes.

30

Physics

Cymatics

Chladni figure simulator with sand particles.
Eigenmode superposition drives −∇(u²)
force. Click resonant frequencies; watch
sand settle into standing-wave patterns.

31

Generative Art

Aurora Borealis

13k stars + 16 curtain systems in WebGL2.
Simplex-noise–driven curtain undulation,
additive Gaussian splats for volumetric
glow. Green-magenta altitude gradient.

32

GPU Compute

Marching Cubes

3D isosurface renderer: gyroid, Schwarz-P,
figure-8 knot, Mandelbulb, animated
metaballs. Five shading modes — metallic,
iridescent, glass, clay, neon.