commit 7b8322066b127c3e3973d6a187b1c39f9a0d895f
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Wed Oct 20 01:32:46 2021 +0200

    Progress with serializing object to JSON: cubits.
    Only faceColorMap remains now.

diff --git a/src/main/java/org/distorted/objectlib/main/TwistyObject.java b/src/main/java/org/distorted/objectlib/main/TwistyObject.java
index 5ce105b5..f128e3ee 100644
--- a/src/main/java/org/distorted/objectlib/main/TwistyObject.java
+++ b/src/main/java/org/distorted/objectlib/main/TwistyObject.java
@@ -1382,9 +1382,6 @@ public abstract class TwistyObject extends DistortedNode
   protected abstract int getNumFaceColors();
   protected abstract int getColor(int face);
   protected abstract int getNumCubitFaces();
-  protected abstract float[][] getCubitPositions(int[] numLayers);
-  protected abstract Static4D getQuat(int cubit, int[] numLayers);
-  protected abstract int[] getSolvedQuats(int cubit, int[] numLayers);
   protected abstract int getFaceColor(int cubit, int cubitface, int[] numLayers);
   protected abstract int getResource(int[] numLayers);
   protected abstract ObjectType intGetObjectType(int[] numLayers);
@@ -1405,6 +1402,10 @@ public abstract class TwistyObject extends DistortedNode
   public abstract int getCubitVariant(int cubit, int[] numLayers);
   public abstract ObjectShape getObjectShape(int variant);
   public abstract int getNumCubitVariants(int[] numLayers);
+  public abstract float[][] getCubitPositions(int[] numLayers);
+  public abstract Static4D getQuat(int cubit, int[] numLayers);
+  public abstract int[] getSolvedQuats(int cubit, int[] numLayers);
+
 
   public abstract Static3D[] getRotationAxis();
   public abstract int[] getBasicAngle();
diff --git a/src/main/java/org/distorted/objectlib/objects/TwistyBandagedAbstract.java b/src/main/java/org/distorted/objectlib/objects/TwistyBandagedAbstract.java
index 1c4181a6..be623798 100644
--- a/src/main/java/org/distorted/objectlib/objects/TwistyBandagedAbstract.java
+++ b/src/main/java/org/distorted/objectlib/objects/TwistyBandagedAbstract.java
@@ -121,7 +121,7 @@ abstract class TwistyBandagedAbstract extends Twisty6
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  protected int[] getSolvedQuats(int cubit, int[] numLayers)
+  public int[] getSolvedQuats(int cubit, int[] numLayers)
     {
     if( mQuats==null ) initializeQuats();
     int status = retCubitSolvedStatus(cubit,numLayers);
@@ -216,7 +216,7 @@ abstract class TwistyBandagedAbstract extends Twisty6
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  protected Static4D getQuat(int cubit, int[] numLayers)
+  public Static4D getQuat(int cubit, int[] numLayers)
     {
     if( mInitQuats ==null )
       {
@@ -306,7 +306,7 @@ abstract class TwistyBandagedAbstract extends Twisty6
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  protected float[][] getCubitPositions(int[] numLayers)
+  public float[][] getCubitPositions(int[] numLayers)
     {
     int numCubits = getNumCubits();
     float[][] tmp = new float[numCubits][];
diff --git a/src/main/java/org/distorted/objectlib/objects/TwistyCuboid.java b/src/main/java/org/distorted/objectlib/objects/TwistyCuboid.java
index 51fdf79d..906bd9f3 100644
--- a/src/main/java/org/distorted/objectlib/objects/TwistyCuboid.java
+++ b/src/main/java/org/distorted/objectlib/objects/TwistyCuboid.java
@@ -234,7 +234,7 @@ public class TwistyCuboid extends Twisty6
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  protected int[] getSolvedQuats(int cubit, int[] numLayers)
+  public int[] getSolvedQuats(int cubit, int[] numLayers)
     {
     if( mQuats ==null ) initializeQuats();
     int status = retCubitSolvedStatus(cubit,numLayers);
@@ -351,7 +351,7 @@ public class TwistyCuboid extends Twisty6
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  protected float[][] getCubitPositions(int[] numLayers)
+  public float[][] getCubitPositions(int[] numLayers)
     {
     final int X = numLayers[0];
     final int Y = numLayers[1];
@@ -441,7 +441,7 @@ public class TwistyCuboid extends Twisty6
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  protected Static4D getQuat(int cubit, int[] numLayers)
+  public Static4D getQuat(int cubit, int[] numLayers)
     {
     if( mQuats ==null ) initializeQuats();
 
diff --git a/src/main/java/org/distorted/objectlib/objects/TwistyDiamond.java b/src/main/java/org/distorted/objectlib/objects/TwistyDiamond.java
index 9c8febfb..03e5f5e1 100644
--- a/src/main/java/org/distorted/objectlib/objects/TwistyDiamond.java
+++ b/src/main/java/org/distorted/objectlib/objects/TwistyDiamond.java
@@ -132,7 +132,7 @@ public class TwistyDiamond extends Twisty8
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  protected int[] getSolvedQuats(int cubit, int[] numLayers)
+  public int[] getSolvedQuats(int cubit, int[] numLayers)
     {
     if( mQuats==null ) initializeQuats();
     if( mFaceMap==null ) mFaceMap = new int[] {4,0,6,2,7,3,5,1};
@@ -350,7 +350,7 @@ public class TwistyDiamond extends Twisty8
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  protected float[][] getCubitPositions(int[] numLayers)
+  public float[][] getCubitPositions(int[] numLayers)
     {
     int layers = numLayers[0];
     int numO = getNumOctahedrons(layers);
@@ -452,7 +452,7 @@ public class TwistyDiamond extends Twisty8
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  protected Static4D getQuat(int cubit, int[] numLayers)
+  public Static4D getQuat(int cubit, int[] numLayers)
     {
     if( mQuats==null ) initializeQuats();
 
diff --git a/src/main/java/org/distorted/objectlib/objects/TwistyDino.java b/src/main/java/org/distorted/objectlib/objects/TwistyDino.java
index 4835527e..7108be8a 100644
--- a/src/main/java/org/distorted/objectlib/objects/TwistyDino.java
+++ b/src/main/java/org/distorted/objectlib/objects/TwistyDino.java
@@ -178,7 +178,7 @@ abstract class TwistyDino extends Twisty6
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  protected float[][] getCubitPositions(int[] numLayers)
+  public float[][] getCubitPositions(int[] numLayers)
     {
     if( mCenters ==null )
       {
@@ -219,7 +219,7 @@ abstract class TwistyDino extends Twisty6
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  protected Static4D getQuat(int cubit, int[] numLayers)
+  public Static4D getQuat(int cubit, int[] numLayers)
     {
     if( mQuats==null ) initializeQuats();
     return mQuats[cubit];
diff --git a/src/main/java/org/distorted/objectlib/objects/TwistyDino4.java b/src/main/java/org/distorted/objectlib/objects/TwistyDino4.java
index a3c02260..8e94d99a 100644
--- a/src/main/java/org/distorted/objectlib/objects/TwistyDino4.java
+++ b/src/main/java/org/distorted/objectlib/objects/TwistyDino4.java
@@ -70,7 +70,7 @@ public class TwistyDino4 extends TwistyDino
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  protected int[] getSolvedQuats(int cubit, int[] numLayers)
+  public int[] getSolvedQuats(int cubit, int[] numLayers)
     {
     return null;
     }
diff --git a/src/main/java/org/distorted/objectlib/objects/TwistyDino6.java b/src/main/java/org/distorted/objectlib/objects/TwistyDino6.java
index f136d893..98b8239a 100644
--- a/src/main/java/org/distorted/objectlib/objects/TwistyDino6.java
+++ b/src/main/java/org/distorted/objectlib/objects/TwistyDino6.java
@@ -70,7 +70,7 @@ public class TwistyDino6 extends TwistyDino
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  protected int[] getSolvedQuats(int cubit, int[] numLayers)
+  public int[] getSolvedQuats(int cubit, int[] numLayers)
     {
     return null;
     }
diff --git a/src/main/java/org/distorted/objectlib/objects/TwistyHelicopter.java b/src/main/java/org/distorted/objectlib/objects/TwistyHelicopter.java
index 426ef8a5..f85c5acc 100644
--- a/src/main/java/org/distorted/objectlib/objects/TwistyHelicopter.java
+++ b/src/main/java/org/distorted/objectlib/objects/TwistyHelicopter.java
@@ -142,7 +142,7 @@ public class TwistyHelicopter extends Twisty6
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  protected int[] getSolvedQuats(int cubit, int[] numLayers)
+  public int[] getSolvedQuats(int cubit, int[] numLayers)
     {
     if( mQuats==null ) initializeQuats();
     int status = retCubitSolvedStatus(cubit,numLayers);
@@ -241,7 +241,7 @@ public class TwistyHelicopter extends Twisty6
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  protected float[][] getCubitPositions(int[] numLayers)
+  public float[][] getCubitPositions(int[] numLayers)
     {
     if( mCenters==null )
       {
@@ -358,7 +358,7 @@ public class TwistyHelicopter extends Twisty6
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  protected Static4D getQuat(int cubit, int[] numLayers)
+  public Static4D getQuat(int cubit, int[] numLayers)
     {
     if( mQuats==null ) initializeQuats();
     if( mQuatIndices==null ) mQuatIndices = new int[] { 0,13,14,1,12,2,3,7,20,6,13,17,7,23,18,12,22,10,8,16,11,21,19,9,3,15,14,0,5,2,1,4 };
diff --git a/src/main/java/org/distorted/objectlib/objects/TwistyIvy.java b/src/main/java/org/distorted/objectlib/objects/TwistyIvy.java
index 94996f92..8ef240e1 100644
--- a/src/main/java/org/distorted/objectlib/objects/TwistyIvy.java
+++ b/src/main/java/org/distorted/objectlib/objects/TwistyIvy.java
@@ -118,7 +118,7 @@ public class TwistyIvy extends Twisty6
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  protected int[] getSolvedQuats(int cubit, int[] numLayers)
+  public int[] getSolvedQuats(int cubit, int[] numLayers)
     {
     if( mQuats==null ) initializeQuats();
     int status = retCubitSolvedStatus(cubit,numLayers);
@@ -221,7 +221,7 @@ public class TwistyIvy extends Twisty6
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  protected float[][] getCubitPositions(int[] numLayers)
+  public float[][] getCubitPositions(int[] numLayers)
     {
     final float DIST_CORNER = numLayers[0]-1;
     final float DIST_CENTER = numLayers[0]-1;
@@ -399,7 +399,7 @@ public class TwistyIvy extends Twisty6
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  protected Static4D getQuat(int cubit, int[] numLayers)
+  public Static4D getQuat(int cubit, int[] numLayers)
     {
     if( mQuats==null ) initializeQuats();
 
diff --git a/src/main/java/org/distorted/objectlib/objects/TwistyJing.java b/src/main/java/org/distorted/objectlib/objects/TwistyJing.java
index a30e3ff2..95a96ce1 100644
--- a/src/main/java/org/distorted/objectlib/objects/TwistyJing.java
+++ b/src/main/java/org/distorted/objectlib/objects/TwistyJing.java
@@ -119,7 +119,7 @@ public class TwistyJing extends Twisty4
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  protected int[] getSolvedQuats(int cubit, int[] numLayers)
+  public int[] getSolvedQuats(int cubit, int[] numLayers)
     {
     if( mQuats==null ) initializeQuats();
     int status = retCubitSolvedStatus(cubit,numLayers);
@@ -128,7 +128,7 @@ public class TwistyJing extends Twisty4
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  protected float[][] getCubitPositions(int[] numLayers)
+  public float[][] getCubitPositions(int[] numLayers)
     {
     if( mCenters==null )
       {
@@ -387,7 +387,7 @@ public class TwistyJing extends Twisty4
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  protected Static4D getQuat(int cubit, int[] numLayers)
+  public Static4D getQuat(int cubit, int[] numLayers)
     {
     if( mQuats==null ) initializeQuats();
     if( mRotQuat ==null ) mRotQuat = new int[] {0,1,2,7,0,2,7,6,3,10,0,1,3,5};
diff --git a/src/main/java/org/distorted/objectlib/objects/TwistyKilominx.java b/src/main/java/org/distorted/objectlib/objects/TwistyKilominx.java
index cd31cc45..8b48313b 100644
--- a/src/main/java/org/distorted/objectlib/objects/TwistyKilominx.java
+++ b/src/main/java/org/distorted/objectlib/objects/TwistyKilominx.java
@@ -248,7 +248,7 @@ public class TwistyKilominx extends TwistyMinx
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  protected float[][] getCubitPositions(int[] numLayers)
+  public float[][] getCubitPositions(int[] numLayers)
     {
     if( mCorners==null ) initializeCorners();
 
@@ -505,7 +505,7 @@ public class TwistyKilominx extends TwistyMinx
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  protected Static4D getQuat(int cubit, int[] numLayers)
+  public Static4D getQuat(int cubit, int[] numLayers)
     {
     if( mQuats==null ) initializeQuats();
 
diff --git a/src/main/java/org/distorted/objectlib/objects/TwistyMegaminx.java b/src/main/java/org/distorted/objectlib/objects/TwistyMegaminx.java
index 709f6cac..e6e66a78 100644
--- a/src/main/java/org/distorted/objectlib/objects/TwistyMegaminx.java
+++ b/src/main/java/org/distorted/objectlib/objects/TwistyMegaminx.java
@@ -209,7 +209,7 @@ public class TwistyMegaminx extends TwistyMinx
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  protected float[][] getCubitPositions(int[] numLayers)
+  public float[][] getCubitPositions(int[] numLayers)
     {
     int numL = numLayers[0];
     int numCubitsPerCorner = numCubitsPerCorner(numL);
@@ -419,7 +419,7 @@ public class TwistyMegaminx extends TwistyMinx
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  protected Static4D getQuat(int cubit, int[] numLayers)
+  public Static4D getQuat(int cubit, int[] numLayers)
     {
     if( mQuats==null ) initializeQuats();
 
diff --git a/src/main/java/org/distorted/objectlib/objects/TwistyMinx.java b/src/main/java/org/distorted/objectlib/objects/TwistyMinx.java
index 0a23f252..6f268b0a 100644
--- a/src/main/java/org/distorted/objectlib/objects/TwistyMinx.java
+++ b/src/main/java/org/distorted/objectlib/objects/TwistyMinx.java
@@ -493,7 +493,7 @@ abstract class TwistyMinx extends Twisty12
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  protected int[] getSolvedQuats(int cubit, int[] numLayers)
+  public int[] getSolvedQuats(int cubit, int[] numLayers)
     {
     if( mQuats==null ) initializeQuats();
     if( mFaceMap==null ) mFaceMap = new int[] {8,10,3,7,1,9,11,2,4,0,5,6};
diff --git a/src/main/java/org/distorted/objectlib/objects/TwistyMirror.java b/src/main/java/org/distorted/objectlib/objects/TwistyMirror.java
index 94a4c345..8576be30 100644
--- a/src/main/java/org/distorted/objectlib/objects/TwistyMirror.java
+++ b/src/main/java/org/distorted/objectlib/objects/TwistyMirror.java
@@ -193,7 +193,7 @@ public class TwistyMirror extends Twisty6
 // we cannot do this the standard, automatic way because there's only 1 color in the FACE_COLORS
 // table and retCubitSolvedStatus() always returns -1,-1 or 0.
 
-  protected int[] getSolvedQuats(int cubit, int[] numLayers)
+  public int[] getSolvedQuats(int cubit, int[] numLayers)
     {
     if( numLayers[0]==3 )
       {
@@ -493,7 +493,7 @@ public class TwistyMirror extends Twisty6
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  protected Static4D getQuat(int cubit, int[] numLayers)
+  public Static4D getQuat(int cubit, int[] numLayers)
     {
     if( mQuats ==null ) initializeQuats();
     return mQuats[0];
@@ -523,7 +523,7 @@ public class TwistyMirror extends Twisty6
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  protected float[][] getCubitPositions(int[] numLayers)
+  public float[][] getCubitPositions(int[] numLayers)
     {
     if( mPositions==null )
       {
diff --git a/src/main/java/org/distorted/objectlib/objects/TwistyPyraminx.java b/src/main/java/org/distorted/objectlib/objects/TwistyPyraminx.java
index ae2167ae..46c7bcb6 100644
--- a/src/main/java/org/distorted/objectlib/objects/TwistyPyraminx.java
+++ b/src/main/java/org/distorted/objectlib/objects/TwistyPyraminx.java
@@ -151,7 +151,7 @@ public class TwistyPyraminx extends Twisty4
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  protected int[] getSolvedQuats(int cubit, int[] numLayers)
+  public int[] getSolvedQuats(int cubit, int[] numLayers)
     {
     if( mQuats==null ) initializeQuats();
     int status = retCubitSolvedStatus(cubit,numLayers);
@@ -198,7 +198,7 @@ public class TwistyPyraminx extends Twisty4
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 // there are (n^3-n)/6 octahedrons and ((n+1)^3 - (n+1))/6 tetrahedrons
 
-  protected float[][] getCubitPositions(int[] numLayers)
+  public float[][] getCubitPositions(int[] numLayers)
     {
     int numL = numLayers[0];
     int numOcta = (numL-1)*numL*(numL+1)/6;
@@ -381,7 +381,7 @@ public class TwistyPyraminx extends Twisty4
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  protected Static4D getQuat(int cubit, int[] numLayers)
+  public Static4D getQuat(int cubit, int[] numLayers)
     {
     if( mQuats==null ) initializeQuats();
     return mQuats[0];
diff --git a/src/main/java/org/distorted/objectlib/objects/TwistyRedi.java b/src/main/java/org/distorted/objectlib/objects/TwistyRedi.java
index 06b7ae08..640c97cc 100644
--- a/src/main/java/org/distorted/objectlib/objects/TwistyRedi.java
+++ b/src/main/java/org/distorted/objectlib/objects/TwistyRedi.java
@@ -121,7 +121,7 @@ public class TwistyRedi extends Twisty6
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  protected int[] getSolvedQuats(int cubit, int[] numLayers)
+  public int[] getSolvedQuats(int cubit, int[] numLayers)
     {
     if( mQuats==null ) initializeQuats();
     int status = retCubitSolvedStatus(cubit,numLayers);
@@ -221,7 +221,7 @@ public class TwistyRedi extends Twisty6
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  protected float[][] getCubitPositions(int[] numLayers)
+  public float[][] getCubitPositions(int[] numLayers)
     {
     if( mCenters==null )
       {
@@ -333,7 +333,7 @@ public class TwistyRedi extends Twisty6
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  protected Static4D getQuat(int cubit, int[] numLayers)
+  public Static4D getQuat(int cubit, int[] numLayers)
     {
     if( mQuats==null ) initializeQuats();
 
diff --git a/src/main/java/org/distorted/objectlib/objects/TwistyRex.java b/src/main/java/org/distorted/objectlib/objects/TwistyRex.java
index 91f3d673..6c978d0f 100644
--- a/src/main/java/org/distorted/objectlib/objects/TwistyRex.java
+++ b/src/main/java/org/distorted/objectlib/objects/TwistyRex.java
@@ -116,7 +116,7 @@ public class TwistyRex extends Twisty6
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  protected int[] getSolvedQuats(int cubit, int[] numLayers)
+  public int[] getSolvedQuats(int cubit, int[] numLayers)
     {
     if( mQuats==null ) initializeQuats();
     int status = retCubitSolvedStatus(cubit,numLayers);
@@ -216,7 +216,7 @@ public class TwistyRex extends Twisty6
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  protected float[][] getCubitPositions(int[] numLayers)
+  public float[][] getCubitPositions(int[] numLayers)
     {
     final float DIST1= 1.50f;
     final float DIST2= (1+2*REX_D)/2;
@@ -319,7 +319,7 @@ public class TwistyRex extends Twisty6
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  protected Static4D getQuat(int cubit, int[] numLayers)
+  public Static4D getQuat(int cubit, int[] numLayers)
     {
     if( mQuats==null ) initializeQuats();
 
diff --git a/src/main/java/org/distorted/objectlib/objects/TwistySkewb.java b/src/main/java/org/distorted/objectlib/objects/TwistySkewb.java
index bb4564e5..0d1d8160 100644
--- a/src/main/java/org/distorted/objectlib/objects/TwistySkewb.java
+++ b/src/main/java/org/distorted/objectlib/objects/TwistySkewb.java
@@ -123,7 +123,7 @@ public class TwistySkewb extends Twisty6
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  protected int[] getSolvedQuats(int cubit, int[] numLayers)
+  public int[] getSolvedQuats(int cubit, int[] numLayers)
     {
     if( mQuats==null ) initializeQuats();
     int status = retCubitSolvedStatus(cubit,numLayers);
@@ -243,7 +243,7 @@ public class TwistySkewb extends Twisty6
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  protected float[][] getCubitPositions(int[] numLayers)
+  public float[][] getCubitPositions(int[] numLayers)
     {
     int numL = numLayers[0];
     final float DIST_CORNER = numL-1;
@@ -372,7 +372,7 @@ public class TwistySkewb extends Twisty6
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  protected Static4D getQuat(int cubit, int[] numLayers)
+  public Static4D getQuat(int cubit, int[] numLayers)
     {
     if( mQuats==null ) initializeQuats();
 
diff --git a/src/main/java/org/distorted/objectlib/objects/TwistySquare1.java b/src/main/java/org/distorted/objectlib/objects/TwistySquare1.java
index fce0f0ad..66a21f47 100644
--- a/src/main/java/org/distorted/objectlib/objects/TwistySquare1.java
+++ b/src/main/java/org/distorted/objectlib/objects/TwistySquare1.java
@@ -78,7 +78,7 @@ public class TwistySquare1 extends TwistySquare
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  protected int[] getSolvedQuats(int cubit, int[] numLayers)
+  public int[] getSolvedQuats(int cubit, int[] numLayers)
     {
     if( mQuats==null ) initializeQuats();
     int status = retCubitSolvedStatus(cubit,numLayers);
@@ -188,7 +188,7 @@ public class TwistySquare1 extends TwistySquare
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  protected Static4D getQuat(int cubit, int[] numLayers)
+  public Static4D getQuat(int cubit, int[] numLayers)
     {
     if( mQuats==null ) initializeQuats();
     if( mQuatNumber ==null )
@@ -274,7 +274,7 @@ public class TwistySquare1 extends TwistySquare
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  protected float[][] getCubitPositions(int[] numLayers)
+  public float[][] getCubitPositions(int[] numLayers)
     {
     if( mCenters==null )
       {
diff --git a/src/main/java/org/distorted/objectlib/objects/TwistySquare2.java b/src/main/java/org/distorted/objectlib/objects/TwistySquare2.java
index 36284488..d3879ab7 100644
--- a/src/main/java/org/distorted/objectlib/objects/TwistySquare2.java
+++ b/src/main/java/org/distorted/objectlib/objects/TwistySquare2.java
@@ -89,7 +89,7 @@ public class TwistySquare2 extends TwistySquare
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  protected int[] getSolvedQuats(int cubit, int[] numLayers)
+  public int[] getSolvedQuats(int cubit, int[] numLayers)
     {
     return null;
     }
@@ -191,7 +191,7 @@ public class TwistySquare2 extends TwistySquare
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  protected Static4D getQuat(int cubit, int[] numLayers)
+  public Static4D getQuat(int cubit, int[] numLayers)
     {
     if( mQuats==null ) initializeQuats();
 
@@ -279,7 +279,7 @@ public class TwistySquare2 extends TwistySquare
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  protected float[][] getCubitPositions(int[] numLayers)
+  public float[][] getCubitPositions(int[] numLayers)
     {
     if( mCenters ==null )
       {
diff --git a/src/main/java/org/distorted/objectlib/objects/TwistyUltimate.java b/src/main/java/org/distorted/objectlib/objects/TwistyUltimate.java
index 6b6576f3..a779809b 100644
--- a/src/main/java/org/distorted/objectlib/objects/TwistyUltimate.java
+++ b/src/main/java/org/distorted/objectlib/objects/TwistyUltimate.java
@@ -123,7 +123,7 @@ public class TwistyUltimate extends Twisty12
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  protected int[] getSolvedQuats(int cubit, int[] numLayers)
+  public int[] getSolvedQuats(int cubit, int[] numLayers)
     {
     if( mQuats==null ) initializeQuats();
     int status = retCubitSolvedStatus(cubit,numLayers);
@@ -236,7 +236,7 @@ public class TwistyUltimate extends Twisty12
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  protected Static4D getQuat(int cubit, int[] numLayers)
+  public Static4D getQuat(int cubit, int[] numLayers)
     {
     if( mQuats     ==null ) initializeQuats();
     if( mQuatIndex ==null ) mQuatIndex = new int[] { 0,6,1,2,0,4,6,5,0,1,4,9,5,2 };
@@ -259,7 +259,7 @@ public class TwistyUltimate extends Twisty12
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  protected float[][] getCubitPositions(int[] numLayers)
+  public float[][] getCubitPositions(int[] numLayers)
     {
     if( mCenters==null )
       {
