pub struct AlignedStep {
pub a_idx: Option<usize>,
pub b_idx: Option<usize>,
pub a: Option<StepView>,
pub b: Option<StepView>,
pub field_diffs: Vec<FieldDiffView>,
}Expand description
The two sides of one alignment move, resolved for display. Indices are kept separate from the resolved views: a gap move has an index on one side only, and a painter still shows the index even where (malformed hand-built input) it resolves to no step.
Fields§
§a_idx: Option<usize>§b_idx: Option<usize>§a: Option<StepView>§b: Option<StepView>§field_diffs: Vec<FieldDiffView>Field-level -/+ evidence for this synchronous pair — the only red/green in any
surface. Empty when the payloads matched (a recede-worthy sync) or the move has no
counterpart to compare (a log/model gap move); the engine emits it for every sync,
so it rides the pair, not the fork alone (issue #27). The content-diff pane shows
the selected row’s; the terminal renders only the fork’s.
Implementations§
Source§impl AlignedStep
impl AlignedStep
Sourcepub fn front(&self) -> Option<&StepView>
pub fn front(&self) -> Option<&StepView>
The step fronting a single-line rendering: the observed side where it exists — that is the run being debugged — the reference side for model-only moves.
Sourcepub fn display_idx(&self) -> Option<usize>
pub fn display_idx(&self) -> Option<usize>
The index shown in the gutter, matching Self::front’s side priority.
Trait Implementations§
Source§impl Clone for AlignedStep
impl Clone for AlignedStep
Source§fn clone(&self) -> AlignedStep
fn clone(&self) -> AlignedStep
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more