Add matched training signals, daily recovery and performance analysis

This commit is contained in:
Peter Stockings
2026-10-03 13:22:32 +10:00
parent e6e2f22479
commit 418e03583a
37 changed files with 1380 additions and 47 deletions
+8 -4
View File
@@ -18,15 +18,19 @@
<summary>Build a comparable-effort investigation</summary>
<form id="matched-effort-form">
<div class="analysis-settings">
<label>Compare inputs<select name="source"><option value="runs">Whole runs</option><option value="segments">Steady moving segments</option></select></label>
<label>Compare inputs<select name="source"><option value="intervals">Matched continuous windows · one point per run</option><option value="runs">Whole runs</option></select></label>
<label>Pace from · min/km<input name="pace_low" value="5:20" pattern="[0-9]+:[0-5][0-9]" required></label>
<label>Pace to · min/km<input name="pace_high" value="5:40" pattern="[0-9]+:[0-5][0-9]" required></label>
<label>Max ascent per km · m/km<input name="hills" type="number" min="0" max="1000" value="10" required></label>
<label>Whole-run max ascent · m/km<input name="hills" type="number" min="0" max="1000" value="10" required></label>
<label>Window max absolute grade · %<input name="grade" type="number" min="0" max="15" value="2" required></label>
<label>Exclude first elapsed minutes<input name="warmup" type="number" min="0" max="60" value="10" required></label>
<label>Matched minutes per run<input name="matched" type="number" min="1" max="180" value="3" required></label>
<label>Current window · weeks<input name="weeks" type="number" min="1" max="104" value="12" required></label>
<label>Earlier baseline · days<input name="baseline" type="number" min="7" max="732" value="90" required></label>
<label>Minimum usable inputs per week<input name="minimum" type="number" min="2" max="1000" value="3" required></label>
<label>Minimum independent runs per week<input name="minimum" type="number" min="2" max="1000" value="3" required></label>
<label><input name="use_baseline" type="checkbox"> Add an earlier baseline and persistent weekly deviation rule</label>
</div>
<p class="field-help">Segments also require ≤5% speed variation, ≥80% moving HR coverage and ≥4 minutes. Matching pace and hills narrows the cohort; conditions can still differ.</p>
<p class="field-help">Continuous windows require ≤15% speed variation, ≤2 percentage points of grade variation, ≥90% HR coverage and ≥25 seconds. Each qualifying run contributes one observation after matching. An earlier baseline needs at least ten independent runs; it may be unavailable for a short history.</p>
<button class="button primary" type="submit">Explore matched heart rate</button>
</form>
</details>