Bevy Engine を使いながらRustとECS(Entity Component System)に入門してる。RustもECSも不慣れで四苦八苦してるけどおもしろい。
ECSにはデータのテーブルがあって、RDBMS関係のプログラミングに感触が近いところがけっこうある。BevyのSystemParamの仕組みはかなりO/Rマッパーっぽい。
オブジェクトといいつつ実態はコンテキスト的なものであるかもしくはオブジェクト+コンテキストである場合が多いのかなと、そこらへんをさわりながら思った。いま何ができるかはいまアクセスできるデータがなにかに依存する。アクセスできるパラメータの部分集合同士の関係を考えると構造的部分型とか型クラスみたいなものがほしくなる。クエリー結果をオブジェクトにして継承関係をつかってもいいしRustなら構造体とtraitを使う。
これ日記か?