Each particle follows a direction sampled from a layered noise field (a stand-in for a generative model's latent space). Temperature scales how much randomness is mixed into that direction each step — low temperature traces smooth, repeatable curves; high temperature drifts unpredictably.
dir(p) = flowField(p, octaves) + temperature * randomUnitVector()
novelty ~ average step-to-step direction change (higher = more surprising)
coherence ~ how well particles align into shared flow lines (higher = more structured)
- Temperature — same concept as an LLM's sampling temperature: low = safe/coherent, high = novel/chaotic.
- Structure — number of noise octaves layered into the flow field; more octaves add finer, more intricate branching.
- Particles — how many independent strokes draw simultaneously.
- Regenerate — reseeds the noise field for a new "generation" while keeping the current settings.
This is the real tension behind tuning any generative system: push temperature up and novelty score rises, but coherence falls — the same trade-off that governs how creative vs. reliable a generative model's output feels.