From d82a7f30ccd7d7f7eff2efd8c60529aefb0c3961 Mon Sep 17 00:00:00 2001
From: Stefan Richter <o-s-r1993@web.de>
Date: Thu, 28 Jul 2022 08:35:25 +0200
Subject: [PATCH] bypass pointer bug at StageRestart with Resetting Bypass in
 ToolModeSelector/Start()

---
 .../Gadgets/GadgetManager.cs                  |  5 +-
 .../InteractionEngine/Gadgets/Pointer.cs      |  4 +-
 Assets/Scripts/UI/HideUI_mobile.cs            |  2 +-
 .../Scripts/UI/InGame/GadgetManagerDelay.cs   |  4 +-
 .../InGame/IngameUI_OnOff_TouchControlMode.cs |  2 +-
 .../Scripts/UI/InGame/Pause_Menue_mobile.cs   |  2 +-
 .../UI/NetwMenue/LaunchMenue_mobile.cs        |  4 +-
 .../UI/NetwMenue/WaitingForLocalMMT.cs        |  4 +-
 Assets/Scripts/UI/ToolModeSelector.cs         |  2 +
 Assets/Stages/TechDemo A.JSON                 |  2 +-
 Assets/Stages/TechDemo B.JSON                 |  2 +-
 .../Stages/ValidationSets/TechDemo A_val.JSON |  1 +
 .../ValidationSets/TechDemo A_val.JSON.meta   |  2 +-
 .../Stages/ValidationSets/TechDemo B_val.JSON |  1 +
 .../ValidationSets/TechDemo B_val.JSON.meta   |  2 +-
 .../README_StreamingAssets.md.meta}           |  4 +-
 Assets/StreamingAssets/StreamToDataPath.meta  |  8 ++
 .../StreamToDataPath/cookie_dataPath.txt.meta |  7 ++
 .../StreamToDataPath_withHandler.meta         |  8 ++
 .../StreamToDataPath_withHandler/Stages.meta  |  8 ++
 .../Stages/ValidationSets.meta                |  2 +-
 .../StreamToPersistentDataPath.meta           |  8 ++
 .../StreamToPersistentDataPath/Config.meta    |  8 ++
 .../Config/Network.JSON.meta                  |  7 ++
 .../cookie_persistentDataPath.txt.meta        |  7 ++
 .../scrolls.json.meta                         |  7 ++
 Assets/cookie_dataPath.txt                    |  1 +
 ...o A.JSON.meta => cookie_dataPath.txt.meta} |  2 +-
 UserSettings/Layouts/default-2021.dwlt        | 96 +++++++++----------
 29 files changed, 143 insertions(+), 69 deletions(-)
 create mode 100644 Assets/Stages/ValidationSets/TechDemo A_val.JSON
 create mode 100644 Assets/Stages/ValidationSets/TechDemo B_val.JSON
 rename Assets/{Stages/TechDemo B.JSON.meta => StreamingAssets/README_StreamingAssets.md.meta} (62%)
 create mode 100644 Assets/StreamingAssets/StreamToDataPath.meta
 create mode 100644 Assets/StreamingAssets/StreamToDataPath/cookie_dataPath.txt.meta
 create mode 100644 Assets/StreamingAssets/StreamToDataPath_withHandler.meta
 create mode 100644 Assets/StreamingAssets/StreamToDataPath_withHandler/Stages.meta
 rename Assets/{ => StreamingAssets/StreamToDataPath_withHandler}/Stages/ValidationSets.meta (77%)
 create mode 100644 Assets/StreamingAssets/StreamToPersistentDataPath.meta
 create mode 100644 Assets/StreamingAssets/StreamToPersistentDataPath/Config.meta
 create mode 100644 Assets/StreamingAssets/StreamToPersistentDataPath/Config/Network.JSON.meta
 create mode 100644 Assets/StreamingAssets/StreamToPersistentDataPath/cookie_persistentDataPath.txt.meta
 create mode 100644 Assets/StreamingAssets/StreamToPersistentDataPath/scrolls.json.meta
 create mode 100644 Assets/cookie_dataPath.txt
 rename Assets/{Stages/TechDemo A.JSON.meta => cookie_dataPath.txt.meta} (75%)

diff --git a/Assets/Scripts/InteractionEngine/Gadgets/GadgetManager.cs b/Assets/Scripts/InteractionEngine/Gadgets/GadgetManager.cs
index 43467344..50004bf8 100644
--- a/Assets/Scripts/InteractionEngine/Gadgets/GadgetManager.cs
+++ b/Assets/Scripts/InteractionEngine/Gadgets/GadgetManager.cs
@@ -13,11 +13,10 @@ public class GadgetManager : MonoBehaviour
     // Start is called before the first frame update
     void Start()
     {
+        //Debug.Log("Start");
         if (FrameITUIversion_ID == UIconfig.FrameITUIversion)
         {
-            
-            Start2();
-            
+            Start2();  
         }
     }
     
diff --git a/Assets/Scripts/InteractionEngine/Gadgets/Pointer.cs b/Assets/Scripts/InteractionEngine/Gadgets/Pointer.cs
index 49ea699a..73dfcdcd 100644
--- a/Assets/Scripts/InteractionEngine/Gadgets/Pointer.cs
+++ b/Assets/Scripts/InteractionEngine/Gadgets/Pointer.cs
@@ -15,9 +15,11 @@ public class Pointer : Gadget
 
     public override void OnHit(RaycastHit hit)
     {
+        //Debug.Log("pointer1");
         if (!GadgetCanBeUsed) return;
-
+       
         if (!this.isActiveAndEnabled) return;
+        
         var pid = FactManager.AddPointFact(hit).Id;
 
         if (hit.transform.gameObject.layer == LayerMask.NameToLayer("Ray"))
diff --git a/Assets/Scripts/UI/HideUI_mobile.cs b/Assets/Scripts/UI/HideUI_mobile.cs
index 92748262..026e20a9 100644
--- a/Assets/Scripts/UI/HideUI_mobile.cs
+++ b/Assets/Scripts/UI/HideUI_mobile.cs
@@ -515,7 +515,7 @@ void CheckUI_Vis()
         }
         if (UIconfig.CanvasOnOff_Array[20] != 1 && UIconfig.CanvasOnOff_Array[14] != 1 && UIconfig.CanvasOnOff_Array[16] != 1)
         {
-            print("CheckHideUI_mobile");
+            //print("CheckHideUI_mobile");
             
             if (LockOnly)
             {
diff --git a/Assets/Scripts/UI/InGame/GadgetManagerDelay.cs b/Assets/Scripts/UI/InGame/GadgetManagerDelay.cs
index 711e6858..d910a27d 100644
--- a/Assets/Scripts/UI/InGame/GadgetManagerDelay.cs
+++ b/Assets/Scripts/UI/InGame/GadgetManagerDelay.cs
@@ -26,9 +26,9 @@ IEnumerator DelayRoutine()
         yield return new WaitForSeconds(1);
         //Activate ButtonGeneration 
         GobjWithGadgetManager.SetActive(true);
-        print("GadgetManagerSuccessfullDelayed");
+        //print("GadgetManagerSuccessfullDelayed");
         StopCoroutine(DelayRoutine());
-        print("Stopped:DelayRoutine()");
+        //print("Stopped:DelayRoutine()");
 
 
 
diff --git a/Assets/Scripts/UI/InGame/IngameUI_OnOff_TouchControlMode.cs b/Assets/Scripts/UI/InGame/IngameUI_OnOff_TouchControlMode.cs
index 0ef452af..8fbe6400 100644
--- a/Assets/Scripts/UI/InGame/IngameUI_OnOff_TouchControlMode.cs
+++ b/Assets/Scripts/UI/InGame/IngameUI_OnOff_TouchControlMode.cs
@@ -26,7 +26,7 @@ public class IngameUI_OnOff_TouchControlMode : MonoBehaviour
     void Start()
     {
 
-        print("hey");
+        //print("hey");
             Update();
         
     }
diff --git a/Assets/Scripts/UI/InGame/Pause_Menue_mobile.cs b/Assets/Scripts/UI/InGame/Pause_Menue_mobile.cs
index 2d50d18a..91cd8bcc 100644
--- a/Assets/Scripts/UI/InGame/Pause_Menue_mobile.cs
+++ b/Assets/Scripts/UI/InGame/Pause_Menue_mobile.cs
@@ -37,7 +37,7 @@ public class Pause_Menue_mobile : MonoBehaviour, IPointerDownHandler, IPointerUp
 
     void Start()
     {
-        print("here Adress: " +CommunicationEvents.ServerAdress);
+        //print("here Adress: " +CommunicationEvents.ServerAdress);
     }
 
     private void Update()
diff --git a/Assets/Scripts/UI/NetwMenue/LaunchMenue_mobile.cs b/Assets/Scripts/UI/NetwMenue/LaunchMenue_mobile.cs
index 481814ad..18abece6 100644
--- a/Assets/Scripts/UI/NetwMenue/LaunchMenue_mobile.cs
+++ b/Assets/Scripts/UI/NetwMenue/LaunchMenue_mobile.cs
@@ -93,8 +93,8 @@ public static void startNextSceneFunctionNewGame()
         NetworkJSON_Save();
         CommunicationEvents.ServerAdress = "http://" + CommunicationEvents.selecIP;
         CommunicationEvents.ServerRunning = true;
-        UnityEngine.Debug.Log("StartMainMenue");
-        UnityEngine.Debug.Log("CommunicationEvents.ServerAdress = " + CommunicationEvents.ServerAdress);
+        //UnityEngine.Debug.Log("StartMainMenue");
+        //UnityEngine.Debug.Log("CommunicationEvents.ServerAdress = " + CommunicationEvents.ServerAdress);
         SceneManager.LoadScene("MainMenue");
     }
 
diff --git a/Assets/Scripts/UI/NetwMenue/WaitingForLocalMMT.cs b/Assets/Scripts/UI/NetwMenue/WaitingForLocalMMT.cs
index 9d54d8e1..131cab99 100644
--- a/Assets/Scripts/UI/NetwMenue/WaitingForLocalMMT.cs
+++ b/Assets/Scripts/UI/NetwMenue/WaitingForLocalMMT.cs
@@ -38,12 +38,12 @@ void PrepareGame()
         {
 
             CommunicationEvents.ServerRunning = true;
-            UnityEngine.Debug.Log("set server runs");
+            //UnityEngine.Debug.Log("set server runs");
         }
         if (CommunicationEvents.ServerRunning == true)
         {
             CommunicationEvents.ServerAdress = CommunicationEvents.ServerAddressLocal;
-            UnityEngine.Debug.Log("StartMainMenue");
+            //UnityEngine.Debug.Log("StartMainMenue");
             SceneManager.LoadScene("MainMenue");
         }
 
diff --git a/Assets/Scripts/UI/ToolModeSelector.cs b/Assets/Scripts/UI/ToolModeSelector.cs
index c8546ca6..59334fb1 100644
--- a/Assets/Scripts/UI/ToolModeSelector.cs
+++ b/Assets/Scripts/UI/ToolModeSelector.cs
@@ -18,6 +18,8 @@ public class ToolModeSelector : MonoBehaviour
     // Start is called before the first frame update
     void Start()
     {
+        UIconfig.GadgetFirstUse = 0;
+        
         if (UIconfig.ToolModeSelector_HandlerMode == 1)
         {
             if (UIconfig.FrameITUIversion == 1)
diff --git a/Assets/Stages/TechDemo A.JSON b/Assets/Stages/TechDemo A.JSON
index 11ae4669..cd1135d7 100644
--- a/Assets/Stages/TechDemo A.JSON	
+++ b/Assets/Stages/TechDemo A.JSON	
@@ -1 +1 @@
-{"category":"Demo Category","number":1,"description":"Tree Stage","scene":"RiverWorld","use_install_folder":true,"solution":{"ValidationSet":[{"MasterIDs":["http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact2885"],"SolutionIndex":[],"RelationIndex":[],"ComparerString":"LineFactHightDirectionComparer"}],"FactDict":{"http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact2883":{"s_type":"PointFact","Point":{"x":0.0,"y":0.0,"z":0.0,"magnitude":0.0,"sqrMagnitude":0.0},"Normal":{"x":0.0,"y":1.0,"z":0.0,"magnitude":1.0,"sqrMagnitude":1.0},"Id":"http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact2883","Label":"A","hasCustomLabel":false,"LabelId":1},"http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact2884":{"s_type":"PointFact","Point":{"x":0.0,"y":6.0,"z":0.0,"normalized":{"x":0.0,"y":1.0,"z":0.0,"magnitude":1.0,"sqrMagnitude":1.0},"magnitude":6.0,"sqrMagnitude":36.0},"Normal":{"x":0.0,"y":1.0,"z":0.0,"magnitude":1.0,"sqrMagnitude":1.0},"Id":"http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact2884","Label":"B","hasCustomLabel":false,"LabelId":2},"http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact2885":{"s_type":"LineFact","Distance":6.0,"Pid1":"http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact2883","Pid2":"http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact2884","Dir":{"x":0.0,"y":1.0,"z":0.0,"magnitude":1.0,"sqrMagnitude":1.0},"Id":"http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact2885","Label":"[AB]","hasCustomLabel":false,"LabelId":0}},"MetaInf":{"http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact2883":{"workflow_id":0,"active":true},"http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact2884":{"workflow_id":1,"active":true},"http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact2885":{"workflow_id":2,"active":true}},"Workflow":[{"Id":"http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact2883","samestep":false,"steplink":3,"creation":true},{"Id":"http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact2884","samestep":true,"steplink":0,"creation":true},{"Id":"http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact2885","samestep":true,"steplink":0,"creation":true}],"marker":3,"worksteps":1,"backlog":0,"soft_resetted":false,"invoke":true,"MaxLabelId":2,"UnusedLabelIds":[],"name":null,"path":null},"name":"TechDemo A","path":null}
\ No newline at end of file
+{"category":"Demo Category","number":0,"name":"TechDemo A","description":"Tree Stage","scene":"RiverWorld","use_install_folder":true,"hierarchie":[],"player_record_list":{},"player_record":{"solved":false,"date":-8585431120627090841,"seconds":0.0,"name":"TechDemo A_save"}}
\ No newline at end of file
diff --git a/Assets/Stages/TechDemo B.JSON b/Assets/Stages/TechDemo B.JSON
index 93bff977..7439b8bf 100644
--- a/Assets/Stages/TechDemo B.JSON	
+++ b/Assets/Stages/TechDemo B.JSON	
@@ -1 +1 @@
-{"category":"Demo Category","number":2,"description":"River Stage","scene":"RiverWorld","use_install_folder":true,"solution":{"ValidationSet":[{"MasterIDs":["http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact2888"],"SolutionIndex":[],"RelationIndex":[],"ComparerString":"LineFactHightDirectionComparer"},{"MasterIDs":["http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact2888"],"SolutionIndex":[],"RelationIndex":[],"ComparerString":"LineSpanningOverRiverWorldComparer"},{"MasterIDs":[],"SolutionIndex":[1],"RelationIndex":[0],"ComparerString":"LineFactHightComparer"}],"FactDict":{"http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact2886":{"s_type":"PointFact","Point":{"x":0.0,"y":0.0,"z":0.0,"magnitude":0.0,"sqrMagnitude":0.0},"Normal":{"x":0.0,"y":1.0,"z":0.0,"magnitude":1.0,"sqrMagnitude":1.0},"Id":"http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact2886","Label":"A","hasCustomLabel":false,"LabelId":1},"http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact2887":{"s_type":"PointFact","Point":{"x":0.0,"y":6.0,"z":0.0,"normalized":{"x":0.0,"y":1.0,"z":0.0,"magnitude":1.0,"sqrMagnitude":1.0},"magnitude":6.0,"sqrMagnitude":36.0},"Normal":{"x":0.0,"y":1.0,"z":0.0,"magnitude":1.0,"sqrMagnitude":1.0},"Id":"http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact2887","Label":"B","hasCustomLabel":false,"LabelId":2},"http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact2888":{"s_type":"LineFact","Distance":6.0,"Pid1":"http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact2886","Pid2":"http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact2887","Dir":{"x":0.0,"y":1.0,"z":0.0,"magnitude":1.0,"sqrMagnitude":1.0},"Id":"http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact2888","Label":"[AB]","hasCustomLabel":false,"LabelId":0}},"MetaInf":{"http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact2886":{"workflow_id":0,"active":true},"http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact2887":{"workflow_id":1,"active":true},"http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact2888":{"workflow_id":2,"active":true}},"Workflow":[{"Id":"http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact2886","samestep":false,"steplink":3,"creation":true},{"Id":"http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact2887","samestep":true,"steplink":0,"creation":true},{"Id":"http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact2888","samestep":true,"steplink":0,"creation":true}],"marker":3,"worksteps":1,"backlog":0,"soft_resetted":false,"invoke":true,"MaxLabelId":2,"UnusedLabelIds":[],"name":null,"path":null},"name":"TechDemo B","path":null}
\ No newline at end of file
+{"category":"Demo Category","number":0,"name":"TechDemo B","description":"River Stage","scene":"RiverWorld","use_install_folder":true,"hierarchie":[],"player_record_list":{},"player_record":{"solved":false,"date":-8585431120621442457,"seconds":0.0,"name":"TechDemo B_save"}}
\ No newline at end of file
diff --git a/Assets/Stages/ValidationSets/TechDemo A_val.JSON b/Assets/Stages/ValidationSets/TechDemo A_val.JSON
new file mode 100644
index 00000000..90f2b9aa
--- /dev/null
+++ b/Assets/Stages/ValidationSets/TechDemo A_val.JSON	
@@ -0,0 +1 @@
+{"ValidationSet":[{"MasterIDs":["http://mathhub.info/FrameIT/frameworld?DefaultSituationSpace/SituationTheory1?fact354"],"SolutionIndex":[],"RelationIndex":[],"ComparerString":"LineFactHightDirectionComparer"}],"FactDict":{"http://mathhub.info/FrameIT/frameworld?DefaultSituationSpace/SituationTheory1?fact352":{"s_type":"PointFact","Point":{"x":0.0,"y":0.0,"z":0.0,"magnitude":0.0,"sqrMagnitude":0.0},"Normal":{"x":0.0,"y":1.0,"z":0.0,"magnitude":1.0,"sqrMagnitude":1.0},"Id":"http://mathhub.info/FrameIT/frameworld?DefaultSituationSpace/SituationTheory1?fact352","Label":"A","hasCustomLabel":false,"LabelId":1},"http://mathhub.info/FrameIT/frameworld?DefaultSituationSpace/SituationTheory1?fact353":{"s_type":"PointFact","Point":{"x":0.0,"y":6.0,"z":0.0,"normalized":{"x":0.0,"y":1.0,"z":0.0,"magnitude":1.0,"sqrMagnitude":1.0},"magnitude":6.0,"sqrMagnitude":36.0},"Normal":{"x":0.0,"y":1.0,"z":0.0,"magnitude":1.0,"sqrMagnitude":1.0},"Id":"http://mathhub.info/FrameIT/frameworld?DefaultSituationSpace/SituationTheory1?fact353","Label":"B","hasCustomLabel":false,"LabelId":2},"http://mathhub.info/FrameIT/frameworld?DefaultSituationSpace/SituationTheory1?fact354":{"s_type":"LineFact","Distance":6.0,"Pid1":"http://mathhub.info/FrameIT/frameworld?DefaultSituationSpace/SituationTheory1?fact352","Pid2":"http://mathhub.info/FrameIT/frameworld?DefaultSituationSpace/SituationTheory1?fact353","Dir":{"x":0.0,"y":1.0,"z":0.0,"magnitude":1.0,"sqrMagnitude":1.0},"Id":"http://mathhub.info/FrameIT/frameworld?DefaultSituationSpace/SituationTheory1?fact354","Label":"[AB]","hasCustomLabel":false,"LabelId":0}},"MetaInf":{"http://mathhub.info/FrameIT/frameworld?DefaultSituationSpace/SituationTheory1?fact352":{"workflow_id":0,"active":true},"http://mathhub.info/FrameIT/frameworld?DefaultSituationSpace/SituationTheory1?fact353":{"workflow_id":1,"active":true},"http://mathhub.info/FrameIT/frameworld?DefaultSituationSpace/SituationTheory1?fact354":{"workflow_id":2,"active":true}},"Workflow":[{"Id":"http://mathhub.info/FrameIT/frameworld?DefaultSituationSpace/SituationTheory1?fact352","samestep":false,"steplink":3,"creation":true},{"Id":"http://mathhub.info/FrameIT/frameworld?DefaultSituationSpace/SituationTheory1?fact353","samestep":true,"steplink":0,"creation":true},{"Id":"http://mathhub.info/FrameIT/frameworld?DefaultSituationSpace/SituationTheory1?fact354","samestep":true,"steplink":0,"creation":true}],"marker":3,"worksteps":1,"backlog":0,"soft_resetted":false,"invoke":false,"MaxLabelId":2,"UnusedLabelIds":[]}
\ No newline at end of file
diff --git a/Assets/Stages/ValidationSets/TechDemo A_val.JSON.meta b/Assets/Stages/ValidationSets/TechDemo A_val.JSON.meta
index adf8b652..e82db1a4 100644
--- a/Assets/Stages/ValidationSets/TechDemo A_val.JSON.meta	
+++ b/Assets/Stages/ValidationSets/TechDemo A_val.JSON.meta	
@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: a68a50c4fbf67b04e98165c21d086ea4
+guid: c1f88002b210dd4449cbaf8b9bb46003
 TextScriptImporter:
   externalObjects: {}
   userData: 
diff --git a/Assets/Stages/ValidationSets/TechDemo B_val.JSON b/Assets/Stages/ValidationSets/TechDemo B_val.JSON
new file mode 100644
index 00000000..73f36e24
--- /dev/null
+++ b/Assets/Stages/ValidationSets/TechDemo B_val.JSON	
@@ -0,0 +1 @@
+{"ValidationSet":[{"MasterIDs":["http://mathhub.info/FrameIT/frameworld?DefaultSituationSpace/SituationTheory1?fact357"],"SolutionIndex":[],"RelationIndex":[],"ComparerString":"LineFactHightDirectionComparer"},{"MasterIDs":["http://mathhub.info/FrameIT/frameworld?DefaultSituationSpace/SituationTheory1?fact357"],"SolutionIndex":[],"RelationIndex":[],"ComparerString":"LineSpanningOverRiverWorldComparer"},{"MasterIDs":[],"SolutionIndex":[1],"RelationIndex":[0],"ComparerString":"LineFactHightComparer"}],"FactDict":{"http://mathhub.info/FrameIT/frameworld?DefaultSituationSpace/SituationTheory1?fact355":{"s_type":"PointFact","Point":{"x":0.0,"y":0.0,"z":0.0,"magnitude":0.0,"sqrMagnitude":0.0},"Normal":{"x":0.0,"y":1.0,"z":0.0,"magnitude":1.0,"sqrMagnitude":1.0},"Id":"http://mathhub.info/FrameIT/frameworld?DefaultSituationSpace/SituationTheory1?fact355","Label":"A","hasCustomLabel":false,"LabelId":1},"http://mathhub.info/FrameIT/frameworld?DefaultSituationSpace/SituationTheory1?fact356":{"s_type":"PointFact","Point":{"x":0.0,"y":6.0,"z":0.0,"normalized":{"x":0.0,"y":1.0,"z":0.0,"magnitude":1.0,"sqrMagnitude":1.0},"magnitude":6.0,"sqrMagnitude":36.0},"Normal":{"x":0.0,"y":1.0,"z":0.0,"magnitude":1.0,"sqrMagnitude":1.0},"Id":"http://mathhub.info/FrameIT/frameworld?DefaultSituationSpace/SituationTheory1?fact356","Label":"B","hasCustomLabel":false,"LabelId":2},"http://mathhub.info/FrameIT/frameworld?DefaultSituationSpace/SituationTheory1?fact357":{"s_type":"LineFact","Distance":6.0,"Pid1":"http://mathhub.info/FrameIT/frameworld?DefaultSituationSpace/SituationTheory1?fact355","Pid2":"http://mathhub.info/FrameIT/frameworld?DefaultSituationSpace/SituationTheory1?fact356","Dir":{"x":0.0,"y":1.0,"z":0.0,"magnitude":1.0,"sqrMagnitude":1.0},"Id":"http://mathhub.info/FrameIT/frameworld?DefaultSituationSpace/SituationTheory1?fact357","Label":"[AB]","hasCustomLabel":false,"LabelId":0}},"MetaInf":{"http://mathhub.info/FrameIT/frameworld?DefaultSituationSpace/SituationTheory1?fact355":{"workflow_id":0,"active":true},"http://mathhub.info/FrameIT/frameworld?DefaultSituationSpace/SituationTheory1?fact356":{"workflow_id":1,"active":true},"http://mathhub.info/FrameIT/frameworld?DefaultSituationSpace/SituationTheory1?fact357":{"workflow_id":2,"active":true}},"Workflow":[{"Id":"http://mathhub.info/FrameIT/frameworld?DefaultSituationSpace/SituationTheory1?fact355","samestep":false,"steplink":3,"creation":true},{"Id":"http://mathhub.info/FrameIT/frameworld?DefaultSituationSpace/SituationTheory1?fact356","samestep":true,"steplink":0,"creation":true},{"Id":"http://mathhub.info/FrameIT/frameworld?DefaultSituationSpace/SituationTheory1?fact357","samestep":true,"steplink":0,"creation":true}],"marker":3,"worksteps":1,"backlog":0,"soft_resetted":false,"invoke":false,"MaxLabelId":2,"UnusedLabelIds":[]}
\ No newline at end of file
diff --git a/Assets/Stages/ValidationSets/TechDemo B_val.JSON.meta b/Assets/Stages/ValidationSets/TechDemo B_val.JSON.meta
index 8f86088c..7f8e7e62 100644
--- a/Assets/Stages/ValidationSets/TechDemo B_val.JSON.meta	
+++ b/Assets/Stages/ValidationSets/TechDemo B_val.JSON.meta	
@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: 9e94bd4e978e956409a167f0b9d7eef7
+guid: 8fe9258a5917e3c4f8935875a478ed20
 TextScriptImporter:
   externalObjects: {}
   userData: 
diff --git a/Assets/Stages/TechDemo B.JSON.meta b/Assets/StreamingAssets/README_StreamingAssets.md.meta
similarity index 62%
rename from Assets/Stages/TechDemo B.JSON.meta
rename to Assets/StreamingAssets/README_StreamingAssets.md.meta
index 3f314c02..98bd5cbe 100644
--- a/Assets/Stages/TechDemo B.JSON.meta	
+++ b/Assets/StreamingAssets/README_StreamingAssets.md.meta
@@ -1,6 +1,6 @@
 fileFormatVersion: 2
-guid: 61155bac0d422bd42bba9368cf492aa6
-TextScriptImporter:
+guid: e2e151db4f96b894db2773b00dab22cf
+DefaultImporter:
   externalObjects: {}
   userData: 
   assetBundleName: 
diff --git a/Assets/StreamingAssets/StreamToDataPath.meta b/Assets/StreamingAssets/StreamToDataPath.meta
new file mode 100644
index 00000000..f8f49fa4
--- /dev/null
+++ b/Assets/StreamingAssets/StreamToDataPath.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 2c31b390bc26b0348a244891f573c7b5
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/StreamingAssets/StreamToDataPath/cookie_dataPath.txt.meta b/Assets/StreamingAssets/StreamToDataPath/cookie_dataPath.txt.meta
new file mode 100644
index 00000000..a2bc960c
--- /dev/null
+++ b/Assets/StreamingAssets/StreamToDataPath/cookie_dataPath.txt.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: b2295653dd0acd1478dbcf793ac8762c
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/StreamingAssets/StreamToDataPath_withHandler.meta b/Assets/StreamingAssets/StreamToDataPath_withHandler.meta
new file mode 100644
index 00000000..8b66319c
--- /dev/null
+++ b/Assets/StreamingAssets/StreamToDataPath_withHandler.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: d4b09aaecee4db1449faa23b38381414
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/StreamingAssets/StreamToDataPath_withHandler/Stages.meta b/Assets/StreamingAssets/StreamToDataPath_withHandler/Stages.meta
new file mode 100644
index 00000000..6305ed3e
--- /dev/null
+++ b/Assets/StreamingAssets/StreamToDataPath_withHandler/Stages.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 08ca77ca3ac12c146ba9bfe942162be8
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Stages/ValidationSets.meta b/Assets/StreamingAssets/StreamToDataPath_withHandler/Stages/ValidationSets.meta
similarity index 77%
rename from Assets/Stages/ValidationSets.meta
rename to Assets/StreamingAssets/StreamToDataPath_withHandler/Stages/ValidationSets.meta
index 96e9abd9..c88ec4d7 100644
--- a/Assets/Stages/ValidationSets.meta
+++ b/Assets/StreamingAssets/StreamToDataPath_withHandler/Stages/ValidationSets.meta
@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: 63b411c1287cd9e4d891bf68fb264216
+guid: 8d41222b6b5b06f4983088c0bdf1b4c1
 folderAsset: yes
 DefaultImporter:
   externalObjects: {}
diff --git a/Assets/StreamingAssets/StreamToPersistentDataPath.meta b/Assets/StreamingAssets/StreamToPersistentDataPath.meta
new file mode 100644
index 00000000..9e9c727a
--- /dev/null
+++ b/Assets/StreamingAssets/StreamToPersistentDataPath.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 3520941a910c21e4ea26b432d9cfb6ff
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/StreamingAssets/StreamToPersistentDataPath/Config.meta b/Assets/StreamingAssets/StreamToPersistentDataPath/Config.meta
new file mode 100644
index 00000000..93a39e2f
--- /dev/null
+++ b/Assets/StreamingAssets/StreamToPersistentDataPath/Config.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: f96ea8acaa559a74492a29de4098ca6d
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/StreamingAssets/StreamToPersistentDataPath/Config/Network.JSON.meta b/Assets/StreamingAssets/StreamToPersistentDataPath/Config/Network.JSON.meta
new file mode 100644
index 00000000..0c68e977
--- /dev/null
+++ b/Assets/StreamingAssets/StreamToPersistentDataPath/Config/Network.JSON.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 3bc646e1ef5710c4983df86be28c8881
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/StreamingAssets/StreamToPersistentDataPath/cookie_persistentDataPath.txt.meta b/Assets/StreamingAssets/StreamToPersistentDataPath/cookie_persistentDataPath.txt.meta
new file mode 100644
index 00000000..64fe03d8
--- /dev/null
+++ b/Assets/StreamingAssets/StreamToPersistentDataPath/cookie_persistentDataPath.txt.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 387038d9b729e4240bb2a1b25db9262d
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/StreamingAssets/StreamToPersistentDataPath/scrolls.json.meta b/Assets/StreamingAssets/StreamToPersistentDataPath/scrolls.json.meta
new file mode 100644
index 00000000..26accb97
--- /dev/null
+++ b/Assets/StreamingAssets/StreamToPersistentDataPath/scrolls.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 3fd389b6980cdc4468de6666706c2ba9
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/cookie_dataPath.txt b/Assets/cookie_dataPath.txt
new file mode 100644
index 00000000..56a6051c
--- /dev/null
+++ b/Assets/cookie_dataPath.txt
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/Assets/Stages/TechDemo A.JSON.meta b/Assets/cookie_dataPath.txt.meta
similarity index 75%
rename from Assets/Stages/TechDemo A.JSON.meta
rename to Assets/cookie_dataPath.txt.meta
index 07a41910..98d6b2ed 100644
--- a/Assets/Stages/TechDemo A.JSON.meta	
+++ b/Assets/cookie_dataPath.txt.meta
@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: 218d2a96656c0084bbe511b0b0338d01
+guid: cf70b3394e7e5f34c9bf1f66e039c9fe
 TextScriptImporter:
   externalObjects: {}
   userData: 
diff --git a/UserSettings/Layouts/default-2021.dwlt b/UserSettings/Layouts/default-2021.dwlt
index c409aa1a..00eabc0a 100644
--- a/UserSettings/Layouts/default-2021.dwlt
+++ b/UserSettings/Layouts/default-2021.dwlt
@@ -67,8 +67,8 @@ MonoBehaviour:
     y: 0
     width: 640
     height: 661
-  m_MinSize: {x: 640, y: 580}
-  m_MaxSize: {x: 4000, y: 4000}
+  m_MinSize: {x: 640, y: 601}
+  m_MaxSize: {x: 4000, y: 4021}
   m_ActualView: {fileID: 15}
   m_Panes:
   - {fileID: 15}
@@ -97,7 +97,7 @@ MonoBehaviour:
   m_MinSize: {x: 640, y: 601}
   m_MaxSize: {x: 4000, y: 4021}
   vertical: 0
-  controlID: 15
+  controlID: 52
 --- !u!114 &5
 MonoBehaviour:
   m_ObjectHideFlags: 52
@@ -122,7 +122,7 @@ MonoBehaviour:
   m_MinSize: {x: 300, y: 200}
   m_MaxSize: {x: 24288, y: 16192}
   vertical: 0
-  controlID: 136
+  controlID: 223
 --- !u!114 &6
 MonoBehaviour:
   m_ObjectHideFlags: 52
@@ -138,9 +138,9 @@ MonoBehaviour:
   m_Children: []
   m_Position:
     serializedVersion: 2
-    x: 1640
+    x: 1484
     y: 0
-    width: 280
+    width: 436
     height: 987
   m_MinSize: {x: 275, y: 50}
   m_MaxSize: {x: 4000, y: 4000}
@@ -166,8 +166,8 @@ MonoBehaviour:
     serializedVersion: 2
     x: 0
     y: 0
-    width: 623
-    height: 342
+    width: 561
+    height: 588
   m_MinSize: {x: 201, y: 221}
   m_MaxSize: {x: 4001, y: 4021}
   m_ActualView: {fileID: 18}
@@ -191,11 +191,11 @@ MonoBehaviour:
   m_Position:
     serializedVersion: 2
     x: 0
-    y: 342
-    width: 1640
-    height: 645
-  m_MinSize: {x: 101, y: 121}
-  m_MaxSize: {x: 4001, y: 4021}
+    y: 588
+    width: 1484
+    height: 399
+  m_MinSize: {x: 100, y: 100}
+  m_MaxSize: {x: 4000, y: 4000}
   m_ActualView: {fileID: 21}
   m_Panes:
   - {fileID: 16}
@@ -292,12 +292,12 @@ MonoBehaviour:
     serializedVersion: 2
     x: 0
     y: 0
-    width: 1640
+    width: 1484
     height: 987
   m_MinSize: {x: 200, y: 200}
   m_MaxSize: {x: 16192, y: 16192}
   vertical: 1
-  controlID: 203
+  controlID: 166
 --- !u!114 &13
 MonoBehaviour:
   m_ObjectHideFlags: 52
@@ -317,12 +317,12 @@ MonoBehaviour:
     serializedVersion: 2
     x: 0
     y: 0
-    width: 1640
-    height: 342
+    width: 1484
+    height: 588
   m_MinSize: {x: 200, y: 100}
   m_MaxSize: {x: 16192, y: 8096}
   vertical: 0
-  controlID: 204
+  controlID: 167
 --- !u!114 &14
 MonoBehaviour:
   m_ObjectHideFlags: 52
@@ -338,12 +338,12 @@ MonoBehaviour:
   m_Children: []
   m_Position:
     serializedVersion: 2
-    x: 623
+    x: 561
     y: 0
-    width: 1017
-    height: 342
-  m_MinSize: {x: 202, y: 221}
-  m_MaxSize: {x: 4002, y: 4021}
+    width: 923
+    height: 588
+  m_MinSize: {x: 200, y: 200}
+  m_MaxSize: {x: 4000, y: 4000}
   m_ActualView: {fileID: 20}
   m_Panes:
   - {fileID: 19}
@@ -457,7 +457,7 @@ MonoBehaviour:
     scrollPos: {x: 0, y: 573}
     m_SelectedIDs: 4c720100
     m_LastClickedID: 94796
-    m_ExpandedIDs: 00000000a67d0000a87d0000aa7d0000ac7d0000ae7d0000b07d0000b27d0000b47d0000b67d0000b87d0000ba7d0000bc7d0000be7d0000c07d0000c27d0000c47d0000c67d0000c87d0000ca7d0000cc7d0000ce7d0000d07d0000d27d0000
+    m_ExpandedIDs: 00000000cc7e0000ce7e0000d07e0000d27e0000d47e0000d67e0000d87e0000da7e0000dc7e0000de7e0000e07e0000e27e0000e47e0000e67e0000e87e0000ea7e0000ec7e0000ee7e0000f07e0000f27e0000f47e0000f67e0000f87e0000
     m_RenameOverlay:
       m_UserAcceptedRename: 0
       m_Name: 
@@ -485,7 +485,7 @@ MonoBehaviour:
     scrollPos: {x: 0, y: 0}
     m_SelectedIDs: 
     m_LastClickedID: 0
-    m_ExpandedIDs: 00000000a67d0000a87d0000aa7d0000ac7d0000ae7d0000b07d0000b27d0000b47d0000b67d0000b87d0000ba7d0000bc7d0000be7d0000c07d0000c27d0000c47d0000c67d0000c87d0000ca7d0000cc7d0000ce7d0000d07d0000d27d0000
+    m_ExpandedIDs: 00000000cc7e0000ce7e0000d07e0000d27e0000d47e0000d67e0000d87e0000da7e0000dc7e0000de7e0000e07e0000e27e0000e47e0000e67e0000e87e0000ea7e0000ec7e0000ee7e0000f07e0000f27e0000f47e0000f67e0000f87e0000
     m_RenameOverlay:
       m_UserAcceptedRename: 0
       m_Name: 
@@ -562,9 +562,9 @@ MonoBehaviour:
     m_Tooltip: 
   m_Pos:
     serializedVersion: 2
-    x: -280
+    x: -436
     y: 73
-    width: 279
+    width: 435
     height: 966
   m_ViewDataDictionary: {fileID: 0}
   m_OverlayCanvas:
@@ -606,8 +606,8 @@ MonoBehaviour:
     serializedVersion: 2
     x: -1920
     y: 73
-    width: 622
-    height: 321
+    width: 560
+    height: 567
   m_ViewDataDictionary: {fileID: 0}
   m_OverlayCanvas:
     m_LastAppliedPresetName: Default
@@ -615,9 +615,9 @@ MonoBehaviour:
   m_SceneHierarchy:
     m_TreeViewState:
       scrollPos: {x: 0, y: 0}
-      m_SelectedIDs: 
+      m_SelectedIDs: f8d8fbff
       m_LastClickedID: 0
-      m_ExpandedIDs: 02fbffff
+      m_ExpandedIDs: c8c9fbff02cdfbff08cdfbff0ad9fbff14d9fbff26d9fbff2cd9fbff34d9fbff7edafbff88dafbff8edafbff92dafbff040cfcff8cdafcff90dafcff96dafcfff4dbfcff34dffcffaaecfcffb4ecfcffbaecfcffbeecfcffd00cfdff301efdfff429fffffa29ffff8437fffff668ffff6473ffff6a73fffff480ffff66b2ffff9afaffffccfaffffa6630000d8980100
       m_RenameOverlay:
         m_UserAcceptedRename: 0
         m_Name: 
@@ -990,10 +990,10 @@ MonoBehaviour:
     m_Tooltip: 
   m_Pos:
     serializedVersion: 2
-    x: -1297
+    x: -1359
     y: 73
-    width: 1015
-    height: 321
+    width: 921
+    height: 567
   m_ViewDataDictionary: {fileID: 0}
   m_OverlayCanvas:
     m_LastAppliedPresetName: Default
@@ -1028,7 +1028,7 @@ MonoBehaviour:
     m_VAllowExceedBaseRangeMin: 1
     m_VAllowExceedBaseRangeMax: 1
     m_ScaleWithWindow: 0
-    m_HSlider: 0
+    m_HSlider: 1
     m_VSlider: 0
     m_IgnoreScrollWheelUntilClicked: 0
     m_EnableMouseInput: 1
@@ -1040,23 +1040,23 @@ MonoBehaviour:
       serializedVersion: 2
       x: 0
       y: 21
-      width: 1015
-      height: 300
-    m_Scale: {x: 0.2777778, y: 0.2777778}
-    m_Translation: {x: 507.5, y: 150}
+      width: 921
+      height: 546
+    m_Scale: {x: 0.47968754, y: 0.47968754}
+    m_Translation: {x: 460.5, y: 273}
     m_MarginLeft: 0
     m_MarginRight: 0
     m_MarginTop: 0
     m_MarginBottom: 0
     m_LastShownAreaInsideMargins:
       serializedVersion: 2
-      x: -1826.9999
-      y: -540
-      width: 3653.9998
-      height: 1080
+      x: -959.99994
+      y: -569.1205
+      width: 1919.9999
+      height: 1138.241
     m_MinimalGUI: 1
-  m_defaultScale: 0.2777778
-  m_LastWindowPixelSize: {x: 1015, y: 321}
+  m_defaultScale: 0.4796875
+  m_LastWindowPixelSize: {x: 921, y: 567}
   m_ClearInEditMode: 1
   m_NoCameraWarning: 1
   m_LowResolutionForAspectRatios: 01000000000000000000
@@ -1084,9 +1084,9 @@ MonoBehaviour:
   m_Pos:
     serializedVersion: 2
     x: -1920
-    y: 415
-    width: 1639
-    height: 624
+    y: 661
+    width: 1483
+    height: 378
   m_ViewDataDictionary: {fileID: 0}
   m_OverlayCanvas:
     m_LastAppliedPresetName: Default
-- 
GitLab