The checks of the overlay steps of one slide
slide/1 does the work of the verifier, and it is a pure function on an
Expresso.Slide struct that Expresso.Overlay.Expand.slide/1 expanded. It
reads the steps field of each element and of each on entity.
docs/overlays.md gives the conditions.
Summary
Functions
Give an error for a slide that breaks a rule of the overlays
Functions
@spec slide(Expresso.Slide.t()) :: :ok | {:error, String.t()}
Give an error for a slide that breaks a rule of the overlays
The function reports the first of these conditions:
- A
pauseentity is inside an element. - A step number is less than 1.
- An
onentity has a step at which its element does not show. - An
onentity withmove_tois not in a part, or it also setsxory. - An
onentity withcopy_tois not in a part of a diagram. - A child element has a step at which its nearest ancestor with steps does not show.
- A group of the
highlightoption of a chart has a step at which the chart does not show. - A frame of a chart starts at a step at which the chart does not show.
An element without an at option shows at each step of its parent.
Therefore its nearest ancestor with steps limits the steps of its
descendants and of its on entities. An element without such an ancestor
shows at each step, and the function accepts each step for it. The
transformer reports a step that is more than the maximum, because the
expansion needs the maximum.