diff --git a/Assets/Resources/Prefabs/UI/Facts/Factscreen.prefab b/Assets/Resources/Prefabs/UI/Facts/Factscreen.prefab
index 06736f98d68a5a483c29bd8cb80a957ba9a67e33..7b119fb2a243aa912d870559f3e1c0e9d306b3db 100644
--- a/Assets/Resources/Prefabs/UI/Facts/Factscreen.prefab
+++ b/Assets/Resources/Prefabs/UI/Facts/Factscreen.prefab
@@ -342,6 +342,7 @@ MonoBehaviour:
   - FactWrappedCRTP`1[T]
   - FunctionCallFact
   - FunctionFact
+  - GeneralFact
   - LineFact
   - ListFact
   - OnCircleFact
@@ -355,6 +356,7 @@ MonoBehaviour:
   - RealLitFact
   - RightAngleFact
   - TestFact
+  - TriangleFact
   - TruncatedConeVolumeFact
   - TupleFact
   - UnEqualCirclesFact
@@ -376,6 +378,7 @@ MonoBehaviour:
   - {fileID: 2846439484187545958, guid: 5dc76e187eae4214697491bfb42773e8, type: 3}
   - {fileID: 2846439484187545958, guid: 5dc76e187eae4214697491bfb42773e8, type: 3}
   - {fileID: 2846439484187545958, guid: 5dc76e187eae4214697491bfb42773e8, type: 3}
+  - {fileID: 2846439484187545958, guid: 5dc76e187eae4214697491bfb42773e8, type: 3}
   - {fileID: 4221381813544557775, guid: 8106c748f1aeb084d87fdc71dd009b67, type: 3}
   - {fileID: 2846439484187545958, guid: 5dc76e187eae4214697491bfb42773e8, type: 3}
   - {fileID: 2115817999818309900, guid: df93bd4d977e4ab42a626f7bd06596d6, type: 3}
@@ -389,6 +392,7 @@ MonoBehaviour:
   - {fileID: 2846439484187545958, guid: 5dc76e187eae4214697491bfb42773e8, type: 3}
   - {fileID: 3080888058940174091, guid: 389563c758e86d848b3341576b90b7e4, type: 3}
   - {fileID: 2846439484187545958, guid: 5dc76e187eae4214697491bfb42773e8, type: 3}
+  - {fileID: 2846439484187545958, guid: 5dc76e187eae4214697491bfb42773e8, type: 3}
   - {fileID: 4123133807278660472, guid: 9d0019fa4b5725a49bdfc78c4d67661e, type: 3}
   - {fileID: 2846439484187545958, guid: 5dc76e187eae4214697491bfb42773e8, type: 3}
   - {fileID: 5769925203401971992, guid: 047cd3a517f781846a1f983394b4bb7b, type: 3}
@@ -503,7 +507,7 @@ RectTransform:
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0, y: 1}
   m_AnchorMax: {x: 1, y: 1}
-  m_AnchoredPosition: {x: 0, y: -5880}
+  m_AnchoredPosition: {x: 0, y: 0}
   m_SizeDelta: {x: 0, y: 0}
   m_Pivot: {x: 0.5, y: 1}
 --- !u!114 &8823539307371861913
diff --git a/Assets/Resources/Prefabs/UI/Scrolls/ScollFactContainer.prefab b/Assets/Resources/Prefabs/UI/Scrolls/ScollFactContainer.prefab
index 6fd3e3cc8fb4ab4410d334fdd848683102b1443f..7aa6445cc30b8d5f014a9a154baf608facdaf80d 100644
--- a/Assets/Resources/Prefabs/UI/Scrolls/ScollFactContainer.prefab
+++ b/Assets/Resources/Prefabs/UI/Scrolls/ScollFactContainer.prefab
@@ -1,5 +1,141 @@
 %YAML 1.1
 %TAG !u! tag:unity3d.com,2011:
+--- !u!1 &6483299340260834509
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 8620863904218442413}
+  - component: {fileID: 2003364919276171037}
+  - component: {fileID: 877914440072701705}
+  m_Layer: 5
+  m_Name: Text
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &8620863904218442413
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6483299340260834509}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 7249550241351237421}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 90, y: 90}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &2003364919276171037
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6483299340260834509}
+  m_CullTransparentMesh: 1
+--- !u!114 &877914440072701705
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6483299340260834509}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_text: Select for manual input
+  m_isRightToLeft: 0
+  m_fontAsset: {fileID: 11400000, guid: 3bce71b32a876f54e96869a29b46e150, type: 2}
+  m_sharedMaterial: {fileID: 5290021301827705759, guid: 3bce71b32a876f54e96869a29b46e150,
+    type: 2}
+  m_fontSharedMaterials: []
+  m_fontMaterial: {fileID: 0}
+  m_fontMaterials: []
+  m_fontColor32:
+    serializedVersion: 2
+    rgba: 4294967295
+  m_fontColor: {r: 1, g: 1, b: 1, a: 1}
+  m_enableVertexGradient: 0
+  m_colorMode: 3
+  m_fontColorGradient:
+    topLeft: {r: 1, g: 1, b: 1, a: 1}
+    topRight: {r: 1, g: 1, b: 1, a: 1}
+    bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+    bottomRight: {r: 1, g: 1, b: 1, a: 1}
+  m_fontColorGradientPreset: {fileID: 0}
+  m_spriteAsset: {fileID: 0}
+  m_tintAllSprites: 0
+  m_StyleSheet: {fileID: 0}
+  m_TextStyleHashCode: -1183493901
+  m_overrideHtmlColors: 0
+  m_faceColor:
+    serializedVersion: 2
+    rgba: 4294967295
+  m_fontSize: 19.5
+  m_fontSizeBase: 36
+  m_fontWeight: 400
+  m_enableAutoSizing: 1
+  m_fontSizeMin: 18
+  m_fontSizeMax: 72
+  m_fontStyle: 0
+  m_HorizontalAlignment: 2
+  m_VerticalAlignment: 512
+  m_textAlignment: 65535
+  m_characterSpacing: 0
+  m_wordSpacing: 0
+  m_lineSpacing: 0
+  m_lineSpacingMax: 0
+  m_paragraphSpacing: 0
+  m_charWidthMaxAdj: 0
+  m_enableWordWrapping: 1
+  m_wordWrappingRatios: 0.4
+  m_overflowMode: 1
+  m_linkedTextComponent: {fileID: 0}
+  parentLinkedComponent: {fileID: 0}
+  m_enableKerning: 1
+  m_enableExtraPadding: 0
+  checkPaddingRequired: 0
+  m_isRichText: 1
+  m_parseCtrlCharacters: 1
+  m_isOrthographic: 1
+  m_isCullingEnabled: 0
+  m_horizontalMapping: 0
+  m_verticalMapping: 0
+  m_uvLineOffset: 0
+  m_geometrySortingOrder: 0
+  m_IsTextObjectScaleStatic: 0
+  m_VertexBufferAutoSizeReduction: 0
+  m_useMaxVisibleDescender: 1
+  m_pageToDisplay: 1
+  m_margin: {x: 0, y: 0, z: 0, w: 0}
+  m_isUsingLegacyAnimationComponent: 0
+  m_isVolumetricText: 0
+  m_hasFontAssetChanged: 0
+  m_baseMaterial: {fileID: 0}
+  m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
 --- !u!1 &8260792079148133554
 GameObject:
   m_ObjectHideFlags: 0
@@ -11,6 +147,7 @@ GameObject:
   - component: {fileID: 7249550241351237421}
   - component: {fileID: 3905790850577996765}
   - component: {fileID: 1086451024575209643}
+  - component: {fileID: 490507489304150624}
   m_Layer: 5
   m_Name: ScollFactContainer
   m_TagString: Untagged
@@ -29,7 +166,8 @@ RectTransform:
   m_LocalPosition: {x: 0, y: 0, z: 0}
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_ConstrainProportionsScale: 0
-  m_Children: []
+  m_Children:
+  - {fileID: 8620863904218442413}
   m_Father: {fileID: 0}
   m_RootOrder: 0
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@@ -45,7 +183,7 @@ CanvasRenderer:
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 8260792079148133554}
-  m_CullTransparentMesh: 0
+  m_CullTransparentMesh: 1
 --- !u!114 &1086451024575209643
 MonoBehaviour:
   m_ObjectHideFlags: 0
@@ -76,3 +214,101 @@ MonoBehaviour:
   m_FillOrigin: 0
   m_UseSpriteMesh: 0
   m_PixelsPerUnitMultiplier: 1
+--- !u!114 &490507489304150624
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8260792079148133554}
+  m_Enabled: 0
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 2da0c512f12947e489f739169773d7ca, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_WrapAround: 0
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+    m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+    m_ColorMultiplier: 1
+    m_FadeDuration: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_SelectedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_SelectedTrigger: Selected
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 1086451024575209643}
+  m_TextViewport: {fileID: 7249550241351237421}
+  m_TextComponent: {fileID: 0}
+  m_Placeholder: {fileID: 0}
+  m_VerticalScrollbar: {fileID: 0}
+  m_VerticalScrollbarEventHandler: {fileID: 0}
+  m_LayoutGroup: {fileID: 0}
+  m_ScrollSensitivity: 1
+  m_ContentType: 3
+  m_InputType: 0
+  m_AsteriskChar: 42
+  m_KeyboardType: 2
+  m_LineType: 0
+  m_HideMobileInput: 0
+  m_HideSoftKeyboard: 0
+  m_CharacterValidation: 3
+  m_RegexValue: 
+  m_GlobalPointSize: 600
+  m_CharacterLimit: 0
+  m_OnEndEdit:
+    m_PersistentCalls:
+      m_Calls: []
+  m_OnSubmit:
+    m_PersistentCalls:
+      m_Calls: []
+  m_OnSelect:
+    m_PersistentCalls:
+      m_Calls: []
+  m_OnDeselect:
+    m_PersistentCalls:
+      m_Calls: []
+  m_OnTextSelection:
+    m_PersistentCalls:
+      m_Calls: []
+  m_OnEndTextSelection:
+    m_PersistentCalls:
+      m_Calls: []
+  m_OnValueChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_OnTouchScreenKeyboardStatusChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+  m_CustomCaretColor: 0
+  m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412}
+  m_Text: Select for manual input
+  m_CaretBlinkRate: 0.85
+  m_CaretWidth: 1
+  m_ReadOnly: 0
+  m_RichText: 0
+  m_GlobalFontAsset: {fileID: 0}
+  m_OnFocusSelectAll: 1
+  m_ResetOnDeActivation: 1
+  m_RestoreOriginalTextOnEscape: 1
+  m_isRichTextEditingAllowed: 0
+  m_LineLimit: 0
+  m_InputValidator: {fileID: 0}
diff --git a/Assets/Resources/Prefabs/UI/Scrolls/ScrollParameterDisplay.prefab b/Assets/Resources/Prefabs/UI/Scrolls/ScrollParameterDisplay.prefab
index 1b08e37322a5cc360d3177c0ab5671c20da104b2..902571ad50de6225c66a6862b25f3bd15a8762c0 100644
--- a/Assets/Resources/Prefabs/UI/Scrolls/ScrollParameterDisplay.prefab
+++ b/Assets/Resources/Prefabs/UI/Scrolls/ScrollParameterDisplay.prefab
@@ -212,6 +212,81 @@ PrefabInstance:
       propertyPath: availableHintButtonColor.r
       value: 0.9529412
       objectReference: {fileID: 0}
+    - target: {fileID: 1645520638518015856, guid: 0f75dbd3f5b33b040948ba58d3b90cb0,
+        type: 3}
+      propertyPath: m_Text
+      value: Select
+      objectReference: {fileID: 0}
+    - target: {fileID: 1645520638518015856, guid: 0f75dbd3f5b33b040948ba58d3b90cb0,
+        type: 3}
+      propertyPath: m_Enabled
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 1645520638518015856, guid: 0f75dbd3f5b33b040948ba58d3b90cb0,
+        type: 3}
+      propertyPath: m_LineType
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 1645520638518015856, guid: 0f75dbd3f5b33b040948ba58d3b90cb0,
+        type: 3}
+      propertyPath: m_InputType
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 1645520638518015856, guid: 0f75dbd3f5b33b040948ba58d3b90cb0,
+        type: 3}
+      propertyPath: m_ContentType
+      value: 3
+      objectReference: {fileID: 0}
+    - target: {fileID: 1645520638518015856, guid: 0f75dbd3f5b33b040948ba58d3b90cb0,
+        type: 3}
+      propertyPath: m_KeyboardType
+      value: 2
+      objectReference: {fileID: 0}
+    - target: {fileID: 1645520638518015856, guid: 0f75dbd3f5b33b040948ba58d3b90cb0,
+        type: 3}
+      propertyPath: m_TextComponent
+      value: 
+      objectReference: {fileID: 8028679491023155097}
+    - target: {fileID: 1645520638518015856, guid: 0f75dbd3f5b33b040948ba58d3b90cb0,
+        type: 3}
+      propertyPath: m_CharacterValidation
+      value: 3
+      objectReference: {fileID: 0}
+    - target: {fileID: 1645520638518015856, guid: 0f75dbd3f5b33b040948ba58d3b90cb0,
+        type: 3}
+      propertyPath: m_OnEndEdit.m_PersistentCalls.m_Calls.Array.size
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 1645520638518015856, guid: 0f75dbd3f5b33b040948ba58d3b90cb0,
+        type: 3}
+      propertyPath: m_OnEndEdit.m_PersistentCalls.m_Calls.Array.data[0].m_Mode
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 1645520638518015856, guid: 0f75dbd3f5b33b040948ba58d3b90cb0,
+        type: 3}
+      propertyPath: m_OnEndEdit.m_PersistentCalls.m_Calls.Array.data[0].m_Target
+      value: 
+      objectReference: {fileID: 6955576155660626993}
+    - target: {fileID: 1645520638518015856, guid: 0f75dbd3f5b33b040948ba58d3b90cb0,
+        type: 3}
+      propertyPath: m_OnEndEdit.m_PersistentCalls.m_Calls.Array.data[0].m_CallState
+      value: 2
+      objectReference: {fileID: 0}
+    - target: {fileID: 1645520638518015856, guid: 0f75dbd3f5b33b040948ba58d3b90cb0,
+        type: 3}
+      propertyPath: m_OnEndEdit.m_PersistentCalls.m_Calls.Array.data[0].m_MethodName
+      value: OnTextChange
+      objectReference: {fileID: 0}
+    - target: {fileID: 1645520638518015856, guid: 0f75dbd3f5b33b040948ba58d3b90cb0,
+        type: 3}
+      propertyPath: m_OnEndEdit.m_PersistentCalls.m_Calls.Array.data[0].m_TargetAssemblyTypeName
+      value: RenderedScrollFact, Assembly-CSharp
+      objectReference: {fileID: 0}
+    - target: {fileID: 1645520638518015856, guid: 0f75dbd3f5b33b040948ba58d3b90cb0,
+        type: 3}
+      propertyPath: m_OnEndEdit.m_PersistentCalls.m_Calls.Array.data[0].m_Arguments.m_ObjectArgumentAssemblyTypeName
+      value: UnityEngine.Object, UnityEngine
+      objectReference: {fileID: 0}
     - target: {fileID: 1686984722580339795, guid: 0f75dbd3f5b33b040948ba58d3b90cb0,
         type: 3}
       propertyPath: m_fontSize
@@ -269,6 +344,31 @@ PrefabInstance:
       propertyPath: m_firstOverflowCharacterIndex
       value: -1
       objectReference: {fileID: 0}
+    - target: {fileID: 2032894965250265625, guid: 0f75dbd3f5b33b040948ba58d3b90cb0,
+        type: 3}
+      propertyPath: m_text
+      value: Select
+      objectReference: {fileID: 0}
+    - target: {fileID: 2032894965250265625, guid: 0f75dbd3f5b33b040948ba58d3b90cb0,
+        type: 3}
+      propertyPath: m_fontSize
+      value: 31.8
+      objectReference: {fileID: 0}
+    - target: {fileID: 2032894965250265625, guid: 0f75dbd3f5b33b040948ba58d3b90cb0,
+        type: 3}
+      propertyPath: m_enableWordWrapping
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 3274989769232368477, guid: 0f75dbd3f5b33b040948ba58d3b90cb0,
+        type: 3}
+      propertyPath: m_text
+      value: "Select for manual input\u200B"
+      objectReference: {fileID: 0}
+    - target: {fileID: 3274989769232368477, guid: 0f75dbd3f5b33b040948ba58d3b90cb0,
+        type: 3}
+      propertyPath: m_fontSize
+      value: 190
+      objectReference: {fileID: 0}
     - target: {fileID: 5738028260646118123, guid: 0f75dbd3f5b33b040948ba58d3b90cb0,
         type: 3}
       propertyPath: m_IsActive
@@ -317,6 +417,9 @@ PrefabInstance:
     m_RemovedComponents:
     - {fileID: 6410099383612658499, guid: 0f75dbd3f5b33b040948ba58d3b90cb0, type: 3}
     - {fileID: 3165625469853059737, guid: 0f75dbd3f5b33b040948ba58d3b90cb0, type: 3}
+    - {fileID: 3274989769232368477, guid: 0f75dbd3f5b33b040948ba58d3b90cb0, type: 3}
+    - {fileID: 3622042221310551250, guid: 0f75dbd3f5b33b040948ba58d3b90cb0, type: 3}
+    - {fileID: 193598053487930963, guid: 0f75dbd3f5b33b040948ba58d3b90cb0, type: 3}
   m_SourcePrefab: {fileID: 100100000, guid: 0f75dbd3f5b33b040948ba58d3b90cb0, type: 3}
 --- !u!1 &3132340118756441274 stripped
 GameObject:
@@ -421,3 +524,27 @@ MonoBehaviour:
   m_hasFontAssetChanged: 0
   m_baseMaterial: {fileID: 0}
   m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!114 &6955576155660626993 stripped
+MonoBehaviour:
+  m_CorrespondingSourceObject: {fileID: 1430730640409366961, guid: 0f75dbd3f5b33b040948ba58d3b90cb0,
+    type: 3}
+  m_PrefabInstance: {fileID: 8313031688112979328}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 93aede1a33263ef44a354960618fe997, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+--- !u!114 &8028679491023155097 stripped
+MonoBehaviour:
+  m_CorrespondingSourceObject: {fileID: 2032894965250265625, guid: 0f75dbd3f5b33b040948ba58d3b90cb0,
+    type: 3}
+  m_PrefabInstance: {fileID: 8313031688112979328}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
diff --git a/Assets/Scripts/InteractionEngine/FactHandling/FactWrapper/RenderedScrollFact.cs b/Assets/Scripts/InteractionEngine/FactHandling/FactWrapper/RenderedScrollFact.cs
index 058a8badc86a23dc6a879a3c277e511e5074b724..26f2efd33a8f2b8f40da052497cd403ea1ffa7ae 100644
--- a/Assets/Scripts/InteractionEngine/FactHandling/FactWrapper/RenderedScrollFact.cs
+++ b/Assets/Scripts/InteractionEngine/FactHandling/FactWrapper/RenderedScrollFact.cs
@@ -1,11 +1,11 @@
-using MoreLinq;
-using REST_JSON_API;
+using REST_JSON_API;
 using System.Collections.Generic;
 using TMPro;
 using UnityEngine;
 using UnityEngine.EventSystems;
 using static CommunicationEvents;
 
+[RequireComponent(typeof(TMP_InputField))]
 public class RenderedScrollFact : FactObjectUI, IDropHandler
 {
     #region Serializable
@@ -14,7 +14,7 @@ public class RenderedScrollFact : FactObjectUI, IDropHandler
     #endregion Serializable
 
     #region Properties
-    public int ID 
+    public int ID
         => Scroll.requiredFacts.FindIndex(f => f.@ref.uri == ScrollFactURI);
 
     public Scroll Scroll
@@ -44,27 +44,60 @@ public string ScrollFactURI
 
     public string ScrollFactLabel
         => LabelMesh.text;
+
+    private TMP_InputField _InputField;
+
+    public string RequiredType
+        => Scroll.requiredFacts[ID].getType();
     #endregion Properties
 
-    protected override void FactUpdated()
+    protected override void _Awake()
     {
-        _URI ??= ScrollFactURI;
-        Destroy(_Payload);
+        base._Awake();
 
-        NewAssignmentEvent.Invoke();
+        _InputField = gameObject.GetComponent<TMP_InputField>();
+        _InputField.textComponent.gameObject.SetActive(true);
+    }
 
+    protected override void FactUpdated()
+    {
+        _URI ??= ScrollFactURI;
         if (VerboseURI)
             Debug.Log(nameof(RenderedScrollFact) + " recieved Fact: " + URI);
 
+        NewAssignmentEvent.Invoke();
+        ResetPayload();
         base.FactUpdated();
     }
 
-    protected override void _DeleteFactEvent(Fact fact) 
+    private void ResetPayload()
+    {
+        Destroy(_Payload);
+
+        _InputField.enabled = _InputField.textComponent.enabled =
+              !IsSet
+            && (RequiredType == MMTConstants.RealLit
+             || string.IsNullOrEmpty(RequiredType));
+
+        _InputField.SetTextWithoutNotify("R");
+
+        if (DisplayFacts.displayedFacts.TryGetValue(URI, out GameObject fact_display))
+        {
+            _Payload = // has to be: ..., Vector3.zero, Quaternion.identity => SetParent
+                Instantiate(fact_display, Vector3.zero, Quaternion.identity);
+
+            _Payload.transform.SetParent(gameObject.transform, worldPositionStays: false);
+            _Payload.GetComponent<CanvasGroup>().blocksRaycasts = true; // Reverse drag effect, if any
+        }
+    }
+
+    protected override void _DeleteFactEvent(Fact fact)
         => Fact = null; // calls NewAssignmentEvent.Invoke();
 
     protected override void _OnEnable()
     {
         HintAvailableEvent.AddListener(OnHintAvailable);
+        ResetPayload();
     }
 
     protected override void _OnDisable()
@@ -77,6 +110,8 @@ public void Populate(Scroll scroll, string scroll_fact_uri)
         _Scroll = scroll;
         _ScrollFactURI = scroll_fact_uri;
         _URI = ScrollFactURI;
+
+        ResetPayload();
     }
 
     private void SetLabel(string label)
@@ -94,6 +129,14 @@ public void OnHintAvailable(List<string> uris)
         HintButton.SetActive(uris.Contains(ScrollFactURI));
     }
 
+    public void OnTextChange()
+    {
+        if (!float.TryParse(_InputField.text, out float input))
+            return;
+
+        Fact = FactAdder.AddFactIfNotFound(new RealLitFact(input), out _, false, null, "Manual User Input");
+    }
+
     #region DropHandling 
     public FactObjectUI Payload
         => _Payload == null ? null : _Payload.GetComponent<FactObjectUI>();
@@ -114,12 +157,6 @@ public void SetByFactObject(FactObjectUI fOUI)
             Debug.Log(Fact.GetLabel(StageStatic.stage.factState) + " was dropped on "
                 + gameObject.name + " " + (ID + 1) + "/" +
                 ScrollDetails.ParameterDisplays.Count + " label: " + ScrollFactLabel);
-
-        _Payload = // has to be: ..., Vector3.zero, Quaternion.identity => SetParent
-            Instantiate(fOUI.gameObject, Vector3.zero, Quaternion.identity);
-
-        _Payload.transform.SetParent(gameObject.transform, worldPositionStays: false);
-        _Payload.GetComponent<CanvasGroup>().blocksRaycasts = true; // Reverse drag effect
     }
     #endregion DropHandling 
 }
diff --git a/Assets/Scripts/InventoryStuff/DisplayScrolls.cs b/Assets/Scripts/InventoryStuff/DisplayScrolls.cs
index b849094c7f25392fb020a33a2a2e7f1c09531de4..71e528c558185f120415f69e560f36f830f8f0be 100644
--- a/Assets/Scripts/InventoryStuff/DisplayScrolls.cs
+++ b/Assets/Scripts/InventoryStuff/DisplayScrolls.cs
@@ -42,6 +42,6 @@ void BuildScrollGUI()
 
         REST_JSON_API.Scroll preferredStartScroll = AllowedScrolls.Find(x => x.label.Equals(preferredStartScrollName));
         if (preferredStartScroll != null)
-            this.DetailScreen.GetComponent<ScrollDetails>().SetScroll(preferredStartScroll);
+            ScrollDetails.Instance.SetScroll(preferredStartScroll);
     }
 }
diff --git a/Assets/Scripts/InventoryStuff/ScrollDetails.cs b/Assets/Scripts/InventoryStuff/ScrollDetails.cs
index 6c3d57f3ef437925b028cd7448e3b7556c73d475..42d1b5f873630f7a223088ded2721d888f6ba94b 100644
--- a/Assets/Scripts/InventoryStuff/ScrollDetails.cs
+++ b/Assets/Scripts/InventoryStuff/ScrollDetails.cs
@@ -116,8 +116,9 @@ public void SetScroll(Scroll scroll_to_set)
             }
 
             DynamicScrollInQue = false; // unblock
-            NewAssignmentEvent.Invoke(); // init display
         }
+
+        NewAssignmentEvent.Invoke(); // init display
     }
 
     public bool SetNextEmptyTo(FactObjectUI activator)
@@ -216,8 +217,9 @@ IEnumerator __GeneratePushoutFacts(List<MMTFact> pushoutFacts)
                         old_to_new.Add(new_fact.Id, added.Id);
                     }
 
-                    yield return null;
                 }
+
+                yield return null;
             }
 
             Debug.Log($"Facts parsed within {(System.DateTime.UtcNow - parseTime).TotalMilliseconds}ms");
diff --git a/Assets/Scripts/MMTServer/CommunicationProtocoll/MMTConstants.cs b/Assets/Scripts/MMTServer/CommunicationProtocoll/MMTConstants.cs
index 268a1753516100f995e72939a1533d56521fbc50..827aacce90faea860be75e06aece7c307c2b289d 100644
--- a/Assets/Scripts/MMTServer/CommunicationProtocoll/MMTConstants.cs
+++ b/Assets/Scripts/MMTServer/CommunicationProtocoll/MMTConstants.cs
@@ -130,6 +130,9 @@ public static class MMTConstants
         public const string ScrollCannonBallT3D = "http://mathhub.info/FrameIT/frameworld?T3DBouncingScroll";
         public const string ScrollRiver = "http://mathhub.info/FrameIT/frameworld?RiverScroll";
 
+        /// <summary>
+        /// <remark>Needs to map to primitives where possible!</remark>
+        /// </summary>
         public static readonly IReadOnlyDictionary<string, Type> OMS_TO_TYPE = new Dictionary<string, Type>()
         {
             { TypeType,
diff --git a/UserSettings/EditorUserSettings.asset b/UserSettings/EditorUserSettings.asset
index 9b79ad598c9f90112c2db373a83f95c6f4ac4ba9..07da9c6fea11c56a4f6340793b4dbf5aab3a4ab1 100644
--- a/UserSettings/EditorUserSettings.asset
+++ b/UserSettings/EditorUserSettings.asset
@@ -6,25 +6,25 @@ EditorUserSettings:
   serializedVersion: 4
   m_ConfigSettings:
     RecentlyUsedSceneGuid-0:
-      value: 5b5200520604510a5b5b587642270744124e4e7a7e7f2764742f1b61b0e6613a
+      value: 5354015500565a0f5458597740265c4441164c2e7b7072637f7e4e35b5b5643d
       flags: 0
     RecentlyUsedSceneGuid-1:
-      value: 5354015500565a0f5458597740265c4441164c2e7b7072637f7e4e35b5b5643d
+      value: 01550655000d5008580a5e7412710e44464e4129787125667a7a1f37e0e66d39
       flags: 0
     RecentlyUsedSceneGuid-2:
-      value: 01550655000d5008580a5e7412710e44464e4129787125667a7a1f37e0e66d39
+      value: 5a530c5653060c0a0c0b5f2140770f4443154979297a76347c2a1e30b5b33068
       flags: 0
     RecentlyUsedSceneGuid-3:
-      value: 5a530c5653060c0a0c0b5f2140770f4443154979297a76347c2a1e30b5b33068
+      value: 530055020302595d550a0e7447220b4415161a7c2f782432282a4f31e6b93068
       flags: 0
     RecentlyUsedSceneGuid-4:
-      value: 530055020302595d550a0e7447220b4415161a7c2f782432282a4f31e6b93068
+      value: 0702005254070d5d5d5a5d7145210f444116487c282d7f357e7a1e66b6b0313a
       flags: 0
     RecentlyUsedSceneGuid-5:
-      value: 0702005254070d5d5d5a5d7145210f444116487c282d7f357e7a1e66b6b0313a
+      value: 00540c020302515f0b0f5f2711265c44171519797e7c7463787d4d63e1b8303c
       flags: 0
     RecentlyUsedSceneGuid-6:
-      value: 00540c020302515f0b0f5f2711265c44171519797e7c7463787d4d63e1b8303c
+      value: 0502505152005e020c0d0e2446275e44144f19287f707e362c7c4b60b2b9353c
       flags: 0
     RecentlyUsedSceneGuid-7:
       value: 520107035d0c510c080d547215760b4413154d2e7a2c226129281c65e3b63768