workout_flutter_guide library

302 exercises, 906 offline SVG frames, and a typed catalog to query them.

A Flutter port of @bryllim/workout-guide. The catalog is compiled in as Dart constants, so it is available synchronously with no asset loading and no network:

import 'package:workout_flutter_guide/workout_flutter_guide.dart';

final pushUp = WorkoutGuide.getExercise('push-up')!;
final chest = WorkoutGuide.search('chest', equipment: Equipment.bodyweight);

ExerciseAnimation(exercise: pushUp, size: 200, color: Colors.black87);

The illustrations are licensed under CC BY-SA 4.0 and your app must display their attribution. Add a WorkoutGuideAttribution widget to an About screen, or call WorkoutGuide.registerLicenses() and use Flutter's showLicensePage. See LICENSES.md and ATTRIBUTION.md.

Classes

AttributionSource
The upstream artwork a frame was derived from.
Exercise
One exercise of the catalog, with its metadata and its three frames.
ExerciseAnimation
Animates an Exercise by cycling its three frames.
ExerciseAttribution
Who made a piece of artwork, under which license, and from what.
ExerciseFrame
One of the three poses of an exercise.
ExerciseFrameImage
Draws one frame of an Exercise.
WorkoutGuide
The exercise catalog: lookup, search and asset paths.
WorkoutGuideAttribution
The credit block CC BY-SA 4.0 requires you to show.

Enums

Equipment
The equipment an exercise requires.
ExerciseType
How an exercise is measured when it is logged.
Muscle
A muscle or muscle group targeted by an exercise.

Functions

normalizeSearchText(String value) String
Normalizes value the way the upstream catalog does before matching.
tokenizeSearchQuery(String query) List<String>
Splits query into the normalized tokens a search must all match.