All notable changes to this project will be documented in this file.
- Try_for_each system
- Entity id sink adapter
relations_like_mut
- Implement Error for MissingComponent
- EntityRef::query no longer requires self lifetime
- RelationExt::nth_relation
- FetchExt::filtered
- Implement RandomFetch for NthRelation
- Add name shorthand for entity ref
- Puffin integration
- Add set_opt to
EntityRefMut
andCommandBuffer
- Allow accessing world in EntityRef
- Nth relation filtering
- Export Storage
- Nostd build
- Despawn_children performance
- Make mutable easier to use in modification queries
- Performance of tree despawns for high number of archetypes
- Improve dfs performance
- Panic for DfsBorrow::iter_from when there are no relations
- Infinite memory growth in command buffer
- Incorrect changed tranform for mutable
- Filtering for mutable and optional queries
- Don't generate transformed types if there are no transform attrs
- Profile system execution
- Profile more heavy methods
- Remove coverage due to upstream tarpaulin failure
- Benchmark dfs
- Add transforms to EntityIds
- Update dependencies
- Release
- EntityBuilder::is_empty
- Lazy component buffer in static memory
- Deploy toolchain spec
- Update ci toolchain
- Release
- Update canvas border color
- Conditional and unconditional yield of optional filtered queries
- Preserve field visibility for query items
- Expose
NthRelation
- Apply commandbuffer in manually run boxed systems
- Stale relations in detached archetypes
- Release
- Ignore fields in fetch transformation
- Set_missing
- CommandBuffer::set_dedup
- Remove fetch slot indexing and allow acces to world in filters
- Traverse relations in query
- Make entity ids a filter
- QueryOne
- Allow constructing query modifiers in const contexts
- Improve change list removal
- Allow access to storage in event subscription
- Document exclusive relations
- Nth_relation
- Invalid batching when world archetypes are modifed during execution
- Doctest
- [breaking] Don't automatically prune archetypes
- Include input lifetime in
SystemContext
- Miri
- Implement RandomFetch for entity ids
- Source for slot filtering
- Broken link
- Always merge changes on set
- Correctness of
Changes::set
for existing overlaps - Overlapping slots in change list
- Invalid archetype for a transitive archetype connection
- Clarify associated values for relations
- Clarify value uniqueness
- [breaking] Clear up naming with relation target
- Nth_relation access granularity
- Clarify target terms
- Remove erronous cfg guard
- Unused variable
- Debug not implemented for
Type
- Systems
- [breaking] Replace wrapper generics with explicit functions in system builder
- Make
IntoInput
safe
- Schedule tuple input
- Update changelog
- Update README.md
- Implement ExtractDyn for tuples of 4
- Fix warnings
- Cleanup asteroids
- Update toolchain for asteroids
- [breaking] Reduce root exports
- Clippy
- Fix doctests
- Document
name
special handling - Remove debug scaffolding
- Fix no-std tests
- Give asteroids a face lift
- [breaking] Remove
removed
filter - Wording
- Update dependencies
as_cloned
- Automatic archetype pruning
- Implement Debug for EntityRef and EntityRefMut
- Spawn_ref
- Downgrade
- Entry_ref
- Copied
- Entity_ref fetch
- Relation iteration
- Dfs query with change detection
- Support cmp for other queries
- Abstract query strategy
- Planar query strategy
- Move query shorthand methods
- Entity strategy
- Include/exclude components in planar query
- Simplify vtable usage
- Topological query
- Dfs edge values
- Extract
Archetypes
- Maybe_mut
- Proxy source for fetch items
- Relation source
- Archetype ordering
- Topological query order
- Random tree traversal
- Improved event system
- Query chapter
- Mutually exclusive relation constraints
- Make child_of exclusive
- DfsRoots
- Merge
Dfs
andDfsRoots
- Trigger an ICE
- [breaking] Feature gate derive
- Improve and clarify schedule reordering
- Better system description
- User supplied context data in schedule execution
- Entity builder component count
- Hierarchy formatting
- Implement display for
Entity
andEntityRefMut
- EntityRef::update
- Get copy
- Implement modified transform for tuples
- Use trait to support Union filter for foreign types
- Make derive support generics
- Derive modified transform
- Generic fetch transforms
- Fetch map
- Buffer component writer
- CellMutGuard and CellGuard mapping
- EntityRefMut::set_dedup
- Update_dedup
- Inserted transform
- Make entity errors more specific
- QueryIter perf compared to manual flatten
- Complex type
- [breaking] Needless result in EntityRefMut::set
- Component not initialized using set(_dyn)
- Allow returning borrows from EntityRef
- Tests
- Tests
- Query dirty state
- [breaking] Logic errors with
filter_arch
andprepare
returning None - Allow prepare to arbitrary fail
- Warnings
- Satisfied for dynamic filters
- [breaking] Remove spawn_with in favor of entity builder
- Tests
- [breaking] Debug => Debuggable
- No-std tests
- Tests
- Unaligned NonNull::dangling
- Dfs recursive reborrowing
- Replace eyre due to maintenance and miri
- Buffer realloc alignment
- Test no_std
- Ignore tarpaulin
- Inlining perf regression
- Derive feature
- Broken MIR by pinning to older version
- #4 broken link
- Export entry
- Unwrap on change filter when missing changes
- Nostd
- Use top-down access construction
- Allow empty systems
- Implement IntoIterator for
&mut TopoBorrow
- Nostd
- Make QueryBorrow::for_each use FnMut
- [breaking] Reduce exports of commonplace names in root
- Doc links
- Ci badge
- Type in README.md
- [breaking] Reduce
And
nesting in query filter parameter - Typos in README.md
- Warnings
- Warnings
- No std tests
- Invalid archetype
- Rename inserted to added
- Use of std
- Source
- Remaining queries
- No-std
- Use of private module
- Fix broken links
- Change detection
- Query
- Traverse and transforms
- Make QueryBorrow::for_each lend borrow archetypes
- Borrow clearing
- Archetype change events
- Query archetype searching
- Use vtable for component delegates
- ReadOnlyFetch
- Component buffer
- Simplify writer traits
- Remove set_inner
- Clearing
- Entity builder relations
- Replace existing relation on entity using builder
- Update changelog
- [breaking] Make Fetch::match and Filter::match well, match
- Fix lints
- Make
Live Demo
a link - Remove ComponentValue bound for Component Debug impl
- Make Filter similar to Fetch
- Use default members
- Use
relations_like
in relations fetch - Make fetch unsafe
- Cleanup fetch trait visiting
- Replace old query with strategy query
- Fix tests for no-std
- Fix warnings
- Fix warnings
- Remove internal duplicate function
- Remove symmetric feature idea
- Update docs
- Reduce dependencies
- Note on eyre
- Tarpaulin action
- Remove eprintln in test
- Remove test_log
- Tarpaulin llvm engine
- Add git-cliff config
- Rename module
- Remove release workflow
- Update git-cliff config
- Less verbose display impls
- Update tynm
- Update syn and cleanup derive macro
- Make codecov informational
- Add asteroids src to README.md
- Force CI run
- Split filters into more modules
- Move union to filter modules
- Attempt to use GAT
- Use fully qualified syntax for derive
- Implement transform for Opt, Cloned, Copied
- Remove adjacent atomic ref cell borrowing
- Use entity slice directly
- Cleanup
- Make set use writer abstraction
- Make set_with use new ComponentWriter
- Cleanup
- Sync readme
- ComponentInfo => ComponentDesc
- Cleanup
- Batch => chunk
- Improve miri speed
- Use advancing ptr
- [breaking] Remove redundant AccessKind::ChangeEvent
- Cargo nextest
- Fix args
- Git changelog
- Miri job count
- EntityRefMut::retain
- EntityBuilder::set_opt
- Clear not generating removal events for queries
- ChangeSubscriber not working with filter
- Update changelog
- Filter subscription
- Tokio subscribers
- Extensible event subscription
- Set(_with) not working for reserved entities
- Make EntityIndex primitive
- No-default-features lints
- Blanklines in example
- Doclinks in README
- Archetype change events
- Change subscribing
- Subscribe
- Sparse or combinators
- CHANGELOG.md
- Fix tests
- Simplify internal archetype borrowing api
- Fix no-std
- Fix warnings
- Remove duplicate simpler event_registry
- Doclinks
- Benchmarking
- Batch_size
- Human friendly access info
- Query trie archetype searching
- Row and column serialize benchmarks
- Par_for_each
- No_std
- Rework components and relations
- Concurrently reserve entities
- Asteroids wasm example
- EntityQuery
- Make Query::get use filters
- Require
Filter
to implement bitops - Make merge_with append to static ids (instead of ignoring and dropping components)
- Ron ident deserialize
- Rename serde module due to crate:serde collision
- Change list remove performance
- Schedule granularity
- Unnecessary checks
- Feature gated benchmarks
- Doctests
- Warnings
- Badge links
- Quasi-quadratic growth strategy
- Whitespace in badges
- Warnings
- No_std tests
- Auto spawn static entities
- Cmds not applied in schedule_seq
- Artefact location
- Dead links
- Feature gate flume due to std requirement
- Asteroids deps
- Spacing
- Use describe rather than requiring debug for filters
- Use a freelist vec instead of inplace linked list
- System access and scheduling
- Filter combinators
- Add guide badge
- Add keywords
- Inline some hot callsites
- Remove tynm
- Fix unused imports with --no-default-features
- Merge deployment of guide and asteroids demo
- Change guide location
- Consistent workflow names
- Use EntityQuery in asteroids
- Remove unneded
fetch::missing
- [breaking] Rename
is_component
=>component_info
- Cleanup docs
- Make rayon examples use custom thread pool
- Fix doctests
- Change around world access
- Parallel scheduling
- Optional queries
- Entity ref
- Entry like component and entity api
- Standard components
- Component metadata and components
- Implement debug for world
- Batched iteration
- With_world and with_cmd
- Detach relation when subject is despawned
- Tracing
- Clear entity
- EntityBuilder hierarchy
- User guide
- Query
- Schedule
- Filter for &Filter
- Relation and wildcard for
with
andwithout
- Make storage self contained
- Batch insert
- Column serialization and deserialization
- Row and column serialization
- Relations_like
- Entity builder and batch spawn
- Cmd batch
- Hierarchy
- Commandbuffer
- FetchItem
- Allow filters to be attached directly to a fetch
- Merge worlds
- Merge custom components and relations
- Fast path on extend for empty archetype
- On_removed channel
- Shared system resource
- Use normal references in systems
- Allow schedle introspection
- Merge change ticks
- Auto opt in test
- Feature gate implementation detail asserts
- Serialization
- Wip issues
- PreparedQuery re-entrancy
- Spawn_at
- Empty entities in root archetype
- Guide workflow
- Guide workflow
- Assertion not respecting groups
- Non sorted change list
- Release assertion on non unqiue fn instances
- Id recycling
- Update markdown title
- Docs and unnused items
- Dead code
- ComponentBuffer non deterministic iteration order
- Clippy lints
- Cursor position outside buffer
- Vastly simplify system traits
- Docs and warnings
- Don't expose rexport buffer
- Inconsistent Fetch trait
- Bincode serialization
- On_remove not triggered for clear
- Merge with holes in entity ids
- Commandbuffer events not happening in order
- Query not recalculating archetypes when entity moves to existing but empty arch
- Change event wrapping
- Warnings
- SystemFn describe
- Use of unstable features
- Imports and serde api
- QueryBorrow::get
- Broken link
- Miri
- Badge style
- Make queries skip empty archetypes in access
- Sync readme
- Execute schedule in doc test
- Test with all features
- Wrapped line in docs
- Hide extraneous bracket
- Docs
- Stable archetype gen
- Unused deps
- Public api
- Cleanup public api
- Continue api cleanup
- Link style
- Missing import
- Broken doclinks
- Derive docs
- Manifest
- Bump deps
- Eprintln
- Relations
- Simplify filter
- Archetype storage
- Entity spawning
- Change list
- Shared resource
- Remove dbg prints
- Fix all warnings
- Apply clippy lints
- Add guide to readme
- More comments in examples
- Sync readme
- More links
- Small changes
- Reduce items in prelude
- Change default query generics
- Custom EntityKind [de]serialize implementation
- Sync readme
- Link relations in docs
- Sync readme
- Bump version
- Workflows