TODO 2.0 KB

12345678910111213141516171819202122232425262728293031
  1. EXAMPLES
  2. * filter on runtime values/variables (not only types)
  3. * support to polymorphic types (see #859)
  4. DOC:
  5. * custom storage/view
  6. * update entity doc when the storage based model is in place
  7. * in-place O(1) release/destroy for non-orphaned entities, out-of-sync model
  8. * view: single vs multi type views are no longer a thing actually
  9. * bump entities, reserved bits on identifiers
  10. TODO:
  11. * resource cache: avoid using shared ptr with loader and the others
  12. * further optimize exclusion lists in multi type views (no existence check)
  13. * further improve meta resolve function by id (bimap)
  14. * get rid of observers, storage based views made them pointless - document alternatives
  15. * deprecate non-owning groups in favor of owning views and view packs, introduce lazy owning views
  16. * bring nested groups back in place (see bd34e7f)
  17. * work stealing job system (see #100) + mt scheduler based on const awareness for types
  18. * view: reduce inst due to/improve perf with index-based approach in dispatch_get/pick_and_each/each (single type too, define storage ::at and ::at_as_tuple)
  19. * view: update natvis as needed after the last rework, merge pools/filter in the same array, drop check (?) and turn view into a position
  20. * view: type-only view_iterator (dyn get/excl sizes), type-only basic_common_view (dyn get/excl sizes with pointer to array from derived)
  21. * combine version-mask-vs-version-bits tricks with reserved bits to allow things like enabling/disabling
  22. * basic_sparse_set(basic_sparse_set &&other, const allocator_type &allocator) uses moved-from packed in assert (same for storage)
  23. * maybe drop begin(v)/end(v) from sparse set and only use scoped begin/end at call sites
  24. * view unchecked_refresh loop is never executed if Get is 1u
  25. * review all // NOLINT + linter workflow + review clang-tidy file
  26. * self contained entity traits to avoid explicit specializations (ie enum constants)
  27. * review assure conflicts check, hash doesn't fit the purpose maybe
  28. * allow to zero-sized versions (with non-regression tests)
  29. * auto type info data from types if present