switching colors in PROGMEM stored icons

To illustrate, this is what we might be talking about in terms of animation:

This was created out of Adobe Flash using the animated GIF export option. In its current form, it has some 700 KB as a global-palette GIF with 177 frames.

I should probably explain that I have now moved the project from a 128x128 to a 128x160 Adafruit TFT screen, simply to be able to do more with all the vast capabilities of the ESP32. Also, there will be different screen designs for my own MG F MkI on the one hand, and a friend's MGF MkII, in accordance with the slight touch ups of the interior that the car received at some point in mid-production. This welcome screen animation will be for my MkI. Yes, it might be a bit lengthy to sit through every time, so I'll put something in the code that it won't show every single time you turn the ignition. I might also shorten the final version by a few seconds. And the frame rate could be brought down to some 8 fps and you'd still have sufficiently smooth flowing animation. This is just a collection of ideas at this point.

The animated menus, on the other hand, might look something like this (now in the MkII design):

These "change-over" menus should occupy much less space. The entire 128x160 animation that you are seeing right here has 85 frames. I should be able to do these little "change-over" animations as successions of five or six 65x25 px 8-bit bitmaps. The frame rate and total number of frames could be pared down as well, and the human eye will still see what it wants to see, i.e. an animated carousel of menu icons.

Maybe they could be controlled by a function like

void rotateIconsCarousel(byte thisGroupMenu, byte nextGroupMenu, byte thisSubMenu, byte nextSubMenu, byte frameRate) {}

Anyway, I've just ordered an ESP32 off eBay with the 16 MB flash memory. It should arrive in about two weeks from China. With all these animations, even the 16 MB will probably end up being packed with graphics, but I will be much happier. It will also allow me to create any number of daytime and nighttime 16-bit color fonts to display numerical values.