Connect MITC4 drilling evidence across analysis procedures

This commit is contained in:
KOKO\Mimi
2026-10-20 09:21:39 +09:00
parent 294ffbf8a1
commit c6188b3ad7
30 changed files with 763 additions and 28 deletions
+12
View File
@@ -4,9 +4,11 @@
#include <array>
#include <cstddef>
#include <string>
#include <optional>
#include <vector>
#include "fesa/core/source_identity.h"
#include "fesa/elements/mitc4_drilling_mode.h"
namespace fesa {
@@ -70,6 +72,15 @@ struct ShellResultRow {
std::array<ShellSectionStressRow, 3> stress;
};
/// @brief Separates artificial internal spatial moment from raw equilibrium.
/// @note The actual immutable kernel mode accompanies every production frame.
struct Mitc4DrillingEvidence {
Mitc4DrillingMode mode;
std::array<double, 3> drilling_moment{};
// Raw force balance and raw moment balance minus positive internal drilling.
std::array<double, 6> equilibrium_with_drilling{};
};
/// @brief Carries a complete shell result candidate for atomic validation.
struct ShellStateCandidate {
std::vector<ShellResultRow> rows;
@@ -79,6 +90,7 @@ struct ShellStateCandidate {
// [FREE_RESIDUAL_NORMALIZED,FORCE_BALANCE_NORMALIZED,
// MOMENT_BALANCE_NORMALIZED].
std::array<double, 3> verification_metrics{};
std::optional<Mitc4DrillingEvidence> mitc4_drilling;
};
} // namespace fesa