commit 7a6067786aa5eefeb611950caf6b5e68a10feb9b
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Fri Apr 2 01:22:25 2021 +0200

    Progress with any size Kilominx.

diff --git a/src/main/java/org/distorted/objects/TwistyKilominx.java b/src/main/java/org/distorted/objects/TwistyKilominx.java
index fff8ef7e..f55e58bc 100644
--- a/src/main/java/org/distorted/objects/TwistyKilominx.java
+++ b/src/main/java/org/distorted/objects/TwistyKilominx.java
@@ -341,7 +341,7 @@ public class TwistyKilominx extends TwistyMinx
         {
         float tmp   = (numLayers/3.0f)/(numLayers-1);
         float height= tmp*COS18;
-        float width = tmp + type*height*SIN18/COS18;
+        float width = tmp + (type/2)*height*SIN18/COS18;
 
         mEdgeMeshes[indexCornerEdge][type] = FactoryCubit.getInstance().createKilominxEdgeMesh(numLayers,width,height, (type%2)==0 );
         }
@@ -378,6 +378,16 @@ public class TwistyKilominx extends TwistyMinx
       return cubitface>=0 && cubitface<3 ? mCornerFaceMap[cubit][cubitface] : NUM_TEXTURES*NUM_FACES;
       }
 
+    int numCubitsPerCorner = numCubitsPerCorner(numLayers);
+    int numCubitsPerEdge   = numCubitsPerEdge(numLayers);
+
+    cubit -= (NUM_CORNERS*numCubitsPerCorner + NUM_EDGES*numCubitsPerEdge);
+
+    if( cubit >= 0 )
+      {
+      return cubit/5;
+      }
+
     return 0;
     }
 
diff --git a/src/main/java/org/distorted/objects/TwistyMinx.java b/src/main/java/org/distorted/objects/TwistyMinx.java
index 380f707c..5e96a9e2 100644
--- a/src/main/java/org/distorted/objects/TwistyMinx.java
+++ b/src/main/java/org/distorted/objects/TwistyMinx.java
@@ -78,12 +78,12 @@ abstract class TwistyMinx extends TwistyObject
   // All 60 legal rotation quats of a Minx
   static final Static4D[] QUATS = new Static4D[]
          {
-           new Static4D(  0.0f,  0.0f,  0.0f,  1.0f ),
+           new Static4D(  0.0f,  0.0f,  0.0f,  1.0f ),  //0
            new Static4D(  1.0f,  0.0f,  0.0f,  0.0f ),
            new Static4D(  0.0f,  1.0f,  0.0f,  0.0f ),
            new Static4D(  0.0f,  0.0f,  1.0f,  0.0f ),
 
-           new Static4D(  0.5f,  0.5f,  0.5f,  0.5f ),
+           new Static4D(  0.5f,  0.5f,  0.5f,  0.5f ),  //4
            new Static4D(  0.5f,  0.5f, -0.5f,  0.5f ),
            new Static4D(  0.5f, -0.5f,  0.5f,  0.5f ),
            new Static4D(  0.5f, -0.5f, -0.5f,  0.5f ),
@@ -92,7 +92,7 @@ abstract class TwistyMinx extends TwistyObject
            new Static4D( -0.5f, -0.5f,  0.5f,  0.5f ),
            new Static4D( -0.5f, -0.5f, -0.5f,  0.5f ),
 
-           new Static4D(  0.5f,    C1,    C0,  0.0f ),
+           new Static4D(  0.5f,    C1,    C0,  0.0f ), // 12
            new Static4D(  0.5f,    C1,   -C0,  0.0f ),
            new Static4D(  0.5f,   -C1,    C0,  0.0f ),
            new Static4D(  0.5f,   -C1,   -C0,  0.0f ),
@@ -105,7 +105,7 @@ abstract class TwistyMinx extends TwistyObject
            new Static4D(   -C1,    C0,  0.5f,  0.0f ),
            new Static4D(   -C1,   -C0,  0.5f,  0.0f ),
 
-           new Static4D(  0.0f,    C0,    C1,  0.5f ),
+           new Static4D(  0.0f,    C0,    C1,  0.5f ), //24
            new Static4D(  0.0f,    C0,   -C1,  0.5f ),
            new Static4D(  0.0f,   -C0,    C1,  0.5f ),
            new Static4D(  0.0f,   -C0,   -C1,  0.5f ),
@@ -118,7 +118,7 @@ abstract class TwistyMinx extends TwistyObject
            new Static4D(   -C1,  0.0f,    C0,  0.5f ),
            new Static4D(   -C1,  0.0f,   -C0,  0.5f ),
 
-           new Static4D(  0.0f,    C1,  0.5f,    C0 ),
+           new Static4D(  0.0f,    C1,  0.5f,    C0 ), //36
            new Static4D(  0.0f,    C1, -0.5f,    C0 ),
            new Static4D(  0.0f,   -C1,  0.5f,    C0 ),
            new Static4D(  0.0f,   -C1, -0.5f,    C0 ),
@@ -131,7 +131,7 @@ abstract class TwistyMinx extends TwistyObject
            new Static4D(   -C1,  0.5f,  0.0f,    C0 ),
            new Static4D(   -C1, -0.5f,  0.0f,    C0 ),
 
-           new Static4D(  0.0f,  0.5f,    C0,    C1 ),
+           new Static4D(  0.0f,  0.5f,    C0,    C1 ), //48
            new Static4D(  0.0f,  0.5f,   -C0,    C1 ),
            new Static4D(  0.0f, -0.5f,    C0,    C1 ),
            new Static4D(  0.0f, -0.5f,   -C0,    C1 ),
@@ -196,9 +196,9 @@ abstract class TwistyMinx extends TwistyObject
 
   static final int[] QUAT_EDGE_INDICES =
       {
-        56, 40, 43, 59,  0, 55, 10, 17, 25, 49,
-        48, 57, 18,  7, 53, 32, 20, 11, 31, 38,
-        37, 30,  8, 28, 36, 44,  1, 46, 12, 14
+        56, 40, 43, 59,  0, 19,  9, 54, 58, 49,
+        48, 24, 52,  4, 16, 32, 20, 11, 21, 35 ,
+        37, 30,  8, 28, 36, 44,  1, 46, 12, 47
       };
 
 
@@ -224,36 +224,36 @@ abstract class TwistyMinx extends TwistyObject
   // the 'left' or right of vector corner1 --> corner2, according to Quat.
   static final int[][] mEdgeMap =
          {
-           {  0, 12,  0,  8},
+           {  0, 12,  0,  8}, //0
            { 12,  4,  0,  9},
            {  4, 14,  0,  4},
            { 14,  2,  0, 11},
            {  2,  0,  0,  1},
-           { 14,  9,  4, 11},
-           {  9, 11,  3, 11},
-           { 11, 18,  2, 11},
-           { 18,  2,  1, 11},
+           { 14,  9, 11,  4}, //5
+           {  9, 11, 11,  3},
+           { 11, 18, 11,  2},
+           { 18,  2, 11,  1},
            { 18,  6,  1,  2},
-           {  6, 16,  1,  7},
-           { 16,  0,  8,  1},
-           { 16, 10,  7,  8},
-           { 10,  8, 10,  8},
-           {  8, 12,  9,  8},
-           {  8, 13,  9, 10},
+           {  6, 16,  1,  7}, //10
+           { 16,  0,  1,  8},
+           { 16, 10,  8,  7},
+           { 10,  8,  8, 10},
+           {  8, 12,  8,  9},
+           {  8, 13,  9, 10}, //15
            { 13,  5,  9,  5},
            {  5,  4,  9,  4},
-           {  5, 15,  5,  4},
-           { 15,  9,  3,  4},
-           { 11, 19,  2,  3},
+           {  5, 15,  4,  5},
+           { 15,  9,  4,  3},
+           { 11, 19,  2,  3}, //20
            { 19,  7,  2,  6},
            {  7,  6,  2,  7},
            {  7, 17,  7,  6},
            { 17, 10,  7, 10},
-           { 17,  1, 10,  6},
+           { 17,  1, 10,  6}, //25
            {  1,  3,  5,  6},
            {  3, 19,  3,  6},
            {  1, 13, 10,  5},
-           {  3, 15,  3,  5},
+           {  3, 15,  5,  3},
          };
 
   // the five vertices that form a given face. Order: the same as colors
