TODO 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. * long term feature: templated generic vm
  2. * long term feature: shared_ptr less locator
  3. * long term feature: shared_ptr less resource cache
  4. * custom allocators and EnTT allocator-aware in general (long term feature, I don't actually need it at the moment) - see #22
  5. * debugging tools (#60): the issue online already contains interesting tips on this, look at it
  6. * runner proposal: https://en.wikipedia.org/wiki/Fork%E2%80%93join_model https://slide-rs.github.io/specs/03_dispatcher.html
  7. * work stealing job system (see #100)
  8. - mt scheduler based on const awareness for types
  9. * meta: sort of meta view based on meta stuff to iterate entities, void * and meta info objects
  10. * allow for built-in parallel each if possible
  11. * allow to replace std:: with custom implementations
  12. * remove runtime views, welcome reflection and what about snapshot?
  13. * types defined at runtime that refer to the same compile-time type (but to different pools) are possible, the library is almost there
  14. * add opaque input iterators to views and groups that return tuples <entity, T &...> (proxy), multi-pass guaranteed
  15. * add fast lane for raw iterations, extend mt doc to describe allowed add/remove with pre-allocations on fast lanes
  16. * registry.each<T...>(first, last) by iterators, entities/components guaranteed
  17. * built-in support for dual (or N-) buffering
  18. * allow for custom stomp functions
  19. * deprecate/replace snapshot
  20. * hibitset, views and non-owning groups
  21. * custom (decoupled) pools ==> double buffering, shared components, multi-model
  22. * snapshot rework/deprecation
  23. - create(hint: entity) -> force-create
  24. - assign<T...>(first, last)
  25. * use unordered_map for named pools and context variables:
  26. - use direct access (pool-like) also for context variables
  27. - allow for key/value variables where the key is an ENTT_ID_TYPE
  28. - improves multi-stomp
  29. * multi component registry::remove and some others?
  30. - auto foo(It first, It last = entity_type{null})
  31. * range based registry::remove and some others?
  32. * add examples (and credits) from @alanjfs :)
  33. * explore the possibility to wrap other backend with a XHandler component
  34. * use [[nodiscard]] consistently for safety purposes
  35. * static reflection, hint: template<> meta_type_t<Type>: meta_descriptor<name, func..., props..., etc...>
  36. * null support for entt::component
  37. * add ENTT_CUSTOM_NAMED_TYPE for custom names
  38. * Make another attempt to overcome named types
  39. * meta: members+class as fake functions, is it possible?
  40. * named types: almost-stable index optimization for direct access to pools, no more linear searches