pub enum FrameKind {
Full,
Partial,
}Expand description
Whether a frame redraws everything or just its spans.
Deliberately exhaustive (#843), and this one is closed by a louder gate than
semver. A new frame kind is a wire change, so it moves WIRE_VERSION
(ADR-0008) — which a consumer cannot miss. #[non_exhaustive] would only soften
the quieter of the two signals. Left exhaustive on purpose, not by omission.
Default is Full because the wire says so (#844). The discriminant encodes as 0 and
Partial as 1, and every other field of a defaulted Frame is its own zero — a default
that disagreed with the wire’s zero byte would be two spellings of the same empty frame that
do not round-trip to each other. It is not a claim that Full is the more useful kind.
Variants§
Full
Every row is present (resize / alt-screen clear).
Partial
Only the listed spans changed since the consumer’s ack.