Yes, you are right, S-curve profiling does not solve this at all. What solves this issue is that the new profiler will have a setable to non zero start step frequency.
The S curve profiling makes this issue even worse the larger the S is, because the acceleration is actually slower in both the bottom S and top S compared to trapezoidal profiling.
But you will have the ability to shift the S location from 0. And you will also have the ability to zero the S parameter to have trapezoidal profile when the S is zero size.
So Terry, what I described is basically the same what you calling "bang bang".
And this is not something what Art figured out, this is a fact solution based on how stepper motors work, that you can jump start and jump stop them under their start/stop stepping frequency.
Doing so causes a huge jerk, but it is possible to do it.
And you can do it also with servos, a servo will not jump like a stepper, but it will accelerate up the fastest it can, the only limitation is the PID gains and the motor and load inertia.
I don't know how much time it will take, but we will be more smart about it when we can actually get there to actually start making it which seems to be not far away now.
I mean we might encounter into non pre-calculated in difficulties. We will see these better when we will start making it's base code.