TODO 2.3 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)
  6. * allow to replace std:: with custom implementations
  7. * add examples (and credits) from @alanjfs :)
  8. * static reflection, hint: template<> meta_type_t<Type>: meta_descriptor<name, func..., props..., etc...> (see #342)
  9. * update documentation for meta, it contains less than half of the actual feature
  10. * custom pools example:
  11. - multi instance
  12. - tables
  13. - enable/disable component
  14. - spatial query
  15. - runtime types pool
  16. - ...
  17. WIP:
  18. * HP: inject the registry to pools rather than passing it every time (fake vtable prep)
  19. * HP: fake vtable, see dino:: for a reasonable and customizable (pay-per-use) approach
  20. * HP: meta any/meta container: reduce instantiations with a single function fake vtable
  21. * suppress warnings in meta.hpp (uninitialized members)
  22. * make view pack work also with groups, add multi-type iterator (not only input iterators)
  23. * add exclude-only views to combine with packs
  24. * deprecate non-owning groups in favor of owning views and view packs, introduce lazy owning views
  25. * HP: write documentation for custom storages and views!!
  26. * view pack: plain function as an alias for operator|, reverse iterators, rbegin and rend
  27. * pagination doesn't work nicely across boundaries probably, give it a look. RO operations are fine, adding components maybe not.
  28. * make it easier to hook into the type system and describe how to do that to eg auto-generate meta types on first use
  29. * add observer functions aside observer class
  30. * snapshot: support for range-based archives
  31. * update snapshot documentation to describe alternatives
  32. * page size 0 -> page less mode
  33. * add example: 64 bit ids with 32 bits reserved for users' purposes
  34. * add meta dynamic cast (search base for T in parent, we have the meta type already)
  35. * make meta base/conv node work with storage/any and deprecate/remove meta_base, meta_conv, ...