log
JSONパーサをmavenで落とせる物に変えてみる(また地味なことしてる…)antlrとlexerの違いを調べる。
よくわからないのでJSONPaeserAntlrを使ってみる。…使い方がさっぱり。 json.simpleは簡単だったのになぁ。
むしろ今のところJSONはJSON形式で読み書きするときにしか使わないから大したパフォーマンスは要求されない…。Jythonでいい気もしてきた。 とりあえず今回の発表でもわかったけど、JSON形式での保存、読み込みは今のところプレゼンするほどの物ではない。物理演算まできちんとシリアライズできるようにしたら?うーん? ネットワークの同期をデモするなら、色々いじった後JSONでエクスポートをして別ので読んだら同じ形です、じゃ面白くないし。
ああ、ローカルのGRINEditで保存した物をFTPでサーバにアップロードしたら、ウェブページ上のアプレットでも同じ物が見える、と。
PythonからXML-RPCで頂点と辺の情報を取得して、その情報から同じ形のグラフを再現することが出来ました。これでいいなぁ。JSON使わなくてもユーザが任意の形式でシリアライズできる。
ただこの場合はシリアライズ前のグラフとシリアライズ後のグラフで内部で振られているnameフィールドの値は異なってしまう。将来的に何か問題を起こしそうな気はするけど、逆にこれでいいのかも知れないという気もする。一意でないと行けないnameフィールドを元通りに復元するなら、グラフのマージとかはできないわけで、元通りに復元しないことを前提として頂点のnameがどう変わったかの対応付けをするようにしたほうが結果的に色々いいかもしれない。その辺はわからない。眠い。
この前作りかけた入れ子頂点は親と子の位置がかっちり固定されていたけどその必要はない。むしろ子供の頂点が動けるもっとゆるい入れ子の方がいい。まるくて、中にはいるべき頂点の重心が自分の中心であり、最も遠い頂点までの距離*1.1くらいが半径であり、中に入るべき頂点には中心からの距離に比例した引力を持ち、中にはいるべきでない頂点には半径*1.1以内に入らない制約。つつむ頂点の中に入っている普通の頂点は引力で緩やかに拘束されつつ外の頂点との辺による引力で位置を変えたりする。
いくつかの頂点が複数の親に属しているとベン図みたいになるのかな。これはUIがちょっと難しそう。
PythonのxmlrpclibでGRINEditから文字列を取得するとUnicodeで返ってくるのに、GRINEditにUnicode文字列を投げると化けてSJISならOK。xmlrpclibが余計なことをしているのかな??投げるときに....encode("sjis")とやればいいだけではあるけど。
Python Unit Testing Framework (in Japanese)
特定のモードの時にマウスアイコンが変化してほしい?マウスアイコンを消してマウスに付いてくる頂点?
頂点は物理演算になれないが、でも描画したい物理演算もある。 そもそも最近の「それ頂点でできるんじゃね」の流れを見ていると、 頂点と呼んでいた物は実は「インターフェイスIRenderableを実装したクラス」でいいのではないかという気も。辺もIRenderable。あ、でも辺の接続する頂点として辺を指定されるとイヤ…でもないのか…うーん。追加できないのがイヤという可能性もある。