Wanted to treat text like a wave hitting the beach with many particles.
First figured out what a 'wave' would look like. A grid of circles oscillated in size and colour by using a sine wave that moves through time.
for (let y = 0; y <= height; y += 50) {
let wave = sin((y + waveOffset) / 50) * waveHeight;
fill(100 + wave, 150 + wave, 255);
circle(500, y, 300+wave);
}
waveOffset += waveSpeed;
Then applied the same logic to a piece of text where the text is made up of separate square particles.