You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The code queries for entities for most data types. Entity types whose population is huge cannot fit in memory, so for those the datoms API is used to lazily walk. The only entity types presumed to have a huge population are actions and results.
Actions should be well-behaved
The runner presumes that actions are well-behaved: they do not throw exceptions or fail to return in a reasonable time. If an action does throw an exception, it is presumed to be a program bug and will kill the entire sim process.
Utility fns
It is worth reading the util namespace in its entirety before coding on the project, so you don't reinvent any wheels.
Dual Schema
Most sim entities have generic attributes from the sim schema, plus domain attributes specific to the sim. E.g. in the getting started example. The :model/tests attribute is generic to all sims, but the :model/meanTradeAmount attribute is specific to the domain.
It is idiomatic to namespace the attributes by the entity type, even though those attributes are coming from two different schemas, e.g. both the attributes above have the namespace model.