I revisited the render loop and focused on reducing unnecessary work between generations.
Today I profiled grid updates and tuned the update cadence so controls feel more responsive while the simulation is running. I also cleaned up some state transitions to make pause/step behavior more predictable during manual testing.