58 lines
3.0 KiB
Plaintext
58 lines
3.0 KiB
Plaintext
* long term feature: templated generic vm
|
|
* long term feature: shared_ptr less locator
|
|
* long term feature: shared_ptr less resource cache
|
|
* custom allocators and EnTT allocator-aware in general (long term feature, I don't actually need it at the moment) - see #22
|
|
* debugging tools (#60): the issue online already contains interesting tips on this, look at it
|
|
* work stealing job system (see #100)
|
|
- mt scheduler based on const awareness for types
|
|
* meta: sort of meta view based on meta stuff to iterate entities, void * and meta info objects
|
|
- remove runtime views, welcome reflection and what about snapshot?
|
|
* allow for built-in parallel each if possible
|
|
* allow to replace std:: with custom implementations
|
|
* types defined at runtime that refer to the same compile-time type (but to different pools) are possible, the library is almost there
|
|
* add opaque input iterators to views and groups that return tuples <entity, T &...> (proxy), multi-pass guaranteed
|
|
* allow for custom stomp functions
|
|
* custom (decoupled) pools ==> N-buffering, shared components, multi-model, hibitsets, and so on
|
|
- explore the possibility to wrap other backend with a XHandler component
|
|
* snapshot rework/deprecation
|
|
- create(hint: entity) -> force-create
|
|
- assign<T...>(first, last)
|
|
* use unordered_map for named pools and context variables:
|
|
- use direct access (pool-like) also for context variables
|
|
- allow for key/value variables where the key is an ENTT_ID_TYPE
|
|
- improves multi-stomp
|
|
* add examples (and credits) from @alanjfs :)
|
|
* static reflection, hint: template<> meta_type_t<Type>: meta_descriptor<name, func..., props..., etc...>
|
|
* ENTT_NAMED_TYPE -> ENTT_EXPORT and add also ENTT_EXPORT_WITH_NAME
|
|
* meta: members+class as fake functions, is it possible?
|
|
* meta: export implicitly generated named types if possible
|
|
* add meta support to registry:
|
|
- entity for each component
|
|
- opaque get
|
|
- and so on (I'm lazy) :)
|
|
* registry::each to iterate all components of an entity
|
|
* named types: almost-stable index optimization for direct access to pools, no more linear searches
|
|
- can implicitly generate types for meta benefit from a similar approach?
|
|
* detect family on a macro based model
|
|
* is it possible to make named type constraints namespace-free?
|
|
* stomp -> merge (naming is hard as heck, it's known thing)
|
|
* observer: user defined filters (eg .replace<T, &function> or .group<T, U, &func>)
|
|
* any-of rule for views/groups (eg entity has A and any of B/C/D)
|
|
* sparse set: there exists an alternative to paginated sparse arrays?
|
|
* see warning (vs2017 only): d:\a\entt\entt\src\entt\entity\registry.hpp(108)
|
|
* registry
|
|
- ::assure -> pool_type<T> &
|
|
- ::group improve, reduce code
|
|
|
|
* Mission: get rid of named types
|
|
- make it possible to use custom generators (eg for plugins)
|
|
* dispatcher
|
|
* emitter
|
|
* registry
|
|
* meta
|
|
* monostate
|
|
* locator
|
|
- families should be defined as out-of-class to guarantee the same identifiers for the same types
|
|
- update doc: family, dispatcher, emitter, registry, meta, across boundaries
|
|
- update tests
|