#pragma once

namespace pp::app {

struct AppShutdownPlan {
    bool save_ui_state = true;
    bool terminate_stroke_preview_renderer = true;
    bool stop_recording = true;
    bool invalidate_textures = true;
    bool invalidate_shaders = true;
    bool unload_layouts = true;
    bool destroy_ui_render_target = true;
    bool destroy_face_plane = true;
    bool release_panel_nodes = true;
    bool clear_quick_mode_state = true;
};

[[nodiscard]] constexpr AppShutdownPlan plan_app_shutdown() noexcept
{
    return AppShutdownPlan {};
}

} // namespace pp::app
