@ yellowshark
what u describe is, as i understand it, how the slicer works, not the gcode, which is simpler and dost have a concept of objects or copies.
What I'm saying is, if having multiple layer heights is an issue for the printer.
Crate a "compound_gcode" which contains multiple objects (each with their own gcode) which automatically load in sequence, without resetting the nozzle position. Collisions wouldn't be an issue as it would be calculated the same way as a normal one-at-a-time print. the only difference is that each object is treated like a separate gcode before being packaged as this "compound_gcode".