About this project

Raysim is an object-oriented C++ framework designed for prototyping 2D graphics, physics simulations, and small games. It provides an abstraction layer over raylib to simplify window creation, input handling, and scene state management. Key features include: - Scene Management: A system for registering and switching between independent visual scenes with defined lifecycles (OnAttach, OnStart, OnUpdate, OnFixedUpdate, OnDraw, and OnDetach). - Execution Loops: Support for both variable-rate logic updates and fixed-timestep loops for deterministic physics simulations. - Rendering Pipeline: An abstract rendering layer for 2D shapes and colors, with support for interpolation to ensure smooth visuals between physics steps. - Integration: Built-in support for ImGui for creating navigation overlays and debugging tools. The framework requires a C++20 compatible compiler and CMake 3.28+ for building.