babylonjs-gui 5.0.0-alpha.61 → 5.0.0-alpha.65

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/babylon.gui.js CHANGED
@@ -7,7 +7,7 @@
7
7
  exports["babylonjs-gui"] = factory(require("babylonjs"));
8
8
  else
9
9
  root["BABYLON"] = root["BABYLON"] || {}, root["BABYLON"]["GUI"] = factory(root["BABYLON"]);
10
- })((typeof self !== "undefined" ? self : typeof global !== "undefined" ? global : this), function(__WEBPACK_EXTERNAL_MODULE_babylonjs_Maths_math_vector__) {
10
+ })((typeof self !== "undefined" ? self : typeof global !== "undefined" ? global : this), function(__WEBPACK_EXTERNAL_MODULE_babylonjs_Misc_observable__) {
11
11
  return /******/ (function(modules) { // webpackBootstrap
12
12
  /******/ // The module cache
13
13
  /******/ var installedModules = {};
@@ -413,7 +413,7 @@ module.exports = g;
413
413
  "use strict";
414
414
  __webpack_require__.r(__webpack_exports__);
415
415
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AdvancedDynamicTextureInstrumentation", function() { return AdvancedDynamicTextureInstrumentation; });
416
- /* harmony import */ var babylonjs_Misc_perfCounter__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Misc/perfCounter */ "babylonjs/Maths/math.vector");
416
+ /* harmony import */ var babylonjs_Misc_perfCounter__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Misc/perfCounter */ "babylonjs/Misc/observable");
417
417
  /* harmony import */ var babylonjs_Misc_perfCounter__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_perfCounter__WEBPACK_IMPORTED_MODULE_0__);
418
418
 
419
419
  /**
@@ -556,7 +556,7 @@ var AdvancedDynamicTextureInstrumentation = /** @class */ (function () {
556
556
  __webpack_require__.r(__webpack_exports__);
557
557
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AdvancedDynamicTexture", function() { return AdvancedDynamicTexture; });
558
558
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
559
- /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/observable */ "babylonjs/Maths/math.vector");
559
+ /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/observable */ "babylonjs/Misc/observable");
560
560
  /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__);
561
561
  /* harmony import */ var _controls_container__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./controls/container */ "./2D/controls/container.ts");
562
562
  /* harmony import */ var _controls_control__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./controls/control */ "./2D/controls/control.ts");
@@ -1197,7 +1197,14 @@ var AdvancedDynamicTexture = /** @class */ (function (_super) {
1197
1197
  /** @hidden */
1198
1198
  AdvancedDynamicTexture.prototype._getGlobalViewport = function () {
1199
1199
  var size = this.getSize();
1200
- return this._fullscreenViewport.toGlobal(size.width, size.height);
1200
+ var globalViewPort = this._fullscreenViewport.toGlobal(size.width, size.height);
1201
+ var targetX = Math.round(globalViewPort.width * (1 / this.rootContainer.scaleX));
1202
+ var targetY = Math.round(globalViewPort.height * (1 / this.rootContainer.scaleY));
1203
+ globalViewPort.x += (globalViewPort.width - targetX) / 2;
1204
+ globalViewPort.y += (globalViewPort.height - targetY) / 2;
1205
+ globalViewPort.width = targetX;
1206
+ globalViewPort.height = targetY;
1207
+ return globalViewPort;
1201
1208
  };
1202
1209
  /**
1203
1210
  * Get screen coordinates for a vector3
@@ -1266,7 +1273,7 @@ var AdvancedDynamicTexture = /** @class */ (function (_super) {
1266
1273
  }
1267
1274
  this._isDirty = false;
1268
1275
  this._render();
1269
- this.update(this.applyYInversionOnUpdate, this.premulAlpha);
1276
+ this.update(this.applyYInversionOnUpdate, this.premulAlpha, AdvancedDynamicTexture.AllowGPUOptimizations);
1270
1277
  };
1271
1278
  AdvancedDynamicTexture.prototype._render = function () {
1272
1279
  var textureSize = this.getSize();
@@ -1392,6 +1399,7 @@ var AdvancedDynamicTexture = /** @class */ (function (_super) {
1392
1399
  }
1393
1400
  var camera = scene.cameraToUseForPointers || scene.activeCamera;
1394
1401
  var engine = scene.getEngine();
1402
+ var originalCameraToUseForPointers = scene.cameraToUseForPointers;
1395
1403
  if (!camera) {
1396
1404
  tempViewport.x = 0;
1397
1405
  tempViewport.y = 0;
@@ -1399,7 +1407,31 @@ var AdvancedDynamicTexture = /** @class */ (function (_super) {
1399
1407
  tempViewport.height = engine.getRenderHeight();
1400
1408
  }
1401
1409
  else {
1402
- camera.viewport.toGlobalToRef(engine.getRenderWidth(), engine.getRenderHeight(), tempViewport);
1410
+ if (camera.rigCameras.length) {
1411
+ // rig camera - we need to find the camera to use for this event
1412
+ var rigViewport_1 = new babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["Viewport"](0, 0, 1, 1);
1413
+ camera.rigCameras.forEach(function (rigCamera) {
1414
+ // generate the viewport of this camera
1415
+ rigCamera.viewport.toGlobalToRef(engine.getRenderWidth(), engine.getRenderHeight(), rigViewport_1);
1416
+ var x = scene.pointerX / engine.getHardwareScalingLevel() - rigViewport_1.x;
1417
+ var y = scene.pointerY / engine.getHardwareScalingLevel() - (engine.getRenderHeight() - rigViewport_1.y - rigViewport_1.height);
1418
+ // check if the pointer is in the camera's viewport
1419
+ if (x < 0 || y < 0 || x > rigViewport_1.width || y > rigViewport_1.height) {
1420
+ // out of viewport - don't use this camera
1421
+ return;
1422
+ }
1423
+ // set the camera to use for pointers until this pointer loop is over
1424
+ scene.cameraToUseForPointers = rigCamera;
1425
+ // set the viewport
1426
+ tempViewport.x = rigViewport_1.x;
1427
+ tempViewport.y = rigViewport_1.y;
1428
+ tempViewport.width = rigViewport_1.width;
1429
+ tempViewport.height = rigViewport_1.height;
1430
+ });
1431
+ }
1432
+ else {
1433
+ camera.viewport.toGlobalToRef(engine.getRenderWidth(), engine.getRenderHeight(), tempViewport);
1434
+ }
1403
1435
  }
1404
1436
  var x = scene.pointerX / engine.getHardwareScalingLevel() - tempViewport.x;
1405
1437
  var y = scene.pointerY / engine.getHardwareScalingLevel() - (engine.getRenderHeight() - tempViewport.y - tempViewport.height);
@@ -1411,6 +1443,8 @@ var AdvancedDynamicTexture = /** @class */ (function (_super) {
1411
1443
  if (_this._shouldBlockPointer) {
1412
1444
  pi.skipOnPointerObservable = _this._shouldBlockPointer;
1413
1445
  }
1446
+ // if overridden by a rig camera - reset back to the original value
1447
+ scene.cameraToUseForPointers = originalCameraToUseForPointers;
1414
1448
  });
1415
1449
  this._attachToOnPointerOut(scene);
1416
1450
  this._attachToOnBlur(scene);
@@ -1712,24 +1746,34 @@ var AdvancedDynamicTexture = /** @class */ (function (_super) {
1712
1746
  * @param foreground defines a boolean indicating if the texture must be rendered in foreground (default is true)
1713
1747
  * @param scene defines the hosting scene
1714
1748
  * @param sampling defines the texture sampling mode (Texture.BILINEAR_SAMPLINGMODE by default)
1749
+ * @param adaptiveScaling defines whether to automatically scale root to match hardwarescaling (false by default)
1715
1750
  * @returns a new AdvancedDynamicTexture
1716
1751
  */
1717
- AdvancedDynamicTexture.CreateFullscreenUI = function (name, foreground, scene, sampling) {
1752
+ AdvancedDynamicTexture.CreateFullscreenUI = function (name, foreground, scene, sampling, adaptiveScaling) {
1718
1753
  if (foreground === void 0) { foreground = true; }
1719
1754
  if (scene === void 0) { scene = null; }
1720
1755
  if (sampling === void 0) { sampling = babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["Texture"].BILINEAR_SAMPLINGMODE; }
1756
+ if (adaptiveScaling === void 0) { adaptiveScaling = false; }
1721
1757
  var result = new AdvancedDynamicTexture(name, 0, 0, scene, false, sampling);
1722
1758
  // Display
1723
- var layer = new babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["Layer"](name + "_layer", null, scene, !foreground);
1759
+ var resultScene = result.getScene();
1760
+ var layer = new babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["Layer"](name + "_layer", null, resultScene, !foreground);
1724
1761
  layer.texture = result;
1725
1762
  result._layerToDispose = layer;
1726
1763
  result._isFullscreen = true;
1764
+ if (adaptiveScaling && resultScene) {
1765
+ var newScale = 1 / resultScene.getEngine().getHardwareScalingLevel();
1766
+ result._rootContainer.scaleX = newScale;
1767
+ result._rootContainer.scaleY = newScale;
1768
+ }
1727
1769
  // Attach
1728
1770
  result.attach();
1729
1771
  return result;
1730
1772
  };
1731
1773
  /** Define the Uurl to load snippets */
1732
1774
  AdvancedDynamicTexture.SnippetUrl = "https://snippet.babylonjs.com";
1775
+ /** Indicates if some optimizations can be performed in GUI GPU management (the downside is additional memory/GPU texture memory used) */
1776
+ AdvancedDynamicTexture.AllowGPUOptimizations = true;
1733
1777
  return AdvancedDynamicTexture;
1734
1778
  }(babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["DynamicTexture"]));
1735
1779
 
@@ -1752,7 +1796,7 @@ __webpack_require__.r(__webpack_exports__);
1752
1796
  /* harmony import */ var _control__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./control */ "./2D/controls/control.ts");
1753
1797
  /* harmony import */ var _textBlock__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./textBlock */ "./2D/controls/textBlock.ts");
1754
1798
  /* harmony import */ var _image__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./image */ "./2D/controls/image.ts");
1755
- /* harmony import */ var babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! babylonjs/Misc/typeStore */ "babylonjs/Maths/math.vector");
1799
+ /* harmony import */ var babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! babylonjs/Misc/typeStore */ "babylonjs/Misc/observable");
1756
1800
  /* harmony import */ var babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_5__);
1757
1801
 
1758
1802
 
@@ -1984,7 +2028,7 @@ Object(babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_5__["RegisterClass"])("
1984
2028
  __webpack_require__.r(__webpack_exports__);
1985
2029
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Checkbox", function() { return Checkbox; });
1986
2030
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
1987
- /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/observable */ "babylonjs/Maths/math.vector");
2031
+ /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/observable */ "babylonjs/Misc/observable");
1988
2032
  /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__);
1989
2033
  /* harmony import */ var _control__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./control */ "./2D/controls/control.ts");
1990
2034
  /* harmony import */ var _stackPanel__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./stackPanel */ "./2D/controls/stackPanel.ts");
@@ -2182,7 +2226,7 @@ Object(babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["RegisterClass"])(
2182
2226
  __webpack_require__.r(__webpack_exports__);
2183
2227
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ColorPicker", function() { return ColorPicker; });
2184
2228
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
2185
- /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/observable */ "babylonjs/Maths/math.vector");
2229
+ /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/observable */ "babylonjs/Misc/observable");
2186
2230
  /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__);
2187
2231
  /* harmony import */ var _control__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./control */ "./2D/controls/control.ts");
2188
2232
  /* harmony import */ var _inputText__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./inputText */ "./2D/controls/inputText.ts");
@@ -3605,7 +3649,7 @@ Object(babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["RegisterClass"])(
3605
3649
  __webpack_require__.r(__webpack_exports__);
3606
3650
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Container", function() { return Container; });
3607
3651
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
3608
- /* harmony import */ var babylonjs_Misc_logger__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/logger */ "babylonjs/Maths/math.vector");
3652
+ /* harmony import */ var babylonjs_Misc_logger__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/logger */ "babylonjs/Misc/observable");
3609
3653
  /* harmony import */ var babylonjs_Misc_logger__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_logger__WEBPACK_IMPORTED_MODULE_1__);
3610
3654
  /* harmony import */ var _control__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./control */ "./2D/controls/control.ts");
3611
3655
  /* harmony import */ var _measure__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../measure */ "./2D/measure.ts");
@@ -3950,10 +3994,10 @@ var Container = /** @class */ (function (_super) {
3950
3994
  child._tempParentMeasure.copyFrom(this._measureForChildren);
3951
3995
  if (child._layout(this._measureForChildren, context)) {
3952
3996
  if (this.adaptWidthToChildren && child._width.isPixel) {
3953
- computedWidth = Math.max(computedWidth, child._currentMeasure.width + child.paddingLeftInPixels + child.paddingRightInPixels);
3997
+ computedWidth = Math.max(computedWidth, child._currentMeasure.width + child._paddingLeftInPixels + child._paddingRightInPixels);
3954
3998
  }
3955
3999
  if (this.adaptHeightToChildren && child._height.isPixel) {
3956
- computedHeight = Math.max(computedHeight, child._currentMeasure.height + child.paddingTopInPixels + child.paddingBottomInPixels);
4000
+ computedHeight = Math.max(computedHeight, child._currentMeasure.height + child._paddingTopInPixels + child._paddingBottomInPixels);
3957
4001
  }
3958
4002
  }
3959
4003
  }
@@ -4143,7 +4187,7 @@ Object(babylonjs_Misc_logger__WEBPACK_IMPORTED_MODULE_1__["RegisterClass"])("BAB
4143
4187
  __webpack_require__.r(__webpack_exports__);
4144
4188
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Control", function() { return Control; });
4145
4189
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
4146
- /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/observable */ "babylonjs/Maths/math.vector");
4190
+ /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/observable */ "babylonjs/Misc/observable");
4147
4191
  /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__);
4148
4192
  /* harmony import */ var _valueAndUnit__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../valueAndUnit */ "./2D/valueAndUnit.ts");
4149
4193
  /* harmony import */ var _measure__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../measure */ "./2D/measure.ts");
@@ -4179,6 +4223,8 @@ var Control = /** @class */ (function () {
4179
4223
  this._zIndex = 0;
4180
4224
  /** @hidden */
4181
4225
  this._currentMeasure = _measure__WEBPACK_IMPORTED_MODULE_3__["Measure"].Empty();
4226
+ /** @hidden */
4227
+ this._tempPaddingMeasure = _measure__WEBPACK_IMPORTED_MODULE_3__["Measure"].Empty();
4182
4228
  this._fontFamily = "Arial";
4183
4229
  this._fontStyle = "";
4184
4230
  this._fontWeight = "";
@@ -4203,6 +4249,7 @@ var Control = /** @class */ (function () {
4203
4249
  this._prevCurrentMeasureTransformedIntoGlobalSpace = _measure__WEBPACK_IMPORTED_MODULE_3__["Measure"].Empty();
4204
4250
  /** @hidden */
4205
4251
  this._cachedParentMeasure = _measure__WEBPACK_IMPORTED_MODULE_3__["Measure"].Empty();
4252
+ this._descendantsOnlyPadding = false;
4206
4253
  this._paddingLeft = new _valueAndUnit__WEBPACK_IMPORTED_MODULE_2__["ValueAndUnit"](0);
4207
4254
  this._paddingRight = new _valueAndUnit__WEBPACK_IMPORTED_MODULE_2__["ValueAndUnit"](0);
4208
4255
  this._paddingTop = new _valueAndUnit__WEBPACK_IMPORTED_MODULE_2__["ValueAndUnit"](0);
@@ -4233,6 +4280,8 @@ var Control = /** @class */ (function () {
4233
4280
  this._enterCount = -1;
4234
4281
  this._doNotRender = false;
4235
4282
  this._downPointerIds = {};
4283
+ this._evaluatedMeasure = new _measure__WEBPACK_IMPORTED_MODULE_3__["Measure"](0, 0, 0, 0);
4284
+ this._evaluatedParentMeasure = new _measure__WEBPACK_IMPORTED_MODULE_3__["Measure"](0, 0, 0, 0);
4236
4285
  this._isEnabled = true;
4237
4286
  this._disabledColor = "#9a9a9a";
4238
4287
  this._disabledColorItem = "#6a6a6a";
@@ -4348,6 +4397,16 @@ var Control = /** @class */ (function () {
4348
4397
  enumerable: false,
4349
4398
  configurable: true
4350
4399
  });
4400
+ Object.defineProperty(Control.prototype, "transformedMeasure", {
4401
+ /**
4402
+ * Gets the transformed measure, that is the bounding box of the control after applying all transformations
4403
+ */
4404
+ get: function () {
4405
+ return this._evaluatedMeasure;
4406
+ },
4407
+ enumerable: false,
4408
+ configurable: true
4409
+ });
4351
4410
  Object.defineProperty(Control.prototype, "shadowOffsetX", {
4352
4411
  /** Gets or sets a value indicating the offset to apply on X axis to render the shadow */
4353
4412
  get: function () {
@@ -4910,6 +4969,24 @@ var Control = /** @class */ (function () {
4910
4969
  enumerable: false,
4911
4970
  configurable: true
4912
4971
  });
4972
+ Object.defineProperty(Control.prototype, "descendantsOnlyPadding", {
4973
+ /**
4974
+ * Gets or sets a value indicating the padding should work like in CSS.
4975
+ * Basically, it will add the padding amount on each side of the parent control for its children.
4976
+ */
4977
+ get: function () {
4978
+ return this._descendantsOnlyPadding;
4979
+ },
4980
+ set: function (value) {
4981
+ if (this._descendantsOnlyPadding === value) {
4982
+ return;
4983
+ }
4984
+ this._descendantsOnlyPadding = value;
4985
+ this._markAsDirty();
4986
+ },
4987
+ enumerable: false,
4988
+ configurable: true
4989
+ });
4913
4990
  Object.defineProperty(Control.prototype, "paddingLeft", {
4914
4991
  /**
4915
4992
  * Gets or sets a value indicating the padding to use on the left of the control
@@ -4943,6 +5020,17 @@ var Control = /** @class */ (function () {
4943
5020
  enumerable: false,
4944
5021
  configurable: true
4945
5022
  });
5023
+ Object.defineProperty(Control.prototype, "_paddingLeftInPixels", {
5024
+ /** @hidden */
5025
+ get: function () {
5026
+ if (this._descendantsOnlyPadding) {
5027
+ return 0;
5028
+ }
5029
+ return this.paddingLeftInPixels;
5030
+ },
5031
+ enumerable: false,
5032
+ configurable: true
5033
+ });
4946
5034
  Object.defineProperty(Control.prototype, "paddingRight", {
4947
5035
  /**
4948
5036
  * Gets or sets a value indicating the padding to use on the right of the control
@@ -4976,6 +5064,17 @@ var Control = /** @class */ (function () {
4976
5064
  enumerable: false,
4977
5065
  configurable: true
4978
5066
  });
5067
+ Object.defineProperty(Control.prototype, "_paddingRightInPixels", {
5068
+ /** @hidden */
5069
+ get: function () {
5070
+ if (this._descendantsOnlyPadding) {
5071
+ return 0;
5072
+ }
5073
+ return this.paddingRightInPixels;
5074
+ },
5075
+ enumerable: false,
5076
+ configurable: true
5077
+ });
4979
5078
  Object.defineProperty(Control.prototype, "paddingTop", {
4980
5079
  /**
4981
5080
  * Gets or sets a value indicating the padding to use on the top of the control
@@ -5009,6 +5108,17 @@ var Control = /** @class */ (function () {
5009
5108
  enumerable: false,
5010
5109
  configurable: true
5011
5110
  });
5111
+ Object.defineProperty(Control.prototype, "_paddingTopInPixels", {
5112
+ /** @hidden */
5113
+ get: function () {
5114
+ if (this._descendantsOnlyPadding) {
5115
+ return 0;
5116
+ }
5117
+ return this.paddingTopInPixels;
5118
+ },
5119
+ enumerable: false,
5120
+ configurable: true
5121
+ });
5012
5122
  Object.defineProperty(Control.prototype, "paddingBottom", {
5013
5123
  /**
5014
5124
  * Gets or sets a value indicating the padding to use on the bottom of the control
@@ -5042,6 +5152,17 @@ var Control = /** @class */ (function () {
5042
5152
  enumerable: false,
5043
5153
  configurable: true
5044
5154
  });
5155
+ Object.defineProperty(Control.prototype, "_paddingBottomInPixels", {
5156
+ /** @hidden */
5157
+ get: function () {
5158
+ if (this._descendantsOnlyPadding) {
5159
+ return 0;
5160
+ }
5161
+ return this.paddingBottomInPixels;
5162
+ },
5163
+ enumerable: false,
5164
+ configurable: true
5165
+ });
5045
5166
  Object.defineProperty(Control.prototype, "left", {
5046
5167
  /**
5047
5168
  * Gets or sets a value indicating the left coordinate of the control
@@ -5577,6 +5698,9 @@ var Control = /** @class */ (function () {
5577
5698
  if (this._isFontSizeInPercentage) {
5578
5699
  this._fontSet = true;
5579
5700
  }
5701
+ if (this._host && this._host.useSmallestIdeal && !this._font) {
5702
+ this._fontSet = true;
5703
+ }
5580
5704
  if (this._fontSet) {
5581
5705
  this._prepareFont();
5582
5706
  this._fontSet = false;
@@ -5601,7 +5725,7 @@ var Control = /** @class */ (function () {
5601
5725
  }
5602
5726
  if (this._isDirty || !this._cachedParentMeasure.isEqualsTo(parentMeasure)) {
5603
5727
  this.host._numLayoutCalls++;
5604
- this._currentMeasure.addAndTransformToRef(this._transformMatrix, -this.paddingLeftInPixels | 0, -this.paddingTopInPixels | 0, this.paddingRightInPixels | 0, this.paddingBottomInPixels | 0, this._prevCurrentMeasureTransformedIntoGlobalSpace);
5728
+ this._currentMeasure.addAndTransformToRef(this._transformMatrix, -this._paddingLeftInPixels | 0, -this._paddingTopInPixels | 0, this._paddingRightInPixels | 0, this._paddingBottomInPixels | 0, this._prevCurrentMeasureTransformedIntoGlobalSpace);
5605
5729
  context.save();
5606
5730
  this._applyStates(context);
5607
5731
  var rebuildCount = 0;
@@ -5623,39 +5747,49 @@ var Control = /** @class */ (function () {
5623
5747
  };
5624
5748
  /** @hidden */
5625
5749
  Control.prototype._processMeasures = function (parentMeasure, context) {
5626
- this._currentMeasure.copyFrom(parentMeasure);
5750
+ this._tempPaddingMeasure.copyFrom(parentMeasure);
5751
+ // Apply padding if in correct mode
5752
+ if (this.parent && this.parent.descendantsOnlyPadding) {
5753
+ this._tempPaddingMeasure.left += this.parent.paddingLeftInPixels;
5754
+ this._tempPaddingMeasure.top += this.parent.paddingTopInPixels;
5755
+ this._tempPaddingMeasure.width -= this.parent.paddingLeftInPixels + this.parent.paddingRightInPixels;
5756
+ this._tempPaddingMeasure.height -= this.parent.paddingTopInPixels + this.parent.paddingBottomInPixels;
5757
+ }
5758
+ this._currentMeasure.copyFrom(this._tempPaddingMeasure);
5627
5759
  // Let children take some pre-measurement actions
5628
- this._preMeasure(parentMeasure, context);
5760
+ this._preMeasure(this._tempPaddingMeasure, context);
5629
5761
  this._measure();
5630
- this._computeAlignment(parentMeasure, context);
5762
+ this._computeAlignment(this._tempPaddingMeasure, context);
5631
5763
  // Convert to int values
5632
5764
  this._currentMeasure.left = this._currentMeasure.left | 0;
5633
5765
  this._currentMeasure.top = this._currentMeasure.top | 0;
5634
5766
  this._currentMeasure.width = this._currentMeasure.width | 0;
5635
5767
  this._currentMeasure.height = this._currentMeasure.height | 0;
5636
5768
  // Let children add more features
5637
- this._additionalProcessing(parentMeasure, context);
5638
- this._cachedParentMeasure.copyFrom(parentMeasure);
5769
+ this._additionalProcessing(this._tempPaddingMeasure, context);
5770
+ this._cachedParentMeasure.copyFrom(this._tempPaddingMeasure);
5771
+ this._currentMeasure.transformToRef(this._transformMatrix, this._evaluatedMeasure);
5639
5772
  if (this.onDirtyObservable.hasObservers()) {
5640
5773
  this.onDirtyObservable.notifyObservers(this);
5641
5774
  }
5642
5775
  };
5643
5776
  Control.prototype._evaluateClippingState = function (parentMeasure) {
5644
5777
  if (this.parent && this.parent.clipChildren) {
5778
+ parentMeasure.transformToRef(this.parent._transformMatrix, this._evaluatedParentMeasure);
5645
5779
  // Early clip
5646
- if (this._currentMeasure.left > parentMeasure.left + parentMeasure.width) {
5780
+ if (this._evaluatedMeasure.left > this._evaluatedParentMeasure.left + this._evaluatedParentMeasure.width) {
5647
5781
  this._isClipped = true;
5648
5782
  return;
5649
5783
  }
5650
- if (this._currentMeasure.left + this._currentMeasure.width < parentMeasure.left) {
5784
+ if (this._evaluatedMeasure.left + this._evaluatedMeasure.width < this._evaluatedParentMeasure.left) {
5651
5785
  this._isClipped = true;
5652
5786
  return;
5653
5787
  }
5654
- if (this._currentMeasure.top > parentMeasure.top + parentMeasure.height) {
5788
+ if (this._evaluatedMeasure.top > this._evaluatedParentMeasure.top + this._evaluatedParentMeasure.height) {
5655
5789
  this._isClipped = true;
5656
5790
  return;
5657
5791
  }
5658
- if (this._currentMeasure.top + this._currentMeasure.height < parentMeasure.top) {
5792
+ if (this._evaluatedMeasure.top + this._evaluatedMeasure.height < this._evaluatedParentMeasure.top) {
5659
5793
  this._isClipped = true;
5660
5794
  return;
5661
5795
  }
@@ -5717,33 +5851,35 @@ var Control = /** @class */ (function () {
5717
5851
  y = (parentHeight - height) / 2;
5718
5852
  break;
5719
5853
  }
5720
- if (this._paddingLeft.isPixel) {
5721
- this._currentMeasure.left += this._paddingLeft.getValue(this._host);
5722
- this._currentMeasure.width -= this._paddingLeft.getValue(this._host);
5723
- }
5724
- else {
5725
- this._currentMeasure.left += parentWidth * this._paddingLeft.getValue(this._host);
5726
- this._currentMeasure.width -= parentWidth * this._paddingLeft.getValue(this._host);
5727
- }
5728
- if (this._paddingRight.isPixel) {
5729
- this._currentMeasure.width -= this._paddingRight.getValue(this._host);
5730
- }
5731
- else {
5732
- this._currentMeasure.width -= parentWidth * this._paddingRight.getValue(this._host);
5733
- }
5734
- if (this._paddingTop.isPixel) {
5735
- this._currentMeasure.top += this._paddingTop.getValue(this._host);
5736
- this._currentMeasure.height -= this._paddingTop.getValue(this._host);
5737
- }
5738
- else {
5739
- this._currentMeasure.top += parentHeight * this._paddingTop.getValue(this._host);
5740
- this._currentMeasure.height -= parentHeight * this._paddingTop.getValue(this._host);
5741
- }
5742
- if (this._paddingBottom.isPixel) {
5743
- this._currentMeasure.height -= this._paddingBottom.getValue(this._host);
5744
- }
5745
- else {
5746
- this._currentMeasure.height -= parentHeight * this._paddingBottom.getValue(this._host);
5854
+ if (!this.descendantsOnlyPadding) {
5855
+ if (this._paddingLeft.isPixel) {
5856
+ this._currentMeasure.left += this._paddingLeft.getValue(this._host);
5857
+ this._currentMeasure.width -= this._paddingLeft.getValue(this._host);
5858
+ }
5859
+ else {
5860
+ this._currentMeasure.left += parentWidth * this._paddingLeft.getValue(this._host);
5861
+ this._currentMeasure.width -= parentWidth * this._paddingLeft.getValue(this._host);
5862
+ }
5863
+ if (this._paddingRight.isPixel) {
5864
+ this._currentMeasure.width -= this._paddingRight.getValue(this._host);
5865
+ }
5866
+ else {
5867
+ this._currentMeasure.width -= parentWidth * this._paddingRight.getValue(this._host);
5868
+ }
5869
+ if (this._paddingTop.isPixel) {
5870
+ this._currentMeasure.top += this._paddingTop.getValue(this._host);
5871
+ this._currentMeasure.height -= this._paddingTop.getValue(this._host);
5872
+ }
5873
+ else {
5874
+ this._currentMeasure.top += parentHeight * this._paddingTop.getValue(this._host);
5875
+ this._currentMeasure.height -= parentHeight * this._paddingTop.getValue(this._host);
5876
+ }
5877
+ if (this._paddingBottom.isPixel) {
5878
+ this._currentMeasure.height -= this._paddingBottom.getValue(this._host);
5879
+ }
5880
+ else {
5881
+ this._currentMeasure.height -= parentHeight * this._paddingBottom.getValue(this._host);
5882
+ }
5747
5883
  }
5748
5884
  if (this._left.isPixel) {
5749
5885
  this._currentMeasure.left += this._left.getValue(this._host);
@@ -6287,6 +6423,9 @@ var Control = /** @class */ (function () {
6287
6423
  Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([
6288
6424
  Object(babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["serialize"])()
6289
6425
  ], Control.prototype, "isVisible", null);
6426
+ Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([
6427
+ Object(babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["serialize"])()
6428
+ ], Control.prototype, "descendantsOnlyPadding", null);
6290
6429
  Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([
6291
6430
  Object(babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["serialize"])()
6292
6431
  ], Control.prototype, "paddingLeft", null);
@@ -6346,7 +6485,7 @@ __webpack_require__.r(__webpack_exports__);
6346
6485
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "DisplayGrid", function() { return DisplayGrid; });
6347
6486
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
6348
6487
  /* harmony import */ var _control__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./control */ "./2D/controls/control.ts");
6349
- /* harmony import */ var babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babylonjs/Misc/typeStore */ "babylonjs/Maths/math.vector");
6488
+ /* harmony import */ var babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babylonjs/Misc/typeStore */ "babylonjs/Misc/observable");
6350
6489
  /* harmony import */ var babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_2__);
6351
6490
 
6352
6491
 
@@ -6610,7 +6749,7 @@ __webpack_require__.r(__webpack_exports__);
6610
6749
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
6611
6750
  /* harmony import */ var _container__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./container */ "./2D/controls/container.ts");
6612
6751
  /* harmony import */ var _control__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./control */ "./2D/controls/control.ts");
6613
- /* harmony import */ var babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! babylonjs/Misc/typeStore */ "babylonjs/Maths/math.vector");
6752
+ /* harmony import */ var babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! babylonjs/Misc/typeStore */ "babylonjs/Misc/observable");
6614
6753
  /* harmony import */ var babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_3__);
6615
6754
 
6616
6755
 
@@ -6713,7 +6852,7 @@ __webpack_require__.r(__webpack_exports__);
6713
6852
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FocusableButton", function() { return FocusableButton; });
6714
6853
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
6715
6854
  /* harmony import */ var _button__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./button */ "./2D/controls/button.ts");
6716
- /* harmony import */ var babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babylonjs/Misc/typeStore */ "babylonjs/Maths/math.vector");
6855
+ /* harmony import */ var babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babylonjs/Misc/typeStore */ "babylonjs/Misc/observable");
6717
6856
  /* harmony import */ var babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_2__);
6718
6857
 
6719
6858
 
@@ -6825,7 +6964,7 @@ __webpack_require__.r(__webpack_exports__);
6825
6964
  /* harmony import */ var _container__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./container */ "./2D/controls/container.ts");
6826
6965
  /* harmony import */ var _valueAndUnit__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../valueAndUnit */ "./2D/valueAndUnit.ts");
6827
6966
  /* harmony import */ var _control__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./control */ "./2D/controls/control.ts");
6828
- /* harmony import */ var babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! babylonjs/Misc/tools */ "babylonjs/Maths/math.vector");
6967
+ /* harmony import */ var babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! babylonjs/Misc/tools */ "babylonjs/Misc/observable");
6829
6968
  /* harmony import */ var babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_4__);
6830
6969
 
6831
6970
 
@@ -6846,7 +6985,9 @@ var Grid = /** @class */ (function (_super) {
6846
6985
  var _this = _super.call(this, name) || this;
6847
6986
  _this.name = name;
6848
6987
  _this._rowDefinitions = new Array();
6988
+ _this._rowDefinitionObservers = [];
6849
6989
  _this._columnDefinitions = new Array();
6990
+ _this._columnDefinitionObservers = [];
6850
6991
  _this._cells = {};
6851
6992
  _this._childControls = new Array();
6852
6993
  return _this;
@@ -6916,8 +7057,10 @@ var Grid = /** @class */ (function (_super) {
6916
7057
  * @returns the current grid
6917
7058
  */
6918
7059
  Grid.prototype.addRowDefinition = function (height, isPixel) {
7060
+ var _this = this;
6919
7061
  if (isPixel === void 0) { isPixel = false; }
6920
7062
  this._rowDefinitions.push(new _valueAndUnit__WEBPACK_IMPORTED_MODULE_2__["ValueAndUnit"](height, isPixel ? _valueAndUnit__WEBPACK_IMPORTED_MODULE_2__["ValueAndUnit"].UNITMODE_PIXEL : _valueAndUnit__WEBPACK_IMPORTED_MODULE_2__["ValueAndUnit"].UNITMODE_PERCENTAGE));
7063
+ this._rowDefinitionObservers.push(this._rowDefinitions[this.rowCount - 1].onChangedObservable.add(function () { return _this._markAsDirty(); }));
6921
7064
  this._markAsDirty();
6922
7065
  return this;
6923
7066
  };
@@ -6928,8 +7071,10 @@ var Grid = /** @class */ (function (_super) {
6928
7071
  * @returns the current grid
6929
7072
  */
6930
7073
  Grid.prototype.addColumnDefinition = function (width, isPixel) {
7074
+ var _this = this;
6931
7075
  if (isPixel === void 0) { isPixel = false; }
6932
7076
  this._columnDefinitions.push(new _valueAndUnit__WEBPACK_IMPORTED_MODULE_2__["ValueAndUnit"](width, isPixel ? _valueAndUnit__WEBPACK_IMPORTED_MODULE_2__["ValueAndUnit"].UNITMODE_PIXEL : _valueAndUnit__WEBPACK_IMPORTED_MODULE_2__["ValueAndUnit"].UNITMODE_PERCENTAGE));
7077
+ this._columnDefinitionObservers.push(this._columnDefinitions[this.columnCount - 1].onChangedObservable.add(function () { return _this._markAsDirty(); }));
6933
7078
  this._markAsDirty();
6934
7079
  return this;
6935
7080
  };
@@ -6941,15 +7086,18 @@ var Grid = /** @class */ (function (_super) {
6941
7086
  * @returns the current grid
6942
7087
  */
6943
7088
  Grid.prototype.setRowDefinition = function (index, height, isPixel) {
7089
+ var _this = this;
6944
7090
  if (isPixel === void 0) { isPixel = false; }
6945
7091
  if (index < 0 || index >= this._rowDefinitions.length) {
6946
7092
  return this;
6947
7093
  }
6948
7094
  var current = this._rowDefinitions[index];
6949
- if (current && current.isPixel === isPixel && current.internalValue === height) {
7095
+ if (current && current.isPixel === isPixel && current.value === height) {
6950
7096
  return this;
6951
7097
  }
7098
+ this._rowDefinitions[index].onChangedObservable.remove(this._rowDefinitionObservers[index]);
6952
7099
  this._rowDefinitions[index] = new _valueAndUnit__WEBPACK_IMPORTED_MODULE_2__["ValueAndUnit"](height, isPixel ? _valueAndUnit__WEBPACK_IMPORTED_MODULE_2__["ValueAndUnit"].UNITMODE_PIXEL : _valueAndUnit__WEBPACK_IMPORTED_MODULE_2__["ValueAndUnit"].UNITMODE_PERCENTAGE);
7100
+ this._rowDefinitionObservers[index] = this._rowDefinitions[index].onChangedObservable.add(function () { return _this._markAsDirty(); });
6953
7101
  this._markAsDirty();
6954
7102
  return this;
6955
7103
  };
@@ -6961,15 +7109,18 @@ var Grid = /** @class */ (function (_super) {
6961
7109
  * @returns the current grid
6962
7110
  */
6963
7111
  Grid.prototype.setColumnDefinition = function (index, width, isPixel) {
7112
+ var _this = this;
6964
7113
  if (isPixel === void 0) { isPixel = false; }
6965
7114
  if (index < 0 || index >= this._columnDefinitions.length) {
6966
7115
  return this;
6967
7116
  }
6968
7117
  var current = this._columnDefinitions[index];
6969
- if (current && current.isPixel === isPixel && current.internalValue === width) {
7118
+ if (current && current.isPixel === isPixel && current.value === width) {
6970
7119
  return this;
6971
7120
  }
7121
+ this._columnDefinitions[index].onChangedObservable.remove(this._columnDefinitionObservers[index]);
6972
7122
  this._columnDefinitions[index] = new _valueAndUnit__WEBPACK_IMPORTED_MODULE_2__["ValueAndUnit"](width, isPixel ? _valueAndUnit__WEBPACK_IMPORTED_MODULE_2__["ValueAndUnit"].UNITMODE_PIXEL : _valueAndUnit__WEBPACK_IMPORTED_MODULE_2__["ValueAndUnit"].UNITMODE_PERCENTAGE);
7123
+ this._columnDefinitionObservers[index] = this._columnDefinitions[index].onChangedObservable.add(function () { return _this._markAsDirty(); });
6973
7124
  this._markAsDirty();
6974
7125
  return this;
6975
7126
  };
@@ -7040,7 +7191,9 @@ var Grid = /** @class */ (function (_super) {
7040
7191
  this._offsetCell(previousKey, key);
7041
7192
  }
7042
7193
  }
7194
+ this._columnDefinitions[index].onChangedObservable.remove(this._columnDefinitionObservers[index]);
7043
7195
  this._columnDefinitions.splice(index, 1);
7196
+ this._columnDefinitionObservers.splice(index, 1);
7044
7197
  this._markAsDirty();
7045
7198
  return this;
7046
7199
  };
@@ -7065,7 +7218,9 @@ var Grid = /** @class */ (function (_super) {
7065
7218
  this._offsetCell(previousKey, key);
7066
7219
  }
7067
7220
  }
7221
+ this._rowDefinitions[index].onChangedObservable.remove(this._rowDefinitionObservers[index]);
7068
7222
  this._rowDefinitions.splice(index, 1);
7223
+ this._rowDefinitionObservers.splice(index, 1);
7069
7224
  this._markAsDirty();
7070
7225
  return this;
7071
7226
  };
@@ -7142,58 +7297,58 @@ var Grid = /** @class */ (function (_super) {
7142
7297
  // Heights
7143
7298
  var index = 0;
7144
7299
  for (var _i = 0, _a = this._rowDefinitions; _i < _a.length; _i++) {
7145
- var value = _a[_i];
7146
- if (value.isPixel) {
7147
- var height = value.getValue(this._host);
7300
+ var rowDefinition = _a[_i];
7301
+ if (rowDefinition.isPixel) {
7302
+ var height = rowDefinition.getValue(this._host);
7148
7303
  availableHeight -= height;
7149
7304
  heights[index] = height;
7150
7305
  }
7151
7306
  else {
7152
- globalHeightPercentage += value.internalValue;
7307
+ globalHeightPercentage += rowDefinition.value;
7153
7308
  }
7154
7309
  index++;
7155
7310
  }
7156
7311
  var top = 0;
7157
7312
  index = 0;
7158
7313
  for (var _b = 0, _c = this._rowDefinitions; _b < _c.length; _b++) {
7159
- var value = _c[_b];
7314
+ var rowDefinition = _c[_b];
7160
7315
  tops.push(top);
7161
- if (!value.isPixel) {
7162
- var height = (value.internalValue / globalHeightPercentage) * availableHeight;
7316
+ if (!rowDefinition.isPixel) {
7317
+ var height = (rowDefinition.value / globalHeightPercentage) * availableHeight;
7163
7318
  top += height;
7164
7319
  heights[index] = height;
7165
7320
  }
7166
7321
  else {
7167
- top += value.getValue(this._host);
7322
+ top += rowDefinition.getValue(this._host);
7168
7323
  }
7169
7324
  index++;
7170
7325
  }
7171
7326
  // Widths
7172
7327
  index = 0;
7173
7328
  for (var _d = 0, _e = this._columnDefinitions; _d < _e.length; _d++) {
7174
- var value = _e[_d];
7175
- if (value.isPixel) {
7176
- var width = value.getValue(this._host);
7329
+ var columnDefinition = _e[_d];
7330
+ if (columnDefinition.isPixel) {
7331
+ var width = columnDefinition.getValue(this._host);
7177
7332
  availableWidth -= width;
7178
7333
  widths[index] = width;
7179
7334
  }
7180
7335
  else {
7181
- globalWidthPercentage += value.internalValue;
7336
+ globalWidthPercentage += columnDefinition.value;
7182
7337
  }
7183
7338
  index++;
7184
7339
  }
7185
7340
  var left = 0;
7186
7341
  index = 0;
7187
7342
  for (var _f = 0, _g = this._columnDefinitions; _f < _g.length; _f++) {
7188
- var value = _g[_f];
7343
+ var columnDefinition = _g[_f];
7189
7344
  lefts.push(left);
7190
- if (!value.isPixel) {
7191
- var width = (value.internalValue / globalWidthPercentage) * availableWidth;
7345
+ if (!columnDefinition.isPixel) {
7346
+ var width = (columnDefinition.value / globalWidthPercentage) * availableWidth;
7192
7347
  left += width;
7193
7348
  widths[index] = width;
7194
7349
  }
7195
7350
  else {
7196
- left += value.getValue(this._host);
7351
+ left += columnDefinition.getValue(this._host);
7197
7352
  }
7198
7353
  index++;
7199
7354
  }
@@ -7262,12 +7417,23 @@ var Grid = /** @class */ (function (_super) {
7262
7417
  var control = _a[_i];
7263
7418
  control.dispose();
7264
7419
  }
7420
+ for (var index = 0; index < this._rowDefinitions.length; index++) {
7421
+ this._rowDefinitions[index].onChangedObservable.remove(this._rowDefinitionObservers[index]);
7422
+ }
7423
+ for (var index = 0; index < this._columnDefinitions.length; index++) {
7424
+ this._columnDefinitions[index].onChangedObservable.remove(this._columnDefinitionObservers[index]);
7425
+ }
7426
+ this._rowDefinitionObservers = [];
7427
+ this._rowDefinitions = [];
7428
+ this._columnDefinitionObservers = [];
7429
+ this._columnDefinitions = [];
7430
+ this._cells = {};
7265
7431
  this._childControls = [];
7266
7432
  };
7267
7433
  /**
7268
- * Serializes the current control
7269
- * @param serializationObject defined the JSON serialized object
7270
- */
7434
+ * Serializes the current control
7435
+ * @param serializationObject defined the JSON serialized object
7436
+ */
7271
7437
  Grid.prototype.serialize = function (serializationObject) {
7272
7438
  _super.prototype.serialize.call(this, serializationObject);
7273
7439
  serializationObject.columnCount = this.columnCount;
@@ -7340,7 +7506,7 @@ Object(babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_4__["RegisterClass"])("BABY
7340
7506
  __webpack_require__.r(__webpack_exports__);
7341
7507
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Image", function() { return Image; });
7342
7508
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
7343
- /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/observable */ "babylonjs/Maths/math.vector");
7509
+ /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/observable */ "babylonjs/Misc/observable");
7344
7510
  /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__);
7345
7511
  /* harmony import */ var _control__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./control */ "./2D/controls/control.ts");
7346
7512
 
@@ -8379,7 +8545,7 @@ __webpack_require__.r(__webpack_exports__);
8379
8545
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "InputPassword", function() { return InputPassword; });
8380
8546
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
8381
8547
  /* harmony import */ var _inputText__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./inputText */ "./2D/controls/inputText.ts");
8382
- /* harmony import */ var babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babylonjs/Misc/typeStore */ "babylonjs/Maths/math.vector");
8548
+ /* harmony import */ var babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babylonjs/Misc/typeStore */ "babylonjs/Misc/observable");
8383
8549
  /* harmony import */ var babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_2__);
8384
8550
  /* harmony import */ var _textWrapper__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./textWrapper */ "./2D/controls/textWrapper.ts");
8385
8551
 
@@ -8422,7 +8588,7 @@ Object(babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_2__["RegisterClass"])("
8422
8588
  __webpack_require__.r(__webpack_exports__);
8423
8589
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "InputText", function() { return InputText; });
8424
8590
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
8425
- /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/observable */ "babylonjs/Maths/math.vector");
8591
+ /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/observable */ "babylonjs/Misc/observable");
8426
8592
  /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__);
8427
8593
  /* harmony import */ var _control__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./control */ "./2D/controls/control.ts");
8428
8594
  /* harmony import */ var _valueAndUnit__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../valueAndUnit */ "./2D/valueAndUnit.ts");
@@ -9537,7 +9703,7 @@ Object(babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["RegisterClass"])(
9537
9703
  __webpack_require__.r(__webpack_exports__);
9538
9704
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Line", function() { return Line; });
9539
9705
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
9540
- /* harmony import */ var babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Maths/math.vector */ "babylonjs/Maths/math.vector");
9706
+ /* harmony import */ var babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Maths/math.vector */ "babylonjs/Misc/observable");
9541
9707
  /* harmony import */ var babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__);
9542
9708
  /* harmony import */ var _control__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./control */ "./2D/controls/control.ts");
9543
9709
  /* harmony import */ var _valueAndUnit__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../valueAndUnit */ "./2D/valueAndUnit.ts");
@@ -9827,7 +9993,7 @@ Object(babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__["RegisterClass"]
9827
9993
  __webpack_require__.r(__webpack_exports__);
9828
9994
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MultiLine", function() { return MultiLine; });
9829
9995
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
9830
- /* harmony import */ var babylonjs_Meshes_abstractMesh__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Meshes/abstractMesh */ "babylonjs/Maths/math.vector");
9996
+ /* harmony import */ var babylonjs_Meshes_abstractMesh__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Meshes/abstractMesh */ "babylonjs/Misc/observable");
9831
9997
  /* harmony import */ var babylonjs_Meshes_abstractMesh__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Meshes_abstractMesh__WEBPACK_IMPORTED_MODULE_1__);
9832
9998
  /* harmony import */ var _control__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./control */ "./2D/controls/control.ts");
9833
9999
  /* harmony import */ var _multiLinePoint__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../multiLinePoint */ "./2D/multiLinePoint.ts");
@@ -10108,7 +10274,7 @@ Object(babylonjs_Meshes_abstractMesh__WEBPACK_IMPORTED_MODULE_1__["RegisterClass
10108
10274
  __webpack_require__.r(__webpack_exports__);
10109
10275
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "RadioButton", function() { return RadioButton; });
10110
10276
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
10111
- /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/observable */ "babylonjs/Maths/math.vector");
10277
+ /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/observable */ "babylonjs/Misc/observable");
10112
10278
  /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__);
10113
10279
  /* harmony import */ var _control__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./control */ "./2D/controls/control.ts");
10114
10280
  /* harmony import */ var _stackPanel__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./stackPanel */ "./2D/controls/stackPanel.ts");
@@ -10334,7 +10500,7 @@ __webpack_require__.r(__webpack_exports__);
10334
10500
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Rectangle", function() { return Rectangle; });
10335
10501
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
10336
10502
  /* harmony import */ var _container__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./container */ "./2D/controls/container.ts");
10337
- /* harmony import */ var babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babylonjs/Misc/typeStore */ "babylonjs/Maths/math.vector");
10503
+ /* harmony import */ var babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babylonjs/Misc/typeStore */ "babylonjs/Misc/observable");
10338
10504
  /* harmony import */ var babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_2__);
10339
10505
 
10340
10506
 
@@ -10507,7 +10673,7 @@ __webpack_require__.r(__webpack_exports__);
10507
10673
  /* harmony import */ var _scrollViewerWindow__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./scrollViewerWindow */ "./2D/controls/scrollViewers/scrollViewerWindow.ts");
10508
10674
  /* harmony import */ var _sliders_scrollBar__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../sliders/scrollBar */ "./2D/controls/sliders/scrollBar.ts");
10509
10675
  /* harmony import */ var _sliders_imageScrollBar__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../sliders/imageScrollBar */ "./2D/controls/sliders/imageScrollBar.ts");
10510
- /* harmony import */ var babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! babylonjs/Misc/typeStore */ "babylonjs/Maths/math.vector");
10676
+ /* harmony import */ var babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! babylonjs/Misc/typeStore */ "babylonjs/Misc/observable");
10511
10677
  /* harmony import */ var babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_7__);
10512
10678
 
10513
10679
 
@@ -12138,7 +12304,7 @@ var SelectionPanel = /** @class */ (function (_super) {
12138
12304
  __webpack_require__.r(__webpack_exports__);
12139
12305
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BaseSlider", function() { return BaseSlider; });
12140
12306
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
12141
- /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/observable */ "babylonjs/Maths/math.vector");
12307
+ /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/observable */ "babylonjs/Misc/observable");
12142
12308
  /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__);
12143
12309
  /* harmony import */ var _control__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../control */ "./2D/controls/control.ts");
12144
12310
  /* harmony import */ var _valueAndUnit__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../valueAndUnit */ "./2D/valueAndUnit.ts");
@@ -12503,7 +12669,7 @@ __webpack_require__.r(__webpack_exports__);
12503
12669
  /* harmony import */ var _baseSlider__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./baseSlider */ "./2D/controls/sliders/baseSlider.ts");
12504
12670
  /* harmony import */ var _measure__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../measure */ "./2D/measure.ts");
12505
12671
  /* harmony import */ var _image__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../image */ "./2D/controls/image.ts");
12506
- /* harmony import */ var babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! babylonjs/Misc/typeStore */ "babylonjs/Maths/math.vector");
12672
+ /* harmony import */ var babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! babylonjs/Misc/typeStore */ "babylonjs/Misc/observable");
12507
12673
  /* harmony import */ var babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_4__);
12508
12674
 
12509
12675
 
@@ -12710,7 +12876,7 @@ __webpack_require__.r(__webpack_exports__);
12710
12876
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
12711
12877
  /* harmony import */ var _baseSlider__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./baseSlider */ "./2D/controls/sliders/baseSlider.ts");
12712
12878
  /* harmony import */ var _measure__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../measure */ "./2D/measure.ts");
12713
- /* harmony import */ var babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! babylonjs/Misc/decorators */ "babylonjs/Maths/math.vector");
12879
+ /* harmony import */ var babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! babylonjs/Misc/decorators */ "babylonjs/Misc/observable");
12714
12880
  /* harmony import */ var babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_3__);
12715
12881
 
12716
12882
 
@@ -12985,7 +13151,7 @@ __webpack_require__.r(__webpack_exports__);
12985
13151
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
12986
13152
  /* harmony import */ var _baseSlider__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./baseSlider */ "./2D/controls/sliders/baseSlider.ts");
12987
13153
  /* harmony import */ var _measure__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../measure */ "./2D/measure.ts");
12988
- /* harmony import */ var babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! babylonjs/Misc/decorators */ "babylonjs/Maths/math.vector");
13154
+ /* harmony import */ var babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! babylonjs/Misc/decorators */ "babylonjs/Misc/observable");
12989
13155
  /* harmony import */ var babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_3__);
12990
13156
 
12991
13157
 
@@ -13139,7 +13305,7 @@ __webpack_require__.r(__webpack_exports__);
13139
13305
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Slider", function() { return Slider; });
13140
13306
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
13141
13307
  /* harmony import */ var _baseSlider__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./baseSlider */ "./2D/controls/sliders/baseSlider.ts");
13142
- /* harmony import */ var babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babylonjs/Misc/typeStore */ "babylonjs/Maths/math.vector");
13308
+ /* harmony import */ var babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babylonjs/Misc/typeStore */ "babylonjs/Misc/observable");
13143
13309
  /* harmony import */ var babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_2__);
13144
13310
 
13145
13311
 
@@ -13427,7 +13593,7 @@ Object(babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_2__["RegisterClass"])("
13427
13593
  __webpack_require__.r(__webpack_exports__);
13428
13594
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "StackPanel", function() { return StackPanel; });
13429
13595
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
13430
- /* harmony import */ var babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/tools */ "babylonjs/Maths/math.vector");
13596
+ /* harmony import */ var babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/tools */ "babylonjs/Misc/observable");
13431
13597
  /* harmony import */ var babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_1__);
13432
13598
  /* harmony import */ var _container__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./container */ "./2D/controls/container.ts");
13433
13599
  /* harmony import */ var _control__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./control */ "./2D/controls/control.ts");
@@ -13453,8 +13619,9 @@ var StackPanel = /** @class */ (function (_super) {
13453
13619
  _this._manualWidth = false;
13454
13620
  _this._manualHeight = false;
13455
13621
  _this._doNotTrackManualChanges = false;
13622
+ _this._spacing = 0;
13456
13623
  /**
13457
- * Gets or sets a boolean indicating that layou warnings should be ignored
13624
+ * Gets or sets a boolean indicating that layout warnings should be ignored
13458
13625
  */
13459
13626
  _this.ignoreLayoutWarnings = false;
13460
13627
  return _this;
@@ -13474,6 +13641,23 @@ var StackPanel = /** @class */ (function (_super) {
13474
13641
  enumerable: false,
13475
13642
  configurable: true
13476
13643
  });
13644
+ Object.defineProperty(StackPanel.prototype, "spacing", {
13645
+ /**
13646
+ * Gets or sets the spacing (in pixels) between each child.
13647
+ */
13648
+ get: function () {
13649
+ return this._spacing;
13650
+ },
13651
+ set: function (value) {
13652
+ if (this._spacing === value) {
13653
+ return;
13654
+ }
13655
+ this._spacing = value;
13656
+ this._markAsDirty();
13657
+ },
13658
+ enumerable: false,
13659
+ configurable: true
13660
+ });
13477
13661
  Object.defineProperty(StackPanel.prototype, "width", {
13478
13662
  get: function () {
13479
13663
  return this._width.toString(this._host);
@@ -13549,8 +13733,9 @@ var StackPanel = /** @class */ (function (_super) {
13549
13733
  StackPanel.prototype._postMeasure = function () {
13550
13734
  var stackWidth = 0;
13551
13735
  var stackHeight = 0;
13552
- for (var _i = 0, _a = this._children; _i < _a.length; _i++) {
13553
- var child = _a[_i];
13736
+ var childrenCount = this._children.length;
13737
+ for (var index = 0; index < childrenCount; index++) {
13738
+ var child = this._children[index];
13554
13739
  if (!child.isVisible || child.notRenderable) {
13555
13740
  continue;
13556
13741
  }
@@ -13566,7 +13751,7 @@ var StackPanel = /** @class */ (function (_super) {
13566
13751
  }
13567
13752
  }
13568
13753
  else {
13569
- stackHeight += child._currentMeasure.height + child.paddingTopInPixels + child.paddingBottomInPixels;
13754
+ stackHeight += child._currentMeasure.height + child._paddingTopInPixels + child._paddingBottomInPixels + (index < childrenCount - 1 ? this._spacing : 0);
13570
13755
  }
13571
13756
  }
13572
13757
  else {
@@ -13581,12 +13766,12 @@ var StackPanel = /** @class */ (function (_super) {
13581
13766
  }
13582
13767
  }
13583
13768
  else {
13584
- stackWidth += child._currentMeasure.width + child.paddingLeftInPixels + child.paddingRightInPixels;
13769
+ stackWidth += child._currentMeasure.width + child._paddingLeftInPixels + child._paddingRightInPixels + (index < childrenCount - 1 ? this._spacing : 0);
13585
13770
  }
13586
13771
  }
13587
13772
  }
13588
- stackWidth += this.paddingLeftInPixels + this.paddingRightInPixels;
13589
- stackHeight += this.paddingTopInPixels + this.paddingBottomInPixels;
13773
+ stackWidth += this._paddingLeftInPixels + this._paddingRightInPixels;
13774
+ stackHeight += this._paddingTopInPixels + this._paddingBottomInPixels;
13590
13775
  this._doNotTrackManualChanges = true;
13591
13776
  // Let stack panel width or height default to stackHeight and stackWidth if dimensions are not specified.
13592
13777
  // User can now define their own height and width for stack panel.
@@ -13635,6 +13820,9 @@ var StackPanel = /** @class */ (function (_super) {
13635
13820
  Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([
13636
13821
  Object(babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_1__["serialize"])()
13637
13822
  ], StackPanel.prototype, "isVertical", null);
13823
+ Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([
13824
+ Object(babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_1__["serialize"])()
13825
+ ], StackPanel.prototype, "spacing", null);
13638
13826
  Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([
13639
13827
  Object(babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_1__["serialize"])()
13640
13828
  ], StackPanel.prototype, "width", null);
@@ -13725,7 +13913,7 @@ __webpack_require__.r(__webpack_exports__);
13725
13913
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "TextWrapping", function() { return TextWrapping; });
13726
13914
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "TextBlock", function() { return TextBlock; });
13727
13915
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
13728
- /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/observable */ "babylonjs/Maths/math.vector");
13916
+ /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/observable */ "babylonjs/Misc/observable");
13729
13917
  /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__);
13730
13918
  /* harmony import */ var _valueAndUnit__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../valueAndUnit */ "./2D/valueAndUnit.ts");
13731
13919
  /* harmony import */ var _control__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./control */ "./2D/controls/control.ts");
@@ -14026,13 +14214,13 @@ var TextBlock = /** @class */ (function (_super) {
14026
14214
  }
14027
14215
  if (this._resizeToFit) {
14028
14216
  if (this._textWrapping === TextWrapping.Clip) {
14029
- var newWidth = (this.paddingLeftInPixels + this.paddingRightInPixels + maxLineWidth) | 0;
14217
+ var newWidth = (this._paddingLeftInPixels + this._paddingRightInPixels + maxLineWidth) | 0;
14030
14218
  if (newWidth !== this._width.internalValue) {
14031
14219
  this._width.updateInPlace(newWidth, _valueAndUnit__WEBPACK_IMPORTED_MODULE_2__["ValueAndUnit"].UNITMODE_PIXEL);
14032
14220
  this._rebuildLayout = true;
14033
14221
  }
14034
14222
  }
14035
- var newHeight = (this.paddingTopInPixels + this.paddingBottomInPixels + this._fontOffset.height * this._lines.length) | 0;
14223
+ var newHeight = (this._paddingTopInPixels + this._paddingBottomInPixels + this._fontOffset.height * this._lines.length) | 0;
14036
14224
  if (this._lines.length > 0 && this._lineSpacing.internalValue !== 0) {
14037
14225
  var lineSpacing = 0;
14038
14226
  if (this._lineSpacing.isPixel) {
@@ -14231,8 +14419,8 @@ var TextBlock = /** @class */ (function (_super) {
14231
14419
  if (!this._fontOffset) {
14232
14420
  this._fontOffset = _control__WEBPACK_IMPORTED_MODULE_3__["Control"]._GetFontOffset(context_1.font);
14233
14421
  }
14234
- var lines = this._lines ? this._lines : this._breakLines(this.widthInPixels - this.paddingLeftInPixels - this.paddingRightInPixels, context_1);
14235
- var newHeight = this.paddingTopInPixels + this.paddingBottomInPixels + this._fontOffset.height * lines.length;
14422
+ var lines = this._lines ? this._lines : this._breakLines(this.widthInPixels - this._paddingLeftInPixels - this._paddingRightInPixels, context_1);
14423
+ var newHeight = this._paddingTopInPixels + this._paddingBottomInPixels + this._fontOffset.height * lines.length;
14236
14424
  if (lines.length > 0 && this._lineSpacing.internalValue !== 0) {
14237
14425
  var lineSpacing = 0;
14238
14426
  if (this._lineSpacing.isPixel) {
@@ -14417,7 +14605,7 @@ var TextWrapper = /** @class */ (function () {
14417
14605
  __webpack_require__.r(__webpack_exports__);
14418
14606
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ToggleButton", function() { return ToggleButton; });
14419
14607
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
14420
- /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/observable */ "babylonjs/Maths/math.vector");
14608
+ /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/observable */ "babylonjs/Misc/observable");
14421
14609
  /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__);
14422
14610
  /* harmony import */ var _rectangle__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./rectangle */ "./2D/controls/rectangle.ts");
14423
14611
 
@@ -14670,7 +14858,7 @@ __webpack_require__.r(__webpack_exports__);
14670
14858
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "KeyPropertySet", function() { return KeyPropertySet; });
14671
14859
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "VirtualKeyboard", function() { return VirtualKeyboard; });
14672
14860
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
14673
- /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/observable */ "babylonjs/Maths/math.vector");
14861
+ /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/observable */ "babylonjs/Misc/observable");
14674
14862
  /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__);
14675
14863
  /* harmony import */ var _stackPanel__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./stackPanel */ "./2D/controls/stackPanel.ts");
14676
14864
  /* harmony import */ var _button__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./button */ "./2D/controls/button.ts");
@@ -15065,7 +15253,7 @@ __webpack_require__.r(__webpack_exports__);
15065
15253
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Vector2WithInfo", function() { return Vector2WithInfo; });
15066
15254
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Matrix2D", function() { return Matrix2D; });
15067
15255
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
15068
- /* harmony import */ var babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Maths/math.vector */ "babylonjs/Maths/math.vector");
15256
+ /* harmony import */ var babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Maths/math.vector */ "babylonjs/Misc/observable");
15069
15257
  /* harmony import */ var babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__);
15070
15258
 
15071
15259
 
@@ -15213,6 +15401,18 @@ var Matrix2D = /** @class */ (function () {
15213
15401
  Matrix2D.Identity = function () {
15214
15402
  return new Matrix2D(1, 0, 0, 1, 0, 0);
15215
15403
  };
15404
+ /**
15405
+ * Creates an identity matrix and stores it in a target matrix
15406
+ * @param result defines the target matrix
15407
+ */
15408
+ Matrix2D.IdentityToRef = function (result) {
15409
+ result.m[0] = 1;
15410
+ result.m[1] = 0;
15411
+ result.m[2] = 0;
15412
+ result.m[3] = 1;
15413
+ result.m[4] = 0;
15414
+ result.m[5] = 0;
15415
+ };
15216
15416
  /**
15217
15417
  * Creates a translation matrix and stores it in a target matrix
15218
15418
  * @param x defines the x coordinate of the translation
@@ -15290,7 +15490,7 @@ var Matrix2D = /** @class */ (function () {
15290
15490
  "use strict";
15291
15491
  __webpack_require__.r(__webpack_exports__);
15292
15492
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Measure", function() { return Measure; });
15293
- /* harmony import */ var babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Maths/math.vector */ "babylonjs/Maths/math.vector");
15493
+ /* harmony import */ var babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Maths/math.vector */ "babylonjs/Misc/observable");
15294
15494
  /* harmony import */ var babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_0__);
15295
15495
 
15296
15496
  var tmpRect = [
@@ -15455,7 +15655,7 @@ var Measure = /** @class */ (function () {
15455
15655
  "use strict";
15456
15656
  __webpack_require__.r(__webpack_exports__);
15457
15657
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MultiLinePoint", function() { return MultiLinePoint; });
15458
- /* harmony import */ var babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Maths/math.vector */ "babylonjs/Maths/math.vector");
15658
+ /* harmony import */ var babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Maths/math.vector */ "babylonjs/Misc/observable");
15459
15659
  /* harmony import */ var babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_0__);
15460
15660
  /* harmony import */ var _valueAndUnit__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./valueAndUnit */ "./2D/valueAndUnit.ts");
15461
15661
 
@@ -15599,7 +15799,7 @@ var MultiLinePoint = /** @class */ (function () {
15599
15799
  "use strict";
15600
15800
  __webpack_require__.r(__webpack_exports__);
15601
15801
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Style", function() { return Style; });
15602
- /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Misc/observable */ "babylonjs/Maths/math.vector");
15802
+ /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Misc/observable */ "babylonjs/Misc/observable");
15603
15803
  /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_0__);
15604
15804
  /* harmony import */ var _valueAndUnit__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./valueAndUnit */ "./2D/valueAndUnit.ts");
15605
15805
 
@@ -15713,6 +15913,9 @@ var Style = /** @class */ (function () {
15713
15913
  "use strict";
15714
15914
  __webpack_require__.r(__webpack_exports__);
15715
15915
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ValueAndUnit", function() { return ValueAndUnit; });
15916
+ /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Misc/observable */ "babylonjs/Misc/observable");
15917
+ /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_0__);
15918
+
15716
15919
  /**
15717
15920
  * Class used to specific a value and its associated unit
15718
15921
  */
@@ -15720,7 +15923,7 @@ var ValueAndUnit = /** @class */ (function () {
15720
15923
  /**
15721
15924
  * Creates a new ValueAndUnit
15722
15925
  * @param value defines the value to store
15723
- * @param unit defines the unit to store
15926
+ * @param unit defines the unit to store - defaults to ValueAndUnit.UNITMODE_PIXEL
15724
15927
  * @param negativeValueAllowed defines a boolean indicating if the value can be negative
15725
15928
  */
15726
15929
  function ValueAndUnit(value,
@@ -15730,21 +15933,26 @@ var ValueAndUnit = /** @class */ (function () {
15730
15933
  negativeValueAllowed) {
15731
15934
  if (unit === void 0) { unit = ValueAndUnit.UNITMODE_PIXEL; }
15732
15935
  if (negativeValueAllowed === void 0) { negativeValueAllowed = true; }
15733
- this.unit = unit;
15734
15936
  this.negativeValueAllowed = negativeValueAllowed;
15735
15937
  this._value = 1;
15938
+ this._unit = ValueAndUnit.UNITMODE_PIXEL;
15736
15939
  /**
15737
15940
  * Gets or sets a value indicating that this value will not scale accordingly with adaptive scaling property
15738
15941
  * @see https://doc.babylonjs.com/how_to/gui#adaptive-scaling
15739
15942
  */
15740
15943
  this.ignoreAdaptiveScaling = false;
15944
+ /**
15945
+ * Observable event triggered each time the value or unit changes
15946
+ */
15947
+ this.onChangedObservable = new babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
15741
15948
  this._value = value;
15949
+ this._unit = unit;
15742
15950
  this._originalUnit = unit;
15743
15951
  }
15744
15952
  Object.defineProperty(ValueAndUnit.prototype, "isPercentage", {
15745
15953
  /** Gets a boolean indicating if the value is a percentage */
15746
15954
  get: function () {
15747
- return this.unit === ValueAndUnit.UNITMODE_PERCENTAGE;
15955
+ return this._unit === ValueAndUnit.UNITMODE_PERCENTAGE;
15748
15956
  },
15749
15957
  enumerable: false,
15750
15958
  configurable: true
@@ -15752,16 +15960,49 @@ var ValueAndUnit = /** @class */ (function () {
15752
15960
  Object.defineProperty(ValueAndUnit.prototype, "isPixel", {
15753
15961
  /** Gets a boolean indicating if the value is store as pixel */
15754
15962
  get: function () {
15755
- return this.unit === ValueAndUnit.UNITMODE_PIXEL;
15963
+ return this._unit === ValueAndUnit.UNITMODE_PIXEL;
15756
15964
  },
15757
15965
  enumerable: false,
15758
15966
  configurable: true
15759
15967
  });
15760
15968
  Object.defineProperty(ValueAndUnit.prototype, "internalValue", {
15761
- /** Gets direct internal value */
15969
+ /**
15970
+ * Gets value (without units)
15971
+ * @deprecated use value property instead
15972
+ */
15973
+ get: function () {
15974
+ return this._value;
15975
+ },
15976
+ enumerable: false,
15977
+ configurable: true
15978
+ });
15979
+ Object.defineProperty(ValueAndUnit.prototype, "value", {
15980
+ /** Gets value (without units) */
15762
15981
  get: function () {
15763
15982
  return this._value;
15764
15983
  },
15984
+ /** Sets value (without units) */
15985
+ set: function (value) {
15986
+ if (value !== this._value) {
15987
+ this._value = value;
15988
+ this.onChangedObservable.notifyObservers();
15989
+ }
15990
+ },
15991
+ enumerable: false,
15992
+ configurable: true
15993
+ });
15994
+ Object.defineProperty(ValueAndUnit.prototype, "unit", {
15995
+ /** Gets units (without value) */
15996
+ get: function () {
15997
+ return this._unit;
15998
+ },
15999
+ /** Sets units (without value) */
16000
+ set: function (value) {
16001
+ if (value !== this._unit) {
16002
+ this._unit = value;
16003
+ this.onChangedObservable.notifyObservers();
16004
+ }
16005
+ },
15765
16006
  enumerable: false,
15766
16007
  configurable: true
15767
16008
  });
@@ -15778,15 +16019,19 @@ var ValueAndUnit = /** @class */ (function () {
15778
16019
  return this.getValue(host) * refValue;
15779
16020
  };
15780
16021
  /**
15781
- * Update the current value and unit. This should be done cautiously as the GUi won't be marked as dirty with this function.
16022
+ * Update the current value and unit.
15782
16023
  * @param value defines the value to store
15783
16024
  * @param unit defines the unit to store
15784
16025
  * @returns the current ValueAndUnit
15785
16026
  */
15786
16027
  ValueAndUnit.prototype.updateInPlace = function (value, unit) {
15787
16028
  if (unit === void 0) { unit = ValueAndUnit.UNITMODE_PIXEL; }
15788
- this._value = value;
15789
- this.unit = unit;
16029
+ if (this.value !== value || this.unit !== unit) {
16030
+ // set member variables to notify only once
16031
+ this._value = value;
16032
+ this._unit = unit;
16033
+ this.onChangedObservable.notifyObservers();
16034
+ }
15790
16035
  return this;
15791
16036
  };
15792
16037
  /**
@@ -15823,7 +16068,7 @@ var ValueAndUnit = /** @class */ (function () {
15823
16068
  * @returns a string
15824
16069
  */
15825
16070
  ValueAndUnit.prototype.toString = function (host, decimals) {
15826
- switch (this.unit) {
16071
+ switch (this._unit) {
15827
16072
  case ValueAndUnit.UNITMODE_PERCENTAGE:
15828
16073
  var percentage = this.getValue(host) * 100;
15829
16074
  return (decimals ? percentage.toFixed(decimals) : percentage) + "%";
@@ -15831,12 +16076,12 @@ var ValueAndUnit = /** @class */ (function () {
15831
16076
  var pixels = this.getValue(host);
15832
16077
  return (decimals ? pixels.toFixed(decimals) : pixels) + "px";
15833
16078
  }
15834
- return this.unit.toString();
16079
+ return this._unit.toString();
15835
16080
  };
15836
16081
  /**
15837
16082
  * Store a value parsed from a string
15838
16083
  * @param source defines the source string
15839
- * @returns true if the value was successfully parsed
16084
+ * @returns true if the value was successfully parsed and updated
15840
16085
  */
15841
16086
  ValueAndUnit.prototype.fromString = function (source) {
15842
16087
  var match = ValueAndUnit._Regex.exec(source.toString());
@@ -15861,11 +16106,12 @@ var ValueAndUnit = /** @class */ (function () {
15861
16106
  break;
15862
16107
  }
15863
16108
  }
15864
- if (sourceValue === this._value && sourceUnit === this.unit) {
16109
+ if (sourceValue === this._value && sourceUnit === this._unit) {
15865
16110
  return false;
15866
16111
  }
15867
16112
  this._value = sourceValue;
15868
- this.unit = sourceUnit;
16113
+ this._unit = sourceUnit;
16114
+ this.onChangedObservable.notifyObservers();
15869
16115
  return true;
15870
16116
  };
15871
16117
  Object.defineProperty(ValueAndUnit, "UNITMODE_PERCENTAGE", {
@@ -15906,7 +16152,7 @@ var ValueAndUnit = /** @class */ (function () {
15906
16152
  __webpack_require__.r(__webpack_exports__);
15907
16153
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "XmlLoader", function() { return XmlLoader; });
15908
16154
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
15909
- /* harmony import */ var babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/typeStore */ "babylonjs/Maths/math.vector");
16155
+ /* harmony import */ var babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/typeStore */ "babylonjs/Misc/observable");
15910
16156
  /* harmony import */ var babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_1__);
15911
16157
 
15912
16158
 
@@ -16263,7 +16509,7 @@ var XmlLoader = /** @class */ (function () {
16263
16509
  "use strict";
16264
16510
  __webpack_require__.r(__webpack_exports__);
16265
16511
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "DefaultBehavior", function() { return DefaultBehavior; });
16266
- /* harmony import */ var babylonjs_Behaviors_Meshes_followBehavior__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Behaviors/Meshes/followBehavior */ "babylonjs/Maths/math.vector");
16512
+ /* harmony import */ var babylonjs_Behaviors_Meshes_followBehavior__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Behaviors/Meshes/followBehavior */ "babylonjs/Misc/observable");
16267
16513
  /* harmony import */ var babylonjs_Behaviors_Meshes_followBehavior__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Behaviors_Meshes_followBehavior__WEBPACK_IMPORTED_MODULE_0__);
16268
16514
 
16269
16515
 
@@ -16401,7 +16647,7 @@ var DefaultBehavior = /** @class */ (function () {
16401
16647
  __webpack_require__.r(__webpack_exports__);
16402
16648
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AbstractButton3D", function() { return AbstractButton3D; });
16403
16649
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
16404
- /* harmony import */ var babylonjs_Meshes_transformNode__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Meshes/transformNode */ "babylonjs/Maths/math.vector");
16650
+ /* harmony import */ var babylonjs_Meshes_transformNode__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Meshes/transformNode */ "babylonjs/Misc/observable");
16405
16651
  /* harmony import */ var babylonjs_Meshes_transformNode__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Meshes_transformNode__WEBPACK_IMPORTED_MODULE_1__);
16406
16652
  /* harmony import */ var _contentDisplay3D__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./contentDisplay3D */ "./3D/controls/contentDisplay3D.ts");
16407
16653
 
@@ -16444,7 +16690,7 @@ var AbstractButton3D = /** @class */ (function (_super) {
16444
16690
  __webpack_require__.r(__webpack_exports__);
16445
16691
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Button3D", function() { return Button3D; });
16446
16692
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
16447
- /* harmony import */ var babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Maths/math.vector */ "babylonjs/Maths/math.vector");
16693
+ /* harmony import */ var babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Maths/math.vector */ "babylonjs/Misc/observable");
16448
16694
  /* harmony import */ var babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__);
16449
16695
  /* harmony import */ var _abstractButton3D__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./abstractButton3D */ "./3D/controls/abstractButton3D.ts");
16450
16696
 
@@ -16504,12 +16750,19 @@ var Button3D = /** @class */ (function (_super) {
16504
16750
  for (var i = 0; i < 6; i++) {
16505
16751
  faceUV[i] = new babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__["Vector4"](0, 0, 0, 0);
16506
16752
  }
16507
- faceUV[1] = new babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__["Vector4"](0, 0, 1, 1);
16753
+ if (scene.useRightHandedSystem) {
16754
+ // Flip the u on the texture
16755
+ faceUV[0].copyFromFloats(1, 0, 0, 1);
16756
+ }
16757
+ else {
16758
+ faceUV[1].copyFromFloats(0, 0, 1, 1);
16759
+ }
16508
16760
  var mesh = Object(babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__["CreateBox"])(this.name + "_rootMesh", {
16509
16761
  width: 1.0,
16510
16762
  height: 1.0,
16511
16763
  depth: 0.08,
16512
16764
  faceUV: faceUV,
16765
+ wrap: true,
16513
16766
  }, scene);
16514
16767
  return mesh;
16515
16768
  };
@@ -16548,7 +16801,7 @@ var Button3D = /** @class */ (function (_super) {
16548
16801
  __webpack_require__.r(__webpack_exports__);
16549
16802
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Container3D", function() { return Container3D; });
16550
16803
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
16551
- /* harmony import */ var babylonjs_Meshes_transformNode__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Meshes/transformNode */ "babylonjs/Maths/math.vector");
16804
+ /* harmony import */ var babylonjs_Meshes_transformNode__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Meshes/transformNode */ "babylonjs/Misc/observable");
16552
16805
  /* harmony import */ var babylonjs_Meshes_transformNode__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Meshes_transformNode__WEBPACK_IMPORTED_MODULE_1__);
16553
16806
  /* harmony import */ var _control3D__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./control3D */ "./3D/controls/control3D.ts");
16554
16807
 
@@ -16708,7 +16961,7 @@ __webpack_require__.r(__webpack_exports__);
16708
16961
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
16709
16962
  /* harmony import */ var _2D_advancedDynamicTexture__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../2D/advancedDynamicTexture */ "./2D/advancedDynamicTexture.ts");
16710
16963
  /* harmony import */ var _control3D__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./control3D */ "./3D/controls/control3D.ts");
16711
- /* harmony import */ var babylonjs_Materials_Textures_texture__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! babylonjs/Materials/Textures/texture */ "babylonjs/Maths/math.vector");
16964
+ /* harmony import */ var babylonjs_Materials_Textures_texture__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! babylonjs/Materials/Textures/texture */ "babylonjs/Misc/observable");
16712
16965
  /* harmony import */ var babylonjs_Materials_Textures_texture__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Materials_Textures_texture__WEBPACK_IMPORTED_MODULE_3__);
16713
16966
 
16714
16967
 
@@ -16802,7 +17055,7 @@ var ContentDisplay3D = /** @class */ (function (_super) {
16802
17055
  "use strict";
16803
17056
  __webpack_require__.r(__webpack_exports__);
16804
17057
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Control3D", function() { return Control3D; });
16805
- /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Misc/observable */ "babylonjs/Maths/math.vector");
17058
+ /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Misc/observable */ "babylonjs/Misc/observable");
16806
17059
  /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_0__);
16807
17060
  /* harmony import */ var _vector3WithInfo__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../vector3WithInfo */ "./3D/vector3WithInfo.ts");
16808
17061
 
@@ -16826,6 +17079,8 @@ var Control3D = /** @class */ (function () {
16826
17079
  this._enterCount = -1;
16827
17080
  this._downPointerIds = {}; // Store number of pointer downs per ID, from near and far interactions
16828
17081
  this._isVisible = true;
17082
+ /** @hidden */
17083
+ this._isScaledByManager = false;
16829
17084
  /**
16830
17085
  * An event triggered when the pointer moves over the control
16831
17086
  */
@@ -16882,6 +17137,7 @@ var Control3D = /** @class */ (function () {
16882
17137
  if (!this._node) {
16883
17138
  return;
16884
17139
  }
17140
+ this._isScaledByManager = false;
16885
17141
  this._node.scaling = value;
16886
17142
  },
16887
17143
  enumerable: false,
@@ -17225,7 +17481,7 @@ var Control3D = /** @class */ (function () {
17225
17481
  __webpack_require__.r(__webpack_exports__);
17226
17482
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CylinderPanel", function() { return CylinderPanel; });
17227
17483
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
17228
- /* harmony import */ var babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/tools */ "babylonjs/Maths/math.vector");
17484
+ /* harmony import */ var babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/tools */ "babylonjs/Misc/observable");
17229
17485
  /* harmony import */ var babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_1__);
17230
17486
  /* harmony import */ var _volumeBasedPanel__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./volumeBasedPanel */ "./3D/controls/volumeBasedPanel.ts");
17231
17487
  /* harmony import */ var _container3D__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./container3D */ "./3D/controls/container3D.ts");
@@ -17311,7 +17567,7 @@ __webpack_require__.r(__webpack_exports__);
17311
17567
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "HandMenu", function() { return HandMenu; });
17312
17568
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
17313
17569
  /* harmony import */ var _touchHolographicMenu__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./touchHolographicMenu */ "./3D/controls/touchHolographicMenu.ts");
17314
- /* harmony import */ var babylonjs_Behaviors_Meshes_handConstraintBehavior__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babylonjs/Behaviors/Meshes/handConstraintBehavior */ "babylonjs/Maths/math.vector");
17570
+ /* harmony import */ var babylonjs_Behaviors_Meshes_handConstraintBehavior__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babylonjs/Behaviors/Meshes/handConstraintBehavior */ "babylonjs/Misc/observable");
17315
17571
  /* harmony import */ var babylonjs_Behaviors_Meshes_handConstraintBehavior__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Behaviors_Meshes_handConstraintBehavior__WEBPACK_IMPORTED_MODULE_2__);
17316
17572
 
17317
17573
 
@@ -17375,7 +17631,7 @@ var HandMenu = /** @class */ (function (_super) {
17375
17631
  __webpack_require__.r(__webpack_exports__);
17376
17632
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "HolographicBackplate", function() { return HolographicBackplate; });
17377
17633
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
17378
- /* harmony import */ var babylonjs_Meshes_Builders_boxBuilder__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Meshes/Builders/boxBuilder */ "babylonjs/Maths/math.vector");
17634
+ /* harmony import */ var babylonjs_Meshes_Builders_boxBuilder__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Meshes/Builders/boxBuilder */ "babylonjs/Misc/observable");
17379
17635
  /* harmony import */ var babylonjs_Meshes_Builders_boxBuilder__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Meshes_Builders_boxBuilder__WEBPACK_IMPORTED_MODULE_1__);
17380
17636
  /* harmony import */ var _materials_fluentBackplate_fluentBackplateMaterial__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../materials/fluentBackplate/fluentBackplateMaterial */ "./3D/materials/fluentBackplate/fluentBackplateMaterial.ts");
17381
17637
  /* harmony import */ var _control3D__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./control3D */ "./3D/controls/control3D.ts");
@@ -17515,8 +17771,8 @@ __webpack_require__.r(__webpack_exports__);
17515
17771
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "HolographicButton", function() { return HolographicButton; });
17516
17772
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
17517
17773
  /* harmony import */ var _button3D__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./button3D */ "./3D/controls/button3D.ts");
17518
- /* harmony import */ var babylonjs_Materials_standardMaterial__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babylonjs/Materials/standardMaterial */ "babylonjs/Maths/math.vector");
17519
- /* harmony import */ var babylonjs_Materials_standardMaterial__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Materials_standardMaterial__WEBPACK_IMPORTED_MODULE_2__);
17774
+ /* harmony import */ var babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babylonjs/Maths/math.vector */ "babylonjs/Misc/observable");
17775
+ /* harmony import */ var babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_2__);
17520
17776
  /* harmony import */ var _materials_fluent_fluentMaterial__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../materials/fluent/fluentMaterial */ "./3D/materials/fluent/fluentMaterial.ts");
17521
17777
  /* harmony import */ var _2D_controls_stackPanel__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../2D/controls/stackPanel */ "./2D/controls/stackPanel.ts");
17522
17778
  /* harmony import */ var _2D_controls_image__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../2D/controls/image */ "./2D/controls/image.ts");
@@ -17536,6 +17792,7 @@ __webpack_require__.r(__webpack_exports__);
17536
17792
 
17537
17793
 
17538
17794
 
17795
+
17539
17796
  /**
17540
17797
  * Class used to create a holographic button in 3D
17541
17798
  */
@@ -17614,18 +17871,18 @@ var HolographicButton = /** @class */ (function (_super) {
17614
17871
  return;
17615
17872
  }
17616
17873
  if (!this._tooltipFade) {
17874
+ var rightHandedScene = this._backPlate._scene.useRightHandedSystem;
17617
17875
  // Create tooltip with mesh and text
17618
- this._tooltipMesh = Object(babylonjs_Materials_standardMaterial__WEBPACK_IMPORTED_MODULE_2__["CreatePlane"])("", { size: 1 }, this._backPlate._scene);
17619
- var tooltipBackground = Object(babylonjs_Materials_standardMaterial__WEBPACK_IMPORTED_MODULE_2__["CreatePlane"])("", { size: 1, sideOrientation: babylonjs_Materials_standardMaterial__WEBPACK_IMPORTED_MODULE_2__["Mesh"].DOUBLESIDE }, this._backPlate._scene);
17620
- var mat = new babylonjs_Materials_standardMaterial__WEBPACK_IMPORTED_MODULE_2__["StandardMaterial"]("", this._backPlate._scene);
17621
- mat.diffuseColor = babylonjs_Materials_standardMaterial__WEBPACK_IMPORTED_MODULE_2__["Color3"].FromHexString("#212121");
17876
+ this._tooltipMesh = Object(babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_2__["CreatePlane"])("", { size: 1 }, this._backPlate._scene);
17877
+ var tooltipBackground = Object(babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_2__["CreatePlane"])("", { size: 1, sideOrientation: babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_2__["Mesh"].DOUBLESIDE }, this._backPlate._scene);
17878
+ var mat = new babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_2__["StandardMaterial"]("", this._backPlate._scene);
17879
+ mat.diffuseColor = babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_2__["Color3"].FromHexString("#212121");
17622
17880
  tooltipBackground.material = mat;
17623
17881
  tooltipBackground.isPickable = false;
17624
17882
  this._tooltipMesh.addChild(tooltipBackground);
17625
- tooltipBackground.position.z = 0.05;
17883
+ tooltipBackground.position = babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_2__["Vector3"].Forward(rightHandedScene).scale(0.05);
17626
17884
  this._tooltipMesh.scaling.y = 1 / 3;
17627
- this._tooltipMesh.position.y = 0.7;
17628
- this._tooltipMesh.position.z = -0.15;
17885
+ this._tooltipMesh.position = babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_2__["Vector3"].Up().scale(0.7).add(babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_2__["Vector3"].Forward(rightHandedScene).scale(-0.15));
17629
17886
  this._tooltipMesh.isPickable = false;
17630
17887
  this._tooltipMesh.parent = this._backPlate;
17631
17888
  // Create text texture for the tooltip
@@ -17636,7 +17893,7 @@ var HolographicButton = /** @class */ (function (_super) {
17636
17893
  this._tooltipTextBlock.fontSize = 130;
17637
17894
  this._tooltipTexture.addControl(this._tooltipTextBlock);
17638
17895
  // Add hover action to tooltip
17639
- this._tooltipFade = new babylonjs_Materials_standardMaterial__WEBPACK_IMPORTED_MODULE_2__["FadeInOutBehavior"]();
17896
+ this._tooltipFade = new babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_2__["FadeInOutBehavior"]();
17640
17897
  this._tooltipFade.delay = 500;
17641
17898
  this._tooltipMesh.addBehavior(this._tooltipFade);
17642
17899
  this._tooltipHoverObserver = this.onPointerEnterObservable.add(function () {
@@ -17738,7 +17995,7 @@ var HolographicButton = /** @class */ (function (_super) {
17738
17995
  this._disposeFacadeTexture();
17739
17996
  var panel = new _2D_controls_stackPanel__WEBPACK_IMPORTED_MODULE_4__["StackPanel"]();
17740
17997
  panel.isVertical = true;
17741
- if (babylonjs_Materials_standardMaterial__WEBPACK_IMPORTED_MODULE_2__["DomManagement"].IsDocumentAvailable() && !!document.createElement) {
17998
+ if (babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_2__["DomManagement"].IsDocumentAvailable() && !!document.createElement) {
17742
17999
  if (this._imageUrl) {
17743
18000
  var image = new _2D_controls_image__WEBPACK_IMPORTED_MODULE_5__["Image"]();
17744
18001
  image.source = this._imageUrl;
@@ -17763,23 +18020,23 @@ var HolographicButton = /** @class */ (function (_super) {
17763
18020
  };
17764
18021
  // Mesh association
17765
18022
  HolographicButton.prototype._createNode = function (scene) {
17766
- this._backPlate = Object(babylonjs_Materials_standardMaterial__WEBPACK_IMPORTED_MODULE_2__["CreateBox"])(this.name + "BackMesh", {
18023
+ this._backPlate = Object(babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_2__["CreateBox"])(this.name + "BackMesh", {
17767
18024
  width: 1.0,
17768
18025
  height: 1.0,
17769
- depth: 0.08
18026
+ depth: 0.08,
17770
18027
  }, scene);
17771
- this._frontPlate = Object(babylonjs_Materials_standardMaterial__WEBPACK_IMPORTED_MODULE_2__["CreateBox"])(this.name + "FrontMesh", {
18028
+ this._frontPlate = Object(babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_2__["CreateBox"])(this.name + "FrontMesh", {
17772
18029
  width: 1.0,
17773
18030
  height: 1.0,
17774
- depth: 0.08
18031
+ depth: 0.08,
17775
18032
  }, scene);
17776
18033
  this._frontPlate.parent = this._backPlate;
17777
- this._frontPlate.position.z = -0.08;
18034
+ this._frontPlate.position = babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_2__["Vector3"].Forward(scene.useRightHandedSystem).scale(-0.08);
17778
18035
  this._frontPlate.isPickable = false;
17779
18036
  this._frontPlate.setEnabled(false);
17780
18037
  this._textPlate = _super.prototype._createNode.call(this, scene);
17781
18038
  this._textPlate.parent = this._backPlate;
17782
- this._textPlate.position.z = -0.08;
18039
+ this._textPlate.position = babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_2__["Vector3"].Forward(scene.useRightHandedSystem).scale(-0.08);
17783
18040
  this._textPlate.isPickable = false;
17784
18041
  return this._backPlate;
17785
18042
  };
@@ -17808,8 +18065,8 @@ var HolographicButton = /** @class */ (function (_super) {
17808
18065
  this._frontMaterial.renderBorders = true;
17809
18066
  };
17810
18067
  HolographicButton.prototype._createPlateMaterial = function (mesh) {
17811
- this._plateMaterial = new babylonjs_Materials_standardMaterial__WEBPACK_IMPORTED_MODULE_2__["StandardMaterial"](this.name + "Plate Material", mesh.getScene());
17812
- this._plateMaterial.specularColor = babylonjs_Materials_standardMaterial__WEBPACK_IMPORTED_MODULE_2__["Color3"].Black();
18068
+ this._plateMaterial = new babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_2__["StandardMaterial"](this.name + "Plate Material", mesh.getScene());
18069
+ this._plateMaterial.specularColor = babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_2__["Color3"].Black();
17813
18070
  };
17814
18071
  HolographicButton.prototype._affectMaterial = function (mesh) {
17815
18072
  // Back
@@ -17874,7 +18131,7 @@ var HolographicButton = /** @class */ (function (_super) {
17874
18131
  __webpack_require__.r(__webpack_exports__);
17875
18132
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "HolographicSlate", function() { return HolographicSlate; });
17876
18133
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
17877
- /* harmony import */ var babylonjs_Meshes_Builders_boxBuilder__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Meshes/Builders/boxBuilder */ "babylonjs/Maths/math.vector");
18134
+ /* harmony import */ var babylonjs_Meshes_Builders_boxBuilder__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Meshes/Builders/boxBuilder */ "babylonjs/Misc/observable");
17878
18135
  /* harmony import */ var babylonjs_Meshes_Builders_boxBuilder__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Meshes_Builders_boxBuilder__WEBPACK_IMPORTED_MODULE_1__);
17879
18136
  /* harmony import */ var _materials_fluent_fluentMaterial__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../materials/fluent/fluentMaterial */ "./3D/materials/fluent/fluentMaterial.ts");
17880
18137
  /* harmony import */ var _touchHolographicButton__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./touchHolographicButton */ "./3D/controls/touchHolographicButton.ts");
@@ -17898,6 +18155,7 @@ __webpack_require__.r(__webpack_exports__);
17898
18155
 
17899
18156
 
17900
18157
 
18158
+
17901
18159
  /**
17902
18160
  * Class used to create a holographic slate
17903
18161
  * @since 5.0.0
@@ -17913,11 +18171,11 @@ var HolographicSlate = /** @class */ (function (_super) {
17913
18171
  /**
17914
18172
  * Dimensions of the slate
17915
18173
  */
17916
- _this.dimensions = new babylonjs_Meshes_Builders_boxBuilder__WEBPACK_IMPORTED_MODULE_1__["Vector3"](0.7, 0.4, 0.001);
18174
+ _this.dimensions = new babylonjs_Meshes_Builders_boxBuilder__WEBPACK_IMPORTED_MODULE_1__["Vector3"](21.875, 12.5, 0.001);
17917
18175
  /**
17918
18176
  * Minimum dimensions of the slate
17919
18177
  */
17920
- _this.minDimensions = new babylonjs_Meshes_Builders_boxBuilder__WEBPACK_IMPORTED_MODULE_1__["Vector3"](0.5, 0.2, 0.001);
18178
+ _this.minDimensions = new babylonjs_Meshes_Builders_boxBuilder__WEBPACK_IMPORTED_MODULE_1__["Vector3"](15.625, 6.25, 0.001);
17921
18179
  /**
17922
18180
  * Default dimensions of the slate
17923
18181
  */
@@ -17925,7 +18183,7 @@ var HolographicSlate = /** @class */ (function (_super) {
17925
18183
  /**
17926
18184
  * Dimensions of the backplate
17927
18185
  */
17928
- _this.backplateDimensions = new babylonjs_Meshes_Builders_boxBuilder__WEBPACK_IMPORTED_MODULE_1__["Vector3"](0.7, 0.02, 0.001);
18186
+ _this.backplateDimensions = new babylonjs_Meshes_Builders_boxBuilder__WEBPACK_IMPORTED_MODULE_1__["Vector3"](21.875, 0.625, 0.001);
17929
18187
  /**
17930
18188
  * Margin between backplate and contentplate
17931
18189
  */
@@ -18086,7 +18344,11 @@ var HolographicSlate = /** @class */ (function (_super) {
18086
18344
  var _this = this;
18087
18345
  var node = new babylonjs_Meshes_Builders_boxBuilder__WEBPACK_IMPORTED_MODULE_1__["Mesh"]("slate" + this.name, scene);
18088
18346
  this._backPlate = Object(babylonjs_Meshes_Builders_boxBuilder__WEBPACK_IMPORTED_MODULE_1__["CreateBox"])("backPlate" + this.name, { size: 1 }, scene);
18089
- this._contentPlate = Object(babylonjs_Meshes_Builders_boxBuilder__WEBPACK_IMPORTED_MODULE_1__["CreateBox"])("contentPlate" + this.name, { size: 1 }, scene);
18347
+ var faceUV = new Array(6).fill(new babylonjs_Meshes_Builders_boxBuilder__WEBPACK_IMPORTED_MODULE_1__["Vector4"](0, 0, 1, 1));
18348
+ if (scene.useRightHandedSystem) {
18349
+ faceUV[0].copyFromFloats(0, 1, 1, 0);
18350
+ }
18351
+ this._contentPlate = Object(babylonjs_Meshes_Builders_boxBuilder__WEBPACK_IMPORTED_MODULE_1__["CreateBox"])("contentPlate" + this.name, { size: 1, faceUV: faceUV }, scene);
18090
18352
  this._backPlate.parent = node;
18091
18353
  this._backPlate.isNearGrabbable = true;
18092
18354
  this._contentPlate.parent = node;
@@ -18100,8 +18362,8 @@ var HolographicSlate = /** @class */ (function (_super) {
18100
18362
  this._positionElements();
18101
18363
  this._followButton.imageUrl = HolographicSlate.ASSETS_BASE_URL + HolographicSlate.FOLLOW_ICON_FILENAME;
18102
18364
  this._closeButton.imageUrl = HolographicSlate.ASSETS_BASE_URL + HolographicSlate.CLOSE_ICON_FILENAME;
18103
- this._followButton.backMaterial.alpha = 0;
18104
- this._closeButton.backMaterial.alpha = 0;
18365
+ this._followButton.isBackplateVisible = false;
18366
+ this._closeButton.isBackplateVisible = false;
18105
18367
  this._followButton.onPointerClickObservable.add(function () {
18106
18368
  _this._defaultBehavior.followBehaviorEnabled = !_this._defaultBehavior.followBehaviorEnabled;
18107
18369
  if (_this._defaultBehavior.followBehaviorEnabled) {
@@ -18527,7 +18789,7 @@ var NearMenu = /** @class */ (function (_super) {
18527
18789
  };
18528
18790
  NearMenu.prototype._finalProcessing = function () {
18529
18791
  _super.prototype._finalProcessing.call(this);
18530
- this._pinButton.position.copyFromFloats(this._backPlate.scaling.x / 2 + 0.2, this._backPlate.scaling.y / 2, 0);
18792
+ this._pinButton.position.copyFromFloats((this._backPlate.scaling.x + _touchHolographicMenu__WEBPACK_IMPORTED_MODULE_3__["TouchHolographicMenu"].MENU_BUTTON_SCALE) / 2, this._backPlate.scaling.y / 2, 0);
18531
18793
  };
18532
18794
  /**
18533
18795
  * Disposes the near menu
@@ -18563,7 +18825,7 @@ var NearMenu = /** @class */ (function (_super) {
18563
18825
  __webpack_require__.r(__webpack_exports__);
18564
18826
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PlanePanel", function() { return PlanePanel; });
18565
18827
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
18566
- /* harmony import */ var babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Maths/math.vector */ "babylonjs/Maths/math.vector");
18828
+ /* harmony import */ var babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Maths/math.vector */ "babylonjs/Misc/observable");
18567
18829
  /* harmony import */ var babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__);
18568
18830
  /* harmony import */ var _container3D__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./container3D */ "./3D/controls/container3D.ts");
18569
18831
  /* harmony import */ var _volumeBasedPanel__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./volumeBasedPanel */ "./3D/controls/volumeBasedPanel.ts");
@@ -18618,7 +18880,7 @@ var PlanePanel = /** @class */ (function (_super) {
18618
18880
  __webpack_require__.r(__webpack_exports__);
18619
18881
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ScatterPanel", function() { return ScatterPanel; });
18620
18882
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
18621
- /* harmony import */ var babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/tools */ "babylonjs/Maths/math.vector");
18883
+ /* harmony import */ var babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/tools */ "babylonjs/Misc/observable");
18622
18884
  /* harmony import */ var babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_1__);
18623
18885
  /* harmony import */ var _volumeBasedPanel__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./volumeBasedPanel */ "./3D/controls/volumeBasedPanel.ts");
18624
18886
  /* harmony import */ var _container3D__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./container3D */ "./3D/controls/container3D.ts");
@@ -18745,7 +19007,7 @@ var ScatterPanel = /** @class */ (function (_super) {
18745
19007
  __webpack_require__.r(__webpack_exports__);
18746
19008
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Slider3D", function() { return Slider3D; });
18747
19009
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
18748
- /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/observable */ "babylonjs/Maths/math.vector");
19010
+ /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/observable */ "babylonjs/Misc/observable");
18749
19011
  /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__);
18750
19012
  /* harmony import */ var _control3D__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./control3D */ "./3D/controls/control3D.ts");
18751
19013
  /* harmony import */ var _materials_mrdl_mrdlSliderBarMaterial__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../materials/mrdl/mrdlSliderBarMaterial */ "./3D/materials/mrdl/mrdlSliderBarMaterial.ts");
@@ -19033,7 +19295,7 @@ var Slider3D = /** @class */ (function (_super) {
19033
19295
  __webpack_require__.r(__webpack_exports__);
19034
19296
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SpherePanel", function() { return SpherePanel; });
19035
19297
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
19036
- /* harmony import */ var babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/tools */ "babylonjs/Maths/math.vector");
19298
+ /* harmony import */ var babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/tools */ "babylonjs/Misc/observable");
19037
19299
  /* harmony import */ var babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_1__);
19038
19300
  /* harmony import */ var _volumeBasedPanel__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./volumeBasedPanel */ "./3D/controls/volumeBasedPanel.ts");
19039
19301
  /* harmony import */ var _container3D__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./container3D */ "./3D/controls/container3D.ts");
@@ -19119,7 +19381,7 @@ var SpherePanel = /** @class */ (function (_super) {
19119
19381
  __webpack_require__.r(__webpack_exports__);
19120
19382
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "StackPanel3D", function() { return StackPanel3D; });
19121
19383
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
19122
- /* harmony import */ var babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/tools */ "babylonjs/Maths/math.vector");
19384
+ /* harmony import */ var babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/tools */ "babylonjs/Misc/observable");
19123
19385
  /* harmony import */ var babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_1__);
19124
19386
  /* harmony import */ var _container3D__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./container3D */ "./3D/controls/container3D.ts");
19125
19387
 
@@ -19244,7 +19506,7 @@ var StackPanel3D = /** @class */ (function (_super) {
19244
19506
  __webpack_require__.r(__webpack_exports__);
19245
19507
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "TouchButton3D", function() { return TouchButton3D; });
19246
19508
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
19247
- /* harmony import */ var babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Maths/math.vector */ "babylonjs/Maths/math.vector");
19509
+ /* harmony import */ var babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Maths/math.vector */ "babylonjs/Misc/observable");
19248
19510
  /* harmony import */ var babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__);
19249
19511
  /* harmony import */ var _button3D__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./button3D */ "./3D/controls/button3D.ts");
19250
19512
  // Assumptions: absolute position of button mesh is inside the mesh
@@ -19394,7 +19656,7 @@ var TouchButton3D = /** @class */ (function (_super) {
19394
19656
  __webpack_require__.r(__webpack_exports__);
19395
19657
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "TouchHolographicButton", function() { return TouchHolographicButton; });
19396
19658
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
19397
- /* harmony import */ var babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Maths/math.vector */ "babylonjs/Maths/math.vector");
19659
+ /* harmony import */ var babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Maths/math.vector */ "babylonjs/Misc/observable");
19398
19660
  /* harmony import */ var babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__);
19399
19661
  /* harmony import */ var _materials_fluentButton_fluentButtonMaterial__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../materials/fluentButton/fluentButtonMaterial */ "./3D/materials/fluentButton/fluentButtonMaterial.ts");
19400
19662
  /* harmony import */ var _2D_controls_stackPanel__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../2D/controls/stackPanel */ "./2D/controls/stackPanel.ts");
@@ -19448,15 +19710,15 @@ var TouchHolographicButton = /** @class */ (function (_super) {
19448
19710
  _this.pointerDownAnimation = function () {
19449
19711
  if (_this._frontPlate && !_this._isNearPressed) {
19450
19712
  _this._frontPlate.scaling.z = _this._frontPlateDepth * 0.2;
19451
- _this._frontPlate.position.z = (_this._frontPlateDepth - (0.2 * _this._frontPlateDepth)) / 2;
19452
- _this._textPlate.position.z = -(_this._backPlateDepth + (0.2 * _this._frontPlateDepth)) / 2;
19713
+ _this._frontPlate.position = babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__["Vector3"].Forward(_this._frontPlate._scene.useRightHandedSystem).scale((_this._frontPlateDepth - (0.2 * _this._frontPlateDepth)) / 2);
19714
+ _this._textPlate.position = babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__["Vector3"].Forward(_this._textPlate._scene.useRightHandedSystem).scale(-(_this._backPlateDepth + (0.2 * _this._frontPlateDepth)) / 2);
19453
19715
  }
19454
19716
  };
19455
19717
  _this.pointerUpAnimation = function () {
19456
19718
  if (_this._frontPlate) {
19457
19719
  _this._frontPlate.scaling.z = _this._frontPlateDepth;
19458
- _this._frontPlate.position.z = (_this._frontPlateDepth - _this._frontPlateDepth) / 2;
19459
- _this._textPlate.position.z = -(_this._backPlateDepth + _this._frontPlateDepth) / 2;
19720
+ _this._frontPlate.position = babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__["Vector3"].Forward(_this._frontPlate._scene.useRightHandedSystem).scale((_this._frontPlateDepth - _this._frontPlateDepth) / 2);
19721
+ _this._textPlate.position = babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__["Vector3"].Forward(_this._textPlate._scene.useRightHandedSystem).scale(-(_this._backPlateDepth + _this._frontPlateDepth) / 2);
19460
19722
  }
19461
19723
  };
19462
19724
  _this.onPointerMoveObservable.add(function (position) {
@@ -19466,8 +19728,8 @@ var TouchHolographicButton = /** @class */ (function (_super) {
19466
19728
  var interactionHeight = _this._getInteractionHeight(position, _this._backPlate.position) / scale.z;
19467
19729
  interactionHeight = babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__["Scalar"].Clamp(interactionHeight - (_this._backPlateDepth / 2), 0.2 * _this._frontPlateDepth, _this._frontPlateDepth);
19468
19730
  _this._frontPlate.scaling.z = interactionHeight;
19469
- _this._frontPlate.position.z = (_this._frontPlateDepth - interactionHeight) / 2;
19470
- _this._textPlate.position.z = -(_this._backPlateDepth + interactionHeight) / 2;
19731
+ _this._frontPlate.position = babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__["Vector3"].Forward(_this._frontPlate._scene.useRightHandedSystem).scale((_this._frontPlateDepth - interactionHeight) / 2);
19732
+ _this._textPlate.position = babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__["Vector3"].Forward(_this._textPlate._scene.useRightHandedSystem).scale(-(_this._backPlateDepth + interactionHeight) / 2);
19471
19733
  }
19472
19734
  }
19473
19735
  });
@@ -19525,6 +19787,7 @@ var TouchHolographicButton = /** @class */ (function (_super) {
19525
19787
  return;
19526
19788
  }
19527
19789
  if (!this._tooltipFade) {
19790
+ var rightHandedScene = this._backPlate._scene.useRightHandedSystem;
19528
19791
  // Create tooltip with mesh and text
19529
19792
  this._tooltipMesh = Object(babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__["CreatePlane"])("", { size: 1 }, this._backPlate._scene);
19530
19793
  var tooltipBackground = Object(babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__["CreatePlane"])("", { size: 1, sideOrientation: babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__["Mesh"].DOUBLESIDE }, this._backPlate._scene);
@@ -19533,10 +19796,9 @@ var TouchHolographicButton = /** @class */ (function (_super) {
19533
19796
  tooltipBackground.material = mat;
19534
19797
  tooltipBackground.isPickable = false;
19535
19798
  this._tooltipMesh.addChild(tooltipBackground);
19536
- tooltipBackground.position.z = 0.05;
19799
+ tooltipBackground.position = babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__["Vector3"].Forward(rightHandedScene).scale(0.05);
19537
19800
  this._tooltipMesh.scaling.y = 1 / 3;
19538
- this._tooltipMesh.position.y = 0.7;
19539
- this._tooltipMesh.position.z = -0.15;
19801
+ this._tooltipMesh.position = babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__["Vector3"].Up().scale(0.7).add(babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__["Vector3"].Forward(rightHandedScene).scale(-0.15));
19540
19802
  this._tooltipMesh.isPickable = false;
19541
19803
  this._tooltipMesh.parent = this._backPlate;
19542
19804
  // Create text texture for the tooltip
@@ -19701,7 +19963,7 @@ var TouchHolographicButton = /** @class */ (function (_super) {
19701
19963
  collisionMesh.isPickable = true;
19702
19964
  collisionMesh.isNearPickable = true;
19703
19965
  collisionMesh.visibility = 0;
19704
- collisionMesh.position.z = -this._frontPlateDepth / 2;
19966
+ collisionMesh.position = babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__["Vector3"].Forward(scene.useRightHandedSystem).scale(-this._frontPlateDepth / 2);
19705
19967
  babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__["SceneLoader"].ImportMeshAsync(undefined, TouchHolographicButton.MODEL_BASE_URL, TouchHolographicButton.MODEL_FILENAME, scene)
19706
19968
  .then(function (result) {
19707
19969
  var importedFrontPlate = result.meshes[1];
@@ -19719,12 +19981,12 @@ var TouchHolographicButton = /** @class */ (function (_super) {
19719
19981
  height: 1.0,
19720
19982
  depth: this._backPlateDepth,
19721
19983
  }, scene);
19722
- this._backPlate.position.z = this._backPlateDepth / 2;
19984
+ this._backPlate.position = babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__["Vector3"].Forward(scene.useRightHandedSystem).scale(-this._backPlateDepth / 2);
19723
19985
  this._backPlate.isPickable = false;
19724
19986
  this._textPlate = _super.prototype._createNode.call(this, scene);
19725
19987
  this._textPlate.name = this.name + "_textPlate";
19726
19988
  this._textPlate.isPickable = false;
19727
- this._textPlate.position.z = -this._frontPlateDepth / 2;
19989
+ this._textPlate.position = babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__["Vector3"].Forward(scene.useRightHandedSystem).scale(-this._frontPlateDepth / 2);
19728
19990
  this._backPlate.addChild(collisionMesh);
19729
19991
  this._backPlate.addChild(this._textPlate);
19730
19992
  this.collisionMesh = collisionMesh;
@@ -19825,7 +20087,7 @@ __webpack_require__.r(__webpack_exports__);
19825
20087
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "TouchHolographicMenu", function() { return TouchHolographicMenu; });
19826
20088
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
19827
20089
  /* harmony import */ var _volumeBasedPanel__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./volumeBasedPanel */ "./3D/controls/volumeBasedPanel.ts");
19828
- /* harmony import */ var babylonjs_Meshes_mesh__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babylonjs/Meshes/mesh */ "babylonjs/Maths/math.vector");
20090
+ /* harmony import */ var babylonjs_Meshes_mesh__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babylonjs/Meshes/mesh */ "babylonjs/Misc/observable");
19829
20091
  /* harmony import */ var babylonjs_Meshes_mesh__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Meshes_mesh__WEBPACK_IMPORTED_MODULE_2__);
19830
20092
  /* harmony import */ var _materials_fluent_fluentMaterial__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../materials/fluent/fluentMaterial */ "./3D/materials/fluent/fluentMaterial.ts");
19831
20093
 
@@ -19914,16 +20176,18 @@ var TouchHolographicMenu = /** @class */ (function (_super) {
19914
20176
  this._currentMax.maximizeInPlace(nodePosition);
19915
20177
  };
19916
20178
  TouchHolographicMenu.prototype._updateMargins = function () {
19917
- this._currentMin.addInPlaceFromFloats(-this._cellWidth / 2, -this._cellHeight / 2, 0);
19918
- this._currentMax.addInPlaceFromFloats(this._cellWidth / 2, this._cellHeight / 2, 0);
19919
- var extendSize = this._currentMax.subtract(this._currentMin);
19920
- // Also add a % margin
19921
- this._backPlate.scaling.x = extendSize.x + this._cellWidth * this.backPlateMargin;
19922
- this._backPlate.scaling.y = extendSize.y + this._cellHeight * this.backPlateMargin;
19923
- this._backPlate.scaling.z = 0.001;
19924
- for (var i = 0; i < this._children.length; i++) {
19925
- this._children[i].position.subtractInPlace(this._currentMin).subtractInPlace(extendSize.scale(0.5));
19926
- this._children[i].position.z -= 0.01;
20179
+ if (this._children.length > 0) {
20180
+ this._currentMin.addInPlaceFromFloats(-this._cellWidth / 2, -this._cellHeight / 2, 0);
20181
+ this._currentMax.addInPlaceFromFloats(this._cellWidth / 2, this._cellHeight / 2, 0);
20182
+ var extendSize = this._currentMax.subtract(this._currentMin);
20183
+ // Also add a % margin
20184
+ this._backPlate.scaling.x = extendSize.x + this._cellWidth * this.backPlateMargin;
20185
+ this._backPlate.scaling.y = extendSize.y + this._cellHeight * this.backPlateMargin;
20186
+ this._backPlate.scaling.z = 0.001;
20187
+ for (var i = 0; i < this._children.length; i++) {
20188
+ this._children[i].position.subtractInPlace(this._currentMin).subtractInPlace(extendSize.scale(0.5));
20189
+ this._children[i].position.z -= 0.01;
20190
+ }
19927
20191
  }
19928
20192
  this._currentMin = null;
19929
20193
  this._currentMax = null;
@@ -19970,7 +20234,7 @@ var TouchHolographicMenu = /** @class */ (function (_super) {
19970
20234
  /**
19971
20235
  * Scale for the buttons added to the menu
19972
20236
  */
19973
- TouchHolographicMenu.MENU_BUTTON_SCALE = 0.32;
20237
+ TouchHolographicMenu.MENU_BUTTON_SCALE = 1;
19974
20238
  return TouchHolographicMenu;
19975
20239
  }(_volumeBasedPanel__WEBPACK_IMPORTED_MODULE_1__["VolumeBasedPanel"]));
19976
20240
 
@@ -20067,7 +20331,7 @@ var TouchMeshButton3D = /** @class */ (function (_super) {
20067
20331
  __webpack_require__.r(__webpack_exports__);
20068
20332
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "TouchToggleButton3D", function() { return TouchToggleButton3D; });
20069
20333
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
20070
- /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/observable */ "babylonjs/Maths/math.vector");
20334
+ /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/observable */ "babylonjs/Misc/observable");
20071
20335
  /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__);
20072
20336
  /* harmony import */ var _touchButton3D__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./touchButton3D */ "./3D/controls/touchButton3D.ts");
20073
20337
 
@@ -20144,7 +20408,7 @@ var TouchToggleButton3D = /** @class */ (function (_super) {
20144
20408
  __webpack_require__.r(__webpack_exports__);
20145
20409
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "VolumeBasedPanel", function() { return VolumeBasedPanel; });
20146
20410
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
20147
- /* harmony import */ var babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/tools */ "babylonjs/Maths/math.vector");
20411
+ /* harmony import */ var babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/tools */ "babylonjs/Misc/observable");
20148
20412
  /* harmony import */ var babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_1__);
20149
20413
  /* harmony import */ var _container3D__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./container3D */ "./3D/controls/container3D.ts");
20150
20414
 
@@ -20339,7 +20603,7 @@ __webpack_require__.r(__webpack_exports__);
20339
20603
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SideHandle", function() { return SideHandle; });
20340
20604
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CornerHandle", function() { return CornerHandle; });
20341
20605
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
20342
- /* harmony import */ var babylonjs_Meshes_Builders_boxBuilder__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Meshes/Builders/boxBuilder */ "babylonjs/Maths/math.vector");
20606
+ /* harmony import */ var babylonjs_Meshes_Builders_boxBuilder__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Meshes/Builders/boxBuilder */ "babylonjs/Misc/observable");
20343
20607
  /* harmony import */ var babylonjs_Meshes_Builders_boxBuilder__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Meshes_Builders_boxBuilder__WEBPACK_IMPORTED_MODULE_1__);
20344
20608
  /* harmony import */ var _materials_handle_handleMaterial__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../materials/handle/handleMaterial */ "./3D/materials/handle/handleMaterial.ts");
20345
20609
 
@@ -20593,7 +20857,7 @@ __webpack_require__.r(__webpack_exports__);
20593
20857
  __webpack_require__.r(__webpack_exports__);
20594
20858
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SlateGizmo", function() { return SlateGizmo; });
20595
20859
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
20596
- /* harmony import */ var babylonjs_Gizmos_gizmo__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Gizmos/gizmo */ "babylonjs/Maths/math.vector");
20860
+ /* harmony import */ var babylonjs_Gizmos_gizmo__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Gizmos/gizmo */ "babylonjs/Misc/observable");
20597
20861
  /* harmony import */ var babylonjs_Gizmos_gizmo__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Gizmos_gizmo__WEBPACK_IMPORTED_MODULE_1__);
20598
20862
  /* harmony import */ var _gizmoHandle__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./gizmoHandle */ "./3D/gizmos/gizmoHandle.ts");
20599
20863
 
@@ -20973,7 +21237,7 @@ var SlateGizmo = /** @class */ (function (_super) {
20973
21237
  "use strict";
20974
21238
  __webpack_require__.r(__webpack_exports__);
20975
21239
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "GUI3DManager", function() { return GUI3DManager; });
20976
- /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Misc/observable */ "babylonjs/Maths/math.vector");
21240
+ /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Misc/observable */ "babylonjs/Misc/observable");
20977
21241
  /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_0__);
20978
21242
  /* harmony import */ var _controls_container3D__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./controls/container3D */ "./3D/controls/container3D.ts");
20979
21243
 
@@ -20994,6 +21258,7 @@ var GUI3DManager = /** @class */ (function () {
20994
21258
  */
20995
21259
  function GUI3DManager(scene) {
20996
21260
  var _this = this;
21261
+ this._customControlScaling = 1.0;
20997
21262
  /** @hidden */
20998
21263
  this._lastControlOver = {};
20999
21264
  /** @hidden */
@@ -21056,6 +21321,39 @@ var GUI3DManager = /** @class */ (function () {
21056
21321
  enumerable: false,
21057
21322
  configurable: true
21058
21323
  });
21324
+ Object.defineProperty(GUI3DManager.prototype, "controlScaling", {
21325
+ /** Gets the scaling for all UI elements owned by this manager */
21326
+ get: function () {
21327
+ return this._customControlScaling;
21328
+ },
21329
+ /** Sets the scaling adjustment for all UI elements owned by this manager */
21330
+ set: function (newScale) {
21331
+ if (this._customControlScaling !== newScale && newScale > 0) {
21332
+ var scaleRatio_1 = newScale / this._customControlScaling;
21333
+ this._customControlScaling = newScale;
21334
+ this._rootContainer.children.forEach(function (control) {
21335
+ control.scaling.scaleInPlace(scaleRatio_1);
21336
+ if (newScale !== 1) {
21337
+ control._isScaledByManager = true;
21338
+ }
21339
+ });
21340
+ }
21341
+ },
21342
+ enumerable: false,
21343
+ configurable: true
21344
+ });
21345
+ Object.defineProperty(GUI3DManager.prototype, "useRealisticScaling", {
21346
+ /** Gets if controls attached to this manager are realistically sized, based on the fact that 1 unit length is 1 meter */
21347
+ get: function () {
21348
+ return this.controlScaling === GUI3DManager.MRTK_REALISTIC_SCALING;
21349
+ },
21350
+ /** Sets if controls attached to this manager are realistically sized, based on the fact that 1 unit length is 1 meter */
21351
+ set: function (newValue) {
21352
+ this.controlScaling = newValue ? GUI3DManager.MRTK_REALISTIC_SCALING : 1;
21353
+ },
21354
+ enumerable: false,
21355
+ configurable: true
21356
+ });
21059
21357
  GUI3DManager.prototype._handlePointerOut = function (pointerId, isPointerUp) {
21060
21358
  var previousControlOver = this._lastControlOver[pointerId];
21061
21359
  if (previousControlOver) {
@@ -21134,6 +21432,10 @@ var GUI3DManager = /** @class */ (function () {
21134
21432
  */
21135
21433
  GUI3DManager.prototype.addControl = function (control) {
21136
21434
  this._rootContainer.addControl(control);
21435
+ if (this._customControlScaling !== 1) {
21436
+ control.scaling.scaleInPlace(this._customControlScaling);
21437
+ control._isScaledByManager = true;
21438
+ }
21137
21439
  return this;
21138
21440
  };
21139
21441
  /**
@@ -21143,6 +21445,10 @@ var GUI3DManager = /** @class */ (function () {
21143
21445
  */
21144
21446
  GUI3DManager.prototype.removeControl = function (control) {
21145
21447
  this._rootContainer.removeControl(control);
21448
+ if (control._isScaledByManager) {
21449
+ control.scaling.scaleInPlace(1 / this._customControlScaling);
21450
+ control._isScaledByManager = false;
21451
+ }
21146
21452
  return this;
21147
21453
  };
21148
21454
  /**
@@ -21187,6 +21493,7 @@ var GUI3DManager = /** @class */ (function () {
21187
21493
  this._utilityLayer.dispose();
21188
21494
  }
21189
21495
  };
21496
+ GUI3DManager.MRTK_REALISTIC_SCALING = 0.032;
21190
21497
  return GUI3DManager;
21191
21498
  }());
21192
21499
 
@@ -21303,7 +21610,7 @@ __webpack_require__.r(__webpack_exports__);
21303
21610
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FluentMaterialDefines", function() { return FluentMaterialDefines; });
21304
21611
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FluentMaterial", function() { return FluentMaterial; });
21305
21612
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
21306
- /* harmony import */ var babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/decorators */ "babylonjs/Maths/math.vector");
21613
+ /* harmony import */ var babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/decorators */ "babylonjs/Misc/observable");
21307
21614
  /* harmony import */ var babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__);
21308
21615
  /* harmony import */ var _shaders_fluent_vertex__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./shaders/fluent.vertex */ "./3D/materials/fluent/shaders/fluent.vertex.ts");
21309
21616
  /* harmony import */ var _shaders_fluent_fragment__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./shaders/fluent.fragment */ "./3D/materials/fluent/shaders/fluent.fragment.ts");
@@ -21621,7 +21928,7 @@ __webpack_require__.r(__webpack_exports__);
21621
21928
  "use strict";
21622
21929
  __webpack_require__.r(__webpack_exports__);
21623
21930
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "fluentPixelShader", function() { return fluentPixelShader; });
21624
- /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Engines/shaderStore */ "babylonjs/Maths/math.vector");
21931
+ /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Engines/shaderStore */ "babylonjs/Misc/observable");
21625
21932
  /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__);
21626
21933
 
21627
21934
  var name = 'fluentPixelShader';
@@ -21643,7 +21950,7 @@ var fluentPixelShader = { name: name, shader: shader };
21643
21950
  "use strict";
21644
21951
  __webpack_require__.r(__webpack_exports__);
21645
21952
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "fluentVertexShader", function() { return fluentVertexShader; });
21646
- /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Engines/shaderStore */ "babylonjs/Maths/math.vector");
21953
+ /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Engines/shaderStore */ "babylonjs/Misc/observable");
21647
21954
  /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__);
21648
21955
 
21649
21956
  var name = 'fluentVertexShader';
@@ -21666,7 +21973,7 @@ var fluentVertexShader = { name: name, shader: shader };
21666
21973
  __webpack_require__.r(__webpack_exports__);
21667
21974
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FluentBackplateMaterial", function() { return FluentBackplateMaterial; });
21668
21975
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
21669
- /* harmony import */ var babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/decorators */ "babylonjs/Maths/math.vector");
21976
+ /* harmony import */ var babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/decorators */ "babylonjs/Misc/observable");
21670
21977
  /* harmony import */ var babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__);
21671
21978
  /* harmony import */ var _shaders_fluentBackplate_fragment__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./shaders/fluentBackplate.fragment */ "./3D/materials/fluentBackplate/shaders/fluentBackplate.fragment.ts");
21672
21979
  /* harmony import */ var _shaders_fluentBackplate_vertex__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./shaders/fluentBackplate.vertex */ "./3D/materials/fluentBackplate/shaders/fluentBackplate.vertex.ts");
@@ -22135,7 +22442,7 @@ __webpack_require__.r(__webpack_exports__);
22135
22442
  "use strict";
22136
22443
  __webpack_require__.r(__webpack_exports__);
22137
22444
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "fluentBackplatePixelShader", function() { return fluentBackplatePixelShader; });
22138
- /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Engines/shaderStore */ "babylonjs/Maths/math.vector");
22445
+ /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Engines/shaderStore */ "babylonjs/Misc/observable");
22139
22446
  /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__);
22140
22447
 
22141
22448
  var name = 'fluentBackplatePixelShader';
@@ -22157,7 +22464,7 @@ var fluentBackplatePixelShader = { name: name, shader: shader };
22157
22464
  "use strict";
22158
22465
  __webpack_require__.r(__webpack_exports__);
22159
22466
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "fluentBackplateVertexShader", function() { return fluentBackplateVertexShader; });
22160
- /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Engines/shaderStore */ "babylonjs/Maths/math.vector");
22467
+ /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Engines/shaderStore */ "babylonjs/Misc/observable");
22161
22468
  /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__);
22162
22469
 
22163
22470
  var name = 'fluentBackplateVertexShader';
@@ -22180,7 +22487,7 @@ var fluentBackplateVertexShader = { name: name, shader: shader };
22180
22487
  __webpack_require__.r(__webpack_exports__);
22181
22488
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FluentButtonMaterial", function() { return FluentButtonMaterial; });
22182
22489
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
22183
- /* harmony import */ var babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/decorators */ "babylonjs/Maths/math.vector");
22490
+ /* harmony import */ var babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/decorators */ "babylonjs/Misc/observable");
22184
22491
  /* harmony import */ var babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__);
22185
22492
  /* harmony import */ var _shaders_fluentButton_fragment__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./shaders/fluentButton.fragment */ "./3D/materials/fluentButton/shaders/fluentButton.fragment.ts");
22186
22493
  /* harmony import */ var _shaders_fluentButton_vertex__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./shaders/fluentButton.vertex */ "./3D/materials/fluentButton/shaders/fluentButton.vertex.ts");
@@ -22752,7 +23059,7 @@ __webpack_require__.r(__webpack_exports__);
22752
23059
  "use strict";
22753
23060
  __webpack_require__.r(__webpack_exports__);
22754
23061
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "fluentButtonPixelShader", function() { return fluentButtonPixelShader; });
22755
- /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Engines/shaderStore */ "babylonjs/Maths/math.vector");
23062
+ /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Engines/shaderStore */ "babylonjs/Misc/observable");
22756
23063
  /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__);
22757
23064
 
22758
23065
  var name = 'fluentButtonPixelShader';
@@ -22774,7 +23081,7 @@ var fluentButtonPixelShader = { name: name, shader: shader };
22774
23081
  "use strict";
22775
23082
  __webpack_require__.r(__webpack_exports__);
22776
23083
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "fluentButtonVertexShader", function() { return fluentButtonVertexShader; });
22777
- /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Engines/shaderStore */ "babylonjs/Maths/math.vector");
23084
+ /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Engines/shaderStore */ "babylonjs/Misc/observable");
22778
23085
  /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__);
22779
23086
 
22780
23087
  var name = 'fluentButtonVertexShader';
@@ -22797,7 +23104,7 @@ var fluentButtonVertexShader = { name: name, shader: shader };
22797
23104
  __webpack_require__.r(__webpack_exports__);
22798
23105
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "HandleMaterial", function() { return HandleMaterial; });
22799
23106
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
22800
- /* harmony import */ var babylonjs_Materials_shaderMaterial__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Materials/shaderMaterial */ "babylonjs/Maths/math.vector");
23107
+ /* harmony import */ var babylonjs_Materials_shaderMaterial__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Materials/shaderMaterial */ "babylonjs/Misc/observable");
22801
23108
  /* harmony import */ var babylonjs_Materials_shaderMaterial__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Materials_shaderMaterial__WEBPACK_IMPORTED_MODULE_1__);
22802
23109
  /* harmony import */ var _shaders_handle_vertex__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./shaders/handle.vertex */ "./3D/materials/handle/shaders/handle.vertex.ts");
22803
23110
  /* harmony import */ var _shaders_handle_fragment__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./shaders/handle.fragment */ "./3D/materials/handle/shaders/handle.fragment.ts");
@@ -22958,7 +23265,7 @@ __webpack_require__.r(__webpack_exports__);
22958
23265
  "use strict";
22959
23266
  __webpack_require__.r(__webpack_exports__);
22960
23267
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "handlePixelShader", function() { return handlePixelShader; });
22961
- /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Engines/shaderStore */ "babylonjs/Maths/math.vector");
23268
+ /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Engines/shaderStore */ "babylonjs/Misc/observable");
22962
23269
  /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__);
22963
23270
 
22964
23271
  var name = 'handlePixelShader';
@@ -22980,7 +23287,7 @@ var handlePixelShader = { name: name, shader: shader };
22980
23287
  "use strict";
22981
23288
  __webpack_require__.r(__webpack_exports__);
22982
23289
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "handleVertexShader", function() { return handleVertexShader; });
22983
- /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Engines/shaderStore */ "babylonjs/Maths/math.vector");
23290
+ /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Engines/shaderStore */ "babylonjs/Misc/observable");
22984
23291
  /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__);
22985
23292
 
22986
23293
  var name = 'handleVertexShader';
@@ -23067,7 +23374,7 @@ __webpack_require__.r(__webpack_exports__);
23067
23374
  __webpack_require__.r(__webpack_exports__);
23068
23375
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MRDLBackplateMaterial", function() { return MRDLBackplateMaterial; });
23069
23376
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
23070
- /* harmony import */ var babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/decorators */ "babylonjs/Maths/math.vector");
23377
+ /* harmony import */ var babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/decorators */ "babylonjs/Misc/observable");
23071
23378
  /* harmony import */ var babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__);
23072
23379
  /* harmony import */ var _shaders_mrdlBackplate_fragment__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./shaders/mrdlBackplate.fragment */ "./3D/materials/mrdl/shaders/mrdlBackplate.fragment.ts");
23073
23380
  /* harmony import */ var _shaders_mrdlBackplate_vertex__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./shaders/mrdlBackplate.vertex */ "./3D/materials/mrdl/shaders/mrdlBackplate.vertex.ts");
@@ -23495,7 +23802,7 @@ Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["RegisterClass"])(
23495
23802
  __webpack_require__.r(__webpack_exports__);
23496
23803
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MRDLSliderBarMaterial", function() { return MRDLSliderBarMaterial; });
23497
23804
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
23498
- /* harmony import */ var babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/decorators */ "babylonjs/Maths/math.vector");
23805
+ /* harmony import */ var babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/decorators */ "babylonjs/Misc/observable");
23499
23806
  /* harmony import */ var babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__);
23500
23807
  /* harmony import */ var _shaders_mrdlSliderBar_fragment__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./shaders/mrdlSliderBar.fragment */ "./3D/materials/mrdl/shaders/mrdlSliderBar.fragment.ts");
23501
23808
  /* harmony import */ var _shaders_mrdlSliderBar_vertex__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./shaders/mrdlSliderBar.vertex */ "./3D/materials/mrdl/shaders/mrdlSliderBar.vertex.ts");
@@ -24300,7 +24607,7 @@ Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["RegisterClass"])(
24300
24607
  __webpack_require__.r(__webpack_exports__);
24301
24608
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MRDLSliderThumbMaterial", function() { return MRDLSliderThumbMaterial; });
24302
24609
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
24303
- /* harmony import */ var babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/decorators */ "babylonjs/Maths/math.vector");
24610
+ /* harmony import */ var babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/decorators */ "babylonjs/Misc/observable");
24304
24611
  /* harmony import */ var babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__);
24305
24612
  /* harmony import */ var _shaders_mrdlSliderThumb_fragment__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./shaders/mrdlSliderThumb.fragment */ "./3D/materials/mrdl/shaders/mrdlSliderThumb.fragment.ts");
24306
24613
  /* harmony import */ var _shaders_mrdlSliderThumb_vertex__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./shaders/mrdlSliderThumb.vertex */ "./3D/materials/mrdl/shaders/mrdlSliderThumb.vertex.ts");
@@ -25104,7 +25411,7 @@ Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["RegisterClass"])(
25104
25411
  "use strict";
25105
25412
  __webpack_require__.r(__webpack_exports__);
25106
25413
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "mrdlBackplatePixelShader", function() { return mrdlBackplatePixelShader; });
25107
- /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Engines/shaderStore */ "babylonjs/Maths/math.vector");
25414
+ /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Engines/shaderStore */ "babylonjs/Misc/observable");
25108
25415
  /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__);
25109
25416
 
25110
25417
  var name = 'mrdlBackplatePixelShader';
@@ -25126,7 +25433,7 @@ var mrdlBackplatePixelShader = { name: name, shader: shader };
25126
25433
  "use strict";
25127
25434
  __webpack_require__.r(__webpack_exports__);
25128
25435
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "mrdlBackplateVertexShader", function() { return mrdlBackplateVertexShader; });
25129
- /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Engines/shaderStore */ "babylonjs/Maths/math.vector");
25436
+ /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Engines/shaderStore */ "babylonjs/Misc/observable");
25130
25437
  /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__);
25131
25438
 
25132
25439
  var name = 'mrdlBackplateVertexShader';
@@ -25148,7 +25455,7 @@ var mrdlBackplateVertexShader = { name: name, shader: shader };
25148
25455
  "use strict";
25149
25456
  __webpack_require__.r(__webpack_exports__);
25150
25457
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "mrdlSliderBarPixelShader", function() { return mrdlSliderBarPixelShader; });
25151
- /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Engines/shaderStore */ "babylonjs/Maths/math.vector");
25458
+ /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Engines/shaderStore */ "babylonjs/Misc/observable");
25152
25459
  /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__);
25153
25460
 
25154
25461
  var name = 'mrdlSliderBarPixelShader';
@@ -25170,7 +25477,7 @@ var mrdlSliderBarPixelShader = { name: name, shader: shader };
25170
25477
  "use strict";
25171
25478
  __webpack_require__.r(__webpack_exports__);
25172
25479
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "mrdlSliderBarVertexShader", function() { return mrdlSliderBarVertexShader; });
25173
- /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Engines/shaderStore */ "babylonjs/Maths/math.vector");
25480
+ /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Engines/shaderStore */ "babylonjs/Misc/observable");
25174
25481
  /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__);
25175
25482
 
25176
25483
  var name = 'mrdlSliderBarVertexShader';
@@ -25192,7 +25499,7 @@ var mrdlSliderBarVertexShader = { name: name, shader: shader };
25192
25499
  "use strict";
25193
25500
  __webpack_require__.r(__webpack_exports__);
25194
25501
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "mrdlSliderThumbPixelShader", function() { return mrdlSliderThumbPixelShader; });
25195
- /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Engines/shaderStore */ "babylonjs/Maths/math.vector");
25502
+ /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Engines/shaderStore */ "babylonjs/Misc/observable");
25196
25503
  /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__);
25197
25504
 
25198
25505
  var name = 'mrdlSliderThumbPixelShader';
@@ -25214,7 +25521,7 @@ var mrdlSliderThumbPixelShader = { name: name, shader: shader };
25214
25521
  "use strict";
25215
25522
  __webpack_require__.r(__webpack_exports__);
25216
25523
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "mrdlSliderThumbVertexShader", function() { return mrdlSliderThumbVertexShader; });
25217
- /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Engines/shaderStore */ "babylonjs/Maths/math.vector");
25524
+ /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Engines/shaderStore */ "babylonjs/Misc/observable");
25218
25525
  /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__);
25219
25526
 
25220
25527
  var name = 'mrdlSliderThumbVertexShader';
@@ -25237,7 +25544,7 @@ var mrdlSliderThumbVertexShader = { name: name, shader: shader };
25237
25544
  __webpack_require__.r(__webpack_exports__);
25238
25545
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Vector3WithInfo", function() { return Vector3WithInfo; });
25239
25546
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
25240
- /* harmony import */ var babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Maths/math.vector */ "babylonjs/Maths/math.vector");
25547
+ /* harmony import */ var babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Maths/math.vector */ "babylonjs/Misc/observable");
25241
25548
  /* harmony import */ var babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__);
25242
25549
 
25243
25550
 
@@ -25635,14 +25942,14 @@ if (typeof globalObject !== "undefined") {
25635
25942
 
25636
25943
  /***/ }),
25637
25944
 
25638
- /***/ "babylonjs/Maths/math.vector":
25945
+ /***/ "babylonjs/Misc/observable":
25639
25946
  /*!****************************************************************************************************!*\
25640
25947
  !*** external {"root":"BABYLON","commonjs":"babylonjs","commonjs2":"babylonjs","amd":"babylonjs"} ***!
25641
25948
  \****************************************************************************************************/
25642
25949
  /*! no static exports found */
25643
25950
  /***/ (function(module, exports) {
25644
25951
 
25645
- module.exports = __WEBPACK_EXTERNAL_MODULE_babylonjs_Maths_math_vector__;
25952
+ module.exports = __WEBPACK_EXTERNAL_MODULE_babylonjs_Misc_observable__;
25646
25953
 
25647
25954
  /***/ })
25648
25955