Stage 1 requires a more detailed explanation than stage 2 or 3. Stage 1
itself contains three steps:
Figure 1. Three steps in stage 1
1(a) Add the names of candidate macro screens to the list of valid next
screens.
1(b) Do screen recognition to match one of the candidate macro screens
to the actual application screen that is currently displayed in the session
window.
1(c) Remove the names of candidate macro screens from the list of valid
next screens.
Each of these steps involves the list of valid next screens.
The list of valid next screens is just a list that can hold macro screen
names. The macro runtime creates this list at the beginning of macro playback
(before playing back the first macro screen), and discards this list after
macro playback is complete. Initially the list is empty (except possibly for
transient screens, which are described later in this chapter).
During macro playback, each time the macro runtime needs to determine the
next macro screen to be processed, it performs the three steps 1(a), 1(b),
and 1(c) using the list of valid next screens.