It’s a little more complicated than that.
The preview runs the full simulation. Shapes are fed to the sim engine and each line that it simulates records the time that line ends. If a line ends before the currently set time, it is drawn into a buffer. If the line ends after, or at the current time, it’s held. The buffer is drawn to the window, and the current line is partially drawn based on acceleration, speed, and time. This is so when you click ‘Play’ I don’t have to redraw everything - just blast the cached version to the display, then add the most recent line.
When you save the preview, I’m saving the cached bitmap, but not drawing that last line into it first.
I actually want to see if I can speed up the ‘show the end result’ part of the preview, since that gets used more than anything else. When you preview, it draws with the slider at the end. I could special case that and skip the simulation, and just draw everything - it should go a bit faster.