Training Planner
Today's plan, under a readiness ceiling
Six static compositions · plan card · variant selector · readiness ceiling · recent-load + ACWR · accept/swap/skip
[WIREFRAME] Static views. Selector state is fixed (time 45m); Accept writes a markdown training-plan file; weather + mood are future inputs (not yet in data).
A — Readiness-First Stack
vertical · ceiling-over-plan
Ring hero on top; a 1px divider is the “lid.” One plan beneath, with load shown as a fraction of the ceiling (420 / 480). Words-first, single column.
ceiling · moderate · ≤ 480 AU max today
HRV 58ms (-4 vs 62 · 7d) · RHR 52bpm (+2 vs 50)
Tempo Bike + Core
420 AUAerobic base, held under today's ceiling
420 / 480 ceiling · 88% · in range
last 3Spin 360 · Lift 280 · Bike 410
B — Split Cockpit
2-col · state rail / choice rail
Two columns: left “state” rail (ring + recent load + ACWR) reads as who you are today; right “choice” rail (selector + plan + actions) re-renders as the day changes.
State · today
ceiling · moderate · ≤ 480 AU max today
HRV 58ms (-4 vs 62 · 7d) · RHR 52bpm (+2 vs 50)
Recent load
Choice · what you do
Tempo Bike + Core
420 AUAerobic base, held under today's ceiling
420 / 480 ceiling · 88% · in range
C — Plan Shelf
3-up by time budget · ceiling bar
Three plans side-by-side by time budget under one ceiling bar. The 90-minute plan (720 AU) is drawn as over-the-line — offered honestly, not hidden. Columns are the time axis, so only weather/mood remain as filters.
20 min
Easy Spin Flush
Recovery flush — keep it aerobic and short
wa 4m · ma 12m · co 4m
180 / 480 ceiling · 38% · in range
45 min · recommended
Tempo Bike + Core
Aerobic base, held under today's ceiling
wa 8m · ma 30m · co 7m
420 / 480 ceiling · 88% · in range
90 min
Long Endurance Ride
Steady volume block at low intensity
wa 12m · ma 68m · co 10m
720 / 480 ceiling · 150% · exceeds by +240
last 3Spin 360 · Lift 280 · Bike 410
D — Gauge + Load Track
arc gauge · proportional AU track + redline
180° readiness gauge; warmup/main/cooldown rendered as proportional segments of a load track scaled to the ceiling, with the ceiling drawn as a redline. You can see the headroom.
Readiness gauge
ceiling · moderate · ≤ 480 AU max today
HRV 58ms (-4 vs 62 · 7d) · RHR 52bpm (+2 vs 50)
Tempo Bike + Core
420 AUAerobic base, held under today's ceiling
420 AU total · 60 AU headroom
last 3Spin 360 · Lift 280 · Bike 410
E — Type Ledger
no chrome · labeled rows only
No ring, no gauge — every signal is a labeled row, dividers do the structure. The honest floor: works as pure type, never overstates the data.
F — Today Brief (composite)
ring + state/choice + track · production candidate
The composite: ring hero, simultaneous state/choice, the load-vs-ceiling track, and row-discipline for the context strip — the production candidate the others argued toward.
ceiling · moderate · ≤ 480 AU max today
HRV 58ms (-4 vs 62 · 7d) · RHR 52bpm (+2 vs 50)
Tempo Bike + Core
420 AUAerobic base, held under today's ceiling
420 AU total · 60 AU headroom
last 3Spin 360 · Lift 280 · Bike 410
/training-planner-lab · 6 variants · end