All entitys' carry out their behavior via Actions. An Action knows when it started, how long it takes and how to apply itself for a given change in time. Global rollback undo means that time is run backwards from time T until time T', and any Actions that occurred within that interval are also run backwards, such that the world is restored to its state at time T.
https://github.com/patreeceeo/zomboban/assets/578371/65f5b075-6e70-4afc-8bed-ea7c189774d4
All entitys' carry out their behavior via Actions. An Action knows when it started, how long it takes and how to apply itself for a given change in time. Global rollback undo means that time is run backwards from time T until time T', and any Actions that occurred within that interval are also run backwards, such that the world is restored to its state at time T.