新機能案2つ
現在右ボタンと左ボタンの機能を切り替えられるようにMouseMediatorがMouseOperationクラスのインスタンスを持って、適当な子にイベントを抽象化して中継するようになっている部分を、ShiftやCtrlやAltキーで修飾されたマウス操作が行われた場合に対応できるように拡張する、というもの。Macに対応することを考えるとボタンが一個しかなくて修飾機能がないと不便だろうから。もちろんこれはPythonスクリプト上で設定されるので、自分の好きな設定に切り替えることもできます。あ、それを考えると「Sキーで選択モードに変更」なんてものできた方がいいのかな。
もう一つはpauseの扱いの変更。setPauseが直前のpauseの値を返し、ユーザーがそれを保管して後でそれに戻す用になっていましたが、そうではなくpushPauseとpopPauseにしましょう。
XML-RPCのサンプルは頂点数が多くなると格段に遅くなりますが、それは物理演算とXML-RPCを同時に動かしているからで、別に物理演算が遅いからではないと思います。物理演算と描画が1秒間に20フレームの速度で動くとすれば、まぁ人間にはそれなりにスムーズに動いているように見える訳なのですが、XML-RPCでクエリを投げている側のプログラムは1つクエリを投げて帰ってきた後次のクエリを投げてもGRINEditが物理演算のためにVectorをロックしているので追加処理ができずに待たされるわけです。最初に物理演算をpauseしてからクエリを投げればもっと速いはず。でもそれだとかっこよくないので、ツカミを重視して頂点数の少ないサイトをpauseしないで表示させています。これはきちんと測定する必要がありそう。
あと、そもそもXML-RPCで1つずつクエリを投げるのが遅いのだから、複数個をまとめて投げられるようにすればいいだけですね。