module ft.adaptor; import ft.data; abstract class Adaptor { protected: float[string] blendshapes; Bone[string] bones; public: abstract void start(string[string] options = string[string].init); abstract void stop(); abstract void poll(); abstract string[] getOptionNames(); final ref float[string] getBlendshapes() { return blendshapes; } final ref Bone[string] getBones() { return bones; } }