Back to Dev Log
v0.14.0-Feb 18, 2026Major

Exercise Editing Overhaul: Alternatives, Ladders, and Stronger Validation

Upgraded the exercise editing experience with modular tabs (including Load Logic), first-class alternatives + ladder management, drag-and-drop improvements, and stronger schema validation/normalization across routines and quick workouts.

BuilderModalsVariationsLadderValidationUX

Shipped

  • Exercise edit modal overhaul

    • Modularized modal sections (General / Progression / Load Logic) for clearer organization
    • Added a dedicated Load Logic tab to isolate load-related settings
    • Improved Create Exercise dialog validation (including laterality handling)
    • Enhanced DraftNumberInput precision for more accurate weight entry
    • Standardized weight unit selection by replacing DropdownMenu with MenuSelect
  • Variations + ladders become first-class

    • Added ExerciseAlternativesSection for managing swappable variations cleanly
    • Added ExerciseLadderSection for bodyweight ladder progressions with improved layout and interaction
    • Improved drag-and-drop reordering of ladder rungs (smoother UX + better accessibility)
    • Wrapped these under ExerciseVariationsSection while preserving the existing API
  • Schema tightening + data integrity

    • Removed “amrap” as a selectable set type to prevent misuse and keep schemas clean
    • Updated performance schema options accordingly (no “amrap” path)
    • Added new utilities for validating + normalizing exercise schemas during routine management
    • Streamlined weight resolution by removing unused base-weight dialog state in Play/Timer
    • Added validation for duration/load in Quick Workout to prevent invalid inputs
    • Introduced RoutineLoadsDialog to review/adjust base loads from routine management

Why

  • Exercise editing is high-frequency and complex—modular sections reduce cognitive load and reduce bugs
  • Alternatives and ladders need proper UI primitives; “one more field” doesn’t scale
  • Strong normalization/validation prevents silent corruption as the engine grows more expressive

Notes

  • This is a clarity + correctness pass: fewer ambiguous options, more explicit rules.

Next

  • Improve swaps UX further (smart defaults + same-modality constraints)
  • Continue tightening player UX around load resolution transparency (when anchors/references apply)

Install App