VISUAL LAB • LIVE

Payne Patzke

A portfolio of thin-client visual experiments.
Light, motion, and cues for phones, tablets, and desktop. Nothing to install.
Respects prefers-reduced-motion — freeze + still frame.

JULIA • MANDEL • BOIDS • PATH • SORT • LIFE • MAZE
Ninety-one live canvases
Visual Lab
AT A GLANCE
Live Experiments
Pure client-side • Verified moments ago
LIVE CANVASES
91
Self-contained HTML • Zero backend
PARTICLE CEILING
650
Hard cap so the glass stays snappy
CURTAIN NODES
192
≤18×14 • Pinned rod hang
STORAGE
0
Nothing leaves the tab
ACTIVE VISUAL LAB
Thomas — Cyclic ODE
Rössler — 3D ODE
Ikeda — Delayed Optical
Hénon — Map Orbit
Lyapunov — Exponent Field
Newton — Basins of Attraction
Sierpinski — Chaos Game
Dragon — Heighway Fold
Particle Life — Species Matrix
Koch — Snowflake
Fern — Barnsley IFS
Compass — Wind Rose
Tides — 1D Shallow Water
Hyphae — Fungal Growth
Apollonian — Descartes Gasket
Attractors — Clifford / De Jong
Catenary — Hanging Chain
Mandala — Radial Draw
Voronoi Relax — Lloyd
Lissajous3 — 3-Freq
Flock3D — Ortho Boids
Ascend — Shepard Visual
Softbody — Pressure Blob
Diffraction — Multi-Slit
Penrose — P3 Rhomb
Gears — Involute Mesh
Hilbert — Space-Filling
Brian's Brain — Firing CA
Percolation — Site Clusters
Recamán — Semicircle Spiral
Phyllotaxis — Golden Spiral
Wireworld — Electron CA
Eden — Compact Growth
Heat — Diffusion
L-System — Turtle
Truchet — Tile Mosaic
Langton — Ant
Ising — Spin Lattice
Poisson — Blue-Noise Pack
Rule 110 — Elementary CA
Moiré — Grid Interference
String Art — Cardioid Chords
Sandpile — Avalanche
Caustics — Soft Light Sheets
Ribbons — Aurora Sheets
Debris — Orbital Ring
Hex Life — Hex CA
DLA — Dendrites
Fourier — Epicycles
Type Rain — Typographic Fall
Ink Wash — Soft Bloom Brush
Physarum — Slime Mold Trails
Julia — Set Explorer
Mandel — Fractal Explorer
Boids — Reynolds Flocking
Pathfinder — A* / Dijkstra Grid
Sort — Bar Chart Sorts
Life — Game of Life
Maze — Generator / Solver
Cloth — Hanging Curtain
Constellation — Star Field
Ripple — Wave Pond
Flow — Vector Field
Spiro — Spirograph Curves
Fireflies — Soft Glow Agents
Tree — Recursive Fractal
Orbit — Gravity Canvas
Full grid in the lab ↓
KEY LIVE DEMOS
Thomas — Cyclic ODE
Rössler — 3D ODE
Ikeda — Delayed Optical
Hénon — Map Orbit
Lyapunov — Exponent Field
Newton — Basins of Attraction
Sierpinski — Chaos Game
Dragon — Heighway Fold
Particle Life — Species Matrix
Koch — Snowflake
Fern — Barnsley IFS
Compass — Wind Rose
Tides — 1D Shallow Water
Hyphae — Fungal Growth
Apollonian — Descartes Gasket
Attractors — Clifford / De Jong
Catenary — Hanging Chain
Mandala — Radial Draw
Voronoi Relax — Lloyd
Lissajous3 — 3-Freq
Flock3D — Ortho Boids
Ascend — Shepard Visual
Softbody — Pressure Blob
Diffraction — Multi-Slit
Penrose — P3 Rhomb
Gears — Involute Mesh
Hilbert — Space-Filling
Brian's Brain — Firing CA
Percolation — Site Clusters
Recamán — Semicircle Spiral
Phyllotaxis — Golden Spiral
Wireworld — Electron CA
Eden — Compact Growth
Heat — Diffusion
L-System — Turtle
Truchet — Tile Mosaic
Langton — Ant
Ising — Spin Lattice
Poisson — Blue-Noise Pack
Rule 110 — Elementary CA
Moiré — Grid Interference
String Art — Cardioid Chords
Sandpile — Avalanche
Caustics — Soft Light Sheets
Ribbons — Aurora Sheets
Debris — Orbital Ring
Hex Life — Hex CA
DLA — Dendrites
Fourier — Epicycles
Type Rain — Typographic Fall
Ink Wash — Soft Bloom Brush
Physarum — Slime Mold Trails
Julia — Set Explorer
Mandel — Fractal Explorer
Boids — Reynolds Flocking
Pathfinder — A* / Dijkstra Grid
Sort — Bar Chart Sorts
Life — Game of Life
Maze — Generator / Solver
Cloth — Hanging Curtain
Constellation — Star Field
Ripple — Wave Pond
Flow — Vector Field
Spiro — Spirograph Curves
Fireflies — Soft Glow Agents
Tree — Recursive Fractal
Lissajous — Parametric Curves
Orbit — Gravity Canvas
Springs — Soft Mesh
OPERATOR
Payne Patzke
Precision Systems • Visual Experiments
MAKER NOTES
Pieces
Tonight's weave
pp-0.com/weave

Live public signals — world headlines, earth pulse, curious web — braided lightly on the glass. No keys. Phones first.

Live Canvas Open data
Visual Lab
portfolio.pp-0.com

Ninety-one pure client-side canvases. Light, math, radio waterfalls, cards, jellies. Phones first. Reduced-motion freezes to a still frame. No server bill.

Canvas JS S3 + CloudFront
Autonomous Agents

Orchestration layer for multi-agent systems. Spawn, delegate, reconcile. Designed for complex, long-running workflows with verification at every step.

Agents LLM Verification
LIVE VISUAL EXPERIMENTS
LIVE DEMO
Thomas
Cyclic ODE

Thomas — dx/dt = sin(y) − b·x, dy/dt = sin(z) − b·y, dz/dt = sin(x) − b·z. RK4 cyclic 3D orbit ≤650 gold pts. Classic / tight / near-period / twin mirror. Pan/zoom/tap seed. Gap vs Rössler fold / Lorenz butterfly / Ikeda map. RM = settled silhouette only.

CanvasThomas≤650
OPEN THOMAS
LIVE DEMO
Rössler
3D ODE

Rössler — dx/dt = −y − z, dy/dt = x + a·y, dz/dt = b + z·(x − c). RK4 3D orbit ≤650 gold pts. Classic / tight / near-period / twin mirror. Pan/zoom/tap seed. Gap vs Lorenz ODE / Ikeda map / Hénon quadratic. RM = settled silhouette only.

CanvasRössler≤650
OPEN RÖSSLER
LIVE DEMO
Ikeda
Delayed Optical

Ikeda map — z′ = A + B·z·exp(i(θ − C/(1+|z|²))). Gold low-alpha orbit ≤650. Classic / tight spiral / near-period / twin mirror. Pan/zoom/tap seed. Gap vs Hénon quadratic / Lorenz ODE / Clifford–De Jong. RM = settled attractor only.

CanvasIkeda≤650
OPEN IKEDA
LIVE DEMO
Hénon
Map Orbit

Hénon map — x′ = 1 − a·x² + y, y′ = b·x. Gold low-alpha orbit ≤650. Classic / dissipative / near-period / twin mirror. Pan/zoom/tap seed. Gap vs Lorenz ODE / Clifford–De Jong / Lyapunov λ field. RM = settled attractor only.

CanvasHénon≤650
OPEN HÉNON
LIVE DEMO
Lyapunov
Exponent Field

Lyapunov field — logistic x → r·x·(1−x) with r switching a/b; λ = mean log|r(1−2x)| after warm-up. Gold chaos, dark stable. Pan/zoom/tap recenter. Gap vs Newton basins / Mandel escape-time. RM = settled field only.

CanvasLyapunovLogistic
OPEN LYAPUNOV
LIVE DEMO
Newton
Basins of Attraction

Newton basins — iterate z − p(z)/p′(z) on zⁿ − 1; color by which root attracts, shade by depth. z³−1 default; z²/z⁴/z⁵ presets. Pan/zoom/tap recenter. Gap vs Mandel / Julia escape-time. RM = settled basins only.

CanvasNewtonBasins
OPEN NEWTON
LIVE DEMO
Sierpinski
Chaos Game

Sierpinski chaos game — random vertex, jump fraction (default ½); accumulate ≤650 gold points. Triangle / carpet square / pentagon / twin. Gap vs Fern / Apollonian / Dragon. RM = settled gasket only.

Canvas≤650IFS
OPEN SIERPINSKI
LIVE DEMO
Dragon
Heighway Fold

Heighway dragon — paper-fold 90° copies; binary turn sequence; animated folds or draw-on; depth-capped ≤650 segs; gold on #0A0A0A. Gap vs Koch / Hilbert / L-system / Fern. RM = full curve, no draw-on.

Canvas≤650Fold
OPEN DRAGON
LIVE DEMO
Particle Life
Species Matrix

Five colored types; pairwise attraction/repulsion (−1…+1). Agents ≤200. Clusters / chase / orbit / chaos. Tap to add. Gap vs Boids / Flock3D / Fireflies / Swarm Lab. RM freezes.

Canvas≤200Matrix
OPEN PARTICLE LIFE
LIVE DEMO
Koch
Snowflake

Koch snowflake — recursive 60° bumps; depth-capped ≤650 segments; gold on #0A0A0A. Gap vs Hilbert / Tree / L-system. RM = full flake, no draw-on.

Canvas≤650Fractal
OPEN KOCH
LIVE DEMO
Fern
Barnsley IFS

Barnsley fern IFS — classic 4 affine transforms; accumulate ≤650 gold points; tap reseed; optional slow rotate. Gap vs Tree / L-system / Attractors / Apollonian. RM = settled fern only.

Canvas≤650IFS
OPEN FERN
LIVE DEMO
Compass
Wind Rose

Wind-rose HUD — heading-driven particles ≤400 with rose dial. Drag to set heading. Gap vs Flow Perlin field. RM freezes.

Canvas≤400HUD
OPEN COMPASS
LIVE DEMO
Tides
1D Shallow Water

1D shallow-water / standing wave height field — tap drops, reflective ends. Gap vs Ripple 2D pond. RM freezes to static profile.

Canvas1D wave≤200 cells
OPEN TIDES
LIVE DEMO
Hyphae
Fungal Growth

Branching fungal hyphae — tips extend, bifurcate, avoid crowding. Tap spore. Tips ≤200. Gap vs Tree / L-system / Eden. RM freezes growth.

CanvasTips ≤200Growth
OPEN HYPHAE
LIVE DEMO
Apollonian
Descartes Gasket

Apollonian gasket — Descartes recursive soddy circles. Tap or DEEPEN. Cap ≤650 (prefer 200–400). Gap vs Voronoi / Poisson / Penrose / Truchet / Crystal. RM freezes shimmer.

Canvas≤650Descartes
OPEN APOLLONIAN
LIVE DEMO
Attractors
Clifford / De Jong

Strange map iterate — Clifford / De Jong formulas, accumulate ≤650 gold points at low alpha. Sliders a,b,c,d; tap reseed. Gap vs Lorenz trail. RM settled cloud.

Canvas≤650Strange map
OPEN ATTRACTORS
LIVE DEMO
Catenary
Hanging Chain

Single hanging chain — N beads ≤40, gravity + distance constraints. Drag endpoints or mid beads. Gap vs Cloth curtain / Springs mesh. RM freezes settle.

Canvas≤40 beadsConstraints
OPEN CATENARY
LIVE DEMO
Mandala
Radial Draw

Continuous radial symmetry draw — pointer ink mirrored N-fold around center (4–16). Gold fade on #0A0A0A. Gap vs Kaleidoscope mirrored wedges. RM freezes fade.

CanvasN-foldDraw
OPEN MANDALA
LIVE DEMO
Voronoi Relax
Lloyd

Lloyd relaxation animate — each site walks toward its cell centroid. Tap to add. ≤80 sites. Gap vs static Voronoi. RM → manual step.

Canvas≤80Lloyd
OPEN VORONOI RELAX
LIVE DEMO
Lissajous3
3-Freq

Three-frequency Lissajous — A/B drive X/Y, C modulates depth & alpha. Gold trail ≤500. Gap vs lissajous.html XY pair. RM freezes.

CanvasTrail ≤5003-freq
OPEN LISSAJOUS3
LIVE DEMO
Flock3D
Ortho Boids

Orthographic 3D Reynolds boids — gold wedges in a cube, drag to rotate. ≤120 agents. Distinct from Boids 2D / Swarm Lab. RM freezes.

Canvas≤120Ortho 3D
OPEN FLOCK3D
LIVE DEMO
Ascend
Shepard Visual

Visual Shepard-tone / Risset rhythm analogue — endless rising gold bars or barber-pole spiral stripes. No audio. Cap ≤200. Not Type Rain. RM freezes.

Canvas≤200Visual only
OPEN ASCEND
LIVE DEMO
Softbody
Pressure Blob

Single gas/jelly pressure blob — closed polygon, edge springs + area constraint. Drag to squish. Vertices ≤40. Not Springs mesh / Cloth curtain. RM freezes jiggle.

Canvas≤40 vertsPressure
OPEN SOFTBODY
LIVE DEMO
Diffraction
Multi-Slit

Far-field multi-slit intensity on a gold screen — 2D fringes or 1D curve. Sliders: slits 1–5, separation, wavelength. Not Waves pond. RM = static. Phones-first.

CanvasSlits 1–5Optics
OPEN DIFFRACTION
LIVE DEMO
Penrose
P3 Rhomb

Penrose P3 aperiodic tiling — thin 36° & thick 72° gold rhombs on #0A0A0A. Tap or inflate one generation; deflate steps back. Cap ≤400. Not Truchet / Kaleido / Moiré / Crystal. RM disables shimmer.

Canvas≤400P3
OPEN PENROSE
LIVE DEMO
Gears
Involute Mesh

Involute gear mesh — 2–3 gold gears, teeth ≤40, drag to spin, auto speed. Pitch circles touch. Not Spiro / Fourier. RM freezes auto-spin (drag OK).

CanvasTeeth ≤40Gears
OPEN GEARS
LIVE DEMO
Hilbert
Space-Filling

Hilbert curve animator — order 1–6, gold path draws cell-by-cell. Replay / pause. Not L-System turtle / binary Tree. RM shows full path.

CanvasOrder ≤6Hilbert
OPEN HILBERT
LIVE DEMO
Brian's Brain
Firing CA

Brian's Brain — ready / firing / refractory. Gold flashes; fire if exactly 2 firing neighbors. Tap cycle. Grid 40×16. Not Life / Wireworld. RM → manual step.

Canvas40×16Brian's Brain
OPEN BRIAN'S BRAIN
LIVE DEMO
Percolation
Site Clusters

Site percolation — open cells at probability p; largest 4-connected cluster in gold. Tap reseed. Grid 48×28. Not Eden / DLA / Ising. RM static.

Canvas48×28Percolation
OPEN PERCOLATION
LIVE DEMO
Recamán
Semicircle Spiral

Recamán sequence as gold semicircles on the number line. Animate step-by-step; speed + cap. Not Spiro / Fourier / Lissajous. Cap ≤300. RM → manual step.

Canvas≤300Recamán
OPEN RECAMÁN
LIVE DEMO
Phyllotaxis
Golden Spiral

Vogel phyllotaxis — golden angle ≈137.5°, r=c√n. Gold dots on dark. Scale / count / slow spin. Tap reseed. Cap ≤400. Not Poisson / Voronoi / Constellation. RM freezes spin.

Canvas≤400Phyllotaxis
OPEN PHYLLOTAXIS
LIVE DEMO
Wireworld
Electron CA

Wireworld CA — empty / conductor / electron-head / electron-tail. Gold heads race on dim wires. Tap cycle. Diode & clock presets. Grid 40×16. Not Life / Rule 110 / Langton. RM → manual step.

Canvas40×16Wireworld
OPEN WIREWORLD
LIVE DEMO
Eden
Compact Growth

Eden growth — empty neighbors of the cluster randomly occupy. Compact blob, not DLA dendrites. Tap to seed. Cap ≤400. RM → manual step.

Canvas≤400Eden
OPEN EDEN
LIVE DEMO
Heat
Diffusion

2D heat diffusion — tap/drag to add heat, cools slowly, gold intensity. Grid 64×40. Distinct from Ripple waves and ReactDiff. RM → manual step.

Canvas64×40Heat
OPEN HEAT
LIVE DEMO
L-System
Turtle

Turtle L-system — F / + / − / [ / ]. Presets plant, bush, Koch. Depth capped so segments stay well under 650. Distinct from binary Tree. RM still.

Canvas≪650L-sys
OPEN L-SYSTEM
LIVE DEMO
Truchet
Tile Mosaic

Rotating Truchet tiles — quarter-arcs and diagonals. Tap to rotate. Density / size sliders. Distinct from Kaleido wedges and Moiré grids. RM freezes spin.

CanvasTilesArcs
OPEN TRUCHET
LIVE DEMO
Langton
Ant

Langton's ant — L on dim, R on gold, flip, step. Grid 32×20 (640≤650). Speed slider. Distinct from Life / Hex Life / Rule 110 / Ising. RM → manual step.

Canvas32×20Ant
OPEN LANGTON
LIVE DEMO
Ising
Spin Lattice

2D Ising ±1 spins — gold/dim cells. Metropolis Monte Carlo, temperature slider, tap to flip. Grid 64×40. Distinct from Life / ReactDiff / Sandpile. RM → manual step.

Canvas64×40Metropolis
OPEN ISING
LIVE DEMO
Poisson
Blue-Noise Pack

Bridson-style Poisson-disk sampling — growing gold disks, blue-noise packing. Radius slider. Cap ≤200. Distinct from Voronoi sites and Constellation. Tap clear+reseed. RM freezes.

Canvas≤200Bridson
OPEN POISSON
LIVE DEMO
Rule 110
Elementary CA

1D Wolfram elementary CA — default Rule 110; presets 30/90/110/184. History scrolls down. Width ≤160, wrap edges. Tap to seed. Distinct from 2D Life / Hex Life. RM → manual step.

Canvas≤1601D CA
OPEN RULE 110
LIVE DEMO
Moiré
Grid Interference

Two gold line grids. Drag for phase (X) and angle (Y). Interference fringes — not kaleidoscope wedges. RM freezes drift.

Canvas2 GridsMoiré
OPEN MOIRÉ
LIVE DEMO
String Art
Cardioid Chords

Rotating gold chords on a pin circle — cardioid / nephroid envelopes. Cap ≤200. Distinct from Spiro gears and Fourier epicycles. RM freezes.

Canvas≤200Chords
Moiré — Grid Interference OPEN STRING ART
LIVE DEMO
Sandpile
Avalanche

Abelian BTW sandpile — cells hold 0–3; ≥4 topples to orthogonal neighbors. Open absorbing edges. Tap/drag drop. Grid 64×40. RM → manual step.

Canvas64×40BTW
String Art — Cardioid Chords OPEN SANDPILE
LIVE DEMO
Caustics
Soft Light Sheets

Layered refractive sheets — soft caustic bands. Pointer shifts focus. Sheets ≤12. Distinct from Gleam pebbles. RM freezes.

CanvasSheets ≤12Caustics
Sandpile — Avalanche OPEN CAUSTICS
LIVE DEMO
Ribbons
Aurora Sheets

Vertical aurora as continuous gold ribbons — not Lumen particles. Pointer tilts. ≤8 sheets. RM freezes.

CanvasRibbons ≤8Aurora
OPEN RIBBONS
LIVE DEMO
Debris
Orbital Ring

Subtle Kepler debris on inclined rings. Specks ≤200. Distinct from Orbit mass toys. Drag tilts. RM freezes.

Canvas≤200Rings
OPEN DEBRIS
LIVE DEMO
Hex Life
Hex CA

Conway-style rules on a hex lattice (6 neighbors). Tap, play, step. Grid ≤48×30. Distinct from square Life. RM → manual / still.

Canvas ≤48×30 Hex
Caustics — Soft Light Sheets Ribbons — Aurora Sheets Debris — Orbital Ring OPEN HEX LIFE
LIVE DEMO
DLA
Dendrites

Diffusion-limited aggregation. Tap to seed; walkers freeze into dendrites. Cap ~400 stuck. Distinct from Crystal / ReactDiff. RM → still frame.

Canvas Stuck ≤400 DLA
Hex Life — Hex CA OPEN DLA
LIVE DEMO
Fourier
Epicycles

Rotating gold arms reconstruct a closed path via discrete Fourier terms. Trail ≤500. Distinct from Spiro gears and Lissajous pairs. RM → still frame.

CanvasTrail ≤500Epicycles
DLA — Dendrites OPEN FOURIER
LIVE DEMO
Type Rain
Typographic Fall

Gold glyphs rain, drift, and splash on tap. Cap 180. Prefers-reduced-motion settles to a still frame.

CanvasGlyphs ≤180Reduced-motion
Fourier — Epicycles OPEN TYPE RAIN
LIVE DEMO
Ink Wash
Soft Bloom Brush

Pointer as brush — gold ink blooms, granulates, and fades. Cap 220 droplets. Phones-first.

CanvasDroplets ≤220Brush
OPEN INK WASH
LIVE DEMO
Physarum
Slime Mold Trails

Agents deposit fading scent and steer toward richer trails plus tap-placed food. Cap 100. Distinct from Flow / Fireflies / Boids. Prefers-reduced-motion freezes to a still frame.

Canvas Agents ≤100 Reduced-motion
OPEN PHYSARUM
LIVE DEMO
Julia
Set Explorer

Julia set z²+c. Sliders or SET C drag for complex constant; presets; pan/zoom; max-iter. Progressive downsample for phones. Gold foil on deep black. No audio, no backend.

Canvas Fractal Progressive
OPEN JULIA
LIVE DEMO
Mandel
Fractal Explorer

Classic Mandelbrot escape-time. Drag pan, wheel/buttons zoom, reset, max-iter slider. Progressive downsample for phones. Gold foil on deep black. No audio, no backend.

Canvas Fractal Progressive
OPEN MANDEL
LIVE DEMO
Boids
Reynolds Flocking

Classic separation, alignment, cohesion. Pointer attract/repel; sliders for the three forces and count. Distinct from Swarm Lab. Cap ≤200. Phones first. No audio, no backend.

Canvas Flocking ≤200
OPEN BOIDS
LIVE DEMO
Pathfinder
A* / Dijkstra Grid

Editable obstacle grid. Tap to paint walls; set start and goal; toggle A* or Dijkstra; watch open and closed sets animate. Clear / regenerate. Distinct from Maze. Cap ≤32×20. Phones first. No audio, no backend.

Canvas Pathfinding ≤32×20
OPEN PATH
LIVE DEMO
Sort
Bar Chart Sorts

Animated gold bars. Toggle quicksort, mergesort, or insertion. Shuffle, play/pause, speed. Compare and swap highlights. Array ≤64. Phones first. No audio, no backend.

Canvas Sorting ≤64
OPEN SORT
LIVE DEMO
Life
Game of Life

Conway’s Game of Life in gold. Tap cells, play/pause, step, randomize, clear. Toroidal or edged wrap. Grid ≤64×40 for phones. Phones first. No audio, no backend.

Canvas Cellular ≤64×40
OPEN LIFE
LIVE DEMO
Maze
Generator / Solver

Gold recursive-backtracker maze. Watch corridors carve; SOLVE paints BFS or A* path. Odd dims ≤41×29 for phones. Phones first. No audio, no backend.

Canvas Maze ≤41×29
OPEN MAZE
LIVE DEMO
Cloth
Hanging Curtain

Gold curtain pinned to a rod. Gravity hangs the drape; drag to tug; TEAR snaps strands; optional wind. Cap ≤18×14. Distinct from Springs mesh. Phones first. No audio, no backend.

Canvas Cloth ≤18×14
OPEN CLOTH
LIVE DEMO
Constellation
Star Field

Gold stars on deep black. Lines bloom on proximity. Drag to reshape; optional slow drift. Cap ≤80. Phones first. No audio, no backend.

Canvas Constellation ≤80
OPEN CONSTELLATION
LIVE DEMO
Ripple
Wave Pond

Gold 2D height-field wave pond. Tap to drop ripples; optional rain mode. Modest grid for phones. Phones first. No audio, no backend.

Canvas Wave Pond Interactive Zero Storage
OPEN RIPPLE
LIVE DEMO
Flow
Vector Field

Gold particles ride a Perlin-style noise vector field. Sliders for noise scale, speed, particle count. Cap ≤400. Phones first. No audio, no backend.

Canvas Flow Field Interactive Zero Storage
OPEN FLOW
LIVE DEMO
Spiro
Spirograph Curves

Gold hypotrochoid and epitrochoid curves. Sliders for R, r, d, speed, trail fade; hypo/epi mode. Trail ≤500. Phones first. No audio, no backend.

Canvas Spirograph Interactive Zero Storage
OPEN SPIRO
LIVE DEMO
Fireflies
Soft Glow Agents

Soft gold agents that drift and pulse. Optional gentle flocking and pointer attraction. Cap ≤200. Phones first. No audio, no backend.

Canvas Agents Interactive Zero Storage
OPEN FIREFLIES
LIVE DEMO
Tree
Recursive Fractal

Gold recursive binary tree. Sliders for depth, angle, branch ratio; optional wind sway. Depth cap 9 so segments stay well under 650. Phones first. No audio, no backend.

Canvas Fractal Interactive Zero Storage
OPEN TREE
LIVE DEMO
Lissajous
Parametric Curves

Classic gold Lissajous figures. Sliders for freq X/Y, phase, trail fade; optional slow phase drift. Trail ≤500. Phones first. No audio, no backend.

Canvas Lissajous Interactive Zero Storage
OPEN LISSAJOUS
LIVE DEMO
Orbit
Gravity Canvas

Central gold star. Drag to fling small bodies; trails bloom. Soft N-body mutual pull. Cap ≤40. Phones first. No audio, no backend.

Canvas N-body Interactive Zero Storage
OPEN ORBIT
LIVE DEMO
Metaballs
Soft Isosurfaces

Soft gold blobby isosurfaces. Drag the balls; optional slow drift. Cap ≤12. Field downsampled on phones. No audio, no backend.

Canvas Metaballs Interactive Zero Storage
OPEN METABALLS
LIVE DEMO
Waves
Interference

Circular wave sources. Constructive bright bands, destructive dark. Tap to place, drag to move. ≤3 sources. No audio, no backend.

Canvas Interference Interactive Zero Storage
OPEN WAVES
LIVE DEMO
Springs
Soft Mesh

Spring-mass gold cloth. Drag a node to tug the mesh. Optional wind or pulse. Grid ≤18×12. No audio, no backend.

Canvas Soft Body Interactive Zero Storage
OPEN SPRINGS
LIVE DEMO
Voronoi
Site Diagram

Gold cells claim the plane. Tap to plant sites, drag to reshape. Optional slow drift. Cap 80. No audio, no backend.

Canvas Voronoi Interactive Zero Storage
OPEN VORONOI
LIVE DEMO
Lorenz
Attractor

Classic chaotic butterfly. Tweak σ ρ β, drag to rotate, watch the gold trail fold. Cap 500. No audio, no backend.

Canvas Lorenz Attractor Interactive Zero Storage
OPEN LORENZ
LIVE DEMO
Crystal
Lattice

Gold atoms in a quiet lattice. Drag to tilt. Grow shells or introduce vacancies. Cap 400. No audio, no backend.

Canvas Crystal Lattice Interactive Zero Storage
OPEN CRYSTAL
LIVE DEMO
Magnet
Magnetic Field

Charged gold dust in a living field. Tap to place attractors, shift-click or long-press for repellers. Field lines bend with every magnet. Cap 400. No audio, no backend.

Canvas Magnetic Field Interactive Zero Storage
OPEN MAGNET
LIVE DEMO
Kaleidoscope
Mirrored Wedges

Draw once. Every wedge answers. Gold ink on deep black with live wedge count, spin, and fade. Phones first. No audio, no backend.

Canvas Kaleidoscope Interactive Zero Storage
OPEN KALEIDOSCOPE
LIVE DEMO
ReactDiff
Gray-Scott Bloom

Two chemicals. Feed and kill. Paint seeds and watch gold patterns grow themselves. Pure client-side Gray-Scott. No audio, no backend.

Canvas Reaction-Diffusion Interactive Zero Storage
OPEN REACTDIFF
LIVE DEMO
Pendulum
Double Arm Chaos

Two rods, four degrees of freedom. Drag a bob, watch the gold trace bloom. Pure client-side RK4. No audio, no backend.

Canvas Physics Interactive Zero Storage
OPEN PENDULUM
LIVE DEMO
Gleam
Caustic Light

Gold light through a living surface. Drop pebbles, watch the focus. Pure client-side caustics. No audio, no backend.

Canvas Caustics Interactive Zero Storage
OPEN GLEAM
CREATIVE EXPERIMENTS • VISUAL LAB
Thomas — Cyclic ODE Rössler — 3D ODE Ikeda — Delayed Optical Hénon — Map Orbit Lyapunov — Exponent Field Newton — Basins of Attraction Sierpinski — Chaos Game Dragon — Heighway Fold Particle Life — Species Matrix Koch — Snowflake Fern — Barnsley IFS Compass — Wind Rose Tides — 1D Shallow Water Hyphae — Fungal Growth Apollonian — Descartes Gasket Attractors — Clifford / De Jong Catenary — Hanging Chain Mandala — Radial Draw Voronoi Relax — Lloyd Lissajous3 — 3-Freq Flock3D — Ortho Boids Ascend — Shepard Visual Softbody — Pressure Blob Diffraction — Multi-Slit Penrose — P3 Rhomb Gears — Involute Mesh Hilbert — Space-Filling Brian's Brain — Firing CA Percolation — Site Clusters Recamán — Semicircle Spiral Phyllotaxis — Golden Spiral Wireworld — Electron CA Eden — Compact Growth Heat — Diffusion L-System — Turtle Truchet — Tile Mosaic Langton — Ant Ising — Spin Lattice Poisson — Blue-Noise Pack Rule 110 — Elementary CA Moiré — Grid Interference String Art — Cardioid Chords Sandpile — Avalanche Caustics — Soft Light Sheets Ribbons — Aurora Sheets Debris — Orbital Ring Hex Life — Hex CA DLA — Dendrites Fourier — Epicycles Type Rain — Typographic Fall Ink Wash — Soft Bloom Brush Physarum — Slime Mold Trails Julia — Set Explorer Mandel — Fractal Explorer Boids — Reynolds Flocking Pathfinder — A* / Dijkstra Grid Sort — Bar Chart Sorts Life — Game of Life Maze — Generator / Solver Cloth — Hanging Curtain Constellation — Star Field Ripple — Wave Pond Flow — Vector Field Spiro — Spirograph Curves Fireflies — Soft Glow Agents Tree — Recursive Fractal Lissajous — Parametric Curves Orbit — Gravity Canvas Metaballs — Soft Isosurfaces Waves — Interference Springs — Soft Mesh Voronoi — Site Diagram Lorenz — Attractor Crystal — Lattice Magnet — Magnetic Field Kaleidoscope — Mirrored Wedges ReactDiff — Gray-Scott Bloom Pendulum — Double Arm Chaos Gleam — Caustic Light Biolume — Glow Jelly Aquarium Lumen — Aurora Light Nexus — Force Field Veil — Fractal Boundary Swarm Lab — Multi-agent boids Arcane War — Magical Duel Aether — Particle Field Harmonograph — Pendulum Curves Skywave — HF Waterfall EchoLine — Cable Pulse
Pure client-side. All demos at portfolio.pp-0.com/[name].html
RECENT ACTIVITY
Chronicle
09.27.26
Thomas shipped. Cyclically symmetric 3D ODE orbit ≤650 gold pts. Ninety-one canvases on the dial. Reduced-motion settled silhouette.
09.27.26
Rössler shipped. 3D continuous ODE orbit ≤650 gold pts. Ninety canvases on the dial. Reduced-motion settled silhouette.
09.27.26
Ikeda shipped. Complex delayed-optical map orbit ≤650 gold pts. Eighty-nine canvases on the dial. Reduced-motion settled attractor.
09.27.26
Hénon shipped. Discrete quadratic map orbit ≤650 gold pts. Eighty-eight canvases on the dial. Reduced-motion settled attractor.
09.27.26
Lyapunov shipped. Logistic λ field on the (a,b) plane. Eighty-seven canvases on the dial. Reduced-motion settled field.
09.27.26
Newton shipped. Basins of attraction on zⁿ−1. Eighty-six canvases on the dial. Reduced-motion settled basins.
09.27.26
Sierpinski shipped. Chaos-game gasket ≤650 gold pts. Eighty-five canvases on the dial. Reduced-motion settled gasket.
09.27.26
Dragon shipped. Heighway paper-fold ≤650 segs. Eighty-four canvases on the dial. Reduced-motion full curve.
09.27.26
Particle Life shipped. Species force matrix ≤200. Eighty-two canvases on the dial. Reduced-motion freezes.
09.27.26
Koch shipped. Snowflake ≤650 segments. Eighty-three canvases on the dial. Reduced-motion full flake.
09.27.26
Fern shipped. Barnsley IFS ≤650 gold pts. Eighty-one canvases on the dial. Reduced-motion settled fern.
09.27.26
Compass shipped. Wind-rose HUD particles ≤400. Eighty canvases on the dial. Reduced-motion freezes.
09.27.26
Tides shipped. 1D shallow-water / standing wave. Seventy-nine canvases on the dial. Reduced-motion static profile.
09.27.26
Hyphae shipped. Branching fungal tips ≤200. Seventy-eight canvases on the dial. Reduced-motion freezes growth.
09.27.26
Apollonian shipped. Descartes gasket ≤650 circles. Seventy-seven canvases on the dial. Reduced-motion freezes shimmer.
09.27.26
Attractors shipped. Clifford / De Jong map ≤650 gold pts. Seventy-six canvases on the dial. Reduced-motion settled cloud.
09.27.26
Catenary shipped. Hanging chain ≤40 beads, drag ends/mids. Seventy-five canvases on the dial. Reduced-motion static hang.
09.27.26
Mandala shipped. Continuous N-fold radial draw, gold fade. Seventy-four canvases on the dial. Reduced-motion freezes fade.
09.27.26
Voronoi Relax shipped. Lloyd centroid walk ≤80 sites. Seventy-three canvases on the dial. Reduced-motion → manual step.
09.27.26
Lissajous3 shipped. 3-frequency curve, trail ≤500. Seventy-two canvases on the dial. Reduced-motion freezes.
09.27.26
Flock3D shipped. Orthographic 3D boids ≤120, drag rotate. Seventy-one canvases on the dial. Reduced-motion freezes.
09.27.26
Ascend shipped. Shepard-tone visual rising bars / spiral, no audio, ≤200. Seventy canvases on the dial. Reduced-motion freezes.
09.27.26
Softbody shipped. Pressure blob ≤40 verts, drag to squish. Sixty-nine canvases on the dial. Reduced-motion freezes jiggle.
09.27.26
Diffraction shipped. Multi-slit gold-screen fringes, slits 1–5. Sixty-eight canvases on the dial. Reduced-motion static.
09.27.26
Penrose shipped. P3 rhomb aperiodic tiling, tap inflate/deflate, ≤400. Sixty-seven canvases on the dial. Reduced-motion disables shimmer.
09.27.26
Gears shipped. Involute mesh 2–3 gears, drag spin, teeth ≤40. Sixty-six canvases on the dial. Reduced-motion freezes auto-spin.
09.27.26
Hilbert shipped. Space-filling curve animator, order 1–6. Sixty-five canvases on the dial. Reduced-motion shows full path.
09.27.26
Brian's Brain shipped. Ready/firing/refractory gold flashes, 40×16. Sixty-four canvases on the dial. Reduced-motion freezes to manual step.
09.27.26
Percolation shipped. Site open @ p, largest cluster gold, 48×28. Sixty-three canvases on the dial. Reduced-motion static.
09.27.26
Recamán shipped. Semicircle spiral on number line, ≤300 arcs. Sixty-two canvases on the dial. Reduced-motion freezes to manual step.
09.27.26
Phyllotaxis shipped. Vogel golden-angle spiral, r=c√n, ≤400 dots. Sixty-one canvases on the dial. Reduced-motion freezes spin.
09.27.26
Wireworld shipped. Electron heads on conductors, diode/clock presets, 40×16. Sixty canvases on the dial. Reduced-motion freezes to manual step.
09.27.26
Eden shipped. Compact cluster growth from perimeter, ≤400. Fifty-nine canvases on the dial. Reduced-motion freezes to manual step.
09.27.26
Heat shipped. 2D diffusion, tap add heat, cool slow, 64×40. Fifty-eight canvases on the dial. Reduced-motion freezes to manual step.
09.27.26
L-System shipped. Turtle rewrite F/+/-/[/], plant/bush/Koch, segments ≪650. Fifty-seven canvases on the dial. Reduced-motion freezes.
09.27.26
Truchet shipped. Quarter-arc / diagonal tiles, tap rotate, density slider. Fifty-six canvases on the dial. Reduced-motion freezes.
09.27.26
Langton shipped. Ant L-on-dim / R-on-gold, 32×20 (≤650). Fifty-five canvases on the dial. Reduced-motion freezes to manual step.
09.27.26
Ising shipped. 2D spin lattice, Metropolis, temperature slider, 64×40. Fifty-four canvases on the dial. Reduced-motion freezes to manual step.
09.27.26
Poisson shipped. Bridson blue-noise disks, radius slider, ≤200. Fifty-three canvases on the dial. Reduced-motion freezes.
09.27.26
Rule 110 shipped. Elementary 1D CA, presets 30/90/110/184, ≤160 wrap. Fifty-two canvases on the dial. Reduced-motion freezes to manual step.
09.27.26
Moiré shipped. Two gold grids, drag phase/angle. Fifty-one canvases on the dial. Reduced-motion freezes.
09.27.26
String Art shipped. Rotating gold chords, cardioid envelopes, ≤200. Fifty canvases on the dial. Reduced-motion freezes.
09.27.26
Sandpile shipped. Abelian BTW avalanche, open edges, 64×40 grid. Forty-nine canvases on the dial. Reduced-motion freezes to manual step.
09.27.26
Physarum shipped. Slime-mold scent trails, tap food, ≤100 agents. Forty-eight canvases on the dial. Reduced-motion freezes.
09.26.26
Julia shipped. Set explorer — tune c with sliders, SET C drag, or presets; pan/zoom; max-iter. Forty-eight canvases on the dial.
09.26.26
Mandel shipped. Classic Mandelbrot explorer — drag pan, wheel zoom, max-iter. Thirty-eight canvases on the dial.
09.26.26
Boids shipped. Classic Reynolds flocking — separation, alignment, cohesion; pointer attract/repel. Thirty-seven canvases on the dial.
09.26.26
Pathfinder shipped. Editable gold obstacle grid with live A* and Dijkstra — paint walls, set start/goal, watch open/closed. Thirty-six canvases on the dial.
09.26.26
Sort shipped. Gold bar-chart quicksort, mergesort, insertion — shuffle, play, speed. Thirty-five canvases on the dial.
09.26.26
Life shipped. Conway’s Game of Life in gold — tap, play, step, wrap. Thirty-four canvases on the dial.
09.26.26
Maze shipped. Gold recursive-backtracker carve with BFS/A* solve. Thirty-three canvases on the dial.
09.26.26
Cloth shipped. Gold hanging curtain you can tug and tear. Thirty-two canvases on the dial.
09.26.26
Constellation shipped. Gold proximity star field you can drag. Thirty-one canvases on the dial.
09.26.26
Ripple shipped. Gold 2D height-field wave pond with rain. Thirty canvases on the dial.
09.26.26
Flow shipped. Gold particles on a noise vector field. Twenty-nine canvases on the dial.
09.26.26
Spiro shipped. Gold hypotrochoid and epitrochoid curves. Twenty-eight canvases on the dial.
09.26.26
Fireflies shipped. Soft gold agents that drift and pulse. Twenty-seven canvases on the dial.
09.26.26
Tree shipped. Gold recursive fractal with depth, angle, sway. Twenty-six canvases on the dial.
09.26.26
Lissajous shipped. Gold parametric curves with phase drift. Twenty-five canvases on the dial.
09.26.26
Orbit shipped. Gold N-body gravity you can fling. Twenty-four canvases on the dial.
09.26.26
Metaballs shipped. Soft gold isosurfaces you can drag. Twenty-three canvases on the dial.
09.26.26
Waves shipped. Gold circular interference you can place. Twenty-two canvases on the dial.
09.26.26
Springs shipped. Gold soft-body mesh you can tug. Twenty-one canvases on the dial.
09.26.26
Voronoi shipped. Gold interactive site diagram. Twenty canvases on the dial.
09.26.26
Lorenz shipped. Gold chaotic attractor you can rotate. Nineteen canvases on the dial.
09.26.26
Hero curated. Weekend six stay featured; older demos demoted to the lab grid. Files kept.
09.26.26
Crystal shipped. Gold lattice you can tilt and grow. Eighteen canvases on the dial.
09.26.26
Magnet shipped. Gold charged particles in a living field. Seventeen canvases on the dial.
09.26.26
Kaleidoscope shipped. Gold mirrored wedges. Sixteen canvases on the dial.
09.26.26
ReactDiff shipped. Gold Gray-Scott blooms. Fifteen canvases on the dial.
09.26.26
Pendulum shipped. Double-arm chaos in gold. Fourteen canvases on the dial.
09.26.26
Gleam shipped. Gold caustics on dark water. Thirteen canvases on the dial.
09.26.26
Lab front door rebuilt. Twelve canvases on the dial. Journal next door at pp-0.com.
09.13.26
Visual experiments expanded. New auroral and fractal canvases released.
09.02.26
Precision visual systems refined. Client-side simulations stable.
09.02.26
Procedural agent swarms reconciled with full visual audit.
09.01.26
Visual dataset volume increased. Continuous creative ingestion active.
CONNECT
Say hello

Open to a short note. Contact stays behind a light tap so scrapers don’t get a free list.