Appearance
Models
The DocC archive exposes model-level symbols used by controller APIs and callbacks.
Session persistence models
SaveWorkoutState is the central payload received by saveSession(state:).
High-signal properties documented in DocC include:
startDate,duration,caloriesblocks,filteredBlocks,exercisesexerciseEvaluations,difficultyChanges,weightDifficultiesequipmentWeights,healthEvaluation,names
Media models
| Type | Key members |
|---|---|
Video | url |
VideoMetadata | cover, coverSize, title, subtitle, timeRange, relativeProgress(from:) |
These models are primarily used by StreamingWorkoutController and remote media integrations.
Exercise and workout mode models
| Type | Notes |
|---|---|
BlockExercise | Includes identifier, effortType, value. |
ExerciseEvaluation | Includes identifier, blockId, duration, repetitions, choice, exerciseMaxReferenceValue. |
ExerciseType | Enum with calibration(_), duration, repetition. |
WorkoutStateMode | Enum for workout UI state: launcher, start, ongoing, paused, finished, stopped, notStarted. |
ChronoState | Timer/countdown state used by workout flow rendering. Includes value (TimeInterval) and referenceDate (TimeInterval), plus the .stopwatch(value:referenceDate:) factory. |
Remote playback models
| Type | Notes |
|---|---|
RemoteMediaPlayerState | Enum with loading, buffering, playing, paused, idle, unknown. |
RemoteManager / RemoteManagerDelegate | Model/controller bridge for remote session state. |
Supporting symbols
DocC also includes integration support symbols for Apple Watch and session-level communication: SessionDelegater (declared once, in the shared TrainingKitShared module, used by both the iOS and Watch targets) and SessionGateway.shared — note this is two distinct types with the same name, one defined in the iOS TrainingKit module and a separate one defined in TrainingKitWatch, not a single symbol shared across platforms.
Use the DocC archive as canonical source for exact signatures, conformance details, and per-member discussions.
