TODO 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738
  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. * allow to replace std:: with custom implementations
  6. * add examples (and credits) from @alanjfs :)
  7. * static reflection, hint: template<> meta_type_t<Type>: meta_descriptor<name, func..., props..., etc...> (see #342)
  8. * update documentation for meta, it contains less than half of the actual feature
  9. * custom pools example:
  10. - lockless fully concurrent ro/rw pool with free lists
  11. - multi instance
  12. - tables
  13. - enable/disable component
  14. - spatial query
  15. - runtime types pool
  16. - off-line/off-memory/remote
  17. - ...
  18. WIP:
  19. * HP: meta func/ctor size -> arity
  20. * HP: as_ref should be a qualified function, not a global one (no breaking change, ADL makes it work anyway)
  21. * HP: merge view and view pack
  22. * HP: invalid view auto-refresh
  23. * HP: paginate pools
  24. * HP: headless (sparse set only) view
  25. * HP: write documentation for custom storages and views!!
  26. * HP: any/poly: configurable sbo size, compile-time policies like sbo-required.
  27. * HP: registry: use a poly object for pools, no more pool_data type.
  28. * HP: make runtime views use opaque storage and therefore return also elements.
  29. * HP: add exclude-only views to combine with packs
  30. * HP: entity-aware observer, add observer functions aside observer class
  31. * deprecate non-owning groups in favor of owning views and view packs, introduce lazy owning views
  32. * pagination doesn't work nicely across boundaries probably, give it a look. RO operations are fine, adding components maybe not.
  33. * snapshot: support for range-based archives
  34. * page size 0 -> page less mode
  35. * add example: 64 bit ids with 32 bits reserved for users' purposes
  36. * add meta dynamic cast (search base for T in parent, we have the meta type already)