@@ -582,6 +582,38 @@ _Discussions:
582
582
[ shipyard-visualizer ] : https://leudz.github.io/shipyard/visualizer
583
583
[ shipyard-release-post ] : https://users.rust-lang.org/t/shipyard-0-6-release/79504
584
584
585
+ ### [ Edict]
586
+
587
+ [ Edict] by [ @zakarumych ] is powerful Rust ECS crate that expands traditional ECS
588
+ feature set. The new version 0.2 is getting [ ready for release] . This ECS is based
589
+ on archetypes for fast cache-friendly iteration. And there are quite a few novel
590
+ features:
591
+
592
+ - [ Edict] allows to express relations between entities using [ ` Relation ` ] trait.
593
+ Relations are linked to a pair of entities - origin and target. This opens a
594
+ wide range of opportunities to create entity graphs with custom logic.
595
+ - Custom hooks for components and relations to trigger actions when component is
596
+ dropped/replaced, or when relation target is dropped.
597
+ - Optional [ ` Component ` ] trait. [ Edict] allows using component types that do not
598
+ implement [ ` Component ` ] with some restrictions.
599
+ - Change tracking with flexible queries for modified components suitable for
600
+ complex use cases. E.g. incremental saves can fetch all components modified
601
+ since previous save.
602
+ - Type-agnostic component borrowing. Component type may define list of types
603
+ that can be borrowed from it. Important use case is borrowing [ ` dyn Traits ` ] .
604
+ - [ Edict] supports parallel execution. Built-in scheduler uses systems that
605
+ implement [ ` System ` ] trait. Functions can be safely transformed into systems
606
+ similarly to [ ` bevy_ecs ` ] .
607
+
608
+ [ Edict ] : https://github.com/zakarumych/edict
609
+ [ @zakarumych ] : https://github.com/zakarumych
610
+ [ ready for release ] : https://docs.rs/edict/0.2.0-rc.3/edict/
611
+ [ `Relation` ] : https://docs.rs/edict/0.2.0-rc.3/edict/relation/trait.Relation.html
612
+ [ `Component` ] : https://docs.rs/edict/0.2.0-rc.3/edict/component/trait.Component.html
613
+ [ `dyn Traits` ] : https://doc.rust-lang.org/book/ch17-02-trait-objects.html
614
+ [ `System` ] : https://docs.rs/edict/0.2.0-rc.3/edict/system/trait.System.html
615
+ [ `bevy_ecs` ] : https://crates.io/crates/bevy_ecs
616
+
585
617
## Popular Workgroup Issues in Github
586
618
587
619
<!-- Up to 10 links to interesting issues -->
0 commit comments