Dat klopt helemaal. Textures en dergelijke staan er als JPG- of PNG-bestand compleet in, en kunnen zo op schijf bewaard worden, maar de thumbnail is een breedte x hoogte array van rgba-waardes.
Grappig was te zien dat de achtergrond niet in de thumbnail zit - het is eigenlijk een 128x128 render met een transparante achtergrond. Daardoor kun je met de functie setBackgroundColor zelf een andere achtergrondkleur dan de standaard 50% grijs kiezen.
Een .blend file bestaat uit een aantal blokken gegevens van bepaalde types. Elk blok wordt voorafgegaan door een header met onder andere dat type, en de grootte van dat blok, en deze wordt gelezen in readHeader. Daar wordt ook $this->type op die waarde gezet.
Dat het thumbnail-blok het type 'TEST' heeft is omdat oude versies van Blender over hun nek gaan van een onbekend type, en TEST blijkbaar wel bekend maar nog niet gebruikt was. Hoezo verregaand backwards compatibel?