Came across an oddity with our lasercutter. When swapping between paths on the same layer, but with different power scales, it will never change power back to 100.
Was cutting a piece and noticed that half of it was barely legible. The piece was using 3 layers - text + separators, art & cut. The separators were set to a lower power scale on a per shape basis. When looking through the preview path, I noticed the weaker parts were always after the first separators had been cut and I figured out the behavior. Of course the workaround is easy once you know, by just putting the cut priority of the separators last, or move to a separate layer.
So I decided to make a test piece, where it swaps between lower power and default power on the shapes, and you can clearly see the behavior of it not swapping back. Everything is on the same layer.
I suspect it’s due to gcode optimization. There’s no reason to write on every shape that its power is 100, so it doesn’t tell it to change by putting nothing. But then when the power does change, it gets told to do so, but never gets told to change back again until a new layer gets loaded. And that does not seem intended.