TODO 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738
  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. * registry
  28. * meta: use type_id, remove import, everything should work transparently
  29. * type_id_enabled and fallback on old-fashioned families otherwise
  30. * add discard pool functionality (+ test)
  31. - use type_id also for groups, get rid of extent and subfunctions, is it possible?
  32. - reintroduce old-fashion family and add a new family-like thing with generators
  33. - families should be defined as out-of-class to guarantee the same identifiers for the same types
  34. - update doc: family, dispatcher, emitter, registry, meta, across boundaries
  35. - update tests
  36. - review and suppress warnings, if any
  37. - remove ENTT_API from OPAQUE_TYPE