#pragma once // dod_evidence_panel — ImGui panel reutilizable para validar DoD evidence. // // Renderiza una tabla con items DoD (Definition of Done) + evidencias // adjuntas. Cada fila: icono de status, id, kind, expected, preview de // evidence (screenshot path / log preview / url clickable / cmd output con // diff vs expected), y botones Validate/Reject que invocan callbacks. // // La logica pura (contar status, buscar evidence, mapear icon/color) vive en // dod_evidence_panel_helpers.{h,cpp} y se testea sin ImGui. // // Uso: // #include "viz/dod_evidence_panel.h" // fn_viz::DodPanelState state; // state.run_id = "run_abc123"; // state.items = load_dod_items(...); // state.evidences = load_dod_evidences(...); // state.on_validate = [](const std::string& id) { db.mark_validated(id); }; // state.on_reject = [](const std::string& id) { db.mark_failed(id); }; // fn_viz::render_dod_evidence_panel(state); #include "dod_evidence_panel_helpers.h" namespace fn_viz { // Renderiza el panel inline en el current ImGui window. // Debe llamarse dentro de un frame ImGui activo (entre NewFrame/Render). void render_dod_evidence_panel(DodPanelState& state); } // namespace fn_viz