Agree on the widget boundary
Specify whether the artwork fills, contains or crops inside its parent. Keep the animation separate from the widget that owns navigation and business logic. A changing widget size should not alter the underlying task state.
Use an explicit asset contract
Record the file, artboard, state machine and exposed properties in the handoff. Confirm the installed Flutter runtime supports the features used in the export before committing to a production asset.
Validate on a device
Exercise pause, background and resume behavior on the target device. Profile the busiest scene and check readable text scaling. Keep essential actions in semantic Flutter widgets rather than inside artwork.
A small starting point
// Example handoff manifest; not Flutter SDK code.
{
"asset": "companion.riv",
"artboard": "Companion",
"defaultState": "idle",
"fit": "contain",
"fallback": "static poster + status label"
}Before calling it done
- Record the exact runtime version and exported asset used in validation.
- Test the normal sequence, an interruption, a failed load and screen re-entry.
- Confirm the same information remains readable with reduced motion or no animation.
Use the official Rive runtime documentation for current APIs and feature support.