Integrate diagnostic decorations and current-source Text input boundaries

This commit is contained in:
2026-09-13 04:47:30 -07:00
parent 16904398db
commit 92ff99eb54
98 changed files with 35959 additions and 208 deletions
@@ -117,6 +117,7 @@ const FLAGS: [&str; 5] = ["Stale", "Partial", "Collision", "Detached", "Unverifi
fn draw_and_check_flags(
content: Element<'_, Message, iced::Theme, Recorder>,
width: f32,
flags: &[&str],
) -> Vec<String> {
let viewport = Rectangle::with_size(Size::new(width, 24.));
let mut renderer = Recorder {
@@ -143,7 +144,7 @@ fn draw_and_check_flags(
&viewport,
);
let mut failures = Vec::new();
for flag in FLAGS {
for &flag in flags {
for byte in 0..flag.len() {
let matching: Vec<_> = renderer
.clusters
@@ -221,14 +222,18 @@ fn all_reference_exceptions_fit_allocated_width_with_wide_alias_and_large_counts
omitted_references: 100_000,
}));
for width in [840., 720.] {
let positive = draw_and_check_flags(reference_summary(&app), width);
let positive = draw_and_check_flags(
reference_summary(&app, app.source_results_current()),
width,
&FLAGS,
);
assert!(
positive.is_empty(),
"reserved flags, width {width}, alias {alias:?}: {positive:?}"
);
// Observe the exact old presentation without predicting font widths.
// This is emitted under --nocapture, whether it clips or fits.
let old = draw_and_check_flags(old_summary(old_value.clone()), width);
let old = draw_and_check_flags(old_summary(old_value.clone()), width, &FLAGS);
println!(
"old alias-first summary width={width} alias={alias:?}: {} missing/clipped flag-byte checks; first={:?}",
old.len(),
@@ -240,9 +245,18 @@ fn all_reference_exceptions_fit_allocated_width_with_wide_alias_and_large_counts
// bound: require the same evaluator to reject a clipped old-style paragraph.
// This is not evidence of a production/native overflow at 840 pixels.
let stress = format!("@{} · {}", "W".repeat(256), FLAGS.join(" · "));
let rejected = draw_and_check_flags(old_summary(stress), 720.);
let rejected = draw_and_check_flags(old_summary(stress), 720., &FLAGS);
assert!(
!rejected.is_empty(),
"negative control must detect missing/clipped warning text"
);
}
pub(crate) fn rendered_stale(app: &App) -> bool {
draw_and_check_flags(
reference_summary(app, app.source_results_current()),
720.,
&["Stale"],
)
.is_empty()
}