* long term feature: shared_ptr less locator and resource cache * custom allocators and EnTT allocator-aware in general (long term feature, I don't actually need it at the moment) - see #22 * debugging tools (#60): the issue online already contains interesting tips on this, look at it * work stealing job system (see #100) + mt scheduler based on const awareness for types * meta: sort of meta view based on meta stuff to iterate entities, void * and meta info objects (remove runtime views, welcome reflection) * add opaque input iterators to views and groups that return tuples (proxy), multi-pass guaranteed * allow to replace std:: with custom implementations * custom (decoupled) pools ==> N-buffering, shared components, multi-model, hibitsets, and so on * add examples (and credits) from @alanjfs :) * static reflection, hint: template<> meta_type_t: meta_descriptor (see #342) * observer: user defined filters (eg .replace or .group) * can we write a bool conv func for entt::entity that silently compares it to null? * reset... reset everywhere... * is it possible to make 0 the entity null? * document undocumented parts (entt::overload and a few others) * any-of rule for views/groups (eg entity has A and any of B/C/D) - get -> all, exclude -> none Next: * replace observer class with observer functions * get(cmp, entity) -> void *, set(cmp, entity, void *) * ENTT_ENABLE_ETO -> ENTT_IS_EMPTY (ignore default constructible) * review multi component views to reduce instantiations once empty types are gone... * avoid using deprecated functions all around * accept fixed type iterators like std::container does rather than all possible types * WIP: - deprecate snapshot, loader, ... - provide documentation to describe alternatives * WIP: snapshot rework/deprecation - remove snapshot/loader from registry, make them external (faster) tools - deprecate snapshot classes, update documentation to describe alternatives