Static data class containing a generated basis of photo contour kernels for the character editor. It exposes an array of kernel Id strings and a cached three-dimensional jagged array of Vector4 rows that are lazily created and versioned by a Revision constant.
namespace CharacterEditor;
// Generated by ce_calibrate_photo_corrections; ordered native fine contour kernels.
public static class PhotoContourKernelBasis {
public static string[] Ids=>new string[]{"upperlid","lowerlid","outereyeheight","outereyewidth","innereyeheight","innerbrow","outerbrow","bridgewidth","rootdepth","tipwidth","mouthcornerheight","mouthcornerwidth","cupidheight","lowerlipcurve","jawangleheight","jawcontourwidth","templewidth","chinpointwidth","browdepth"};
const string Revision="8F943B3302ADCA12"; static string loadedRevision; static Vector4[][][] cached;
public static Vector4[][][] Rows { get { if(cached is null || loadedRevision != Revision) { cached=Create(); loadedRevision=Revision; } return cached; } }
static Vector4[][][] Create()=>new Vector4[][][]{
new Vector4[][]{new Vector4[]{new(1.333333f,0f,0f,-5.8f),new(0f,0.869565f,0f,-1.217391f),new(0f,0f,1.666667f,-107.8333f),new(0.75f,0f,0f,4.35f),new(0f,1.15f,0f,1.4f),new(0f,0f,0.6f,64.7f),new(0f,0f,0f,1f),new(1.25f,1f,0f,0.65f),new(1f,2f,0f,1f),new(0f,0f,0f,0f),new(1f,0f,0f,0f),new(0f,1f,0f,0f),new(0f,0f,1f,0.15f)},new Vector4[]{new(1.333333f,0f,0f,-5.8f),new(0f,0.869565f,0f,1.217391f),new(0f,0f,1.666667f,-107.8333f),new(0.75f,0f,0f,4.35f),new(0f,1.15f,0f,-1.4f),new(0f,0f,0.6f,64.7f),new(0f,0f,0f,1f),new(1.25f,1f,0f,0.65f),new(1f,2f,0f,1f),new(0f,0f,0f,0f),new(1f,0f,0f,0f),new(0f,1f,0f,0f),new(0f,0f,1f,0.15f)}},
new Vector4[][]{new Vector4[]{new(1.333333f,0f,0f,-5.8f),new(0f,0.869565f,0f,-1.217391f),new(0f,0f,2f,-128.3f),new(0.75f,0f,0f,4.35f),new(0f,1.15f,0f,1.4f),new(0f,0f,0.5f,64.15f),new(0f,0f,0f,1f),new(1.25f,1f,0f,0.65f),new(1f,2f,0f,1f),new(0f,0f,0f,0f),new(1f,0f,0f,0f),new(0f,1f,0f,0f),new(0f,0f,1f,0.1f)},new Vector4[]{new(1.333333f,0f,0f,-5.8f),new(0f,0.869565f,0f,1.217391f),new(0f,0f,2f,-128.3f),new(0.75f,0f,0f,4.35f),new(0f,1.15f,0f,-1.4f),new(0f,0f,0.5f,64.15f),new(0f,0f,0f,1f),new(1.25f,1f,0f,0.65f),new(1f,2f,0f,1f),new(0f,0f,0f,0f),new(1f,0f,0f,0f),new(0f,1f,0f,0f),new(0f,0f,1f,0.1f)}},
new Vector4[][]{new Vector4[]{new(1f,0f,0f,-4.25f),new(0f,1.333333f,0f,-2.666667f),new(0f,0f,1.428571f,-92.00002f),new(1f,0f,0f,4.25f),new(0f,0.75f,0f,2f),new(0f,0f,0.7f,64.4f),new(0f,0f,0f,1f),new(1.25f,1f,0f,0.65f),new(1f,2f,0f,1f),new(0f,0f,0f,0f),new(1f,0f,0f,0f),new(0f,1f,0f,0f),new(0f,0f,1f,0.17f)},new Vector4[]{new(1f,0f,0f,-4.25f),new(0f,1.333333f,0f,2.666667f),new(0f,0f,1.428571f,-92.00002f),new(1f,0f,0f,4.25f),new(0f,0.75f,0f,-2f),new(0f,0f,0.7f,64.4f),new(0f,0f,0f,1f),new(1.25f,1f,0f,0.65f),new(1f,2f,0f,1f),new(0f,0f,0f,0f),new(1f,0f,0f,0f),new(0f,1f,0f,0f),new(0f,0f,1f,0.17f)}},
new Vector4[][]{new Vector4[]{new(1f,0f,0f,-4.25f),new(0f,1.333333f,0f,-2.666667f),new(0f,0f,1.428571f,-92.00002f),new(1f,0f,0f,4.25f),new(0f,0.75f,0f,2f),new(0f,0f,0.7f,64.4f),new(0f,0f,0f,1f),new(1.25f,1f,0f,0.65f),new(1f,2f,0f,1f),new(0f,0f,0f,0f),new(1f,0f,0f,0f),new(0f,1f,0f,0.18f),new(0f,0f,1f,0f)},new Vector4[]{new(1f,0f,0f,-4.25f),new(0f,1.333333f,0f,2.666667f),new(0f,0f,1.428571f,-92.00002f),new(1f,0f,0f,4.25f),new(0f,0.75f,0f,-2f),new(0f,0f,0.7f,64.4f),new(0f,0f,0f,1f),new(1.25f,1f,0f,0.65f),new(1f,2f,0f,1f),new(0f,0f,0f,0f),new(1f,0f,0f,0f),new(0f,1f,0f,-0.18f),new(0f,0f,1f,0f)}},
new Vector4[][]{new Vector4[]{new(1.25f,0f,0f,-5.75f),new(0f,1.818182f,0f,-1.363636f),new(0f,0f,1.818182f,-117f),new(0.8f,0f,0f,4.6f),new(0f,0.55f,0f,0.75f),new(0f,0f,0.55f,64.35f),new(0f,0f,0f,1f),new(1.25f,1f,0f,0.65f),new(1f,2f,0f,1f),new(0f,0f,0f,0f),new(1f,0f,0f,0f),new(0f,1f,0f,0f),new(0f,0f,1f,0.1f)},new Vector4[]{new(1.25f,0f,0f,-5.75f),new(0f,1.818182f,0f,1.363636f),new(0f,0f,1.818182f,-117f),new(0.8f,0f,0f,4.6f),new(0f,0.55f,0f,-0.75f),new(0f,0f,0.55f,64.35f),new(0f,0f,0f,1f),new(1.25f,1f,0f,0.65f),new(1f,2f,0f,1f),new(0f,0f,0f,0f),new(1f,0f,0f,0f),new(0f,1f,0f,0f),new(0f,0f,1f,0.1f)}},
new Vector4[][]{new Vector4[]{new(0.769231f,0f,0f,-3.653846f),new(0f,1.111111f,0f,-0.833333f),new(0f,0f,1.428571f,-92.85714f),new(1.3f,0f,0f,4.75f),new(0f,0.9f,0f,0.75f),new(0f,0f,0.7f,65f),new(0f,0f,0f,1f),new(1.25f,1f,0f,0.65f),new(1f,2f,0f,1f),new(0f,0f,0f,0f),new(1f,0f,0f,0f),new(0f,1f,0f,0f),new(0f,0f,1f,0.2f)},new Vector4[]{new(0.769231f,0f,0f,-3.653846f),new(0f,1.111111f,0f,0.833333f),new(0f,0f,1.428571f,-92.85714f),new(1.3f,0f,0f,4.75f),new(0f,0.9f,0f,-0.75f),new(0f,0f,0.7f,65f),new(0f,0f,0f,1f),new(1.25f,1f,0f,0.65f),new(1f,2f,0f,1f),new(0f,0f,0f,0f),new(1f,0f,0f,0f),new(0f,1f,0f,0f),new(0f,0f,1f,0.2f)}},
new Vector4[][]{new Vector4[]{new(0.714286f,0f,0f,-3f),new(0f,0.952381f,0f,-2.095238f),new(0f,0f,1.25f,-81.3125f),new(1.4f,0f,0f,4.2f),new(0f,1.05f,0f,2.2f),new(0f,0f,0.8f,65.05f),new(0f,0f,0f,1f),new(1.25f,1f,0f,0.65f),new(1f,2f,0f,1f),new(0f,0f,0f,0f),new(1f,0f,0f,0f),new(0f,1f,0f,0f),new(0f,0f,1f,0.2f)},new Vector4[]{new(0.714286f,0f,0f,-3f),new(0f,0.952381f,0f,2.095238f),new(0f,0f,1.25f,-81.3125f),new(1.4f,0f,0f,4.2f),new(0f,1.05f,0f,-2.2f),new(0f,0f,0.8f,65.05f),new(0f,0f,0f,1f),new(1.25f,1f,0f,0.65f),new(1f,2f,0f,1f),new(0f,0f,0f,0f),new(1f,0f,0f,0f),new(0f,1f,0f,0f),new(0f,0f,1f,0.2f)}},
new Vector4[][]{new Vector4[]{new(0.909091f,0f,0f,-4.818182f),new(0f,0.869565f,0f,0f),new(0f,0f,1f,-64f),new(1.1f,0f,0f,5.3f),new(0f,1.15f,0f,0f),new(0f,0f,1f,64f),new(0f,0f,0f,1f),new(1.25f,1f,0f,0.65f),new(1f,2f,0f,1f),new(0f,0f,0f,0f),new(1f,0f,0f,0f),new(0f,1.3f,0f,0f),new(0f,0f,1f,0f)}},
new Vector4[][]{new Vector4[]{new(1f,0f,0f,-5.1f),new(0f,1.111111f,0f,0f),new(0f,0f,1.25f,-80.625f),new(1f,0f,0f,5.1f),new(0f,0.9f,0f,0f),new(0f,0f,0.8f,64.5f),new(0f,0f,0f,1f),new(1.25f,1f,0f,0.65f),new(1f,2f,0f,1f),new(0f,0f,0f,0f),new(1f,0f,0f,0.2f),new(0f,1f,0f,0f),new(0f,0f,1f,0f)}},
new Vector4[][]{new Vector4[]{new(1.25f,0f,0f,-7.5f),new(0f,1.111111f,0f,0f),new(0f,0f,1.818182f,-114.7273f),new(0.8f,0f,0f,6f),new(0f,0.9f,0f,0f),new(0f,0f,0.55f,63.1f),new(0f,0f,0f,1f),new(1.25f,1f,0f,0.65f),new(1f,2f,0f,1f),new(0f,0f,0f,0f),new(1f,0f,0f,0f),new(0f,1.3f,0f,0f),new(0f,0f,1f,0f)}},
new Vector4[][]{new Vector4[]{new(1f,0f,0f,-5.1f),new(0f,1.176471f,0f,-1.294118f),new(0f,0f,1.538462f,-94.76923f),new(1f,0f,0f,5.1f),new(0f,0.85f,0f,1.1f),new(0f,0f,0.65f,61.6f),new(0f,0f,0f,1f),new(1.25f,1f,0f,0.65f),new(1f,2f,0f,1f),new(0f,0f,0f,0f),new(1f,0f,0f,0f),new(0f,1f,0f,0f),new(0f,0f,1f,0.18f)},new Vector4[]{new(1f,0f,0f,-5.1f),new(0f,1.176471f,0f,1.294118f),new(0f,0f,1.538462f,-94.76923f),new(1f,0f,0f,5.1f),new(0f,0.85f,0f,-1.1f),new(0f,0f,0.65f,61.6f),new(0f,0f,0f,1f),new(1.25f,1f,0f,0.65f),new(1f,2f,0f,1f),new(0f,0f,0f,0f),new(1f,0f,0f,0f),new(0f,1f,0f,0f),new(0f,0f,1f,0.18f)}},
new Vector4[][]{new Vector4[]{new(1f,0f,0f,-5.1f),new(0f,1.176471f,0f,-1.294118f),new(0f,0f,1.538462f,-94.76923f),new(1f,0f,0f,5.1f),new(0f,0.85f,0f,1.1f),new(0f,0f,0.65f,61.6f),new(0f,0f,0f,1f),new(1.25f,1f,0f,0.65f),new(1f,2f,0f,1f),new(0f,0f,0f,0f),new(1f,0f,0f,0f),new(0f,1f,0f,0.18f),new(0f,0f,1f,0f)},new Vector4[]{new(1f,0f,0f,-5.1f),new(0f,1.176471f,0f,1.294118f),new(0f,0f,1.538462f,-94.76923f),new(1f,0f,0f,5.1f),new(0f,0.85f,0f,-1.1f),new(0f,0f,0.65f,61.6f),new(0f,0f,0f,1f),new(1.25f,1f,0f,0.65f),new(1f,2f,0f,1f),new(0f,0f,0f,0f),new(1f,0f,0f,0f),new(0f,1f,0f,-0.18f),new(0f,0f,1f,0f)}},
new Vector4[][]{new Vector4[]{new(1.25f,0f,0f,-7.124999f),new(0f,1.538462f,0f,0f),new(0f,0f,2.857143f,-177f),new(0.8f,0f,0f,5.7f),new(0f,0.65f,0f,0f),new(0f,0f,0.35f,61.95f),new(0f,0f,0f,1f),new(1.25f,1f,0f,0.65f),new(1f,2f,0f,1f),new(0f,0f,0f,0f),new(1f,0f,0f,0f),new(0f,1f,0f,0f),new(0f,0f,1f,0.12f)}},
new Vector4[][]{new Vector4[]{new(1.25f,0f,0f,-7f),new(0f,1.052632f,0f,0f),new(0f,0f,2.5f,-153.25f),new(0.8f,0f,0f,5.6f),new(0f,0.95f,0f,0f),new(0f,0f,0.4f,61.3f),new(0f,0f,0f,1f),new(1.25f,1f,0f,0.65f),new(1f,2f,0f,1f),new(0f,0f,0f,0f),new(1f,0f,0f,0f),new(0f,1f,0f,0f),new(0f,0f,1f,0.12f)}},
new Vector4[][]{new Vector4[]{new(0.555556f,0f,0f,-1.055556f),new(0f,0.8f,0f,-2.16f),new(0f,0f,0.666667f,-41.06667f),new(1.8f,0f,0f,1.9f),new(0f,1.25f,0f,2.7f),new(0f,0f,1.5f,61.6f),new(0f,0f,0f,1f),new(1.25f,1f,0f,0.65f),new(1f,2f,0f,1f),new(0f,0f,0f,0f),new(1f,0f,0f,0f),new(0f,1f,0f,0f),new(0f,0f,1f,0.25f)},new Vector4[]{new(0.555556f,0f,0f,-1.055556f),new(0f,0.8f,0f,2.16f),new(0f,0f,0.666667f,-41.06667f),new(1.8f,0f,0f,1.9f),new(0f,1.25f,0f,-2.7f),new(0f,0f,1.5f,61.6f),new(0f,0f,0f,1f),new(1.25f,1f,0f,0.65f),new(1f,2f,0f,1f),new(0f,0f,0f,0f),new(1f,0f,0f,0f),new(0f,1f,0f,0f),new(0f,0f,1f,0.25f)}},
new Vector4[][]{new Vector4[]{new(0.454545f,0f,0f,-1.363636f),new(0f,0.689655f,0f,-1.517241f),new(0f,0f,0.714286f,-43.57143f),new(2.2f,0f,0f,3f),new(0f,1.45f,0f,2.2f),new(0f,0f,1.4f,61f),new(0f,0f,0f,1f),new(1.25f,1f,0f,0.65f),new(1f,2f,0f,1f),new(0f,0f,0f,0f),new(1f,0f,0f,0f),new(0f,1f,0f,0.3f),new(0f,0f,1f,0f)},new Vector4[]{new(0.454545f,0f,0f,-1.363636f),new(0f,0.689655f,0f,1.517241f),new(0f,0f,0.714286f,-43.57143f),new(2.2f,0f,0f,3f),new(0f,1.45f,0f,-2.2f),new(0f,0f,1.4f,61f),new(0f,0f,0f,1f),new(1.25f,1f,0f,0.65f),new(1f,2f,0f,1f),new(0f,0f,0f,0f),new(1f,0f,0f,0f),new(0f,1f,0f,-0.3f),new(0f,0f,1f,0f)}},
new Vector4[][]{new Vector4[]{new(0.333333f,0f,0f,-0.833333f),new(0f,0.625f,0f,-1.875f),new(0f,0f,0.588235f,-38.70589f),new(3f,0f,0f,2.5f),new(0f,1.6f,0f,3f),new(0f,0f,1.7f,65.8f),new(0f,0f,0f,1f),new(1.25f,1f,0f,0.65f),new(1f,2f,0f,1f),new(0f,0f,0f,0f),new(1f,0f,0f,0f),new(0f,1f,0f,0.3f),new(0f,0f,1f,0f)},new Vector4[]{new(0.333333f,0f,0f,-0.833333f),new(0f,0.625f,0f,1.875f),new(0f,0f,0.588235f,-38.70589f),new(3f,0f,0f,2.5f),new(0f,1.6f,0f,-3f),new(0f,0f,1.7f,65.8f),new(0f,0f,0f,1f),new(1.25f,1f,0f,0.65f),new(1f,2f,0f,1f),new(0f,0f,0f,0f),new(1f,0f,0f,0f),new(0f,1f,0f,-0.3f),new(0f,0f,1f,0f)}},
new Vector4[][]{new Vector4[]{new(0.769231f,0f,0f,-3.846154f),new(0f,0.5f,0f,0f),new(0f,0f,1.176471f,-70.82352f),new(1.3f,0f,0f,5f),new(0f,2f,0f,0f),new(0f,0f,0.85f,60.2f),new(0f,0f,0f,1f),new(1.25f,1f,0f,0.65f),new(1f,2f,0f,1f),new(0f,0f,0f,0f),new(1f,0f,0f,0f),new(0f,1.35f,0f,0f),new(0f,0f,1f,0f)}},
new Vector4[][]{new Vector4[]{new(0.555556f,0f,0f,-2.666667f),new(0f,0.294118f,0f,0f),new(0f,0f,0.666667f,-43.8f),new(1.8f,0f,0f,4.8f),new(0f,3.4f,0f,0f),new(0f,0f,1.5f,65.7f),new(0f,0f,0f,1f),new(1.25f,1f,0f,0.65f),new(1f,2f,0f,1f),new(0f,0f,0f,0f),new(1f,0f,0f,0.2f),new(0f,1f,0f,0f),new(0f,0f,1f,0f)}}};
}