EventRecorder

諸般の事情からEventRecorderを見ているが、俺も「闇」を見てしまった。EventRecorderはユーザー入力をイベントの列として記録することによって、ユーザーの対話的入力を覚えておき、それを後から再生するという機能である。が、すべてのイベントを覚えるのではなく、マウス移動だけをしている場合、マウスが概ね直線的に動いている場合は、途中の点を間引き、再生時にそれを補完するようにしている。が、再生しているもうひとつ外側のほうは、mouse moveイベントがたくさんあるときは、またそちらで間引くようになっていたのだな。というわけで、EventRecorderはがんがん補完して1msごととかにイベントを大量に作るが、HandMorphForReplayはmouse moveを捨てまくるのだ。捨てまくっている間に本来あったはずのイベントまで捨てていたのだった。間抜けだ。