Two — a fat pointer. { data, vtable }, vtable in static storage, implementing types unchanged. Vec3 : Drawable is still 12 bytes and still blittable (§7.6)
{ data, vtable }
Vec3 : Drawable