Add a 4th step to a single moves move plan
Right now a single move consists of up to 3 phases/segments/steps, 1. acceleration phase, 2. constant speed phase (optional) and 3. braking.
Every time when accelerating or braking, according to F = m * a (Force = mass * acceleration), the springiness of the 3d printer is loaded with energy (like expanding a spring). After e.g. braking, when the acceleration would be set to 0 and the 3d printing jerk is applied (which is the rudest way to change the acceleration) this energy is set free and causes ringing. Anyhow, the jerk doesn't only show the ringing artifacts from the jerk command, apart also comes from the already before preloaded spring caused by braking.
If the braking phase would approach its end more gently, the spring would have time to “unload” before the jerk happens and by that, the energy would be set free in a more gentle way - with less unwanted artifacts.
By adding a 4th step at the end of a single moves move plan and using a lower acceleration setting there, the artifacts could be reduced. That means the yet 3rd move step would be split into 2 parts. The 1st part would accelerate like normal, the second part would use the lower 4th step acceleration setting.
The 4th step has to be as short as possible, but long enough to unload the “spring”. So in principle, it is not about a distance, it is about a certain amount of time needed to let the spring relax. The needed duration of this 4th step is correlated to the before used deceleration. The used deceleration of the 4th step should be reasonable smaller, e.g. ⅓ or ¼ of the 3rd step deceleration.
duration_4th_step = acceleration_3rd_step * factor1
acceleration_4th_step = acceleration_3rd_step / factor2
To make it easy, it would be already beneficial to specify the 4th step by determining the 4th step acceleration and length by using fixed values (in time or distance, whatever is easier).
S-curve like move plans would be perfect (and an overkill) and i am pretty sure in future all 3D-printers will use them. Because it is only software and once it is done, it doesn't cost anything but still adds benefit. Adding a 4th step to the move plan would probably achieve most of the benefit of a s-curve move plan, but with much less effort.
A very positive side effect of this “slowed done” 4th step is, that rapidly changing direction print moves which follow each other quickly (small infill areas etc.) and by that causing the most noise and artifacts because the whole system gets shaking, are reduced significantly. As soon as a lot of small moves with the need for high acceleration happen, the “slowish” 4th step will reduce the average print speed and by that reduce the shaking. Because the 4th step is only applied to a small length of the total move, it will reduce the average speed only for short moves significantly.
Using the 4th step will enable higher acceleration settings in total - at the same print quality (or more quality at the same speed). So quality vs. printing speed gets better.