同じお絵かきツール系だと、スーさんのエディタは空メモリから確保できるだけ画面全部のundo/redoバッファを持っていた感じだけど、15枚くらいまでしか持ってなかった記憶です。 打ち消しコマンドの変更差分をスタックに詰んでいく方法は、ちゃんと設計しないとどこで間違いが起きてるかデバッグが大変というのもあるので、機能追加がかなり大変というのもあったりもです。 (ついこの間お仕事でundo/redoをclassが無い環境で作ったときはデバッグで苦労した思い出)