then you could go with using a variable for now; altough you'd need to do something like create a dummy tool and store the acceleration value as f.ex. tool offsets, or dummy fans/heaters etc.
not sure if you can set tools[n].offsets .. tools[n].offsets or if you need to use G10 to set the offset, but you can test that easily enough. If you have more axes than xyz, you can probably set more than 3 offets pr tool as well.
All PanelDue users: the PanelDue connector (or IO_0 on Duet 3) is no longer dedicated to PanelDue, therefore if you connect a PanelDue to this port you must use the following command in config.g to enable it: M575 P1 S1 B57600. You can use baud rates other than 57600, however the IAP files all assume 57600 baud; therefore if you use another baud rate then PanelDue will not display firmware update progress.
yes because you get stringing between the last known position and the next print move
But if the next move is a print move including extrusion, then you need to unretract before making that move, so you won't get stringing. If on the other hand, the next move is simply a change of position without extrusion, then you might get stringing. In that case, the unretract needs to happen after the first non print move and before the next print move.
So the unretract needs to be conditional depending on whether the next move has an "E" element.
I can't off hand think of a way to do that other than a post processing script.