#pragma once namespace hd2d { class Window; struct RenderSettings; struct Scene; class Weather; // Dear ImGui integration plus a ready-made tuning panel for the renderer. class DebugUI { public: bool init(Window& window); void shutdown(); void beginFrame(); void endFrame(); bool wantsMouse() const; bool wantsKeyboard() const; // Tweak panel for every look parameter (sun, sky, fog, AO, water, post). static void renderSettingsPanel(RenderSettings& settings, Scene& scene, float gpuMs); // Rain amount, transition time and the storm preset. static void weatherPanel(Weather& weather); private: bool initialized_ = false; }; } // namespace hd2d