All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
Bevy version updated to 0.14
.
- Added derives for
Eq
,PartialEq
,Debug
,Copy
, andClone
toUniquenessError
.
HashmapStorage
now uses Observers instead ofRemovedComponents
to know when to clean up stale entries.IndexRefreshPolicy
has been changed from a trait to an enum because the switch to Observers should eliminate the need for complex refresh policy configurations.- The
RefereshPolicy
associated type ofIndexInfo
is now a constant calledREFRESH_POLICY
. - Calling
lookup
directly on a storage resource no longer refreshes the storage if refresh policy isWhenUsed
. This was moved up toIndex
'srefresh
method.
- Removed concrete implementations of the old
IndexRefreshPolicy
trait such asConservativeRefreshPolicy
.
- Added
reflect
crate feature withReflect
derives for storage types.
Bevy version updated to 0.13
.
Index::lookup
now returns animpl Iterator<Item=Entity>
instead of aHashSet<Entity>
to avoid unnecessary allocations.Index::refresh
is now a no-op if it was previously called during thisTick
.Index::force_refresh
can now be used to refresh the index unconditionally.
- Added
Index::force_refresh
(see above). - Added
Index::lookup_single
andIndex::single
(panicking version) for cases when a lookup is expected to return only oneEntity
. - Added the
RefereshPolicy
associated type to theIndexInfo
trait to allow specifying storage refresh behavior.- Also added the
IndexRefreshPolicy
trait to support this, as well as 5 concrete policies that can be used, such asConservativeRefreshPolicy
.
- Also added the