Releases: Anders429/brood
Releases · Anders429/brood
v0.3.0 [YANKED]
Added
shrink_to_fit()
method onWorld
for shrinking theWorld
's current allocation to the minimum required for the current data.ContainsComponent
,ContainsEntities
,ContainsEntity
,ContainsParQuery
, andContainsQuery
traits to indicate more specific bounds on registries.
Changed
- Removed unnecessary generic bounds on
result::Iter
,result::ParIter
, andentities::Batch
. - Simplified trait bounds on
System::run()
andParSystem::run()
, improving usability for users implementing these traits. - Renamed
Seal
traits toSealed
to match common convention.
Fixed
- Memory is no longer leaked after clearing a populated
World
and then extending a previously populated archetype. - Traits with bounds on internal traits are now properly sealed.
stages!
macro now correctly parsessystem
command with no trailing comma.
v0.2.0
Added
query()
method onEntry
for viewing components of a single entity.- Documentation for some associated types and enum variants that was missing.
Changed
query()
andpar_query()
methods onWorld
now require aQuery
parameter.- Performance improvements through canonicalization of heterogeneous lists instead of internal type index hash tables.
insert()
,extend()
,query()
, andpar_query()
methods onWorld
now check at compile-time that components are contained within the registry.add()
andremove()
methods onEntry
now check at compile-time that components are contained within the registry.
v0.1.0
Added
registry!
declarative macro for easily defining a heterogeneous list of components making up a registry.World
for containing archetypal component data, generic over a registry of components.entity!
andentities!
declarative macro for easily defining heterogeneous lists of components making up entities.insert()
andextend()
methods onWorld
for storing entities of arbitrary components.views!
declarative macro for easily defining heterogeneous lists of views.- Various filter types for restricting what entities are viewed when querying.
query()
andpar_query()
methods onWorld
for viewing components of entities stored.System
andParSystem
traits allowing users to define systems.run_system()
andrun_par_system()
methods onWorld
for running user-defined systems.- Builder API for defining a
Schedule
at run-time. run_schedule()
method onWorld
for optimally running a schedule of systems.entity::Identifier
type for uniquely identifying a stored entity.contains()
method for checking whether an entity exists in aWorld
.remove()
method for removing an existing entity in aWorld
.entry()
method onWorld
for obtaining anEntry
for a contained entity.add()
andremove()
methods onEntry
for modifying an entity's components.clear()
method onWorld
for removing all entities.len()
andis_empty()
methods for determining how many entities are stored in aWorld
.serde
feature to enable serialization and deserialization ofWorld
.rayon
feature to enable parallel processing of components through the variouspar_
methods.