TODO 2.3 KB

12345678910111213141516171819202122232425262728293031323334
  1. * long term feature: shared_ptr less locator and resource cache
  2. * debugging tools (#60): the issue online already contains interesting tips on this, look at it
  3. * work stealing job system (see #100) + mt scheduler based on const awareness for types
  4. * add examples (and credits) from @alanjfs :)
  5. * custom pools example (multi instance, tables, enable/disable, and so on...)
  6. WIP:
  7. * remove view/storage dispatcher, add support to relax policy constraints on user request (eg view.use<T>())
  8. * remove view each<T>(F), each<T>(), make view::use return a view and remove the mutable data member
  9. * custom allocators all over
  10. WIP:
  11. * make sparse_set/storage adhere to AllocatorAwareContainer requriements
  12. * make value_type available from meta container types, otherwise we have to default construct a container to get it
  13. * make it possible to register externally managed pools with the registry (allow for system centric mode)
  14. * registry: switch to the udata/mixin model and get rid of poly storage, use pointer to sparse set only for pools, discard pool_data type.
  15. * it's now possible to have 0 as null entity/version, so we can finally switch to it
  16. * make pools available (registry/view/group), review operator| for views
  17. * page size: add per-pool size, allow for 0 sizes (old fully packed array)
  18. * compressed pair to exploit ebo in sparse set and the others
  19. * resource, forward the id to the loader from the cache and if constexpr the call to load, update doc and describe customization points
  20. * make it possible to create views of the type `view<T, T>`, add get by index and such, allow to register custom pools by name with the registry
  21. * add user data to type_info
  22. * any_vector for context variables
  23. * make const registry::view thread safe, switch to a view<T...>{registry} model (long term goal)
  24. * weak reference wrapper example with custom storage
  25. * headless (sparse set only) view
  26. * write documentation for custom storages and views!!
  27. * make runtime views use opaque storage and therefore return also elements.
  28. * add exclude-only views to combine with packs
  29. * entity-aware observer, add observer functions aside observer class
  30. * deprecate non-owning groups in favor of owning views and view packs, introduce lazy owning views
  31. * snapshot: support for range-based archives
  32. * add example: 64 bit ids with 32 bits reserved for users' purposes