DXRuby1.4.1リリース

1.4.0が2012年8月だったので随分久しぶりのリリースとなった。
開発版の1.5devを2013年5月に開始してから、いろいろと修正を入れているうちの、確定していない微妙な機能を省いたバージョンとなっている。ソースは1.5devと共通で、マクロでコードを削除したものである。
もともとはメソッド追加とバグ修正だけにしておこうと思っていたのだが、そのバグ修正が1.5devでの大きな修正(内部マルチスレッド化など)に依存したコードになっているせいで、そのへんが取り込まれている。大きな修正が入ってはいるが半年以上は使っているものなのでたぶん大丈夫だろう。
仕様変更的なものとして、RenderTargetの自動updateがあって、これはRenderTarget#updateを呼ばなくても必要なときに勝手にupdateするというものである。update忘れによる動作異常というパターンが異様に多いので対応した。これによりフレームを跨いだときにRenderTargetオブジェクトの中身が消去されるので、よろしくない使い方をしている場合は動作しなくなる。マニュアルには問題ないとか書いてしまっていたのでちょっと悩んだが、記述をバッサリと削除して見なかったフリをすることにした(こら
この動作についてはDXRubyWSが死ぬほど使っているので問題なさげなのと、従来のコードもそのまま動いているのでまあ大丈夫だろう、と。

逆に1.5devで実験している新クラス群(Input::IMEVector/Matrix)については見送った。Input::IMEはまだ未完成であること、Vector/Matrixは使えることは使えるのだが用途が微妙なところ、もう少し詰めたい感じがあることが理由である。
確定した機能を1.4.1としてリリースしてしまったので、今後は新機能を仕上げていくことになる。主に新クラスを完成させること、3Dを実験するかどうか、音関連を作り直すかどうか、といったあたりになるだろう。
いまのところどこまでやったら1.6.0になるのかは不明である。