initSidebarItems({"fn":[["calc_millis","Helper function for calculating the time in milliseconds since the last update."],["next_family","Generates the next unique family. This method should never be called manually. Concrete components should be passed into the `simulation!` macro, which will setup the families."]],"macro":[["component!","Used to implement the component trait for a given type. This macro should never be called manually. Concrete components should be passed into the `simulation!` macro, which will call this macro."],["simulation!","The core wiring for entity component systems built on `trex`. This macro takes a set of `Component`s, events, and `System`s, and creates a `Simulation` type that manages them. See the library documentation for an example of how this macro is used."]],"struct":[["ComponentFilter","Used to filter the list of entities based on the components that are attached to them."],["EventQueue","Allows for emitting events and iterating over them in the order that they were emitted. Events are immutable and queues are not flushed until the end of the frame, so multiple clients can receive events from the same queue."],["Halt","Internal event used to stop the `Simulation`. The `halt` event queue will always be created."],["World","Contains all entities and their components."]],"trait":[["Component","Trait implemented by all components in order to distinguish stores of different components. this trait should never by implemented manually. Concrete components should be passed into the `simulation!` macro, which will implement this trait for each component."],["System","Trait that must be implemented by all systems in the `Simulation`. The generic parameter `E` is the `Events` type generated by the `simulation!` macro."]],"type":[["Entity","Used to group components."],["Family","The unique family of a component."]]});