This simulator fits a Gaussian Mixture Model to a live 2D point cloud using the real Expectation-Maximization algorithm — the same soft-clustering method behind speaker diarization, anomaly scoring and density estimation. Each frame alternates an E-step, which recomputes every point's fractional responsibility toward each Gaussian component, and an M-step, which re-estimates that component's mean, variance and weight from those responsibilities. Points are coloured by blending the cluster colours in proportion to their responsibilities, so overlapping regions genuinely look mixed rather than hard-assigned, and each component is drawn as a covariance ellipse that visibly grows, shrinks and rotates in place as the fit tightens. A running log-likelihood readout demonstrates EM's core guarantee: it never decreases, iteration after iteration, until the fit converges.