先週途中まで書いたんだけど書ききる気が失せたのでリセット。
MSYS2でrbenvを頑張る話とか書いてたんだけど、だいぶ大変だったのでそのうちちゃんとまとめて上げたい。
台風が来て、風は良かったが大雨に降られてぐっしょりになっしまった。 濡れた靴を干していつもと違う靴履いてったら靴擦れ起こしちゃっていたい……。
リリースしたけどあとはどうしようかなぁ。
Taskの使い方がなんとなくわかってきたのでそれベースにどんどん移行するのがいいかもしんない。あとテスト書くとか。
しかし別な作業を始めてしまってな……。
オンラインセッション支援ツールにどどんとふを使ってたんだが、こいつでインセインやろうとすると秘密とかの管理が難しくてどうしてもやりづらい。
どどんとふ自体はオープンソースなのでいじってみたりしたんだが、Flexはよくわかってないので手を出しづらいのと、コードがだいぶいじりづらくてなかなか大変だった。あとどうしてもFlash Playerが無駄に重いんだ。
そんなわけで自前で作り始めてみた。目標はとりあえずインセインがやりやすい感じにしたい。 プラットフォームはHTML5でWebSocketで通信する。サーバ側はRubyで、クライアント側もRuby(Opal)だ。 どうしても地雷は入れとかないと面白くなくてな。
なんとかかんとかWebSocketで通信して、画面の置いたコマの位置を共有するところまではいけたが、画面の拡大縮小が欲しいなーとやったところでいろいろ崩壊した。
コマのドラッグにはjQuery UIのDraggableを使い、拡大縮小にはCSS Transformを使ったんだが、jQuery UIはCSS Transformには対応しません!ということで位置がずれるようになってしまった。Transform完全対応が難しいのはわかるが、スケールだけならなんとかできるだろうとなんかいろいろ頑張ってみたんだが、思ったより難しいなぁ。
他にもスクロールするのにコマが置いてあるステージのoverflowをscrollに設定して、スクロールできたーと思ってたんだが、右下にオーバーフローした場合はいいけど左上(マイナス方向)にはみだした場合はスクロールバー出てくれないようだ。なんつー中途半端な……。 あとIE11では中身をCSS Transformで小さくしてもオーバーフロー判定が小さくなる前で行われてやたらと大きくスクロールできちゃうバグが。これは大した問題ではないが。
DOMベースで作るより、Canvasとかで描画してイベントなんかも自前処理した方が楽なのかなぁ。でもたぶん処理速度的にはDOMベースでやった方がいいんだと思うんだよね……。