tiny_ecs 0.5.0
tiny_ecs: ^0.5.0 copied to clipboard
A minimal, functional Entity Component System (ECS) for applications that need to manage complex entities with dynamic component sets
0.5.0 #
Features #
- Deferred Structural Changes: Structural world mutations are now queued while query iterators are active and applied after iteration completes
- Command Buffer API: Added
commandBuffer()with queuedcreate,createChild,add,remove,destroy, andflush()support - World Flush API: Added
flush()to apply pending structural changes on demand
Improvements #
- Mutation Safety During Queries: Eliminated fail-fast map iterator issues when mutating structurally inside
query,query2,query3, and child queries - Regression Test Coverage: Added tests for deferred query-time writes and explicit command-buffer semantics
- Documentation Updates: README now documents deferred structural behavior and command buffer usage
Breaking Changes #
- Behavioral Timing Change: Structural writes performed during active query iteration are deferred until iteration completes instead of being applied immediately
0.4.6 #
- Comprehensive documentation rewrite with tutorial-first approach and complete usage examples
0.4.5 #
Features #
- Parent-Child Relationships: Added hierarchical entity structures with
createChildEntity(),getParent(),getChildren() - Query Builder: Fluent API for complex queries with inclusions and exclusions using
queryBuilder() - Child Queries: Specialized querying for child entities with
queryChildren1(),queryChildren(),queryChildren3() - Bulk Operations: Added
addComponents()andcreateEntityWith()for efficient multi-component operations - Enhanced Component Access: Added
getAllComponents()to retrieve all components from an entity - Recursive Destruction: Entity destruction now recursively removes all children
Improvements #
- Comprehensive Test Suite: 24 test cases covering all functionality including edge cases and performance
- Updated Documentation: Expanded README with broader use cases beyond game engines
- MIT License: Added proper MIT license file
- Enhanced API: Complete API reference with all methods documented
Breaking Changes #
- None - all changes are additive and backward compatible