unchanged property
True when this step's picture is byte-identical to its parent's: the
verb acted and nothing on screen changed. A fact, not a verdict — a
capture parked mid-flight with Settle.none is legitimately unchanged —
but a run of these in a walking scenario is a stalled flow passing
quietly, which is what the flag exists to make visible. Never set on the
step a scenario failed at, nor on one that is not a screen — a document
has no picture to be identical to anything.
The digest rather than the tree, which is what this used to compare. A tree is not a projection of the picture in either direction: typed text, an animation, an image and anything painted on a canvas move the pixels without moving the dump, and a value that changed harmlessly moves the dump without moving the pixels. Measured on a consumer suite of 1240 steps, the two agreed on 22 of the 297 the tree flagged.
Implementation
final bool unchanged;