Say I have a road and I want to change its position, I magic wand(W) then how do I move it around?
Method1: cut and then paste then place in the new position. To do this effectively tho you need to set your default fill tiles (grass in this case) to a layer below or u’ll create empty space each time u repaste the road. When I export tho I need it all on the same layer, so I have to merge the two cause I need the matrix data in as few layers as possible. And more importantly if I paste it out of bounds that part of the pasted region is then deleted (bad).
Method2: you create an entire road layer, then u can just move the entire layer around. This fixes the clipping problem, but when u merge down the layers are re-aligned together and the road defaults to its original position defeating the entire point.
Method 1 is the usual way. I’m not sure what you mean by “create empty space” - usually the complaint is the opposite, that empty tiles in the selections don’t overwrite the tiles at the destination.
What do you expect to happen when pasting out of bounds? The map can’t contain data that’s out of bounds, so where do you want it to put it? The data is still in your brush in case you want to place it elsewhere. If you want the map to auto-expand when you paste out of bounds, you could make your map Infinite. You can make it finite again before saving/exporting if your game/loader doesn’t support infinite maps.
If you want to put the road on a separate layer, you shouldn’t move the layer to move the road, you should cut+paste within the road layer. That way, you’ll have no problems merging.
You could write a custom export Tiled script that does all the merging and unsetting infinite for you, even, so you don’t have to manually do this every time you export your map.
It’s also possible to write a script that does a merge but attempts to account for the layer offsets, perhaps that would help you make better use of your Method 2? On a finite map, this’ll still result in out-of-bounds tiles being deleted, however.