@alter_kaker
If it’s a hobby project, the first and most important question would be “Would this be fun to implement?”
If you’re actually trying to optimize, well…you can probably get a good sense of whether you’re in danger territory just by doing some thumbnail estimates of how much state data you’re going to be dealing with at full scale. If you know you’re headed for trouble, architecting from the start for undoing via commands or deltas instead of full snapshots makes sense.