- .creator([this](const string &n){ return create_module(n); });
- add_type<Object>().keyword("object");
+ .creator([this](const string &n){ return create_module(n); })
+ .notify(&set_debug_name<Module>);
+ add_type<Object>().base<Renderable>().keyword("object");
+ add_type<OccludedScene>().base<Scene>().base<Renderable>().suffix(".scene")
+ .creator([this](const string &n) -> OccludedScene * { create_generic<Scene>(n); return 0; });
+ add_type<OrderedScene>().base<Scene>().base<Renderable>().suffix(".scene")
+ .creator([this](const string &n) -> OrderedScene * { create_generic<Scene>(n); return 0; });
+ add_type<PbrMaterial>().base<Material>().suffix(".mat")
+ .creator([this](const string &n) -> PbrMaterial * { create_generic<Material>(n); return 0; })
+ .notify(&set_debug_name<Material>);
+ add_type<PointLight>().base<Light>().suffix(".light")
+ .creator([this](const string &n) -> PointLight * { create_generic<Light>(n); return 0; });