Sculpi · Training Engine. UI plan

Screens and flow for milestones F4 (Movement hierarchy) · F5 (enrollment & plan management) · F6 (session runner) of docs/proposal/training-engine.md. Direction mockup, not a pixel spec, colors and shapes come from Tokens.swift (BOLD, light-only, green #00D280). All product copy in English. Scroll each section horizontally to follow the sequence. ← What ships first in F1–F3 (before/after) · ▶ Session runner, interactive (F6)

Move hub5 areas, §18
Plan detailsExplore
Enrolldays · reminders · review
Today cardone honest action
Runnersets · rest · swap
Summaryunlocks next

1 · Move hub, five legible areas (F4, §18)

Quick movement first (no plan needed), then Today only when something is actionable, then My programs, Explore, History. The green card is reserved for a real action: Start, Continue or Do it today.

Walk types: small cards, horizontal scroll, star ★ pins favorites Steps live in the Move header, never a competing card Today card: plan + session name, session counts don’t scale to long plans My programs: progress bar + vanity stats (sessions · sets · reps · kg moved); tap → plan detail Order: starred by most-used, then unstarred by most-used Today never disappears, rest days say “No session today” + the next date (amends §18.2) §9.3 a waiting session shows its date, never a backlog count Forbidden words: pending · overdue · behind
A · Hub, session actionable todayToday hero + all five areas
9:41●●●

Move

4,306 steps
🕘
QUICK MOVEMENT
10 min
Daily loop
15 min
Brisk
8 min
Easy start
12 min
Steady
Counts after 1 minute · starred first, then your most-used
TODAY
VitalPath

Upper Body Strength & Shoulder Mobility

9 exercises · ~15 min
Quadriceps · Glutes · Hamstrings · Lats · Core · Shoulders · Triceps
▶  Start today's session
MY PROGRAMS
MTWTFSS
VitalPath
MentorSport · Beginner
MTWTFSS
Dumbbell Basics
Beginner
EXPLORE PROGRAMS
Mobility Reset3 weeks · All levels
Chair Strength4 weeks · Beginner
See all ›
TodayMoveProgressLearnYou
a preferred day passes without training
B · Hub, session waitingSame session, visible date, zero debt
9:41●●●

Move

4,306 steps
🕘
QUICK MOVEMENT
10 min
Daily loop
15 min
Brisk
8 min
Easy start
TODAY
VitalPath · Waiting since Thu

Strength 2

9 exercises · ~15 min
Quadriceps · Glutes · Hamstrings · Lats · Core · Shoulders · Triceps
▶  Start today's session
MY PROGRAMS
MTWTFSS
VitalPath
MentorSport · Beginner · Waiting since Thu
Only ONE current session per plan. Five missed days still show one card, never five.
TodayMoveProgressLearnYou
session done · next projected Friday
C · Hub, nothing due todayexplicit rest day · train ahead is explicit
9:41●●●

Move

4,306 steps
🕘
QUICK MOVEMENT
10 min
Daily loop
15 min
Brisk
8 min
Easy start
TODAY
No session today
Next up · Strength 3. Friday, Aug 14 · VitalPath
MY PROGRAMS
MTWTFSS
VitalPath
MentorSport · Beginner · Up next: Strength 3. Friday
Do it today
Edit days
ACTIVITY HISTORY
All movement
Rest day is explicit. Today never disappears: “No session today” plus the next date (amends §18.2). “Do it today” remains the only way to pull a future session forward (§9.6).
TodayMoveProgressLearnYou

2 · Explore & enrollment flow (F4/F5, §9.1 · §18.4)

See all → full catalog with categories, filters and sorting → Plan details → Choose your training days → Reminders → Review your schedule → Start plan. Atomic: enrollment + finite schedule are created together. Multiple plans allowed, same days allowed, zero warnings.

Explore in the hub = horizontal shelf + See all See all = vertical catalog: categories, filters, sort by duration and more §9.1 weekdays belong to THIS enrollment only Principle 7: overlapping plans, no lectures Plans are finite, they end, they never loop
D0. All plans· “See all” from Explore
9:41●●●
‹ Move

Programs

All2 weeks3 weeks4 weeks6 weeks
Category ▾ · Level ▾ · Equipment ▾6
2 weeks3×/week
VitalPathBeginner · Full body
6 weeks3×/week
Dumbbell BasicsBeginner · Strength
3 weeks5×/week
Mobility ResetAll levels · Mobility
4 weeks3×/week
Chair StrengthBeginner · Low impact
Reference pattern (Speediance): duration tabs on top, cover grid with length + suggested-frequency badges, name and level · category below. Category/level/equipment stay as secondary filters. Every program is finite.
pick a plan
D · Program detail· tiles + weekly schedule
9:41●●●
‹ Programs

VitalPath

MentorSport · Official program
2Weeks
Per week
BeginnerDifficulty
INTRODUCTION
Short full-body sessions to build a resistance habit. Show up, the program handles the order.
PROGRAM SCHEDULE
Week 1
Day1
Day2
Day3
Day4
Day5
Day6
Day7
Strength 19 movements · ~15 min
Strength 29 movements · ~15 min
Week 2
Join program
Duration · frequency · difficulty tiles, introduction, and the schedule by weeks (reference pattern). Suggested days show the template's rhythm, your real days are chosen at join and can change anytime.
Join program
E · Choose your training daysPer-enrollment, no limits
9:41●●●
‹ Back1 of 3

Choose your training days

These days belong to this plan only. They create structure, not restrictions.
M
T
W
T
F
S
S
3 days a week · sessions follow your order on these days
Continue
Continue
F · RemindersOptional, one per day max
9:41●●●
‹ Back2 of 3

Reminders

A single gentle heads-up on your training days.
Training day reminder
“Your next session is ready, about 15 minutes.”
Never more than one Sculpi notification per day. A missed session never triggers repeated reminders.
Continue
Continue
G · Review your scheduleFinite projected sequence
9:41●●●
‹ Back3 of 3

Review your schedule

4 sessions on Mon · Wed · Fri, starting this week.
1
Strength 1Wed, Aug 12
2
Strength 2Fri, Aug 14
3
Strength 3Mon, Aug 17
4
Strength 4Wed, Aug 19
Future dates are projections, they reflow with you and unlock in order. The plan ends after Strength 4.
Join program
enrollment + schedule created atomically
↩ Back to hubToday card live (screen A)
VitalPath

Strength 1

▶  Start today's session

3 · Plan detail & management (F5, §9)

The finite sequence with honest states, completed, skipped, current, locked. Management lives here: Do it today, Move date, Skip, Edit days, Pause (finite), Leave. After 14+ waiting days, a discreet in-context offer.

§9.2 exactly one current session; the rest are locked, not pending §9.5 skip needs confirmation and never pulls the next session to today §9.11 pause always has a return date · silences all coaching §9.10 resume/restart offer only in context, never a notification
H · Plan detail, mixed statesThe sequence, legible
9:41●●●
‹ Move

VitalPath

MentorSport · Beginner
MTWTFSS
1Sessions
18Sets
152Reps
14:20Time
Strength 1Completed · Mon, Aug 3
Strength 2Skipped · Wed, Aug 5
Current · Waiting since Thu, Aug 6
Strength 3
Start
Move date
Skip session
🔒
Strength 4Unlocks after Strength 3 · projected Mon, Aug 17
Edit days
Pause
Leave
Skip session
I · Skip confirmationNeutral, factual, valid choice
Pause
J · Pause plan (finite)Return date required
Pause VitalPath
No reminders, no cards, no coaching until you’re back. Your sequence stays exactly where it is.
Back onMon, Aug 24 ▾
You can come back earlier or move the date anytime.
Pause until Aug 24
Cancel
14+ days waiting, plan opened
K · Long absence offerIn-context only, no guilt
9:41●●●
‹ Move

VitalPath

Welcome back
Strength 3 has been ready since Jul 22. Continue where you were, or start the plan fresh, both keep your history.
Pick up where you left off
Start over
Strength 1Completed · Jul 13
Strength 2Completed · Jul 20
3
Strength 3Current
🔒
Strength 4Locked
No streak shaming, no “you missed 21 days”. Start over = new enrollment (§9.9); the old one is archived intact.

4 · Session runner (F6, §10)

Blocks in authored order → exercises → sets. Every value auto-saves; closing the app never loses work. Rest is suggested, never enforced. Swap replaces without shame. The summary closes the loop and unlocks the next session.

§10.2 resume at the first unresolved item §7.4 rest: Skip · +15 sec · Start next set, never blocks §10.6 swap keeps completed sets on the original exercise Partial work is saved to history but does NOT advance the plan
L · Session overviewContinue banner when partial
9:41●●●
‹ Plan~15 min

Strength 3

MAIN · 9 EXERCISES
Hip abduction hold2 × 20″ per side
Half squatSet 2 of 3 · 8–12 reps
3
Back extension2 × 8
4
Wide squat2 × 8
5 more
Continue
Continue
M · Exercise + set loggingVideo · reps · effort · pain flag
9:41●●●
Half squat
Set 2 of 3Target 8–12 reps
10reps
+
HOW DID IT FEEL?
Had 3+ left1–2 leftAt my limitPain
Log set
Swap exercise
Skip exercise
Weight steppers appear for external-load exercises, pre-filled with the last used load (editable, never auto-increased).
Log set (rest authored)
N · Rest timerUser controls it, data recorded
9:41●●●
Rest · then Half squat set 3
0:28of 0:45
+15 sec
Skip rest
Start next set
Suggested rest, actual rest, extensions and skips are all recorded (§12.2), future progression signals.
Swap exercise
O · Similar exercisesNo reason asked · scoped
Similar exercises
Same muscle intent as Half squat. No reason needed.
1
Wide squatQuads · Glutes · no equipment
2
Sit to standQuads · Glutes · chair
APPLY
Just this sessionFor this plan
Your 1 completed set stays with Half squat; remaining sets use the replacement. Loads never copy across exercises.
Swap to Wide squat
all items resolved
P · Session summaryConstancy, volume, honest labels
9:41●●●
VitalPath

You showed up.

Active 12:40 · Rest 4:15 · 8 of 9 exercises
Volumeseparate units, never mixed
84 reps · 2:00 held ·, kg (body weight)
Quadriceps32%
Glutes24%
Core18%
Next up
Strength 4 · projected Friday, Aug 14. Last session of the plan.
Done
Celebrates presence only, never weight. e1RM cards appear here labeled “Estimated 1RM” with confidence, when external load exists.

5 · Quick movement & unified history (F7 preview, §11)

A walk needs one tap and one minute. Everything, quick, partial, plan, lands in one ledger; a day counts once for consistency no matter how much you move.

§11.1 qualifies at 60 verified active seconds §11.2 one ledger, origins filtered, never separated §11.3 same habit event as a plan session → same streak
Q · Walk in progressThe one-minute rule, visible
9:41●●●
Walk
0:47counts at 1:00
Keep walking
End walk
60 s verified
R · Activity historyOne ledger, honest origins
9:41●●●
‹ Move

History

AllPlansQuick
Walk · 8 minToday · quick movement
Strength 3Today · VitalPath · 12:40 active
Strength 2 · partialWed · 2 of 9 exercises · saved
Strength 1Mon · VitalPath
Walk · 12 minSun · quick movement
Two activities today → history shows both, the streak counts the day once. Partial sessions appear honestly: saved, not “completed”.

6 · Coach tone (F5, §6.1)

Lives in You → Coaching. Voice only, no tone unlocks sessions, counts missed days, or celebrates weight loss. A paused plan silences every tone.

Neutral is the default · Tough is an explicit opt-in Tone never changes mechanics
S · Coach tone settingSample copy per voice
9:41●●●
‹ You

Coaching

Kind
“Whenever you’re ready, Strength 3 is here for you.”
Neutral
“Strength 3 is ready. About 15 minutes.”
Tough
“You skipped the last one. Strength 3. Today. Prove it.”
Blunt is allowed on Tough, backlog counts, guilt math and weight-loss praise are not, in any tone.