commit 227e8c1f04930f5a5260be12387604849bcfea5f
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Thu Apr 28 15:33:59 2022 +0200

    Bandaged: progress.

diff --git a/src/main/java/org/distorted/bandaged/BandagedCreatorRenderer.java b/src/main/java/org/distorted/bandaged/BandagedCreatorRenderer.java
index cff22840..480b5bf3 100644
--- a/src/main/java/org/distorted/bandaged/BandagedCreatorRenderer.java
+++ b/src/main/java/org/distorted/bandaged/BandagedCreatorRenderer.java
@@ -74,7 +74,7 @@ public class BandagedCreatorRenderer implements GLSurfaceView.Renderer, Distorte
    private float mScaleValue;
    private float mQuatX, mQuatY, mQuatZ, mQuatW;
    private int mX, mY, mZ, mNumCubits;
-   private boolean mResetQuats, mSetQuatT, mResettingObject, mConnectingCubits;
+   private boolean mResetQuats, mSetQuatT, mResettingObject, mConnectingCubits, mCreatingCubits;
    private int mIndex1, mIndex2;
    private int mSaveIcon;
    private DistortedFramebuffer mFramebuffer;
@@ -96,6 +96,7 @@ public class BandagedCreatorRenderer implements GLSurfaceView.Renderer, Distorte
      mResettingObject  = false;
      mConnectingCubits = false;
      mCubitsCreated    = false;
+     mCreatingCubits   = false;
 
      mSaveIcon = -1;
 
@@ -135,8 +136,6 @@ public class BandagedCreatorRenderer implements GLSurfaceView.Renderer, Distorte
 
    private void createCubits()
      {
-     android.util.Log.e("D", "creating cubits : "+mX+" "+mY+" "+mZ);
-
      mCubits = new BandagedCubit[mNumCubits];
      int c=0;
 
@@ -237,6 +236,28 @@ public class BandagedCreatorRenderer implements GLSurfaceView.Renderer, Distorte
        mConnectingCubits = false;
        tryConnectingCubits(mIndex1,mIndex2);
        }
+
+     if( mCreatingCubits )
+       {
+       mCreatingCubits = false;
+
+       rescaleObject();
+
+       if( mCubitsCreated )
+         {
+         createCubits();
+
+         mScreen.detachAll();
+         mView.resetCubits();
+
+         for(int i=0; i<mNumCubits; i++)
+           {
+           mCubits[i].scaleMove(mScaleValue);
+           DistortedNode node = mCubits[i].getNode();
+           mScreen.attach(node);
+           }
+         }
+       }
      }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
@@ -519,6 +540,8 @@ public class BandagedCreatorRenderer implements GLSurfaceView.Renderer, Distorte
 
    private void rescaleObject()
      {
+     //final int min = mX<mY ? Math.min(mX, mZ) : Math.min(mY, mZ);
+     //final int size= (mX+mY+mZ-min)/2;
      final int size = mX>mY ? Math.max(mX, mZ) : Math.max(mY, mZ);
      final float Q = SCREEN_RATIO/size;
      mScaleValue = mWidth<mHeight ? Q*mWidth : Q*mHeight;
@@ -531,30 +554,13 @@ public class BandagedCreatorRenderer implements GLSurfaceView.Renderer, Distorte
      {
      if( mX!=x || mY!=y || mZ!=z )
        {
-       android.util.Log.e("D", "really changing object to : "+x+" "+y+" "+z);
-
        mX = x;
        mY = y;
        mZ = z;
 
-       rescaleObject();
-
        mNumCubits = computeNumCubits(mX,mY,mZ);
 
-       if( mCubitsCreated )
-         {
-         createCubits();
-
-         mScreen.detachAll();
-         mView.resetCubits();
-
-         for(int i=0; i<mNumCubits; i++)
-           {
-           mCubits[i].scaleMove(mScaleValue);
-           DistortedNode node = mCubits[i].getNode();
-           mScreen.attach(node);
-           }
-         }
+       mCreatingCubits = true;
        }
      }
 
