bezel

Patterns / Agent

Diff

apps/gallery/src/patterns/diff.rs

A diff row is two numbers, a sign and a line of text: three divs and a color, with no reducer, no state and nothing to measure. Next to tree (flattening plus an arrow-key walk) or table (a sort reducer and a cell-count guard) it would be a paint helper wearing a component's badge — so it lives in the file you would copy rather than in crates/ui.

The attempt is the finding. What is actually hard about a diff view — folding hunks, word-level marks inside a changed line, syntax highlighting, two panes scrolling together — is either the app's or waits on a syntax crate. None of it is here, and calling this a component would have promised all four.

The rows arrive already decided. bezel never computes a diff; whatever produced it is the app's business, the same line tree holds about your file system.

The header over it is widgets chrome, and the tones are the palette's diff_add, diff_del and diff_hunk_bg.

The source is at apps/gallery/src/patterns/diff.rs.

Diff