Today has gone well, I feel like the code that handles adding tiles and the undo/redo of 'add tiles' has taken shape well. Whilst I'm not stoked about increased complexity, I'm glad to see code shaping up in the right ways.
I'm going to start on the updated version of tile deletion tomorrow. It seems like it will be yield without too much issue, but I'm prepared for something to appear and confound me :)
I'm leaving paste for last. In theory, it shares a lot with the code that handles adding of assets, but previously there have been some tricky corner cases there. Time will tell.
This is one of those fixes that can't be meaningfully tested until I update all the tile operations, so I'll slog through it for now. I can't wait to update the automated tests to scour this thing for bugs.