22 releases

0.6.11 Sep 9, 2024
0.6.9 Jul 29, 2024
0.6.6 Feb 28, 2024
0.6.4 Dec 5, 2023
0.4.0 Nov 26, 2022

#1790 in Development tools


Used in 6 crates

GPL-3.0 license

84KB
2K SLoC

Xvc Entity-Component System is the basic storage mechanism behind Xvc. It defines an integer-based entity type ([XvcEntity]), a trait to be implemented by components (structs) and stores to save, load and operate on these components.

It's an alternative to an object-oriented design where the relations between classes should be known beforehand. It allows to implement new components for entities at any point in the evolution of software. These components can have 1-1, 1-N or M-N relationships.

In a sense components are analogous to database tables, and entities are primary keys. [XvcStore] can be considered akin to a table, and [R11Store], [R1NStore] and [RMNStore] can be considered as relations.

Dependencies

~3–11MB
~119K SLoC