[−][src]Crate v9
A data engine for Data Oriented Design.
crate::v9
is a vastly simpler version of crate::v11
.
Design
A Universe
has the same shape as a HashMap<TypeId, Any>
.
A single instance of any type can be inserted into the universe.
Changes can then be made by run
ning a Kernel
.
A Kernel
is any closure whose arguments all implement Extract
.
Extract
indicates to the Universe
what resources it needs,
and does whatever is necessary to provide itself as an argument to the kernel.
This crate intentionally shares more fields that you might expect. It's hard to foresee all needs; hopefully you can do something useful with them.
Modules
column | Columns and their extractions. |
event | Mechanisms for responding to events. |
extract | |
id | |
kernel | |
linkage | |
lock | Low-level locking. |
object | |
prelude | |
prelude_lib | |
prelude_macro | |
table | |
util |
Macros
context | Extract many things at once. |
table | Defines a table. This is the most important item in the crate! |