TODO 2.2 KB

1234567891011121314151617181920212223242526272829303132333435
  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)
  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. * custom (decoupled) pools ==> N-buffering, shared components, multi-model, hibitsets, and so on
  9. * add examples (and credits) from @alanjfs :)
  10. * static reflection, hint: template<> meta_type_t<Type>: meta_descriptor<name, func..., props..., etc...> (see #342)
  11. * observer: user defined filters (eg .replace<T, &function> or .group<T, U, &func>)
  12. * can we write a bool conv func for entt::entity that silently compares it to null?
  13. * reset... reset everywhere...
  14. * is it possible to make 0 the entity null?
  15. * document undocumented parts (entt::overload and a few others)
  16. * any-of rule for views/groups (eg entity has A and any of B/C/D)
  17. - get -> all, exclude -> none
  18. Next:
  19. * has -> contains and destroy -> erase for containers (mainly sparse_set and storage)?
  20. * registry::assure: open addressing or whatever to get rid of static variables and avoid reindexing in worst cases
  21. * meta, make it possible to reset nodes from meta types
  22. * replace observer class with observer functions
  23. * get(cmp, entity) -> void *, set(cmp, entity, void *)
  24. * review multi component views to reduce instantiations once empty types are gone...
  25. * move signals down to the storage class?
  26. * WIP:
  27. - introduce the component iterators for non-contiguous collections of entities (multi component views, observers, user defined collections)
  28. - deprecate snapshot, loader, ...
  29. - provide documentation to describe alternatives
  30. * WIP: snapshot rework/deprecation
  31. - remove snapshot/loader from registry, make them external (faster) tools
  32. - deprecate snapshot classes, update documentation to describe alternatives