#pragma once
#include <cstddef>
#include <string>
#include <vector>
#include "core/render_plan.hpp"
namespace smartcut::core {
struct RenderReportRange { std::size_t operation_index{}; std::string source_uuid; std::uint64_t first_frame{}; std::uint64_t end_frame{}; std::string execution; };
class RenderReport { public: static RenderReport from_plan(const RenderPlan& plan); std::string to_json() const; private: std::size_t planned_operations_{}; std::size_t copy_operations_{}; std::size_t encode_operations_{}; std::size_t audio_operations_{}; bool audio_ready_{}; std::vector<RenderReportRange> ranges_; };
}
