Confluon is an audiovisual instrument powered by a deterministic Rust/WASM engine.
Three particle populations compose by negotiating local energy and sensing one another: crowding excites resonant voices, encounters open the spectrum, coherent motion opens a shared drone, and the performer seeds, herds, or disturbs formations without a step grid.
- Synthesis: additive resonator swarm plus filtered noise.
- Form: emergent energy-attractor transitions; no sequencer or fixed bars.
- Visual family: dense, point-built membranes moving through restrained translucent kernel fields; the organisms remain visibly particulate at every scale.
- Harmony: an overtone partial lattice rather than an octave-repeating scale; aligned motion brings its sustained voices into focus.
- Energy: breathing ambient motion that can break into dense, unstable clusters.
- Risk: wild. The simulation is allowed to settle into silence or rupture into noisy transitions; performance gestures are how the player negotiates those states.
The piece does not turn every particle into an oscillator. That produces a diagram, not a composition. Instead, the engine reduces the swarm into a small set of musical signals:
- local field density controls brightness and noise colour;
- mean particle energy shapes the resonator spectrum;
- directional coherence opens the sustained choir;
- activity controls spatial width and delay feedback;
- abrupt energy changes excite short resonant strikes;
- formation count shifts the harmonic root through a six-step cycle;
- each visible formation owns a sustained voice panned to its screen position and weighted by its size, and a newly born formation rings an emergence bell from where it appeared;
- cross-population encounter pressure brightens the field, widens its tuning, and shortens the space between sparse tones.
- pointer pressure and speed open the shared spectrum, add a little air, and pull the field sound towards the contact position.
The visual image and the audio mix read the same deterministic simulation snapshot.
- A mouse or hovering pen is a quiet presence. Fast movement alarms nearby organisms; a still pointer attracts attention without letting matter collapse onto it.
- A poke or click produces a short startle response that survives a quick release.
- Press and drag: after the initial startle, apply the selected Gather, Orbit, or Divide gesture around the pointer.
- Gather draws nearby matter towards a protected inner space; Orbit winds it around the gesture without pulling the entire world into it.
- Shift + drag: temporarily orbit without changing the selected gesture.
- Option/Alt + drag: temporarily divide and open a cavity.
- Double click/tap: seed a new local population.
- Hold
S: constrain the system toward a quieter common state; release it to return to local negotiation, often causing a phase transition. R: regenerate the current field.Space: pause or resume.G,O,D: select the touch-friendly Gather, Orbit, or Divide mode.
- Ecology scales cross-population pursuit and avoidance.
- Flow changes deterministic simulation time without changing display cadence.
- Touch changes the strength of all direct gestures.
- Halo and Memory shape the rendered field and motion history.
- Halo and Memory also shape shimmer, delay, and room depth, keeping those controls meaningful to both sides of the instrument.
- Tone tilts the shared Web Audio spectrum between dark and bright.
- Life sets the particle population, from a sparse 600 to a teeming 4,096.
- Level changes playback and capture gain without altering the swarm.
The settings and selected gesture are encoded in the URL with the seed. They are therefore part of a reproducible performance state rather than hidden preferences. Featured fields are named starting scores built only from those public parameters; selecting one replaces the live seed and settings without introducing hidden state.