defaultStoreFrame function
The frame a project that declares none gets: chrome everywhere, a composition only where geometry forces one.
The rule turns on a distinction. Inventing a ground and a device body is a
marketing decision and stays opt-in — but a status bar is not marketing.
It is the one piece of a real screenshot a flutter_tester cannot draw, and
a store set without one reads as a mockup of the app rather than a picture
of it. So every set is framed now; what a declaration decides is whether the
frame is a composition or a pane of glass.
Apple's sets keep their exact pixels either way: an uncomposed canvas is its device's, so PlainStoreFrame draws the capture 1:1 and adds the bar.
Implementation
StoreFrame defaultStoreFrame(StoreShot shot) =>
shot.canvas == StoreCanvas.of(shot.device)
? PlainStoreFrame(shot)
: DefaultStoreFrame(shot);