commit d84768fe6196253756d9a9dba31aa0419979b3aa
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Wed Sep 15 18:41:37 2021 +0200

    Make Jing standard size (tetra size=2, i.e. equal to numLayers so that DIST2D and DIST3D are standard)

diff --git a/src/main/java/org/distorted/objects/MovementJing.java b/src/main/java/org/distorted/objects/MovementJing.java
index d1fbcce5..68a1d396 100644
--- a/src/main/java/org/distorted/objects/MovementJing.java
+++ b/src/main/java/org/distorted/objects/MovementJing.java
@@ -27,8 +27,8 @@ import static org.distorted.objects.TwistyJing.F;
 
 class MovementJing extends Movement
 {
-  static final float DIST3D = SQ6/24;
-  static final float DIST2D = SQ3/12;
+  static final float DIST3D = SQ6/12;
+  static final float DIST2D = SQ3/6;
 
   static final Static3D[] FACE_AXIS = new Static3D[]
          {
diff --git a/src/main/java/org/distorted/objects/TwistyJing.java b/src/main/java/org/distorted/objects/TwistyJing.java
index bc5ec9f7..1b98a676 100644
--- a/src/main/java/org/distorted/objects/TwistyJing.java
+++ b/src/main/java/org/distorted/objects/TwistyJing.java
@@ -49,9 +49,9 @@ public class TwistyJing extends TwistyObject
            COLOR_BLUE  , COLOR_RED
          };
 
-  static final float F = 0.24f;  // length of the edge of the corner cubit divided by
-                                 // the length of the edge of the whole tetrahedron.
-                                 // keep < 0.25.
+  static final float F = 0.48f;  // length of the edge of the corner cubit. Keep<0.5
+                                 // Assuming the length of the edge of the whole
+                                 // tetrahedron is 2.0 (ie standard, equal to numLayers
 
   private ScrambleState[] mStates;
   private int[] mBasicAngle;
@@ -124,22 +124,22 @@ public class TwistyJing extends TwistyObject
       {
       mCenters = new float[][]
          {
-           { 0.000f, -SQ2/4, 0.500f },
-           { 0.000f, -SQ2/4,-0.500f },
-           {-0.500f,  SQ2/4, 0.000f },
-           { 0.500f,  SQ2/4, 0.000f },
-
-           { 0.000f, -SQ2/4, 0.000f },
-           {-0.250f, 0.000f, 0.250f },
-           { 0.250f, 0.000f, 0.250f },
-           {-0.250f, 0.000f,-0.250f },
-           { 0.250f, 0.000f,-0.250f },
-           { 0.000f,  SQ2/4, 0.000f },
-
-           { 0.000f, SQ2/12, 1.0f/6 },
-           { 0.000f, SQ2/12,-1.0f/6 },
-           {-1.0f/6,-SQ2/12, 0.000f },
-           { 1.0f/6,-SQ2/12, 0.000f },
+           { 0.000f, -SQ2/2, 1.000f },
+           { 0.000f, -SQ2/2,-1.000f },
+           {-1.000f,  SQ2/2, 0.000f },
+           { 1.000f,  SQ2/2, 0.000f },
+
+           { 0.000f, -SQ2/2, 0.000f },
+           {-0.500f, 0.000f, 0.500f },
+           { 0.500f, 0.000f, 0.500f },
+           {-0.500f, 0.000f,-0.500f },
+           { 0.500f, 0.000f,-0.500f },
+           { 0.000f,  SQ2/2, 0.000f },
+
+           { 0.000f,  SQ2/6, 1.0f/3 },
+           { 0.000f,  SQ2/6,-1.0f/3 },
+           {-1.0f/3, -SQ2/6, 0.000f },
+           { 1.0f/3, -SQ2/6, 0.000f },
          };
       }
 
@@ -179,7 +179,7 @@ public class TwistyJing extends TwistyObject
 
   float[][] getCuts(int size)
     {
-    float[] cut = { (F-0.25f)*(SQ6/3) };
+    float[] cut = { (F-0.5f)*(SQ6/3) };
     return new float[][] { cut,cut,cut,cut };
     }
 
@@ -194,7 +194,7 @@ public class TwistyJing extends TwistyObject
 
   float getScreenRatio()
     {
-    return 1.76f;
+    return 0.88f;
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
@@ -247,11 +247,12 @@ public class TwistyJing extends TwistyObject
     final float X = F/2;
     final float Y = F*SQ2/2;
     final float Z =-F/2;
-    final float L = (1-3*F);
+    final float L = (2.0f-3*F);
     final float X2= L/2;
     final float Y2= L*SQ2/2;
     final float Z2=-L/2;
     final float D = F/L;
+    final float G = 1.0f-F;
 
     if( variant==0 )
       {
@@ -288,14 +289,14 @@ public class TwistyJing extends TwistyObject
       {
       double[][] vertices = new double[][]
           {
-             { 0.0, 0.0,     0.5-F },
-             {   X,   Y,   Z+0.5-F },
-             { 0.0, 2*Y, 2*Z+0.5-F },
-             {  -X,   Y,   Z+0.5-F },
-             { 0.0, 0.0,    -0.5+F },
-             {   X,   Y,  -Z-0.5+F },
-             { 0.0, 2*Y,-2*Z-0.5+F },
-             {  -X,   Y,  -Z-0.5+F },
+             { 0.0, 0.0,     G },
+             {   X,   Y,   Z+G },
+             { 0.0, 2*Y, 2*Z+G },
+             {  -X,   Y,   Z+G },
+             { 0.0, 0.0,    -G },
+             {   X,   Y,  -Z-G },
+             { 0.0, 2*Y,-2*Z-G },
+             {  -X,   Y,  -Z-G },
           };
       int[][] vert_indices = new int[][]
           {
@@ -335,9 +336,9 @@ public class TwistyJing extends TwistyObject
              {4,5,2,1}
           };
 
-      float[][] bands     = new float[][] { {0.020f,35,0.20f*(1-3*F),0.6f*(1-3*F),5,1,1}, {0.001f,35,0.05f*(1-3*F),0.1f*(1-3*F),5,1,1} };
+      float[][] bands     = new float[][] { {0.020f,35,0.20f*L,0.6f*L,5,1,1}, {0.001f,35,0.05f*L,0.1f*L,5,1,1} };
       int[] bandIndices   = new int[] { 0,1,1,1,1,1 };
-      float[][] corners   = new float[][] { {0.04f,0.15f} };
+      float[][] corners   = new float[][] { {0.04f,0.6f*F} };
       int[] cornerIndices = new int[] { 0,0,0,-1,-1,-1 };
       float[][] centers   = new float[][] { { 0, -2*Y/3, 4*Z/3 } };
       int[] centerIndices = new int[] { 0,0,0,-1,-1,-1 };
diff --git a/src/main/res/raw/jing.dmesh b/src/main/res/raw/jing.dmesh
index 9c38e1eb..566c9492 100644
Binary files a/src/main/res/raw/jing.dmesh and b/src/main/res/raw/jing.dmesh differ
