#pragma once #include "debug/DebugWindowRegistry.hpp" #include "debug/metrics/NetworkMetrics.hpp" #include "draw/WorldRenderer.hpp" #include "io/InputState.hpp" #include "world/JoltPhysicsWorld.hpp" #include "world/World.hpp" namespace tw::app { /** * Bundle of runtime-owned subsystems that the game state needs. */ struct GameContext { tw::World* world; tw::JoltPhysicsWorld* physics_world; tw::drw::WorldRenderer* renderer; tw::io::InputManager* input_manager; tw::dbg::NetworkMetrics* metrics; tw::dbg::DebugWindowRegistry* debug_windows; }; } // namespace tw::app