diff --git a/TODO b/TODO index c5ebd74b9..92e2e7005 100644 --- a/TODO +++ b/TODO @@ -24,12 +24,15 @@ TODO: * maybe drop begin(v)/end(v) from sparse set and only use scoped begin/end at call sites * review all // NOLINT + linter workflow + review clang-tidy file * self contained entity traits to avoid explicit specializations (ie enum constants) -* allow zero-sized versions (with non-regression tests) +* allow zero-sized versions with non-regression tests (almost done: full-mask identifier not allowed yet, tests still needed) * auto type info data from types if present * group review: use handler as base with protected members and arrays of common type (see view for further details) * swap sets in swap-only mode, return scoped iterators by default, make ::free_list return an iterator if possible * test: push sharing types further +* range sparse_set::push should return a reverse iterator, it's kinda wrong now * after non-continuous generation for entity storage: - - stop using force-back in swap-only mode + review natvis - - reset placeholder to position after loading (avoid long lookup) - - dedicated tests to avoid regressions (also to check next after clear) + - get/reset placeholder to position after saving/loading (avoid long lookup) + - basic_storage<...>::next never stops in release when it runs out of entities (well, not an issue probably but still) + - documentation for reserved entities +* no-version entities always return true when compared to tombstones (fixed but test needed) +* storage entity: no emplace/insert, rename and add a fast range-push from above