Doesn't look like much progress, but there is now ALOT going on underneath the hood.
When the code begins, it scans the face directory generating a list of keywords based on the file names. If there is the proper # of files for the keyword, it keeps the keyword and loads the corresponding set of images into a list (in the computer memory, much faster than opening the file every single loop of the code). These can be called upon using the same index as the keyword list. If there is an improper # of files (not exactly 5, or you misspelled the filename) the program simply won't load the image file set. You can technically name the files anything, but it loads them in alphabetical order in the order for eyes closed, eyes open,iris, mouth open, mouth closed. It also doesn't start the program if no valid face files are loaded.
TLDR: if you name files properly you can easily add more expressions without touching the base code
Cycles between faces using "D" and make the mouthflap work with "S"... opencv is a little wonky with the key detection so it spazzes out a bit
Making the graphics easily expandable was the hardest part. Now on to integrating voice commands and making those easily expandable... vosk doesn't like to play nice with others so I'll see what I can whip up.