Fill for one rep mark (bar, timeline block, …) that already knows its phase.
The single place charts decide what an invalid rep looks like: the metric
colour is muted via mutedInvalidColor while the phase texture is
kept, so an invalid eccentric still reads as eccentric.
Replaces the per-chart opacity: 0.3 fades, which produced the same
look by a different route and drifted apart. An invalid rep keeps its mark
and its slot everywhere it is drawn — it is excluded from the numbers, not
from the picture. See docs/invalid-reps.md.
Fill for one rep mark (bar, timeline block, …) that already knows its phase. The single place charts decide what an invalid rep looks like: the metric colour is muted via mutedInvalidColor while the phase texture is kept, so an invalid eccentric still reads as eccentric.