During the prototype stage, mods define custom prototypes for the engine to pick up on. They are used as templates for the machines, recipes, and more in the game engine. These templates consist of a set of properties, utilizing Types for recurring data structures. Prototypes rely on multiple levels of inheritance, which can be visualized as a tree.
definestable, which contains symbolic constants used as property values.
The prototype API documentation is also available in a machine-readable format that developer tools can use.