tick method

void tick()

Runs a single tick of the simulation.

Implementation

void tick() {
  // Update alpha
  alpha += (alphaTarget - alpha) * alphaDecay;

  // Apply forces
  for (final force in forces) {
    force.apply(this);
  }

  // Update positions
  for (final node in nodes) {
    if (node.fixed) continue;

    node.vx *= velocityDecay;
    node.vy *= velocityDecay;
    node.x += node.vx;
    node.y += node.vy;
  }
}