#ifndef SIM_CORE_H #define SIM_CORE_H #include #include "fixed_point.h" struct SimState { fp_t stage_width; fp_t stage_height; fp_t camera_x; fp_t camera_y; }; static_assert(std::is_trivially_copyable_v, "SimState must be trivially copyable for rollback"); static_assert(sizeof(SimState) == 16, "SimState size changed unexpectedly"); #endif // !SIM_CORE_H