TODO 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. * long term feature: shared_ptr less locator and resource cache
  2. * custom allocators and EnTT allocator-aware in general (long term feature, I don't actually need it at the moment) - see #22
  3. * debugging tools (#60): the issue online already contains interesting tips on this, look at it
  4. * work stealing job system (see #100) + mt scheduler based on const awareness for types
  5. * meta: sort of meta view based on meta stuff to iterate entities, void * and meta info objects (remove runtime views, welcome reflection and what about snapshot?)
  6. * add opaque input iterators to views and groups that return tuples <entity, T &...> (proxy), multi-pass guaranteed
  7. * allow to replace std:: with custom implementations
  8. * allow for custom stomp functions
  9. * custom (decoupled) pools ==> N-buffering, shared components, multi-model, hibitsets, and so on
  10. * snapshot rework/deprecation
  11. - create(hint: entity) -> force-create
  12. - assign<T...>(first, last)
  13. * allow for key/value variables where the key is an ENTT_ID_TYPE
  14. * add examples (and credits) from @alanjfs :)
  15. * static reflection, hint: template<> meta_type_t<Type>: meta_descriptor<name, func..., props..., etc...>
  16. * add meta support to registry (eg entity for each component and opaque get)
  17. * stomp -> merge (naming is hard as heck, it's known thing)
  18. * observer: user defined filters (eg .replace<T, &function> or .group<T, U, &func>)
  19. * any-of rule for views/groups (eg entity has A and any of B/C/D)
  20. * sparse set: there exists an alternative to paginated sparse arrays?
  21. * see warning (vs2017 only): d:\a\entt\entt\src\entt\entity\registry.hpp(108)
  22. * registry
  23. - ::assure -> pool_type<T> &
  24. - ::group improve, reduce code
  25. * Mission: get rid of named types
  26. - make it possible to use custom generators (eg for plugins)
  27. * dispatcher, emitter, registry
  28. - generators as arguments to family::type overloads
  29. - generators to constructors
  30. - bind identifiers by name (as for meta)
  31. - reintroduce old-fashion family and add a new family-like thing with generators
  32. - families should be defined as out-of-class to guarantee the same identifiers for the same types
  33. - update doc: family, dispatcher, emitter, registry, meta, across boundaries
  34. - update tests
  35. - review and suppress warnings, if any
  36. - remove ENTT_API from OPAQUE_TYPE