# Scale — lesson

Module 1, predates the lesson-first / rule-panel build convention (set Sep 7 2026,
`docs/module-build-convention.md`). Backfilled Sep 8 2026 so the module carries the same
"What's the rule?" side panel as every later module; the content below was already
implemented in the teach screen, not new. Distances are in M everywhere.

Persistent header: **"Training your eye for what a normal-sized bar looks like."**

## The ruler

- **Range** — a bar's full high-to-low distance, wick tip to wick tip. Not the body.
- **M** — the median range of the last 20 bars. The unit everything in this gym is measured in.
- **Small / normal / large** — under about 0.6×M is small, around 1×M is normal, over about 1.5×M is large.

## The read

Two rep types, twenty reps total, split evenly:

1. **Size call** — one bar highlighted against its last 20 bars of context. Is its full high-to-low range small, normal, or large?
2. **Bigger range** — two bars shown side by side, bodies drawn deliberately to mislead on a slice of reps (trap cases: the bar with the bigger body sometimes has the smaller range). Which one spans more, wick tip to wick tip?

## The rep

Five-second soft clock. A confidence (low/medium/high) is required before the answer buttons submit.

## The reveal

The bar's range in points and its ratio to M for a size call, or both bars' ranges for a comparison, then Correct/Incorrect and one feedback line pulled from a pool keyed to the miss (overconfident-and-wrong, fooled by the wick, missed a near-threshold case, slow, or a plain hit/miss).

## Answer key

Size call: `ratio = bar.range / M`; ratio < 0.6 is small, 0.6–1.6 is normal, > 1.6 is large. A session is rebuilt (up to 25 attempts) if any of the three labels clears 40% of the size-call reps, so the mix can't be guessed by default. Comparison: whichever bar's high-to-low range is larger; body size carries no information — a slice of reps are built specifically so the smaller-range bar has the bigger body.
