Create a 'newable' type for the class T
Utility type denoting the Game's ControlScheme, utilised in Game configuration and InputManager event handling
Create a version of an object recursively making all properties optional
Create a version of an object recursively requiring all properties
Create a Mutable version of the class T by removing any readonly specifiers from its properties
Utility type representing an array of shader uniform specifications, used in defining VertexShaders and FragmentShaders
Uniform 'variation' is a special field which determines both how often a uniform will vary, and how it can be retrieved by the Renderer
Utility type representing an array of shader attribute specifications, denoting their names and sizes, used in defining VertexShaders