commit eb9263dd388f62e6377d939148f7f99ba99ada45
Author: leszek <leszek@koltunski.pl>
Date:   Thu Dec 28 17:40:00 2023 +0100

    Next step toward separating TwistyObject metadata.

diff --git a/build.gradle b/build.gradle
index 9a2d5c19..915aaa94 100644
--- a/build.gradle
+++ b/build.gradle
@@ -59,7 +59,5 @@ dependencies {
     implementation ('androidx.work:work-runtime:2.8.1')
     implementation ('com.google.android.material:material:1.10.0')
     //implementation "com.android.billingclient:billing:5.1.0"
-    implementation project(path: ':distorted-component-jsons')
-    implementation project(path: ':distorted-component-dmesh')
     implementation project(path: ':distorted-os-android')
 }
diff --git a/src/main/java/org/distorted/external/RubikScores.java b/src/main/java/org/distorted/external/RubikScores.java
index 64bbf25f..3c4e3ce3 100644
--- a/src/main/java/org/distorted/external/RubikScores.java
+++ b/src/main/java/org/distorted/external/RubikScores.java
@@ -22,7 +22,7 @@ import org.distorted.main.BuildConfig;
 import org.distorted.objects.RubikObject;
 import org.distorted.objects.RubikObjectList;
 
-import static org.distorted.objectlib.main.ObjectType.MAX_SCRAMBLES;
+import static org.distorted.objectlib.metadata.ListObjects.MAX_SCRAMBLES;
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 // hold my own scores, and some other statistics.
diff --git a/src/main/java/org/distorted/objects/RubikObject.java b/src/main/java/org/distorted/objects/RubikObject.java
index 5e474b8f..20631616 100644
--- a/src/main/java/org/distorted/objects/RubikObject.java
+++ b/src/main/java/org/distorted/objects/RubikObject.java
@@ -22,11 +22,9 @@ import android.widget.ImageView;
 
 import androidx.appcompat.content.res.AppCompatResources;
 
-import org.distorted.dmesh.ObjectMesh;
 import org.distorted.external.RubikFiles;
-import org.distorted.jsons.ObjectJson;
 import org.distorted.main.R;
-import org.distorted.objectlib.main.ObjectType;
+import org.distorted.objectlib.metadata.ListObjects;
 import org.distorted.objectlib.metadata.Metadata;
 import org.distorted.objectlib.patterns.RubikPatternList;
 import org.distorted.solvers.ImplementedSolversList;
@@ -53,7 +51,7 @@ public class RubikObject
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  RubikObject(ObjectType type)
+  RubikObject(ListObjects type)
     {
     Metadata meta = type.getMetadata();
     mObjectOrdinal= type.ordinal();
@@ -64,9 +62,9 @@ public class RubikObject
     mPrice       = meta.price();
     mIsFree      = mPrice==0;
     mIconID      = meta.icon();
-    mJsonID      = ObjectJson.getObjectJsonID(mObjectOrdinal);
-    mMeshID      = ObjectMesh.getMeshID(mObjectOrdinal);
-    mExtrasID    = ObjectJson.getExtrasJsonID(mObjectOrdinal);
+    mJsonID      = meta.objectJson();
+    mMeshID      = meta.mesh();
+    mExtrasID    = meta.extrasJson();
     mIsLocal     = false;
 
     int patternOrdinal  = RubikPatternList.getOrdinal(mObjectOrdinal);
diff --git a/src/main/java/org/distorted/objects/RubikObjectList.java b/src/main/java/org/distorted/objects/RubikObjectList.java
index c4706a8c..ced10d55 100644
--- a/src/main/java/org/distorted/objects/RubikObjectList.java
+++ b/src/main/java/org/distorted/objects/RubikObjectList.java
@@ -17,9 +17,9 @@ import android.content.SharedPreferences;
 
 import org.distorted.external.RubikFiles;
 import org.distorted.external.RubikScores;
-import org.distorted.objectlib.main.ObjectType;
+import org.distorted.objectlib.metadata.ListObjects;
 
-import static org.distorted.objectlib.main.ObjectType.NUM_OBJECTS;
+import static org.distorted.objectlib.metadata.ListObjects.NUM_OBJECTS;
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
@@ -84,7 +84,7 @@ public class RubikObjectList
     {
     for(int i=0; i<NUM_OBJECTS; i++)
       {
-      ObjectType type = ObjectType.getObject(i);
+      ListObjects type = ListObjects.getObject(i);
       RubikObject obj = new RubikObject(type);
       mObjects.add(obj);
       mNumObjects++;
@@ -365,7 +365,7 @@ public class RubikObjectList
             {
             char c = parts[7].charAt(0);
             if( c=='t' )      price = 0;
-            else if( c=='f' ) price = ObjectType.DEFAULT_PRICE_OF_OLD_OBJECTS;
+            else if( c=='f' ) price = ListObjects.DEFAULT_PRICE_OF_OLD_OBJECTS;
             else              price = Integer.parseInt(parts[7]);
             }
 
diff --git a/src/main/java/org/distorted/solvers/SolverCube2.java b/src/main/java/org/distorted/solvers/SolverCube2.java
index 71471c8c..02f3563a 100644
--- a/src/main/java/org/distorted/solvers/SolverCube2.java
+++ b/src/main/java/org/distorted/solvers/SolverCube2.java
@@ -13,7 +13,7 @@ import android.content.res.Resources;
 
 import org.distorted.main.R;
 import org.distorted.objectlib.helpers.OperatingSystemInterface;
-import org.distorted.objectlib.main.ObjectType;
+import org.distorted.objectlib.metadata.ListObjects;
 import org.distorted.objectlib.main.TwistyObject;
 import org.distorted.objectlib.tablebases.ImplementedTablebasesList;
 import org.distorted.objectlib.tablebases.TablebaseHelpers;
@@ -288,7 +288,7 @@ public class SolverCube2 extends SolverTablebase
     {
     if( mSolver==null )
       {
-      mSolver = ImplementedTablebasesList.createPacked(os, ObjectType.CUBE_2.name() );
+      mSolver = ImplementedTablebasesList.createPacked(os, ListObjects.CUBE_2.name() );
       }
 
     return mSolver!=null ? mSolver.solution(index,null,os) : null;
diff --git a/src/main/java/org/distorted/solvers/SolverCuboid232.java b/src/main/java/org/distorted/solvers/SolverCuboid232.java
index 761cf4b8..5fd51d0e 100644
--- a/src/main/java/org/distorted/solvers/SolverCuboid232.java
+++ b/src/main/java/org/distorted/solvers/SolverCuboid232.java
@@ -13,7 +13,7 @@ import android.content.res.Resources;
 
 import org.distorted.main.R;
 import org.distorted.objectlib.helpers.OperatingSystemInterface;
-import org.distorted.objectlib.main.ObjectType;
+import org.distorted.objectlib.metadata.ListObjects;
 import org.distorted.objectlib.main.TwistyObject;
 import org.distorted.objectlib.tablebases.ImplementedTablebasesList;
 import org.distorted.objectlib.tablebases.TablebaseHelpers;
@@ -409,7 +409,7 @@ public class SolverCuboid232 extends SolverTablebase
     {
     if( mSolver==null )
       {
-      mSolver = ImplementedTablebasesList.createPacked(os, ObjectType.CU_232.name() );
+      mSolver = ImplementedTablebasesList.createPacked(os, ListObjects.CU_232.name() );
       }
 
     return mSolver!=null ? mSolver.solution(index,null,os) : null;
diff --git a/src/main/java/org/distorted/solvers/SolverCuboid323.java b/src/main/java/org/distorted/solvers/SolverCuboid323.java
index 4275a9ae..ba59a20f 100644
--- a/src/main/java/org/distorted/solvers/SolverCuboid323.java
+++ b/src/main/java/org/distorted/solvers/SolverCuboid323.java
@@ -13,7 +13,7 @@ import android.content.res.Resources;
 
 import org.distorted.main.R;
 import org.distorted.objectlib.helpers.OperatingSystemInterface;
-import org.distorted.objectlib.main.ObjectType;
+import org.distorted.objectlib.metadata.ListObjects;
 import org.distorted.objectlib.main.TwistyObject;
 import org.distorted.objectlib.tablebases.ImplementedTablebasesList;
 import org.distorted.objectlib.tablebases.TBCuboid323;
@@ -446,7 +446,7 @@ public class SolverCuboid323 extends SolverTablebase
     {
     if( mSolver==null )
       {
-      mSolver = ImplementedTablebasesList.createPacked(os, ObjectType.CU_323.name() );
+      mSolver = ImplementedTablebasesList.createPacked(os, ListObjects.CU_323.name() );
       }
 
     ((TBCuboid323)mSolver).initialize();
diff --git a/src/main/java/org/distorted/solvers/SolverDino4.java b/src/main/java/org/distorted/solvers/SolverDino4.java
index 28973574..8efacba5 100644
--- a/src/main/java/org/distorted/solvers/SolverDino4.java
+++ b/src/main/java/org/distorted/solvers/SolverDino4.java
@@ -15,7 +15,7 @@ import android.content.res.Resources;
 
 import org.distorted.main.R;
 import org.distorted.objectlib.helpers.OperatingSystemInterface;
-import org.distorted.objectlib.main.ObjectType;
+import org.distorted.objectlib.metadata.ListObjects;
 import org.distorted.objectlib.main.TwistyObject;
 import org.distorted.objectlib.shape.ShapeHexahedron;
 import org.distorted.objectlib.tablebases.ImplementedTablebasesList;
@@ -177,7 +177,7 @@ public class SolverDino4 extends SolverTablebase
     {
     if( mSolver==null )
       {
-      mSolver = ImplementedTablebasesList.createPacked(os, ObjectType.DIN4_3.name() );
+      mSolver = ImplementedTablebasesList.createPacked(os, ListObjects.DIN4_3.name() );
       }
 
     return mSolver!=null ? mSolver.solution(index,null,os) : null;
diff --git a/src/main/java/org/distorted/solvers/SolverDino6.java b/src/main/java/org/distorted/solvers/SolverDino6.java
index 6fe83b74..b0660e5e 100644
--- a/src/main/java/org/distorted/solvers/SolverDino6.java
+++ b/src/main/java/org/distorted/solvers/SolverDino6.java
@@ -13,7 +13,7 @@ import android.content.res.Resources;
 
 import org.distorted.main.R;
 import org.distorted.objectlib.helpers.OperatingSystemInterface;
-import org.distorted.objectlib.main.ObjectType;
+import org.distorted.objectlib.metadata.ListObjects;
 import org.distorted.objectlib.main.TwistyObject;
 import org.distorted.objectlib.tablebases.ImplementedTablebasesList;
 import org.distorted.objectlib.tablebases.TBDino6;
@@ -442,7 +442,7 @@ public class SolverDino6 extends SolverTablebase
     {
     if( mSolver==null )
       {
-      mSolver = ImplementedTablebasesList.createPacked(os, ObjectType.DINO_3.name() );
+      mSolver = ImplementedTablebasesList.createPacked(os, ListObjects.DINO_3.name() );
       }
 
     return mSolver!=null ? mSolver.solution(index,null,os) : null;
diff --git a/src/main/java/org/distorted/solvers/SolverIvyCube.java b/src/main/java/org/distorted/solvers/SolverIvyCube.java
index a530f0cb..32bd3153 100644
--- a/src/main/java/org/distorted/solvers/SolverIvyCube.java
+++ b/src/main/java/org/distorted/solvers/SolverIvyCube.java
@@ -13,7 +13,7 @@ import android.content.res.Resources;
 
 import org.distorted.main.R;
 import org.distorted.objectlib.helpers.OperatingSystemInterface;
-import org.distorted.objectlib.main.ObjectType;
+import org.distorted.objectlib.metadata.ListObjects;
 import org.distorted.objectlib.main.TwistyObject;
 import org.distorted.objectlib.tablebases.ImplementedTablebasesList;
 import org.distorted.objectlib.tablebases.TablebaseHelpers;
@@ -245,7 +245,7 @@ public class SolverIvyCube extends SolverTablebase
     {
     if( mSolver==null )
       {
-      mSolver = ImplementedTablebasesList.createPacked(os, ObjectType.IVY_2.name() );
+      mSolver = ImplementedTablebasesList.createPacked(os, ListObjects.IVY_2.name() );
       }
 
     return mSolver!=null ? mSolver.solution(index,null,os) : null;
diff --git a/src/main/java/org/distorted/solvers/SolverJing.java b/src/main/java/org/distorted/solvers/SolverJing.java
index 37f0d9b2..7ba8863b 100644
--- a/src/main/java/org/distorted/solvers/SolverJing.java
+++ b/src/main/java/org/distorted/solvers/SolverJing.java
@@ -13,7 +13,7 @@ import android.content.res.Resources;
 
 import org.distorted.main.R;
 import org.distorted.objectlib.helpers.OperatingSystemInterface;
-import org.distorted.objectlib.main.ObjectType;
+import org.distorted.objectlib.metadata.ListObjects;
 import org.distorted.objectlib.main.TwistyObject;
 import org.distorted.objectlib.tablebases.ImplementedTablebasesList;
 import org.distorted.objectlib.tablebases.TBPyraminx;
@@ -527,7 +527,7 @@ public class SolverJing extends SolverTablebase
     {
     if( mSolver==null )
       {
-      mSolver = ImplementedTablebasesList.createPacked(os, ObjectType.JING_2.name());
+      mSolver = ImplementedTablebasesList.createPacked(os, ListObjects.JING_2.name());
       }
 
     return mSolver!=null ? mSolver.solution(index,null,os) : null;
diff --git a/src/main/java/org/distorted/solvers/SolverPyraminx.java b/src/main/java/org/distorted/solvers/SolverPyraminx.java
index 1d5b1042..396ccf57 100644
--- a/src/main/java/org/distorted/solvers/SolverPyraminx.java
+++ b/src/main/java/org/distorted/solvers/SolverPyraminx.java
@@ -13,7 +13,7 @@ import android.content.res.Resources;
 
 import org.distorted.main.R;
 import org.distorted.objectlib.helpers.OperatingSystemInterface;
-import org.distorted.objectlib.main.ObjectType;
+import org.distorted.objectlib.metadata.ListObjects;
 import org.distorted.objectlib.main.TwistyObject;
 import org.distorted.objectlib.tablebases.ImplementedTablebasesList;
 import org.distorted.objectlib.tablebases.TablebaseHelpers;
@@ -540,7 +540,7 @@ public class SolverPyraminx extends SolverTablebase
     {
     if( mSolver==null )
       {
-      mSolver = ImplementedTablebasesList.createPacked(os, ObjectType.PYRA_3.name());
+      mSolver = ImplementedTablebasesList.createPacked(os, ListObjects.PYRA_3.name());
       }
 
     return mSolver!=null ? mSolver.solution(index,mCornerTwist,os) : null;
diff --git a/src/main/java/org/distorted/solvers/SolverPyraminxDiamond.java b/src/main/java/org/distorted/solvers/SolverPyraminxDiamond.java
index 18ca7b5c..c74de1a2 100644
--- a/src/main/java/org/distorted/solvers/SolverPyraminxDiamond.java
+++ b/src/main/java/org/distorted/solvers/SolverPyraminxDiamond.java
@@ -13,7 +13,7 @@ import android.content.res.Resources;
 
 import org.distorted.main.R;
 import org.distorted.objectlib.helpers.OperatingSystemInterface;
-import org.distorted.objectlib.main.ObjectType;
+import org.distorted.objectlib.metadata.ListObjects;
 import org.distorted.objectlib.main.TwistyObject;
 import org.distorted.objectlib.tablebases.ImplementedTablebasesList;
 import org.distorted.objectlib.tablebases.TablebaseHelpers;
@@ -366,7 +366,7 @@ android.util.Log.e("D", "ret="+(total_twist + 2048*centers_perm_num) );
     {
     if( mSolver==null )
       {
-      mSolver = ImplementedTablebasesList.createPacked(os, ObjectType.PDIA_3.name() );
+      mSolver = ImplementedTablebasesList.createPacked(os, ListObjects.PDIA_3.name() );
       }
 
     return mSolver!=null ? mSolver.solution(index,null,os) : null;
diff --git a/src/main/java/org/distorted/solvers/SolverPyraminxDuo.java b/src/main/java/org/distorted/solvers/SolverPyraminxDuo.java
index 0f7a2d0c..39234ec8 100644
--- a/src/main/java/org/distorted/solvers/SolverPyraminxDuo.java
+++ b/src/main/java/org/distorted/solvers/SolverPyraminxDuo.java
@@ -13,7 +13,7 @@ import android.content.res.Resources;
 
 import org.distorted.main.R;
 import org.distorted.objectlib.helpers.OperatingSystemInterface;
-import org.distorted.objectlib.main.ObjectType;
+import org.distorted.objectlib.metadata.ListObjects;
 import org.distorted.objectlib.main.TwistyObject;
 import org.distorted.objectlib.tablebases.ImplementedTablebasesList;
 import org.distorted.objectlib.tablebases.TablebasesAbstract;
@@ -290,7 +290,7 @@ public class SolverPyraminxDuo extends SolverTablebase
     {
     if( mSolver==null )
       {
-      mSolver = ImplementedTablebasesList.createPacked(os, ObjectType.PDUO_2.name() );
+      mSolver = ImplementedTablebasesList.createPacked(os, ListObjects.PDUO_2.name() );
       }
 
     return mSolver!=null ? mSolver.solution(index,null,os) : null;
diff --git a/src/main/java/org/distorted/solvers/SolverSkewb.java b/src/main/java/org/distorted/solvers/SolverSkewb.java
index d1ca2da3..b171b922 100644
--- a/src/main/java/org/distorted/solvers/SolverSkewb.java
+++ b/src/main/java/org/distorted/solvers/SolverSkewb.java
@@ -16,7 +16,7 @@ import android.content.res.Resources;
 
 import org.distorted.main.R;
 import org.distorted.objectlib.helpers.OperatingSystemInterface;
-import org.distorted.objectlib.main.ObjectType;
+import org.distorted.objectlib.metadata.ListObjects;
 import org.distorted.objectlib.main.TwistyObject;
 import org.distorted.objectlib.tablebases.ImplementedTablebasesList;
 import org.distorted.objectlib.tablebases.TBSkewb;
@@ -442,7 +442,7 @@ public class SolverSkewb extends SolverTablebase
     {
     if( mSolver==null )
       {
-      mSolver = ImplementedTablebasesList.createPacked(os, ObjectType.SKEW_2.name() );
+      mSolver = ImplementedTablebasesList.createPacked(os, ListObjects.SKEW_2.name() );
       }
 
     return mSolver!=null ? mSolver.solution(index,null,os) : null;
diff --git a/src/main/java/org/distorted/solvers/SolverSkewbDiamond.java b/src/main/java/org/distorted/solvers/SolverSkewbDiamond.java
index e7796bdb..01de3b07 100644
--- a/src/main/java/org/distorted/solvers/SolverSkewbDiamond.java
+++ b/src/main/java/org/distorted/solvers/SolverSkewbDiamond.java
@@ -13,7 +13,7 @@ import android.content.res.Resources;
 
 import org.distorted.main.R;
 import org.distorted.objectlib.helpers.OperatingSystemInterface;
-import org.distorted.objectlib.main.ObjectType;
+import org.distorted.objectlib.metadata.ListObjects;
 import org.distorted.objectlib.main.TwistyObject;
 import org.distorted.objectlib.tablebases.ImplementedTablebasesList;
 import org.distorted.objectlib.tablebases.TablebaseHelpers;
@@ -503,7 +503,7 @@ android.util.Log.e("D", "corn twist: "+corners_twist[0]+" "+corners_twist[1]+" "
     {
     if( mSolver==null )
       {
-      mSolver = ImplementedTablebasesList.createPacked(os, ObjectType.DIAM_2.name());
+      mSolver = ImplementedTablebasesList.createPacked(os, ListObjects.DIAM_2.name());
       }
 
     return mSolver!=null ? mSolver.solution(index,null,os) : null;
