TODO 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  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. * work stealing job system (see #100)
  7. - mt scheduler based on const awareness for types
  8. * meta: sort of meta view based on meta stuff to iterate entities, void * and meta info objects
  9. - remove runtime views, welcome reflection and what about snapshot?
  10. * allow for built-in parallel each if possible
  11. * allow to replace std:: with custom implementations
  12. * types defined at runtime that refer to the same compile-time type (but to different pools) are possible, the library is almost there
  13. * add opaque input iterators to views and groups that return tuples <entity, T &...> (proxy), multi-pass guaranteed
  14. * allow for custom stomp functions
  15. * custom (decoupled) pools ==> N-buffering, shared components, multi-model, hibitsets, and so on
  16. - explore the possibility to wrap other backend with a XHandler component
  17. * snapshot rework/deprecation
  18. - create(hint: entity) -> force-create
  19. - assign<T...>(first, last)
  20. * use unordered_map for named pools and context variables:
  21. - use direct access (pool-like) also for context variables
  22. - allow for key/value variables where the key is an ENTT_ID_TYPE
  23. - improves multi-stomp
  24. * add examples (and credits) from @alanjfs :)
  25. * static reflection, hint: template<> meta_type_t<Type>: meta_descriptor<name, func..., props..., etc...>
  26. * ENTT_NAMED_TYPE -> ENTT_EXPORT and add also ENTT_EXPORT_WITH_NAME
  27. * meta: members+class as fake functions, is it possible?
  28. * meta: export implicitly generated named types if possible
  29. * welcome -ftime-trace to inspect compilation time
  30. * add meta support to registry:
  31. - entity for each component
  32. - opaque get
  33. - and so on (I'm lazy) :)
  34. * registry::each to iterate all components of an entity
  35. * named types: almost-stable index optimization for direct access to pools, no more linear searches
  36. - can implicitly generate types for meta benefit from a similar approach?
  37. * detect family on a macro based model
  38. * is it possible to make named type constraints namespace-free?
  39. * stomp -> merge (naming is hard as heck, it's known thing)
  40. * observer: user defined filters (eg .replace<T, &function> or .group<T, U, &func>)
  41. * use meta_handle for inputs to invoke/ctor/...