Docs · Framework guides
Flutter
A widget backed by a CustomPainter, with the platform reduce-animations setting respected.
Pick Flutter on the Ship screen to download a standalone widget with the frames inlined, and put the file in lib/widgets/. It needs no package.
dart
ThinkingPulse(state: status, size: 28)Rebuild with a new state to switch, and the widget plays the new state from its first frame. When the platform asks to reduce animations, it holds the first or busiest frame, or hides, as chosen under Reduced motion on the Ship screen.