I working on a life simulation game with a working title Project Harmonia.

I’ve finally added the ability to edit and remove previously spawned walls, along with an undo/redo system.

Implementing the undo/redo was a bit challenging. If a command spawns or despawns an entity, it needs to be tracked to update the history with the correct ID. Additionally, since the game is networked, I had to introduce the concept of pending history commands. These commands are only added to the history after server confirmation.