everyFrame constant
Capture every frame while attached (the default). Captures are throttled to one in flight, and the recording itself reuses the child's retained layers, so the steady-state cost is the rasterize and readback of content that is actually changing.
Per-frame capture is the only trigger that observes every change: repaints inside the child's own repaint boundaries (scrollable items, progress indicators) update their layers in place without notifying ancestors, so a repaint-driven trigger misses them.
Implementation
static const WidgetUpdatePolicy everyFrame = _EveryFrameUpdatePolicy();