Yeah I thought it wouldn't be easy and I hadn't thought of multiple objects printing. I was actually thinking the update should be done on the fly without parking/pausing during a layer change. An implementation could perform some checks before even offering the option to update a running print, like:
file name of running print = filename of new (updated) gcode file
number of objects is 1 on both files,
number of layers is identical in both files,
max-Z is the same in both files
Finally we could have a warning popup when someone does click the 'update running print' button :)
But I get it, it might not be possible to reliably pick up a layer change, specially when lift-z is enabled and/or a purge tower is used and potentially a ton of other things that could affect it. But thanks anyway for commenting this morning.