JAIN Particle Piece
A live procedural particle field adapted from Three.js, with pause, pointer and keyboard controls.

Rhythm made visible
JAIN Particle Piece pairs its spatial concept artwork with a live, procedural wave field. The interactive adaptation starts from the Three.js particle-waves example, credited below, and moves its wave equations into a GPU shader. Coral and cyan points reveal the height and rhythm of two intersecting waves.
The live field starts at rest. Choose Animate particles to set it moving and Pause particles to hold a composition. Move the pointer over the field to explore; with the field focused, the arrow keys change the viewpoint and wave phase. Rendering stops when the field leaves view.
A frame from an imagined field

The still composition keeps the concept legible without motion or graphics support. The live study adds spatial exploration while preserving a pause control, keyboard interaction, and a poster with Retry if the graphics context is lost.
Source and adaptation
The wave equations and particle shader derive from the Three.js waves example at r160, copyright © 2010–2023 Three.js authors, under the MIT license.
This site's adaptation uses a deterministic 6,144-point field, GPU wave evaluation, a coral/cyan palette, bounded pointer and keyboard views, explicit animation control, and the portfolio's visibility, disposal and fallback boundary. It uses procedural motion and does not load external textures or an audio track.
Interactive demo
Play JAIN Particle Piece
The poster is the alternative when interactive rendering is unavailable or reduced motion or data saving is enabled.
Move the pointer over the field to explore. With the field focused, use the arrow keys to change the view. Animation starts only when you choose Animate particles.