Four bodies, four eyes, four crests, four tails, eight colourways — 2,048 possible fish. Every part attaches to a fixed anchor — that is what lets any combination be animated by the same code. On the machine, the same thing is set from the Control Center (Jarvis › Appearance) — the plate matches the lines in SOUL.md.
corps=B1 oeil=E1 criniere=M1 queue=T1 couleur=orParts, bodies and palettes live in sprites/parts.py ; the layers are recoloured and composed here, exactly as the generator will do it.