#ifndef FESA_RESULTS_DYNAMIC_RESULTS_WRITER_H_ #define FESA_RESULTS_DYNAMIC_RESULTS_WRITER_H_ #include #include #include "fesa/analysis/dynamic_analysis_state.h" #include "fesa/core/diagnostic.h" #include "fesa/core/status.h" namespace fesa { class Domain; /// @brief Writes complete HHT dynamic results to their official output file. class DynamicResultsWriter { public: virtual ~DynamicResultsWriter() = default; /// @brief Persists every accepted dynamic frame and diagnostic atomically. virtual Status Write(const std::filesystem::path& output_path, const Domain& domain, const DynamicAnalysisState& state, const std::vector& diagnostics) = 0; }; } // namespace fesa #endif // FESA_RESULTS_DYNAMIC_RESULTS_WRITER_H_