//! Structured breakdown of a [`DynamicScoreSet`](crate::DynamicScoreSet) or
//! [`FiniteScoreSet`](crate::FiniteScoreSet) evaluation — one row per metric.
use crateFloat;
/// A single metric's contribution in a score breakdown.
///
/// Returned by [`.breakdown()`](crate::DynamicScoreSet::breakdown). Each item
/// records the metric's name, its raw `[0, 1]` score, its normalized weight,
/// and the resulting weighted contribution (`score × weight`).
///
/// # Fields
///
/// | Field | Type | Description |
/// |---|---|---|
/// | `name` | `&str` | Metric's human-readable name |
/// | `score` | `T` | Raw `[0, 1]` score, **before** weighting |
/// | `weight` | `T` | Normalized weight (`> 0`, sum of all weights = 1) |
/// | `contribution` | `T` | `score × weight` — what this metric added to the total |