TODO 2.3 KB

12345678910111213141516171819202122232425262728
  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. * meta: sort of meta view based on meta stuff to iterate entities, void * and meta info objects
  9. * allow for built-in parallel each if possible
  10. * allow to replace std:: with custom implementations
  11. * remove runtime views, welcome reflection and what about snapshot?
  12. * empty components model allows for shared components and prefabs unity-like
  13. - each with entity return the shared component multiple times, one per entity that refers to it
  14. - each components only return actual component, so shared components are returned only once
  15. * types defined at runtime that refer to the same compile-time type (but to different pools) are possible, the library is almost there
  16. * add take functionality, eg registry.take(entity, other); where it takes the entity and all its components from registry and move them to other
  17. * add opaque input iterators to views and groups that return tuples <entity, T &...> (proxy), multi-pass guaranteed
  18. * add fast lane for raw iterations, extend mt doc to describe allowed add/remove with pre-allocations on fast lanes
  19. * review sparse set to allow customization (mix pack in the spec, base is position only)
  20. - non-owning groups can iterate pages and skip empty ones, this should mitigate the lack of the packed array
  21. * review 64 bit id: user defined area + dedicated member on the registry to set it
  22. * early out in views using bitmasks with bloom filter like access based on modulus
  23. - standard each, use bitmask to speed up the whole thing and avoid accessing the pools to test for the page
  24. - iterator based each with a couple of iterators passed from outside (use bitmask + has)
  25. * stable component handle that isn't affected by reallocations
  26. * multi component registry::remove and some others?
  27. * move CONTRIBUTING.md within doc (for GitHub)
  28. * reactive systems