The Workout Player Is Becoming Session-Aware
The workout player now reflects the current session more accurately, from prescribed weights on exercise cards to timer review behavior and clearer plate-loading feedback.
Shipped
- Fixed timer day context and completed-review behavior so reviewing a finished set does not act like live workout progression.
- Turned failed-rep tracking on by default so missed work is easier to record without extra setup.
- Made timer plate stacks easier to read at a glance.
- Updated
/playexercise cards to summarize the current workout session prescription, rather than showing a static routine anchor weight. - Added coverage around variation, timer route, review state, and session target behavior.
Why
The workout player should answer the question a lifter actually has in the gym: what am I supposed to do right now?
That is slightly different from showing the routine definition. A routine might say a squat is based on a larger working weight, while today's session asks for a top set, a percentage set, or a rounded target based on the equipment available. If the card says one number and the timer asks the lifter to load another, the app creates a small trust problem at exactly the wrong moment.
This pass moves the visible workout state closer to the actual session. The card should summarize today's prescribed work. The timer should handle live progression differently from review edits. Failed sets should be easy to record. Plate loading should help the person train, not make them decode the interface.
Notes
- The weight chip on a session card now means max prescribed load for that session, not training max or historical best.
- Review mode stays review mode; changing a past set should not accidentally trigger live workout behavior.
- Completed and failed states keep their distinct meanings while becoming easier to scan.
Next
- Keep reducing places where the routine definition and the active session can drift visually.
- Continue improving the workout timer around real training moments: missed sets, rest, load changes, and session review.