headless property
Hold the plugins and draw nothing at all.
Not the same as overlayVisible: false, which only hides the button.
That leaves the overlay's Stack, its dialog and toast layers and
DevbarAppWrapper's Container/FittedBox in the tree.
With the panel shut and no plugin contributing a button those paint the
same pixels — measured, in test/devbar/headless_test.dart — but a
screenshot is not the only thing the cockpit reads: every act reply
carries the widget tree, and Target resolution walks it. An extra
Stack, a FittedBox and an overlay Navigator between the root and
the app change what nth counts and what a tap can land on. The moment
the panel opens or a plugin adds a button, the pixels go too.
So under a run the chrome must not exist, rather than be invisible.
Defaults to whether flutterware is watching (GuestChannels.installed). Pass it explicitly to keep the overlay in a flutterware-launched app, or to drop it in one that is not.
Implementation
final bool? headless;