I could play with the acceleration settings to see if it really is a factor though.
It will be. The higher accels the better you will fair out. Nothing happens instantly but the closer you can get to it the better. Keep in mind though, the higher the accels the more rigid the machine will need to be to benefit from the results.
That's a lot of trouble to go through though for something that should be fixable through the settings, be they motor tuning settings or something else.
The something else would be the Gcode. Garbage in is garbage out. No controller (Mach or any other) will accept any old gcode you load and then produce the moves you think it should. You can't expect to load Gcode telling the machine to make certain moves and then be upset with the machine because it did what you told it to instead of what you wanted it to. It may be a bit of trouble to make all of the line segments equal but I bet it isn't as hard as it would be to build a controller that can read the programmers mind. I'm not trying to be short but trying to put things into perspective.
Look at some of the topics on lasers, laser engraving. Fine control of timing and power is extremely critical. What you are trying to do is going to be close I would say in the amount of control needed but worse in some ways. With the lasers if they change the power or turn it off, the effects are realized almost instantaneously. In your case it will not be. Your roller that is contacting the material will have mass and it will take some time to dissipate the heat (correct me if I'm wrong). What you are trying to do is interesting and seems pretty simple but I think you may be underestimating the demands that will actually need to be met for you to meet your goals. If you have some hard numbers to work with it may not be as critical as I am thinking. Do you know what size windows you have to work with? What are the min and max speeds and pressures that will produce acceptable results? How do they relate to one another? Are they linear? Could you control another variable easier or faster? Can you control the heat faster (maybe a hot air gun using PWM)? Maybe you could make the line segments longer than needed so that the welding wheel is traveling at a constant speed the whole length of the part needing welded (essentially lead in and lead out moves) and fire a solenoid to bring the roller in contact with the material? This would be a Gcode nightmare for sure. Maybe you could vary the pressure on the wheel based on the blended velocity? Maybe you could use a rotating wheel and friction to generate the heat and have better control? Maybe a water cooled wheel and a heat gun on an axis that moves the heat closer when velocity is higher and further away as it slows down (kind of like torch height control but not really
)? I wonder if G93 (Inverse time feed rate mode) may be the answer for you? Maybe a laser for the heat source and the wheel just to mash it together at the right time? I'm really just thinking out loud but this is interesting when you think about it.
Hopefully if nothing else this is food for thought.