babylonjs-gui 5.0.0-alpha.62 → 5.0.0-alpha.63

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_Misc_perfCounter__) {
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 = {};
@@ -97,9 +97,9 @@ return /******/ (function(modules) { // webpackBootstrap
97
97
  /******/ ({
98
98
 
99
99
  /***/ "../../node_modules/tslib/tslib.es6.js":
100
- /*!************************************************************************************!*\
101
- !*** C:/Users/raweber/Documents/GitHub/Babylon.js/node_modules/tslib/tslib.es6.js ***!
102
- \************************************************************************************/
100
+ /*!*************************************************************!*\
101
+ !*** E:/Babylon/Babylon.js/node_modules/tslib/tslib.es6.js ***!
102
+ \*************************************************************/
103
103
  /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __createBinding, __exportStar, __values, __read, __spread, __spreadArrays, __spreadArray, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault, __classPrivateFieldGet, __classPrivateFieldSet */
104
104
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
105
105
 
@@ -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/Misc/perfCounter");
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/Misc/perfCounter");
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 = globalViewPort.width * (1 / this.rootContainer.scaleX);
1202
+ var targetY = 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
@@ -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,18 +1746,26 @@ 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;
@@ -1754,7 +1796,7 @@ __webpack_require__.r(__webpack_exports__);
1754
1796
  /* harmony import */ var _control__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./control */ "./2D/controls/control.ts");
1755
1797
  /* harmony import */ var _textBlock__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./textBlock */ "./2D/controls/textBlock.ts");
1756
1798
  /* harmony import */ var _image__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./image */ "./2D/controls/image.ts");
1757
- /* harmony import */ var babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! babylonjs/Misc/typeStore */ "babylonjs/Misc/perfCounter");
1799
+ /* harmony import */ var babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! babylonjs/Misc/typeStore */ "babylonjs/Misc/observable");
1758
1800
  /* harmony import */ var babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_5__);
1759
1801
 
1760
1802
 
@@ -1986,7 +2028,7 @@ Object(babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_5__["RegisterClass"])("
1986
2028
  __webpack_require__.r(__webpack_exports__);
1987
2029
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Checkbox", function() { return Checkbox; });
1988
2030
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
1989
- /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/observable */ "babylonjs/Misc/perfCounter");
2031
+ /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/observable */ "babylonjs/Misc/observable");
1990
2032
  /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__);
1991
2033
  /* harmony import */ var _control__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./control */ "./2D/controls/control.ts");
1992
2034
  /* harmony import */ var _stackPanel__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./stackPanel */ "./2D/controls/stackPanel.ts");
@@ -2184,7 +2226,7 @@ Object(babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["RegisterClass"])(
2184
2226
  __webpack_require__.r(__webpack_exports__);
2185
2227
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ColorPicker", function() { return ColorPicker; });
2186
2228
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
2187
- /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/observable */ "babylonjs/Misc/perfCounter");
2229
+ /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/observable */ "babylonjs/Misc/observable");
2188
2230
  /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__);
2189
2231
  /* harmony import */ var _control__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./control */ "./2D/controls/control.ts");
2190
2232
  /* harmony import */ var _inputText__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./inputText */ "./2D/controls/inputText.ts");
@@ -3607,7 +3649,7 @@ Object(babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["RegisterClass"])(
3607
3649
  __webpack_require__.r(__webpack_exports__);
3608
3650
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Container", function() { return Container; });
3609
3651
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
3610
- /* harmony import */ var babylonjs_Misc_logger__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/logger */ "babylonjs/Misc/perfCounter");
3652
+ /* harmony import */ var babylonjs_Misc_logger__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/logger */ "babylonjs/Misc/observable");
3611
3653
  /* harmony import */ var babylonjs_Misc_logger__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_logger__WEBPACK_IMPORTED_MODULE_1__);
3612
3654
  /* harmony import */ var _control__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./control */ "./2D/controls/control.ts");
3613
3655
  /* harmony import */ var _measure__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../measure */ "./2D/measure.ts");
@@ -3952,15 +3994,15 @@ var Container = /** @class */ (function (_super) {
3952
3994
  child._tempParentMeasure.copyFrom(this._measureForChildren);
3953
3995
  if (child._layout(this._measureForChildren, context)) {
3954
3996
  if (this.adaptWidthToChildren && child._width.isPixel) {
3955
- computedWidth = Math.max(computedWidth, child._currentMeasure.width + child.paddingLeftInPixels + child.paddingRightInPixels);
3997
+ computedWidth = Math.max(computedWidth, child._currentMeasure.width + child._paddingLeftInPixels + child._paddingRightInPixels);
3956
3998
  }
3957
3999
  if (this.adaptHeightToChildren && child._height.isPixel) {
3958
- computedHeight = Math.max(computedHeight, child._currentMeasure.height + child.paddingTopInPixels + child.paddingBottomInPixels);
4000
+ computedHeight = Math.max(computedHeight, child._currentMeasure.height + child._paddingTopInPixels + child._paddingBottomInPixels);
3959
4001
  }
3960
4002
  }
3961
4003
  }
3962
4004
  if (this.adaptWidthToChildren && computedWidth >= 0) {
3963
- computedWidth += this.paddingLeftInPixels + this.paddingRightInPixels;
4005
+ computedWidth += this._paddingLeftInPixels + this._paddingRightInPixels;
3964
4006
  if (this.width !== computedWidth + "px") {
3965
4007
  (_a = this.parent) === null || _a === void 0 ? void 0 : _a._markAsDirty();
3966
4008
  this.width = computedWidth + "px";
@@ -3968,7 +4010,7 @@ var Container = /** @class */ (function (_super) {
3968
4010
  }
3969
4011
  }
3970
4012
  if (this.adaptHeightToChildren && computedHeight >= 0) {
3971
- computedHeight += this.paddingTopInPixels + this.paddingBottomInPixels;
4013
+ computedHeight += this._paddingTopInPixels + this._paddingBottomInPixels;
3972
4014
  if (this.height !== computedHeight + "px") {
3973
4015
  (_b = this.parent) === null || _b === void 0 ? void 0 : _b._markAsDirty();
3974
4016
  this.height = computedHeight + "px";
@@ -4145,7 +4187,7 @@ Object(babylonjs_Misc_logger__WEBPACK_IMPORTED_MODULE_1__["RegisterClass"])("BAB
4145
4187
  __webpack_require__.r(__webpack_exports__);
4146
4188
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Control", function() { return Control; });
4147
4189
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
4148
- /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/observable */ "babylonjs/Misc/perfCounter");
4190
+ /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/observable */ "babylonjs/Misc/observable");
4149
4191
  /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__);
4150
4192
  /* harmony import */ var _valueAndUnit__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../valueAndUnit */ "./2D/valueAndUnit.ts");
4151
4193
  /* harmony import */ var _measure__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../measure */ "./2D/measure.ts");
@@ -4181,6 +4223,8 @@ var Control = /** @class */ (function () {
4181
4223
  this._zIndex = 0;
4182
4224
  /** @hidden */
4183
4225
  this._currentMeasure = _measure__WEBPACK_IMPORTED_MODULE_3__["Measure"].Empty();
4226
+ /** @hidden */
4227
+ this._tempPaddingMeasure = _measure__WEBPACK_IMPORTED_MODULE_3__["Measure"].Empty();
4184
4228
  this._fontFamily = "Arial";
4185
4229
  this._fontStyle = "";
4186
4230
  this._fontWeight = "";
@@ -4205,6 +4249,7 @@ var Control = /** @class */ (function () {
4205
4249
  this._prevCurrentMeasureTransformedIntoGlobalSpace = _measure__WEBPACK_IMPORTED_MODULE_3__["Measure"].Empty();
4206
4250
  /** @hidden */
4207
4251
  this._cachedParentMeasure = _measure__WEBPACK_IMPORTED_MODULE_3__["Measure"].Empty();
4252
+ this._descendentsOnlyPadding = false;
4208
4253
  this._paddingLeft = new _valueAndUnit__WEBPACK_IMPORTED_MODULE_2__["ValueAndUnit"](0);
4209
4254
  this._paddingRight = new _valueAndUnit__WEBPACK_IMPORTED_MODULE_2__["ValueAndUnit"](0);
4210
4255
  this._paddingTop = new _valueAndUnit__WEBPACK_IMPORTED_MODULE_2__["ValueAndUnit"](0);
@@ -4914,6 +4959,24 @@ var Control = /** @class */ (function () {
4914
4959
  enumerable: false,
4915
4960
  configurable: true
4916
4961
  });
4962
+ Object.defineProperty(Control.prototype, "descendentsOnlyPadding", {
4963
+ /**
4964
+ * Gets or sets a value indicating the padding should work like in CSS.
4965
+ * Basically, it will add the padding amount on each side of the parent control for its children.
4966
+ */
4967
+ get: function () {
4968
+ return this._descendentsOnlyPadding;
4969
+ },
4970
+ set: function (value) {
4971
+ if (this._descendentsOnlyPadding === value) {
4972
+ return;
4973
+ }
4974
+ this._descendentsOnlyPadding = value;
4975
+ this._markAsDirty();
4976
+ },
4977
+ enumerable: false,
4978
+ configurable: true
4979
+ });
4917
4980
  Object.defineProperty(Control.prototype, "paddingLeft", {
4918
4981
  /**
4919
4982
  * Gets or sets a value indicating the padding to use on the left of the control
@@ -4947,6 +5010,17 @@ var Control = /** @class */ (function () {
4947
5010
  enumerable: false,
4948
5011
  configurable: true
4949
5012
  });
5013
+ Object.defineProperty(Control.prototype, "_paddingLeftInPixels", {
5014
+ /** @hidden */
5015
+ get: function () {
5016
+ if (this._descendentsOnlyPadding) {
5017
+ return 0;
5018
+ }
5019
+ return this.paddingLeftInPixels;
5020
+ },
5021
+ enumerable: false,
5022
+ configurable: true
5023
+ });
4950
5024
  Object.defineProperty(Control.prototype, "paddingRight", {
4951
5025
  /**
4952
5026
  * Gets or sets a value indicating the padding to use on the right of the control
@@ -4980,6 +5054,17 @@ var Control = /** @class */ (function () {
4980
5054
  enumerable: false,
4981
5055
  configurable: true
4982
5056
  });
5057
+ Object.defineProperty(Control.prototype, "_paddingRightInPixels", {
5058
+ /** @hidden */
5059
+ get: function () {
5060
+ if (this._descendentsOnlyPadding) {
5061
+ return 0;
5062
+ }
5063
+ return this.paddingRightInPixels;
5064
+ },
5065
+ enumerable: false,
5066
+ configurable: true
5067
+ });
4983
5068
  Object.defineProperty(Control.prototype, "paddingTop", {
4984
5069
  /**
4985
5070
  * Gets or sets a value indicating the padding to use on the top of the control
@@ -5013,6 +5098,17 @@ var Control = /** @class */ (function () {
5013
5098
  enumerable: false,
5014
5099
  configurable: true
5015
5100
  });
5101
+ Object.defineProperty(Control.prototype, "_paddingTopInPixels", {
5102
+ /** @hidden */
5103
+ get: function () {
5104
+ if (this._descendentsOnlyPadding) {
5105
+ return 0;
5106
+ }
5107
+ return this.paddingTopInPixels;
5108
+ },
5109
+ enumerable: false,
5110
+ configurable: true
5111
+ });
5016
5112
  Object.defineProperty(Control.prototype, "paddingBottom", {
5017
5113
  /**
5018
5114
  * Gets or sets a value indicating the padding to use on the bottom of the control
@@ -5046,6 +5142,17 @@ var Control = /** @class */ (function () {
5046
5142
  enumerable: false,
5047
5143
  configurable: true
5048
5144
  });
5145
+ Object.defineProperty(Control.prototype, "_paddingBottomInPixels", {
5146
+ /** @hidden */
5147
+ get: function () {
5148
+ if (this._descendentsOnlyPadding) {
5149
+ return 0;
5150
+ }
5151
+ return this.paddingBottomInPixels;
5152
+ },
5153
+ enumerable: false,
5154
+ configurable: true
5155
+ });
5049
5156
  Object.defineProperty(Control.prototype, "left", {
5050
5157
  /**
5051
5158
  * Gets or sets a value indicating the left coordinate of the control
@@ -5581,6 +5688,9 @@ var Control = /** @class */ (function () {
5581
5688
  if (this._isFontSizeInPercentage) {
5582
5689
  this._fontSet = true;
5583
5690
  }
5691
+ if (this._host && this._host.useSmallestIdeal && !this._font) {
5692
+ this._fontSet = true;
5693
+ }
5584
5694
  if (this._fontSet) {
5585
5695
  this._prepareFont();
5586
5696
  this._fontSet = false;
@@ -5605,7 +5715,7 @@ var Control = /** @class */ (function () {
5605
5715
  }
5606
5716
  if (this._isDirty || !this._cachedParentMeasure.isEqualsTo(parentMeasure)) {
5607
5717
  this.host._numLayoutCalls++;
5608
- this._currentMeasure.addAndTransformToRef(this._transformMatrix, -this.paddingLeftInPixels | 0, -this.paddingTopInPixels | 0, this.paddingRightInPixels | 0, this.paddingBottomInPixels | 0, this._prevCurrentMeasureTransformedIntoGlobalSpace);
5718
+ this._currentMeasure.addAndTransformToRef(this._transformMatrix, -this._paddingLeftInPixels | 0, -this._paddingTopInPixels | 0, this._paddingRightInPixels | 0, this._paddingBottomInPixels | 0, this._prevCurrentMeasureTransformedIntoGlobalSpace);
5609
5719
  context.save();
5610
5720
  this._applyStates(context);
5611
5721
  var rebuildCount = 0;
@@ -5627,19 +5737,27 @@ var Control = /** @class */ (function () {
5627
5737
  };
5628
5738
  /** @hidden */
5629
5739
  Control.prototype._processMeasures = function (parentMeasure, context) {
5630
- this._currentMeasure.copyFrom(parentMeasure);
5740
+ this._tempPaddingMeasure.copyFrom(parentMeasure);
5741
+ // Apply padding if in correct mode
5742
+ if (this.parent && this.parent.descendentsOnlyPadding) {
5743
+ this._tempPaddingMeasure.left += this.parent.paddingLeftInPixels;
5744
+ this._tempPaddingMeasure.top += this.parent.paddingTopInPixels;
5745
+ this._tempPaddingMeasure.width -= this.parent.paddingLeftInPixels + this.parent.paddingRightInPixels;
5746
+ this._tempPaddingMeasure.height -= this.parent.paddingTopInPixels + this.parent.paddingBottomInPixels;
5747
+ }
5748
+ this._currentMeasure.copyFrom(this._tempPaddingMeasure);
5631
5749
  // Let children take some pre-measurement actions
5632
- this._preMeasure(parentMeasure, context);
5750
+ this._preMeasure(this._tempPaddingMeasure, context);
5633
5751
  this._measure();
5634
- this._computeAlignment(parentMeasure, context);
5752
+ this._computeAlignment(this._tempPaddingMeasure, context);
5635
5753
  // Convert to int values
5636
5754
  this._currentMeasure.left = this._currentMeasure.left | 0;
5637
5755
  this._currentMeasure.top = this._currentMeasure.top | 0;
5638
5756
  this._currentMeasure.width = this._currentMeasure.width | 0;
5639
5757
  this._currentMeasure.height = this._currentMeasure.height | 0;
5640
5758
  // Let children add more features
5641
- this._additionalProcessing(parentMeasure, context);
5642
- this._cachedParentMeasure.copyFrom(parentMeasure);
5759
+ this._additionalProcessing(this._tempPaddingMeasure, context);
5760
+ this._cachedParentMeasure.copyFrom(this._tempPaddingMeasure);
5643
5761
  if (this.onDirtyObservable.hasObservers()) {
5644
5762
  this.onDirtyObservable.notifyObservers(this);
5645
5763
  }
@@ -5723,33 +5841,35 @@ var Control = /** @class */ (function () {
5723
5841
  y = (parentHeight - height) / 2;
5724
5842
  break;
5725
5843
  }
5726
- if (this._paddingLeft.isPixel) {
5727
- this._currentMeasure.left += this._paddingLeft.getValue(this._host);
5728
- this._currentMeasure.width -= this._paddingLeft.getValue(this._host);
5729
- }
5730
- else {
5731
- this._currentMeasure.left += parentWidth * this._paddingLeft.getValue(this._host);
5732
- this._currentMeasure.width -= parentWidth * this._paddingLeft.getValue(this._host);
5733
- }
5734
- if (this._paddingRight.isPixel) {
5735
- this._currentMeasure.width -= this._paddingRight.getValue(this._host);
5736
- }
5737
- else {
5738
- this._currentMeasure.width -= parentWidth * this._paddingRight.getValue(this._host);
5739
- }
5740
- if (this._paddingTop.isPixel) {
5741
- this._currentMeasure.top += this._paddingTop.getValue(this._host);
5742
- this._currentMeasure.height -= this._paddingTop.getValue(this._host);
5743
- }
5744
- else {
5745
- this._currentMeasure.top += parentHeight * this._paddingTop.getValue(this._host);
5746
- this._currentMeasure.height -= parentHeight * this._paddingTop.getValue(this._host);
5747
- }
5748
- if (this._paddingBottom.isPixel) {
5749
- this._currentMeasure.height -= this._paddingBottom.getValue(this._host);
5750
- }
5751
- else {
5752
- this._currentMeasure.height -= parentHeight * this._paddingBottom.getValue(this._host);
5844
+ if (!this.descendentsOnlyPadding) {
5845
+ if (this._paddingLeft.isPixel) {
5846
+ this._currentMeasure.left += this._paddingLeft.getValue(this._host);
5847
+ this._currentMeasure.width -= this._paddingLeft.getValue(this._host);
5848
+ }
5849
+ else {
5850
+ this._currentMeasure.left += parentWidth * this._paddingLeft.getValue(this._host);
5851
+ this._currentMeasure.width -= parentWidth * this._paddingLeft.getValue(this._host);
5852
+ }
5853
+ if (this._paddingRight.isPixel) {
5854
+ this._currentMeasure.width -= this._paddingRight.getValue(this._host);
5855
+ }
5856
+ else {
5857
+ this._currentMeasure.width -= parentWidth * this._paddingRight.getValue(this._host);
5858
+ }
5859
+ if (this._paddingTop.isPixel) {
5860
+ this._currentMeasure.top += this._paddingTop.getValue(this._host);
5861
+ this._currentMeasure.height -= this._paddingTop.getValue(this._host);
5862
+ }
5863
+ else {
5864
+ this._currentMeasure.top += parentHeight * this._paddingTop.getValue(this._host);
5865
+ this._currentMeasure.height -= parentHeight * this._paddingTop.getValue(this._host);
5866
+ }
5867
+ if (this._paddingBottom.isPixel) {
5868
+ this._currentMeasure.height -= this._paddingBottom.getValue(this._host);
5869
+ }
5870
+ else {
5871
+ this._currentMeasure.height -= parentHeight * this._paddingBottom.getValue(this._host);
5872
+ }
5753
5873
  }
5754
5874
  if (this._left.isPixel) {
5755
5875
  this._currentMeasure.left += this._left.getValue(this._host);
@@ -6293,6 +6413,9 @@ var Control = /** @class */ (function () {
6293
6413
  Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([
6294
6414
  Object(babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["serialize"])()
6295
6415
  ], Control.prototype, "isVisible", null);
6416
+ Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([
6417
+ Object(babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["serialize"])()
6418
+ ], Control.prototype, "descendentsOnlyPadding", null);
6296
6419
  Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([
6297
6420
  Object(babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["serialize"])()
6298
6421
  ], Control.prototype, "paddingLeft", null);
@@ -6352,7 +6475,7 @@ __webpack_require__.r(__webpack_exports__);
6352
6475
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "DisplayGrid", function() { return DisplayGrid; });
6353
6476
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
6354
6477
  /* harmony import */ var _control__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./control */ "./2D/controls/control.ts");
6355
- /* harmony import */ var babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babylonjs/Misc/typeStore */ "babylonjs/Misc/perfCounter");
6478
+ /* harmony import */ var babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babylonjs/Misc/typeStore */ "babylonjs/Misc/observable");
6356
6479
  /* harmony import */ var babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_2__);
6357
6480
 
6358
6481
 
@@ -6616,7 +6739,7 @@ __webpack_require__.r(__webpack_exports__);
6616
6739
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
6617
6740
  /* harmony import */ var _container__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./container */ "./2D/controls/container.ts");
6618
6741
  /* harmony import */ var _control__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./control */ "./2D/controls/control.ts");
6619
- /* harmony import */ var babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! babylonjs/Misc/typeStore */ "babylonjs/Misc/perfCounter");
6742
+ /* harmony import */ var babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! babylonjs/Misc/typeStore */ "babylonjs/Misc/observable");
6620
6743
  /* harmony import */ var babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_3__);
6621
6744
 
6622
6745
 
@@ -6719,7 +6842,7 @@ __webpack_require__.r(__webpack_exports__);
6719
6842
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FocusableButton", function() { return FocusableButton; });
6720
6843
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
6721
6844
  /* harmony import */ var _button__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./button */ "./2D/controls/button.ts");
6722
- /* harmony import */ var babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babylonjs/Misc/typeStore */ "babylonjs/Misc/perfCounter");
6845
+ /* harmony import */ var babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babylonjs/Misc/typeStore */ "babylonjs/Misc/observable");
6723
6846
  /* harmony import */ var babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_2__);
6724
6847
 
6725
6848
 
@@ -6831,7 +6954,7 @@ __webpack_require__.r(__webpack_exports__);
6831
6954
  /* harmony import */ var _container__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./container */ "./2D/controls/container.ts");
6832
6955
  /* harmony import */ var _valueAndUnit__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../valueAndUnit */ "./2D/valueAndUnit.ts");
6833
6956
  /* harmony import */ var _control__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./control */ "./2D/controls/control.ts");
6834
- /* harmony import */ var babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! babylonjs/Misc/tools */ "babylonjs/Misc/perfCounter");
6957
+ /* harmony import */ var babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! babylonjs/Misc/tools */ "babylonjs/Misc/observable");
6835
6958
  /* harmony import */ var babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_4__);
6836
6959
 
6837
6960
 
@@ -6852,7 +6975,9 @@ var Grid = /** @class */ (function (_super) {
6852
6975
  var _this = _super.call(this, name) || this;
6853
6976
  _this.name = name;
6854
6977
  _this._rowDefinitions = new Array();
6978
+ _this._rowDefinitionObservers = [];
6855
6979
  _this._columnDefinitions = new Array();
6980
+ _this._columnDefinitionObservers = [];
6856
6981
  _this._cells = {};
6857
6982
  _this._childControls = new Array();
6858
6983
  return _this;
@@ -6922,8 +7047,10 @@ var Grid = /** @class */ (function (_super) {
6922
7047
  * @returns the current grid
6923
7048
  */
6924
7049
  Grid.prototype.addRowDefinition = function (height, isPixel) {
7050
+ var _this = this;
6925
7051
  if (isPixel === void 0) { isPixel = false; }
6926
7052
  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));
7053
+ this._rowDefinitionObservers.push(this._rowDefinitions[this.rowCount - 1].onChangedObservable.add(function () { return _this._markAsDirty(); }));
6927
7054
  this._markAsDirty();
6928
7055
  return this;
6929
7056
  };
@@ -6934,8 +7061,10 @@ var Grid = /** @class */ (function (_super) {
6934
7061
  * @returns the current grid
6935
7062
  */
6936
7063
  Grid.prototype.addColumnDefinition = function (width, isPixel) {
7064
+ var _this = this;
6937
7065
  if (isPixel === void 0) { isPixel = false; }
6938
7066
  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));
7067
+ this._columnDefinitionObservers.push(this._columnDefinitions[this.columnCount - 1].onChangedObservable.add(function () { return _this._markAsDirty(); }));
6939
7068
  this._markAsDirty();
6940
7069
  return this;
6941
7070
  };
@@ -6947,15 +7076,18 @@ var Grid = /** @class */ (function (_super) {
6947
7076
  * @returns the current grid
6948
7077
  */
6949
7078
  Grid.prototype.setRowDefinition = function (index, height, isPixel) {
7079
+ var _this = this;
6950
7080
  if (isPixel === void 0) { isPixel = false; }
6951
7081
  if (index < 0 || index >= this._rowDefinitions.length) {
6952
7082
  return this;
6953
7083
  }
6954
7084
  var current = this._rowDefinitions[index];
6955
- if (current && current.isPixel === isPixel && current.internalValue === height) {
7085
+ if (current && current.isPixel === isPixel && current.value === height) {
6956
7086
  return this;
6957
7087
  }
7088
+ this._rowDefinitions[index].onChangedObservable.remove(this._rowDefinitionObservers[index]);
6958
7089
  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);
7090
+ this._rowDefinitionObservers[index] = this._rowDefinitions[index].onChangedObservable.add(function () { return _this._markAsDirty(); });
6959
7091
  this._markAsDirty();
6960
7092
  return this;
6961
7093
  };
@@ -6967,15 +7099,18 @@ var Grid = /** @class */ (function (_super) {
6967
7099
  * @returns the current grid
6968
7100
  */
6969
7101
  Grid.prototype.setColumnDefinition = function (index, width, isPixel) {
7102
+ var _this = this;
6970
7103
  if (isPixel === void 0) { isPixel = false; }
6971
7104
  if (index < 0 || index >= this._columnDefinitions.length) {
6972
7105
  return this;
6973
7106
  }
6974
7107
  var current = this._columnDefinitions[index];
6975
- if (current && current.isPixel === isPixel && current.internalValue === width) {
7108
+ if (current && current.isPixel === isPixel && current.value === width) {
6976
7109
  return this;
6977
7110
  }
7111
+ this._columnDefinitions[index].onChangedObservable.remove(this._columnDefinitionObservers[index]);
6978
7112
  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);
7113
+ this._columnDefinitionObservers[index] = this._columnDefinitions[index].onChangedObservable.add(function () { return _this._markAsDirty(); });
6979
7114
  this._markAsDirty();
6980
7115
  return this;
6981
7116
  };
@@ -7046,7 +7181,9 @@ var Grid = /** @class */ (function (_super) {
7046
7181
  this._offsetCell(previousKey, key);
7047
7182
  }
7048
7183
  }
7184
+ this._columnDefinitions[index].onChangedObservable.remove(this._columnDefinitionObservers[index]);
7049
7185
  this._columnDefinitions.splice(index, 1);
7186
+ this._columnDefinitionObservers.splice(index, 1);
7050
7187
  this._markAsDirty();
7051
7188
  return this;
7052
7189
  };
@@ -7071,7 +7208,9 @@ var Grid = /** @class */ (function (_super) {
7071
7208
  this._offsetCell(previousKey, key);
7072
7209
  }
7073
7210
  }
7211
+ this._rowDefinitions[index].onChangedObservable.remove(this._rowDefinitionObservers[index]);
7074
7212
  this._rowDefinitions.splice(index, 1);
7213
+ this._rowDefinitionObservers.splice(index, 1);
7075
7214
  this._markAsDirty();
7076
7215
  return this;
7077
7216
  };
@@ -7148,58 +7287,58 @@ var Grid = /** @class */ (function (_super) {
7148
7287
  // Heights
7149
7288
  var index = 0;
7150
7289
  for (var _i = 0, _a = this._rowDefinitions; _i < _a.length; _i++) {
7151
- var value = _a[_i];
7152
- if (value.isPixel) {
7153
- var height = value.getValue(this._host);
7290
+ var rowDefinition = _a[_i];
7291
+ if (rowDefinition.isPixel) {
7292
+ var height = rowDefinition.getValue(this._host);
7154
7293
  availableHeight -= height;
7155
7294
  heights[index] = height;
7156
7295
  }
7157
7296
  else {
7158
- globalHeightPercentage += value.internalValue;
7297
+ globalHeightPercentage += rowDefinition.value;
7159
7298
  }
7160
7299
  index++;
7161
7300
  }
7162
7301
  var top = 0;
7163
7302
  index = 0;
7164
7303
  for (var _b = 0, _c = this._rowDefinitions; _b < _c.length; _b++) {
7165
- var value = _c[_b];
7304
+ var rowDefinition = _c[_b];
7166
7305
  tops.push(top);
7167
- if (!value.isPixel) {
7168
- var height = (value.internalValue / globalHeightPercentage) * availableHeight;
7306
+ if (!rowDefinition.isPixel) {
7307
+ var height = (rowDefinition.value / globalHeightPercentage) * availableHeight;
7169
7308
  top += height;
7170
7309
  heights[index] = height;
7171
7310
  }
7172
7311
  else {
7173
- top += value.getValue(this._host);
7312
+ top += rowDefinition.getValue(this._host);
7174
7313
  }
7175
7314
  index++;
7176
7315
  }
7177
7316
  // Widths
7178
7317
  index = 0;
7179
7318
  for (var _d = 0, _e = this._columnDefinitions; _d < _e.length; _d++) {
7180
- var value = _e[_d];
7181
- if (value.isPixel) {
7182
- var width = value.getValue(this._host);
7319
+ var columnDefinition = _e[_d];
7320
+ if (columnDefinition.isPixel) {
7321
+ var width = columnDefinition.getValue(this._host);
7183
7322
  availableWidth -= width;
7184
7323
  widths[index] = width;
7185
7324
  }
7186
7325
  else {
7187
- globalWidthPercentage += value.internalValue;
7326
+ globalWidthPercentage += columnDefinition.value;
7188
7327
  }
7189
7328
  index++;
7190
7329
  }
7191
7330
  var left = 0;
7192
7331
  index = 0;
7193
7332
  for (var _f = 0, _g = this._columnDefinitions; _f < _g.length; _f++) {
7194
- var value = _g[_f];
7333
+ var columnDefinition = _g[_f];
7195
7334
  lefts.push(left);
7196
- if (!value.isPixel) {
7197
- var width = (value.internalValue / globalWidthPercentage) * availableWidth;
7335
+ if (!columnDefinition.isPixel) {
7336
+ var width = (columnDefinition.value / globalWidthPercentage) * availableWidth;
7198
7337
  left += width;
7199
7338
  widths[index] = width;
7200
7339
  }
7201
7340
  else {
7202
- left += value.getValue(this._host);
7341
+ left += columnDefinition.getValue(this._host);
7203
7342
  }
7204
7343
  index++;
7205
7344
  }
@@ -7268,12 +7407,23 @@ var Grid = /** @class */ (function (_super) {
7268
7407
  var control = _a[_i];
7269
7408
  control.dispose();
7270
7409
  }
7410
+ for (var index = 0; index < this._rowDefinitions.length; index++) {
7411
+ this._rowDefinitions[index].onChangedObservable.remove(this._rowDefinitionObservers[index]);
7412
+ }
7413
+ for (var index = 0; index < this._columnDefinitions.length; index++) {
7414
+ this._columnDefinitions[index].onChangedObservable.remove(this._columnDefinitionObservers[index]);
7415
+ }
7416
+ this._rowDefinitionObservers = [];
7417
+ this._rowDefinitions = [];
7418
+ this._columnDefinitionObservers = [];
7419
+ this._columnDefinitions = [];
7420
+ this._cells = {};
7271
7421
  this._childControls = [];
7272
7422
  };
7273
7423
  /**
7274
- * Serializes the current control
7275
- * @param serializationObject defined the JSON serialized object
7276
- */
7424
+ * Serializes the current control
7425
+ * @param serializationObject defined the JSON serialized object
7426
+ */
7277
7427
  Grid.prototype.serialize = function (serializationObject) {
7278
7428
  _super.prototype.serialize.call(this, serializationObject);
7279
7429
  serializationObject.columnCount = this.columnCount;
@@ -7346,7 +7496,7 @@ Object(babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_4__["RegisterClass"])("BABY
7346
7496
  __webpack_require__.r(__webpack_exports__);
7347
7497
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Image", function() { return Image; });
7348
7498
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
7349
- /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/observable */ "babylonjs/Misc/perfCounter");
7499
+ /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/observable */ "babylonjs/Misc/observable");
7350
7500
  /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__);
7351
7501
  /* harmony import */ var _control__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./control */ "./2D/controls/control.ts");
7352
7502
 
@@ -8385,7 +8535,7 @@ __webpack_require__.r(__webpack_exports__);
8385
8535
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "InputPassword", function() { return InputPassword; });
8386
8536
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
8387
8537
  /* harmony import */ var _inputText__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./inputText */ "./2D/controls/inputText.ts");
8388
- /* harmony import */ var babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babylonjs/Misc/typeStore */ "babylonjs/Misc/perfCounter");
8538
+ /* harmony import */ var babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babylonjs/Misc/typeStore */ "babylonjs/Misc/observable");
8389
8539
  /* harmony import */ var babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_2__);
8390
8540
  /* harmony import */ var _textWrapper__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./textWrapper */ "./2D/controls/textWrapper.ts");
8391
8541
 
@@ -8428,7 +8578,7 @@ Object(babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_2__["RegisterClass"])("
8428
8578
  __webpack_require__.r(__webpack_exports__);
8429
8579
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "InputText", function() { return InputText; });
8430
8580
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
8431
- /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/observable */ "babylonjs/Misc/perfCounter");
8581
+ /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/observable */ "babylonjs/Misc/observable");
8432
8582
  /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__);
8433
8583
  /* harmony import */ var _control__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./control */ "./2D/controls/control.ts");
8434
8584
  /* harmony import */ var _valueAndUnit__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../valueAndUnit */ "./2D/valueAndUnit.ts");
@@ -9543,7 +9693,7 @@ Object(babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["RegisterClass"])(
9543
9693
  __webpack_require__.r(__webpack_exports__);
9544
9694
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Line", function() { return Line; });
9545
9695
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
9546
- /* harmony import */ var babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Maths/math.vector */ "babylonjs/Misc/perfCounter");
9696
+ /* harmony import */ var babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Maths/math.vector */ "babylonjs/Misc/observable");
9547
9697
  /* harmony import */ var babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__);
9548
9698
  /* harmony import */ var _control__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./control */ "./2D/controls/control.ts");
9549
9699
  /* harmony import */ var _valueAndUnit__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../valueAndUnit */ "./2D/valueAndUnit.ts");
@@ -9833,7 +9983,7 @@ Object(babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__["RegisterClass"]
9833
9983
  __webpack_require__.r(__webpack_exports__);
9834
9984
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MultiLine", function() { return MultiLine; });
9835
9985
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
9836
- /* harmony import */ var babylonjs_Meshes_abstractMesh__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Meshes/abstractMesh */ "babylonjs/Misc/perfCounter");
9986
+ /* harmony import */ var babylonjs_Meshes_abstractMesh__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Meshes/abstractMesh */ "babylonjs/Misc/observable");
9837
9987
  /* harmony import */ var babylonjs_Meshes_abstractMesh__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Meshes_abstractMesh__WEBPACK_IMPORTED_MODULE_1__);
9838
9988
  /* harmony import */ var _control__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./control */ "./2D/controls/control.ts");
9839
9989
  /* harmony import */ var _multiLinePoint__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../multiLinePoint */ "./2D/multiLinePoint.ts");
@@ -10114,7 +10264,7 @@ Object(babylonjs_Meshes_abstractMesh__WEBPACK_IMPORTED_MODULE_1__["RegisterClass
10114
10264
  __webpack_require__.r(__webpack_exports__);
10115
10265
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "RadioButton", function() { return RadioButton; });
10116
10266
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
10117
- /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/observable */ "babylonjs/Misc/perfCounter");
10267
+ /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/observable */ "babylonjs/Misc/observable");
10118
10268
  /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__);
10119
10269
  /* harmony import */ var _control__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./control */ "./2D/controls/control.ts");
10120
10270
  /* harmony import */ var _stackPanel__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./stackPanel */ "./2D/controls/stackPanel.ts");
@@ -10340,7 +10490,7 @@ __webpack_require__.r(__webpack_exports__);
10340
10490
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Rectangle", function() { return Rectangle; });
10341
10491
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
10342
10492
  /* harmony import */ var _container__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./container */ "./2D/controls/container.ts");
10343
- /* harmony import */ var babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babylonjs/Misc/typeStore */ "babylonjs/Misc/perfCounter");
10493
+ /* harmony import */ var babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babylonjs/Misc/typeStore */ "babylonjs/Misc/observable");
10344
10494
  /* harmony import */ var babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_2__);
10345
10495
 
10346
10496
 
@@ -10513,7 +10663,7 @@ __webpack_require__.r(__webpack_exports__);
10513
10663
  /* harmony import */ var _scrollViewerWindow__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./scrollViewerWindow */ "./2D/controls/scrollViewers/scrollViewerWindow.ts");
10514
10664
  /* harmony import */ var _sliders_scrollBar__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../sliders/scrollBar */ "./2D/controls/sliders/scrollBar.ts");
10515
10665
  /* harmony import */ var _sliders_imageScrollBar__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../sliders/imageScrollBar */ "./2D/controls/sliders/imageScrollBar.ts");
10516
- /* harmony import */ var babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! babylonjs/Misc/typeStore */ "babylonjs/Misc/perfCounter");
10666
+ /* harmony import */ var babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! babylonjs/Misc/typeStore */ "babylonjs/Misc/observable");
10517
10667
  /* harmony import */ var babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_7__);
10518
10668
 
10519
10669
 
@@ -12144,7 +12294,7 @@ var SelectionPanel = /** @class */ (function (_super) {
12144
12294
  __webpack_require__.r(__webpack_exports__);
12145
12295
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BaseSlider", function() { return BaseSlider; });
12146
12296
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
12147
- /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/observable */ "babylonjs/Misc/perfCounter");
12297
+ /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/observable */ "babylonjs/Misc/observable");
12148
12298
  /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__);
12149
12299
  /* harmony import */ var _control__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../control */ "./2D/controls/control.ts");
12150
12300
  /* harmony import */ var _valueAndUnit__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../valueAndUnit */ "./2D/valueAndUnit.ts");
@@ -12509,7 +12659,7 @@ __webpack_require__.r(__webpack_exports__);
12509
12659
  /* harmony import */ var _baseSlider__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./baseSlider */ "./2D/controls/sliders/baseSlider.ts");
12510
12660
  /* harmony import */ var _measure__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../measure */ "./2D/measure.ts");
12511
12661
  /* harmony import */ var _image__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../image */ "./2D/controls/image.ts");
12512
- /* harmony import */ var babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! babylonjs/Misc/typeStore */ "babylonjs/Misc/perfCounter");
12662
+ /* harmony import */ var babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! babylonjs/Misc/typeStore */ "babylonjs/Misc/observable");
12513
12663
  /* harmony import */ var babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_4__);
12514
12664
 
12515
12665
 
@@ -12716,7 +12866,7 @@ __webpack_require__.r(__webpack_exports__);
12716
12866
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
12717
12867
  /* harmony import */ var _baseSlider__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./baseSlider */ "./2D/controls/sliders/baseSlider.ts");
12718
12868
  /* harmony import */ var _measure__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../measure */ "./2D/measure.ts");
12719
- /* harmony import */ var babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! babylonjs/Misc/decorators */ "babylonjs/Misc/perfCounter");
12869
+ /* harmony import */ var babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! babylonjs/Misc/decorators */ "babylonjs/Misc/observable");
12720
12870
  /* harmony import */ var babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_3__);
12721
12871
 
12722
12872
 
@@ -12991,7 +13141,7 @@ __webpack_require__.r(__webpack_exports__);
12991
13141
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
12992
13142
  /* harmony import */ var _baseSlider__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./baseSlider */ "./2D/controls/sliders/baseSlider.ts");
12993
13143
  /* harmony import */ var _measure__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../measure */ "./2D/measure.ts");
12994
- /* harmony import */ var babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! babylonjs/Misc/decorators */ "babylonjs/Misc/perfCounter");
13144
+ /* harmony import */ var babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! babylonjs/Misc/decorators */ "babylonjs/Misc/observable");
12995
13145
  /* harmony import */ var babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_3__);
12996
13146
 
12997
13147
 
@@ -13145,7 +13295,7 @@ __webpack_require__.r(__webpack_exports__);
13145
13295
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Slider", function() { return Slider; });
13146
13296
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
13147
13297
  /* harmony import */ var _baseSlider__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./baseSlider */ "./2D/controls/sliders/baseSlider.ts");
13148
- /* harmony import */ var babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babylonjs/Misc/typeStore */ "babylonjs/Misc/perfCounter");
13298
+ /* harmony import */ var babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babylonjs/Misc/typeStore */ "babylonjs/Misc/observable");
13149
13299
  /* harmony import */ var babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_2__);
13150
13300
 
13151
13301
 
@@ -13433,7 +13583,7 @@ Object(babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_2__["RegisterClass"])("
13433
13583
  __webpack_require__.r(__webpack_exports__);
13434
13584
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "StackPanel", function() { return StackPanel; });
13435
13585
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
13436
- /* harmony import */ var babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/tools */ "babylonjs/Misc/perfCounter");
13586
+ /* harmony import */ var babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/tools */ "babylonjs/Misc/observable");
13437
13587
  /* harmony import */ var babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_1__);
13438
13588
  /* harmony import */ var _container__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./container */ "./2D/controls/container.ts");
13439
13589
  /* harmony import */ var _control__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./control */ "./2D/controls/control.ts");
@@ -13459,8 +13609,9 @@ var StackPanel = /** @class */ (function (_super) {
13459
13609
  _this._manualWidth = false;
13460
13610
  _this._manualHeight = false;
13461
13611
  _this._doNotTrackManualChanges = false;
13612
+ _this._spacing = 0;
13462
13613
  /**
13463
- * Gets or sets a boolean indicating that layou warnings should be ignored
13614
+ * Gets or sets a boolean indicating that layout warnings should be ignored
13464
13615
  */
13465
13616
  _this.ignoreLayoutWarnings = false;
13466
13617
  return _this;
@@ -13480,6 +13631,23 @@ var StackPanel = /** @class */ (function (_super) {
13480
13631
  enumerable: false,
13481
13632
  configurable: true
13482
13633
  });
13634
+ Object.defineProperty(StackPanel.prototype, "spacing", {
13635
+ /**
13636
+ * Gets or sets the spacing (in pixels) between each child.
13637
+ */
13638
+ get: function () {
13639
+ return this._spacing;
13640
+ },
13641
+ set: function (value) {
13642
+ if (this._spacing === value) {
13643
+ return;
13644
+ }
13645
+ this._spacing = value;
13646
+ this._markAsDirty();
13647
+ },
13648
+ enumerable: false,
13649
+ configurable: true
13650
+ });
13483
13651
  Object.defineProperty(StackPanel.prototype, "width", {
13484
13652
  get: function () {
13485
13653
  return this._width.toString(this._host);
@@ -13555,8 +13723,9 @@ var StackPanel = /** @class */ (function (_super) {
13555
13723
  StackPanel.prototype._postMeasure = function () {
13556
13724
  var stackWidth = 0;
13557
13725
  var stackHeight = 0;
13558
- for (var _i = 0, _a = this._children; _i < _a.length; _i++) {
13559
- var child = _a[_i];
13726
+ var childrenCount = this._children.length;
13727
+ for (var index = 0; index < childrenCount; index++) {
13728
+ var child = this._children[index];
13560
13729
  if (!child.isVisible || child.notRenderable) {
13561
13730
  continue;
13562
13731
  }
@@ -13572,7 +13741,7 @@ var StackPanel = /** @class */ (function (_super) {
13572
13741
  }
13573
13742
  }
13574
13743
  else {
13575
- stackHeight += child._currentMeasure.height + child.paddingTopInPixels + child.paddingBottomInPixels;
13744
+ stackHeight += child._currentMeasure.height + child._paddingTopInPixels + child._paddingBottomInPixels + (index < childrenCount - 1 ? this._spacing : 0);
13576
13745
  }
13577
13746
  }
13578
13747
  else {
@@ -13587,12 +13756,12 @@ var StackPanel = /** @class */ (function (_super) {
13587
13756
  }
13588
13757
  }
13589
13758
  else {
13590
- stackWidth += child._currentMeasure.width + child.paddingLeftInPixels + child.paddingRightInPixels;
13759
+ stackWidth += child._currentMeasure.width + child._paddingLeftInPixels + child._paddingRightInPixels + (index < childrenCount - 1 ? this._spacing : 0);
13591
13760
  }
13592
13761
  }
13593
13762
  }
13594
- stackWidth += this.paddingLeftInPixels + this.paddingRightInPixels;
13595
- stackHeight += this.paddingTopInPixels + this.paddingBottomInPixels;
13763
+ stackWidth += this._paddingLeftInPixels + this._paddingRightInPixels;
13764
+ stackHeight += this._paddingTopInPixels + this._paddingBottomInPixels;
13596
13765
  this._doNotTrackManualChanges = true;
13597
13766
  // Let stack panel width or height default to stackHeight and stackWidth if dimensions are not specified.
13598
13767
  // User can now define their own height and width for stack panel.
@@ -13641,6 +13810,9 @@ var StackPanel = /** @class */ (function (_super) {
13641
13810
  Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([
13642
13811
  Object(babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_1__["serialize"])()
13643
13812
  ], StackPanel.prototype, "isVertical", null);
13813
+ Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([
13814
+ Object(babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_1__["serialize"])()
13815
+ ], StackPanel.prototype, "spacing", null);
13644
13816
  Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([
13645
13817
  Object(babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_1__["serialize"])()
13646
13818
  ], StackPanel.prototype, "width", null);
@@ -13731,7 +13903,7 @@ __webpack_require__.r(__webpack_exports__);
13731
13903
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "TextWrapping", function() { return TextWrapping; });
13732
13904
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "TextBlock", function() { return TextBlock; });
13733
13905
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
13734
- /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/observable */ "babylonjs/Misc/perfCounter");
13906
+ /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/observable */ "babylonjs/Misc/observable");
13735
13907
  /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__);
13736
13908
  /* harmony import */ var _valueAndUnit__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../valueAndUnit */ "./2D/valueAndUnit.ts");
13737
13909
  /* harmony import */ var _control__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./control */ "./2D/controls/control.ts");
@@ -14032,13 +14204,13 @@ var TextBlock = /** @class */ (function (_super) {
14032
14204
  }
14033
14205
  if (this._resizeToFit) {
14034
14206
  if (this._textWrapping === TextWrapping.Clip) {
14035
- var newWidth = (this.paddingLeftInPixels + this.paddingRightInPixels + maxLineWidth) | 0;
14207
+ var newWidth = (this._paddingLeftInPixels + this._paddingRightInPixels + maxLineWidth) | 0;
14036
14208
  if (newWidth !== this._width.internalValue) {
14037
14209
  this._width.updateInPlace(newWidth, _valueAndUnit__WEBPACK_IMPORTED_MODULE_2__["ValueAndUnit"].UNITMODE_PIXEL);
14038
14210
  this._rebuildLayout = true;
14039
14211
  }
14040
14212
  }
14041
- var newHeight = (this.paddingTopInPixels + this.paddingBottomInPixels + this._fontOffset.height * this._lines.length) | 0;
14213
+ var newHeight = (this._paddingTopInPixels + this._paddingBottomInPixels + this._fontOffset.height * this._lines.length) | 0;
14042
14214
  if (this._lines.length > 0 && this._lineSpacing.internalValue !== 0) {
14043
14215
  var lineSpacing = 0;
14044
14216
  if (this._lineSpacing.isPixel) {
@@ -14237,8 +14409,8 @@ var TextBlock = /** @class */ (function (_super) {
14237
14409
  if (!this._fontOffset) {
14238
14410
  this._fontOffset = _control__WEBPACK_IMPORTED_MODULE_3__["Control"]._GetFontOffset(context_1.font);
14239
14411
  }
14240
- var lines = this._lines ? this._lines : this._breakLines(this.widthInPixels - this.paddingLeftInPixels - this.paddingRightInPixels, context_1);
14241
- var newHeight = this.paddingTopInPixels + this.paddingBottomInPixels + this._fontOffset.height * lines.length;
14412
+ var lines = this._lines ? this._lines : this._breakLines(this.widthInPixels - this._paddingLeftInPixels - this._paddingRightInPixels, context_1);
14413
+ var newHeight = this._paddingTopInPixels + this._paddingBottomInPixels + this._fontOffset.height * lines.length;
14242
14414
  if (lines.length > 0 && this._lineSpacing.internalValue !== 0) {
14243
14415
  var lineSpacing = 0;
14244
14416
  if (this._lineSpacing.isPixel) {
@@ -14423,7 +14595,7 @@ var TextWrapper = /** @class */ (function () {
14423
14595
  __webpack_require__.r(__webpack_exports__);
14424
14596
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ToggleButton", function() { return ToggleButton; });
14425
14597
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
14426
- /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/observable */ "babylonjs/Misc/perfCounter");
14598
+ /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/observable */ "babylonjs/Misc/observable");
14427
14599
  /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__);
14428
14600
  /* harmony import */ var _rectangle__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./rectangle */ "./2D/controls/rectangle.ts");
14429
14601
 
@@ -14676,7 +14848,7 @@ __webpack_require__.r(__webpack_exports__);
14676
14848
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "KeyPropertySet", function() { return KeyPropertySet; });
14677
14849
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "VirtualKeyboard", function() { return VirtualKeyboard; });
14678
14850
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
14679
- /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/observable */ "babylonjs/Misc/perfCounter");
14851
+ /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/observable */ "babylonjs/Misc/observable");
14680
14852
  /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__);
14681
14853
  /* harmony import */ var _stackPanel__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./stackPanel */ "./2D/controls/stackPanel.ts");
14682
14854
  /* harmony import */ var _button__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./button */ "./2D/controls/button.ts");
@@ -15071,7 +15243,7 @@ __webpack_require__.r(__webpack_exports__);
15071
15243
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Vector2WithInfo", function() { return Vector2WithInfo; });
15072
15244
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Matrix2D", function() { return Matrix2D; });
15073
15245
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
15074
- /* harmony import */ var babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Maths/math.vector */ "babylonjs/Misc/perfCounter");
15246
+ /* harmony import */ var babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Maths/math.vector */ "babylonjs/Misc/observable");
15075
15247
  /* harmony import */ var babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__);
15076
15248
 
15077
15249
 
@@ -15296,7 +15468,7 @@ var Matrix2D = /** @class */ (function () {
15296
15468
  "use strict";
15297
15469
  __webpack_require__.r(__webpack_exports__);
15298
15470
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Measure", function() { return Measure; });
15299
- /* harmony import */ var babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Maths/math.vector */ "babylonjs/Misc/perfCounter");
15471
+ /* harmony import */ var babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Maths/math.vector */ "babylonjs/Misc/observable");
15300
15472
  /* harmony import */ var babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_0__);
15301
15473
 
15302
15474
  var tmpRect = [
@@ -15461,7 +15633,7 @@ var Measure = /** @class */ (function () {
15461
15633
  "use strict";
15462
15634
  __webpack_require__.r(__webpack_exports__);
15463
15635
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MultiLinePoint", function() { return MultiLinePoint; });
15464
- /* harmony import */ var babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Maths/math.vector */ "babylonjs/Misc/perfCounter");
15636
+ /* harmony import */ var babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Maths/math.vector */ "babylonjs/Misc/observable");
15465
15637
  /* harmony import */ var babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_0__);
15466
15638
  /* harmony import */ var _valueAndUnit__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./valueAndUnit */ "./2D/valueAndUnit.ts");
15467
15639
 
@@ -15605,7 +15777,7 @@ var MultiLinePoint = /** @class */ (function () {
15605
15777
  "use strict";
15606
15778
  __webpack_require__.r(__webpack_exports__);
15607
15779
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Style", function() { return Style; });
15608
- /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Misc/observable */ "babylonjs/Misc/perfCounter");
15780
+ /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Misc/observable */ "babylonjs/Misc/observable");
15609
15781
  /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_0__);
15610
15782
  /* harmony import */ var _valueAndUnit__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./valueAndUnit */ "./2D/valueAndUnit.ts");
15611
15783
 
@@ -15719,6 +15891,9 @@ var Style = /** @class */ (function () {
15719
15891
  "use strict";
15720
15892
  __webpack_require__.r(__webpack_exports__);
15721
15893
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ValueAndUnit", function() { return ValueAndUnit; });
15894
+ /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Misc/observable */ "babylonjs/Misc/observable");
15895
+ /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_0__);
15896
+
15722
15897
  /**
15723
15898
  * Class used to specific a value and its associated unit
15724
15899
  */
@@ -15726,7 +15901,7 @@ var ValueAndUnit = /** @class */ (function () {
15726
15901
  /**
15727
15902
  * Creates a new ValueAndUnit
15728
15903
  * @param value defines the value to store
15729
- * @param unit defines the unit to store
15904
+ * @param unit defines the unit to store - defaults to ValueAndUnit.UNITMODE_PIXEL
15730
15905
  * @param negativeValueAllowed defines a boolean indicating if the value can be negative
15731
15906
  */
15732
15907
  function ValueAndUnit(value,
@@ -15736,21 +15911,26 @@ var ValueAndUnit = /** @class */ (function () {
15736
15911
  negativeValueAllowed) {
15737
15912
  if (unit === void 0) { unit = ValueAndUnit.UNITMODE_PIXEL; }
15738
15913
  if (negativeValueAllowed === void 0) { negativeValueAllowed = true; }
15739
- this.unit = unit;
15740
15914
  this.negativeValueAllowed = negativeValueAllowed;
15741
15915
  this._value = 1;
15916
+ this._unit = ValueAndUnit.UNITMODE_PIXEL;
15742
15917
  /**
15743
15918
  * Gets or sets a value indicating that this value will not scale accordingly with adaptive scaling property
15744
15919
  * @see https://doc.babylonjs.com/how_to/gui#adaptive-scaling
15745
15920
  */
15746
15921
  this.ignoreAdaptiveScaling = false;
15922
+ /**
15923
+ * Observable event triggered each time the value or unit changes
15924
+ */
15925
+ this.onChangedObservable = new babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
15747
15926
  this._value = value;
15927
+ this._unit = unit;
15748
15928
  this._originalUnit = unit;
15749
15929
  }
15750
15930
  Object.defineProperty(ValueAndUnit.prototype, "isPercentage", {
15751
15931
  /** Gets a boolean indicating if the value is a percentage */
15752
15932
  get: function () {
15753
- return this.unit === ValueAndUnit.UNITMODE_PERCENTAGE;
15933
+ return this._unit === ValueAndUnit.UNITMODE_PERCENTAGE;
15754
15934
  },
15755
15935
  enumerable: false,
15756
15936
  configurable: true
@@ -15758,19 +15938,52 @@ var ValueAndUnit = /** @class */ (function () {
15758
15938
  Object.defineProperty(ValueAndUnit.prototype, "isPixel", {
15759
15939
  /** Gets a boolean indicating if the value is store as pixel */
15760
15940
  get: function () {
15761
- return this.unit === ValueAndUnit.UNITMODE_PIXEL;
15941
+ return this._unit === ValueAndUnit.UNITMODE_PIXEL;
15762
15942
  },
15763
15943
  enumerable: false,
15764
15944
  configurable: true
15765
15945
  });
15766
15946
  Object.defineProperty(ValueAndUnit.prototype, "internalValue", {
15767
- /** Gets direct internal value */
15947
+ /**
15948
+ * Gets value (without units)
15949
+ * @deprecated use value property instead
15950
+ */
15768
15951
  get: function () {
15769
15952
  return this._value;
15770
15953
  },
15771
15954
  enumerable: false,
15772
15955
  configurable: true
15773
15956
  });
15957
+ Object.defineProperty(ValueAndUnit.prototype, "value", {
15958
+ /** Gets value (without units) */
15959
+ get: function () {
15960
+ return this._value;
15961
+ },
15962
+ /** Sets value (without units) */
15963
+ set: function (value) {
15964
+ if (value !== this._value) {
15965
+ this._value = value;
15966
+ this.onChangedObservable.notifyObservers();
15967
+ }
15968
+ },
15969
+ enumerable: false,
15970
+ configurable: true
15971
+ });
15972
+ Object.defineProperty(ValueAndUnit.prototype, "unit", {
15973
+ /** Gets units (without value) */
15974
+ get: function () {
15975
+ return this._unit;
15976
+ },
15977
+ /** Sets units (without value) */
15978
+ set: function (value) {
15979
+ if (value !== this._unit) {
15980
+ this._unit = value;
15981
+ this.onChangedObservable.notifyObservers();
15982
+ }
15983
+ },
15984
+ enumerable: false,
15985
+ configurable: true
15986
+ });
15774
15987
  /**
15775
15988
  * Gets value as pixel
15776
15989
  * @param host defines the root host
@@ -15784,15 +15997,19 @@ var ValueAndUnit = /** @class */ (function () {
15784
15997
  return this.getValue(host) * refValue;
15785
15998
  };
15786
15999
  /**
15787
- * Update the current value and unit. This should be done cautiously as the GUi won't be marked as dirty with this function.
16000
+ * Update the current value and unit.
15788
16001
  * @param value defines the value to store
15789
16002
  * @param unit defines the unit to store
15790
16003
  * @returns the current ValueAndUnit
15791
16004
  */
15792
16005
  ValueAndUnit.prototype.updateInPlace = function (value, unit) {
15793
16006
  if (unit === void 0) { unit = ValueAndUnit.UNITMODE_PIXEL; }
15794
- this._value = value;
15795
- this.unit = unit;
16007
+ if (this.value !== value || this.unit !== unit) {
16008
+ // set member variables to notify only once
16009
+ this._value = value;
16010
+ this._unit = unit;
16011
+ this.onChangedObservable.notifyObservers();
16012
+ }
15796
16013
  return this;
15797
16014
  };
15798
16015
  /**
@@ -15829,7 +16046,7 @@ var ValueAndUnit = /** @class */ (function () {
15829
16046
  * @returns a string
15830
16047
  */
15831
16048
  ValueAndUnit.prototype.toString = function (host, decimals) {
15832
- switch (this.unit) {
16049
+ switch (this._unit) {
15833
16050
  case ValueAndUnit.UNITMODE_PERCENTAGE:
15834
16051
  var percentage = this.getValue(host) * 100;
15835
16052
  return (decimals ? percentage.toFixed(decimals) : percentage) + "%";
@@ -15837,12 +16054,12 @@ var ValueAndUnit = /** @class */ (function () {
15837
16054
  var pixels = this.getValue(host);
15838
16055
  return (decimals ? pixels.toFixed(decimals) : pixels) + "px";
15839
16056
  }
15840
- return this.unit.toString();
16057
+ return this._unit.toString();
15841
16058
  };
15842
16059
  /**
15843
16060
  * Store a value parsed from a string
15844
16061
  * @param source defines the source string
15845
- * @returns true if the value was successfully parsed
16062
+ * @returns true if the value was successfully parsed and updated
15846
16063
  */
15847
16064
  ValueAndUnit.prototype.fromString = function (source) {
15848
16065
  var match = ValueAndUnit._Regex.exec(source.toString());
@@ -15867,11 +16084,12 @@ var ValueAndUnit = /** @class */ (function () {
15867
16084
  break;
15868
16085
  }
15869
16086
  }
15870
- if (sourceValue === this._value && sourceUnit === this.unit) {
16087
+ if (sourceValue === this._value && sourceUnit === this._unit) {
15871
16088
  return false;
15872
16089
  }
15873
16090
  this._value = sourceValue;
15874
- this.unit = sourceUnit;
16091
+ this._unit = sourceUnit;
16092
+ this.onChangedObservable.notifyObservers();
15875
16093
  return true;
15876
16094
  };
15877
16095
  Object.defineProperty(ValueAndUnit, "UNITMODE_PERCENTAGE", {
@@ -15912,7 +16130,7 @@ var ValueAndUnit = /** @class */ (function () {
15912
16130
  __webpack_require__.r(__webpack_exports__);
15913
16131
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "XmlLoader", function() { return XmlLoader; });
15914
16132
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
15915
- /* harmony import */ var babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/typeStore */ "babylonjs/Misc/perfCounter");
16133
+ /* harmony import */ var babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/typeStore */ "babylonjs/Misc/observable");
15916
16134
  /* harmony import */ var babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_typeStore__WEBPACK_IMPORTED_MODULE_1__);
15917
16135
 
15918
16136
 
@@ -16269,7 +16487,7 @@ var XmlLoader = /** @class */ (function () {
16269
16487
  "use strict";
16270
16488
  __webpack_require__.r(__webpack_exports__);
16271
16489
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "DefaultBehavior", function() { return DefaultBehavior; });
16272
- /* harmony import */ var babylonjs_Behaviors_Meshes_followBehavior__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Behaviors/Meshes/followBehavior */ "babylonjs/Misc/perfCounter");
16490
+ /* harmony import */ var babylonjs_Behaviors_Meshes_followBehavior__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Behaviors/Meshes/followBehavior */ "babylonjs/Misc/observable");
16273
16491
  /* harmony import */ var babylonjs_Behaviors_Meshes_followBehavior__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Behaviors_Meshes_followBehavior__WEBPACK_IMPORTED_MODULE_0__);
16274
16492
 
16275
16493
 
@@ -16407,7 +16625,7 @@ var DefaultBehavior = /** @class */ (function () {
16407
16625
  __webpack_require__.r(__webpack_exports__);
16408
16626
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AbstractButton3D", function() { return AbstractButton3D; });
16409
16627
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
16410
- /* harmony import */ var babylonjs_Meshes_transformNode__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Meshes/transformNode */ "babylonjs/Misc/perfCounter");
16628
+ /* harmony import */ var babylonjs_Meshes_transformNode__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Meshes/transformNode */ "babylonjs/Misc/observable");
16411
16629
  /* harmony import */ var babylonjs_Meshes_transformNode__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Meshes_transformNode__WEBPACK_IMPORTED_MODULE_1__);
16412
16630
  /* harmony import */ var _contentDisplay3D__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./contentDisplay3D */ "./3D/controls/contentDisplay3D.ts");
16413
16631
 
@@ -16450,7 +16668,7 @@ var AbstractButton3D = /** @class */ (function (_super) {
16450
16668
  __webpack_require__.r(__webpack_exports__);
16451
16669
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Button3D", function() { return Button3D; });
16452
16670
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
16453
- /* harmony import */ var babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Maths/math.vector */ "babylonjs/Misc/perfCounter");
16671
+ /* harmony import */ var babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Maths/math.vector */ "babylonjs/Misc/observable");
16454
16672
  /* harmony import */ var babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__);
16455
16673
  /* harmony import */ var _abstractButton3D__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./abstractButton3D */ "./3D/controls/abstractButton3D.ts");
16456
16674
 
@@ -16554,7 +16772,7 @@ var Button3D = /** @class */ (function (_super) {
16554
16772
  __webpack_require__.r(__webpack_exports__);
16555
16773
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Container3D", function() { return Container3D; });
16556
16774
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
16557
- /* harmony import */ var babylonjs_Meshes_transformNode__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Meshes/transformNode */ "babylonjs/Misc/perfCounter");
16775
+ /* harmony import */ var babylonjs_Meshes_transformNode__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Meshes/transformNode */ "babylonjs/Misc/observable");
16558
16776
  /* harmony import */ var babylonjs_Meshes_transformNode__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Meshes_transformNode__WEBPACK_IMPORTED_MODULE_1__);
16559
16777
  /* harmony import */ var _control3D__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./control3D */ "./3D/controls/control3D.ts");
16560
16778
 
@@ -16714,7 +16932,7 @@ __webpack_require__.r(__webpack_exports__);
16714
16932
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
16715
16933
  /* harmony import */ var _2D_advancedDynamicTexture__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../2D/advancedDynamicTexture */ "./2D/advancedDynamicTexture.ts");
16716
16934
  /* harmony import */ var _control3D__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./control3D */ "./3D/controls/control3D.ts");
16717
- /* harmony import */ var babylonjs_Materials_Textures_texture__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! babylonjs/Materials/Textures/texture */ "babylonjs/Misc/perfCounter");
16935
+ /* harmony import */ var babylonjs_Materials_Textures_texture__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! babylonjs/Materials/Textures/texture */ "babylonjs/Misc/observable");
16718
16936
  /* harmony import */ var babylonjs_Materials_Textures_texture__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Materials_Textures_texture__WEBPACK_IMPORTED_MODULE_3__);
16719
16937
 
16720
16938
 
@@ -16808,7 +17026,7 @@ var ContentDisplay3D = /** @class */ (function (_super) {
16808
17026
  "use strict";
16809
17027
  __webpack_require__.r(__webpack_exports__);
16810
17028
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Control3D", function() { return Control3D; });
16811
- /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Misc/observable */ "babylonjs/Misc/perfCounter");
17029
+ /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Misc/observable */ "babylonjs/Misc/observable");
16812
17030
  /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_0__);
16813
17031
  /* harmony import */ var _vector3WithInfo__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../vector3WithInfo */ "./3D/vector3WithInfo.ts");
16814
17032
 
@@ -16832,6 +17050,8 @@ var Control3D = /** @class */ (function () {
16832
17050
  this._enterCount = -1;
16833
17051
  this._downPointerIds = {}; // Store number of pointer downs per ID, from near and far interactions
16834
17052
  this._isVisible = true;
17053
+ /** @hidden */
17054
+ this._isScaledByManager = false;
16835
17055
  /**
16836
17056
  * An event triggered when the pointer moves over the control
16837
17057
  */
@@ -16888,6 +17108,7 @@ var Control3D = /** @class */ (function () {
16888
17108
  if (!this._node) {
16889
17109
  return;
16890
17110
  }
17111
+ this._isScaledByManager = false;
16891
17112
  this._node.scaling = value;
16892
17113
  },
16893
17114
  enumerable: false,
@@ -17231,7 +17452,7 @@ var Control3D = /** @class */ (function () {
17231
17452
  __webpack_require__.r(__webpack_exports__);
17232
17453
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CylinderPanel", function() { return CylinderPanel; });
17233
17454
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
17234
- /* harmony import */ var babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/tools */ "babylonjs/Misc/perfCounter");
17455
+ /* harmony import */ var babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/tools */ "babylonjs/Misc/observable");
17235
17456
  /* harmony import */ var babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_1__);
17236
17457
  /* harmony import */ var _volumeBasedPanel__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./volumeBasedPanel */ "./3D/controls/volumeBasedPanel.ts");
17237
17458
  /* harmony import */ var _container3D__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./container3D */ "./3D/controls/container3D.ts");
@@ -17317,7 +17538,7 @@ __webpack_require__.r(__webpack_exports__);
17317
17538
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "HandMenu", function() { return HandMenu; });
17318
17539
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
17319
17540
  /* harmony import */ var _touchHolographicMenu__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./touchHolographicMenu */ "./3D/controls/touchHolographicMenu.ts");
17320
- /* harmony import */ var babylonjs_Behaviors_Meshes_handConstraintBehavior__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babylonjs/Behaviors/Meshes/handConstraintBehavior */ "babylonjs/Misc/perfCounter");
17541
+ /* harmony import */ var babylonjs_Behaviors_Meshes_handConstraintBehavior__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babylonjs/Behaviors/Meshes/handConstraintBehavior */ "babylonjs/Misc/observable");
17321
17542
  /* harmony import */ var babylonjs_Behaviors_Meshes_handConstraintBehavior__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Behaviors_Meshes_handConstraintBehavior__WEBPACK_IMPORTED_MODULE_2__);
17322
17543
 
17323
17544
 
@@ -17381,7 +17602,7 @@ var HandMenu = /** @class */ (function (_super) {
17381
17602
  __webpack_require__.r(__webpack_exports__);
17382
17603
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "HolographicBackplate", function() { return HolographicBackplate; });
17383
17604
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
17384
- /* harmony import */ var babylonjs_Meshes_Builders_boxBuilder__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Meshes/Builders/boxBuilder */ "babylonjs/Misc/perfCounter");
17605
+ /* harmony import */ var babylonjs_Meshes_Builders_boxBuilder__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Meshes/Builders/boxBuilder */ "babylonjs/Misc/observable");
17385
17606
  /* harmony import */ var babylonjs_Meshes_Builders_boxBuilder__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Meshes_Builders_boxBuilder__WEBPACK_IMPORTED_MODULE_1__);
17386
17607
  /* harmony import */ var _materials_fluentBackplate_fluentBackplateMaterial__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../materials/fluentBackplate/fluentBackplateMaterial */ "./3D/materials/fluentBackplate/fluentBackplateMaterial.ts");
17387
17608
  /* harmony import */ var _control3D__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./control3D */ "./3D/controls/control3D.ts");
@@ -17521,7 +17742,7 @@ __webpack_require__.r(__webpack_exports__);
17521
17742
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "HolographicButton", function() { return HolographicButton; });
17522
17743
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
17523
17744
  /* harmony import */ var _button3D__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./button3D */ "./3D/controls/button3D.ts");
17524
- /* harmony import */ var babylonjs_Materials_standardMaterial__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babylonjs/Materials/standardMaterial */ "babylonjs/Misc/perfCounter");
17745
+ /* harmony import */ var babylonjs_Materials_standardMaterial__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babylonjs/Materials/standardMaterial */ "babylonjs/Misc/observable");
17525
17746
  /* harmony import */ var babylonjs_Materials_standardMaterial__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Materials_standardMaterial__WEBPACK_IMPORTED_MODULE_2__);
17526
17747
  /* harmony import */ var _materials_fluent_fluentMaterial__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../materials/fluent/fluentMaterial */ "./3D/materials/fluent/fluentMaterial.ts");
17527
17748
  /* harmony import */ var _2D_controls_stackPanel__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../2D/controls/stackPanel */ "./2D/controls/stackPanel.ts");
@@ -17880,7 +18101,7 @@ var HolographicButton = /** @class */ (function (_super) {
17880
18101
  __webpack_require__.r(__webpack_exports__);
17881
18102
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "HolographicSlate", function() { return HolographicSlate; });
17882
18103
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
17883
- /* harmony import */ var babylonjs_Meshes_Builders_boxBuilder__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Meshes/Builders/boxBuilder */ "babylonjs/Misc/perfCounter");
18104
+ /* harmony import */ var babylonjs_Meshes_Builders_boxBuilder__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Meshes/Builders/boxBuilder */ "babylonjs/Misc/observable");
17884
18105
  /* harmony import */ var babylonjs_Meshes_Builders_boxBuilder__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Meshes_Builders_boxBuilder__WEBPACK_IMPORTED_MODULE_1__);
17885
18106
  /* harmony import */ var _materials_fluent_fluentMaterial__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../materials/fluent/fluentMaterial */ "./3D/materials/fluent/fluentMaterial.ts");
17886
18107
  /* harmony import */ var _touchHolographicButton__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./touchHolographicButton */ "./3D/controls/touchHolographicButton.ts");
@@ -17919,11 +18140,11 @@ var HolographicSlate = /** @class */ (function (_super) {
17919
18140
  /**
17920
18141
  * Dimensions of the slate
17921
18142
  */
17922
- _this.dimensions = new babylonjs_Meshes_Builders_boxBuilder__WEBPACK_IMPORTED_MODULE_1__["Vector3"](0.7, 0.4, 0.001);
18143
+ _this.dimensions = new babylonjs_Meshes_Builders_boxBuilder__WEBPACK_IMPORTED_MODULE_1__["Vector3"](21.875, 12.5, 0.001);
17923
18144
  /**
17924
18145
  * Minimum dimensions of the slate
17925
18146
  */
17926
- _this.minDimensions = new babylonjs_Meshes_Builders_boxBuilder__WEBPACK_IMPORTED_MODULE_1__["Vector3"](0.5, 0.2, 0.001);
18147
+ _this.minDimensions = new babylonjs_Meshes_Builders_boxBuilder__WEBPACK_IMPORTED_MODULE_1__["Vector3"](15.625, 6.25, 0.001);
17927
18148
  /**
17928
18149
  * Default dimensions of the slate
17929
18150
  */
@@ -17931,7 +18152,7 @@ var HolographicSlate = /** @class */ (function (_super) {
17931
18152
  /**
17932
18153
  * Dimensions of the backplate
17933
18154
  */
17934
- _this.backplateDimensions = new babylonjs_Meshes_Builders_boxBuilder__WEBPACK_IMPORTED_MODULE_1__["Vector3"](0.7, 0.02, 0.001);
18155
+ _this.backplateDimensions = new babylonjs_Meshes_Builders_boxBuilder__WEBPACK_IMPORTED_MODULE_1__["Vector3"](21.875, 0.625, 0.001);
17935
18156
  /**
17936
18157
  * Margin between backplate and contentplate
17937
18158
  */
@@ -18106,8 +18327,8 @@ var HolographicSlate = /** @class */ (function (_super) {
18106
18327
  this._positionElements();
18107
18328
  this._followButton.imageUrl = HolographicSlate.ASSETS_BASE_URL + HolographicSlate.FOLLOW_ICON_FILENAME;
18108
18329
  this._closeButton.imageUrl = HolographicSlate.ASSETS_BASE_URL + HolographicSlate.CLOSE_ICON_FILENAME;
18109
- this._followButton.backMaterial.alpha = 0;
18110
- this._closeButton.backMaterial.alpha = 0;
18330
+ this._followButton.isBackplateVisible = false;
18331
+ this._closeButton.isBackplateVisible = false;
18111
18332
  this._followButton.onPointerClickObservable.add(function () {
18112
18333
  _this._defaultBehavior.followBehaviorEnabled = !_this._defaultBehavior.followBehaviorEnabled;
18113
18334
  if (_this._defaultBehavior.followBehaviorEnabled) {
@@ -18533,7 +18754,7 @@ var NearMenu = /** @class */ (function (_super) {
18533
18754
  };
18534
18755
  NearMenu.prototype._finalProcessing = function () {
18535
18756
  _super.prototype._finalProcessing.call(this);
18536
- this._pinButton.position.copyFromFloats(this._backPlate.scaling.x / 2 + 0.2, this._backPlate.scaling.y / 2, 0);
18757
+ this._pinButton.position.copyFromFloats((this._backPlate.scaling.x + _touchHolographicMenu__WEBPACK_IMPORTED_MODULE_3__["TouchHolographicMenu"].MENU_BUTTON_SCALE) / 2, this._backPlate.scaling.y / 2, 0);
18537
18758
  };
18538
18759
  /**
18539
18760
  * Disposes the near menu
@@ -18569,7 +18790,7 @@ var NearMenu = /** @class */ (function (_super) {
18569
18790
  __webpack_require__.r(__webpack_exports__);
18570
18791
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PlanePanel", function() { return PlanePanel; });
18571
18792
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
18572
- /* harmony import */ var babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Maths/math.vector */ "babylonjs/Misc/perfCounter");
18793
+ /* harmony import */ var babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Maths/math.vector */ "babylonjs/Misc/observable");
18573
18794
  /* harmony import */ var babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__);
18574
18795
  /* harmony import */ var _container3D__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./container3D */ "./3D/controls/container3D.ts");
18575
18796
  /* harmony import */ var _volumeBasedPanel__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./volumeBasedPanel */ "./3D/controls/volumeBasedPanel.ts");
@@ -18624,7 +18845,7 @@ var PlanePanel = /** @class */ (function (_super) {
18624
18845
  __webpack_require__.r(__webpack_exports__);
18625
18846
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ScatterPanel", function() { return ScatterPanel; });
18626
18847
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
18627
- /* harmony import */ var babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/tools */ "babylonjs/Misc/perfCounter");
18848
+ /* harmony import */ var babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/tools */ "babylonjs/Misc/observable");
18628
18849
  /* harmony import */ var babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_1__);
18629
18850
  /* harmony import */ var _volumeBasedPanel__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./volumeBasedPanel */ "./3D/controls/volumeBasedPanel.ts");
18630
18851
  /* harmony import */ var _container3D__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./container3D */ "./3D/controls/container3D.ts");
@@ -18751,7 +18972,7 @@ var ScatterPanel = /** @class */ (function (_super) {
18751
18972
  __webpack_require__.r(__webpack_exports__);
18752
18973
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Slider3D", function() { return Slider3D; });
18753
18974
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
18754
- /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/observable */ "babylonjs/Misc/perfCounter");
18975
+ /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/observable */ "babylonjs/Misc/observable");
18755
18976
  /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__);
18756
18977
  /* harmony import */ var _control3D__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./control3D */ "./3D/controls/control3D.ts");
18757
18978
  /* harmony import */ var _materials_mrdl_mrdlSliderBarMaterial__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../materials/mrdl/mrdlSliderBarMaterial */ "./3D/materials/mrdl/mrdlSliderBarMaterial.ts");
@@ -19039,7 +19260,7 @@ var Slider3D = /** @class */ (function (_super) {
19039
19260
  __webpack_require__.r(__webpack_exports__);
19040
19261
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SpherePanel", function() { return SpherePanel; });
19041
19262
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
19042
- /* harmony import */ var babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/tools */ "babylonjs/Misc/perfCounter");
19263
+ /* harmony import */ var babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/tools */ "babylonjs/Misc/observable");
19043
19264
  /* harmony import */ var babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_1__);
19044
19265
  /* harmony import */ var _volumeBasedPanel__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./volumeBasedPanel */ "./3D/controls/volumeBasedPanel.ts");
19045
19266
  /* harmony import */ var _container3D__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./container3D */ "./3D/controls/container3D.ts");
@@ -19125,7 +19346,7 @@ var SpherePanel = /** @class */ (function (_super) {
19125
19346
  __webpack_require__.r(__webpack_exports__);
19126
19347
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "StackPanel3D", function() { return StackPanel3D; });
19127
19348
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
19128
- /* harmony import */ var babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/tools */ "babylonjs/Misc/perfCounter");
19349
+ /* harmony import */ var babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/tools */ "babylonjs/Misc/observable");
19129
19350
  /* harmony import */ var babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_1__);
19130
19351
  /* harmony import */ var _container3D__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./container3D */ "./3D/controls/container3D.ts");
19131
19352
 
@@ -19250,7 +19471,7 @@ var StackPanel3D = /** @class */ (function (_super) {
19250
19471
  __webpack_require__.r(__webpack_exports__);
19251
19472
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "TouchButton3D", function() { return TouchButton3D; });
19252
19473
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
19253
- /* harmony import */ var babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Maths/math.vector */ "babylonjs/Misc/perfCounter");
19474
+ /* harmony import */ var babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Maths/math.vector */ "babylonjs/Misc/observable");
19254
19475
  /* harmony import */ var babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__);
19255
19476
  /* harmony import */ var _button3D__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./button3D */ "./3D/controls/button3D.ts");
19256
19477
  // Assumptions: absolute position of button mesh is inside the mesh
@@ -19400,7 +19621,7 @@ var TouchButton3D = /** @class */ (function (_super) {
19400
19621
  __webpack_require__.r(__webpack_exports__);
19401
19622
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "TouchHolographicButton", function() { return TouchHolographicButton; });
19402
19623
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
19403
- /* harmony import */ var babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Maths/math.vector */ "babylonjs/Misc/perfCounter");
19624
+ /* harmony import */ var babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Maths/math.vector */ "babylonjs/Misc/observable");
19404
19625
  /* harmony import */ var babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__);
19405
19626
  /* harmony import */ var _materials_fluentButton_fluentButtonMaterial__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../materials/fluentButton/fluentButtonMaterial */ "./3D/materials/fluentButton/fluentButtonMaterial.ts");
19406
19627
  /* harmony import */ var _2D_controls_stackPanel__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../2D/controls/stackPanel */ "./2D/controls/stackPanel.ts");
@@ -19831,7 +20052,7 @@ __webpack_require__.r(__webpack_exports__);
19831
20052
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "TouchHolographicMenu", function() { return TouchHolographicMenu; });
19832
20053
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
19833
20054
  /* harmony import */ var _volumeBasedPanel__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./volumeBasedPanel */ "./3D/controls/volumeBasedPanel.ts");
19834
- /* harmony import */ var babylonjs_Meshes_mesh__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babylonjs/Meshes/mesh */ "babylonjs/Misc/perfCounter");
20055
+ /* harmony import */ var babylonjs_Meshes_mesh__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babylonjs/Meshes/mesh */ "babylonjs/Misc/observable");
19835
20056
  /* harmony import */ var babylonjs_Meshes_mesh__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Meshes_mesh__WEBPACK_IMPORTED_MODULE_2__);
19836
20057
  /* harmony import */ var _materials_fluent_fluentMaterial__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../materials/fluent/fluentMaterial */ "./3D/materials/fluent/fluentMaterial.ts");
19837
20058
 
@@ -19920,16 +20141,18 @@ var TouchHolographicMenu = /** @class */ (function (_super) {
19920
20141
  this._currentMax.maximizeInPlace(nodePosition);
19921
20142
  };
19922
20143
  TouchHolographicMenu.prototype._updateMargins = function () {
19923
- this._currentMin.addInPlaceFromFloats(-this._cellWidth / 2, -this._cellHeight / 2, 0);
19924
- this._currentMax.addInPlaceFromFloats(this._cellWidth / 2, this._cellHeight / 2, 0);
19925
- var extendSize = this._currentMax.subtract(this._currentMin);
19926
- // Also add a % margin
19927
- this._backPlate.scaling.x = extendSize.x + this._cellWidth * this.backPlateMargin;
19928
- this._backPlate.scaling.y = extendSize.y + this._cellHeight * this.backPlateMargin;
19929
- this._backPlate.scaling.z = 0.001;
19930
- for (var i = 0; i < this._children.length; i++) {
19931
- this._children[i].position.subtractInPlace(this._currentMin).subtractInPlace(extendSize.scale(0.5));
19932
- this._children[i].position.z -= 0.01;
20144
+ if (this._children.length > 0) {
20145
+ this._currentMin.addInPlaceFromFloats(-this._cellWidth / 2, -this._cellHeight / 2, 0);
20146
+ this._currentMax.addInPlaceFromFloats(this._cellWidth / 2, this._cellHeight / 2, 0);
20147
+ var extendSize = this._currentMax.subtract(this._currentMin);
20148
+ // Also add a % margin
20149
+ this._backPlate.scaling.x = extendSize.x + this._cellWidth * this.backPlateMargin;
20150
+ this._backPlate.scaling.y = extendSize.y + this._cellHeight * this.backPlateMargin;
20151
+ this._backPlate.scaling.z = 0.001;
20152
+ for (var i = 0; i < this._children.length; i++) {
20153
+ this._children[i].position.subtractInPlace(this._currentMin).subtractInPlace(extendSize.scale(0.5));
20154
+ this._children[i].position.z -= 0.01;
20155
+ }
19933
20156
  }
19934
20157
  this._currentMin = null;
19935
20158
  this._currentMax = null;
@@ -19976,7 +20199,7 @@ var TouchHolographicMenu = /** @class */ (function (_super) {
19976
20199
  /**
19977
20200
  * Scale for the buttons added to the menu
19978
20201
  */
19979
- TouchHolographicMenu.MENU_BUTTON_SCALE = 0.32;
20202
+ TouchHolographicMenu.MENU_BUTTON_SCALE = 1;
19980
20203
  return TouchHolographicMenu;
19981
20204
  }(_volumeBasedPanel__WEBPACK_IMPORTED_MODULE_1__["VolumeBasedPanel"]));
19982
20205
 
@@ -20073,7 +20296,7 @@ var TouchMeshButton3D = /** @class */ (function (_super) {
20073
20296
  __webpack_require__.r(__webpack_exports__);
20074
20297
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "TouchToggleButton3D", function() { return TouchToggleButton3D; });
20075
20298
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
20076
- /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/observable */ "babylonjs/Misc/perfCounter");
20299
+ /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/observable */ "babylonjs/Misc/observable");
20077
20300
  /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__);
20078
20301
  /* harmony import */ var _touchButton3D__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./touchButton3D */ "./3D/controls/touchButton3D.ts");
20079
20302
 
@@ -20150,7 +20373,7 @@ var TouchToggleButton3D = /** @class */ (function (_super) {
20150
20373
  __webpack_require__.r(__webpack_exports__);
20151
20374
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "VolumeBasedPanel", function() { return VolumeBasedPanel; });
20152
20375
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
20153
- /* harmony import */ var babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/tools */ "babylonjs/Misc/perfCounter");
20376
+ /* harmony import */ var babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/tools */ "babylonjs/Misc/observable");
20154
20377
  /* harmony import */ var babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_1__);
20155
20378
  /* harmony import */ var _container3D__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./container3D */ "./3D/controls/container3D.ts");
20156
20379
 
@@ -20345,7 +20568,7 @@ __webpack_require__.r(__webpack_exports__);
20345
20568
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SideHandle", function() { return SideHandle; });
20346
20569
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CornerHandle", function() { return CornerHandle; });
20347
20570
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
20348
- /* harmony import */ var babylonjs_Meshes_Builders_boxBuilder__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Meshes/Builders/boxBuilder */ "babylonjs/Misc/perfCounter");
20571
+ /* harmony import */ var babylonjs_Meshes_Builders_boxBuilder__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Meshes/Builders/boxBuilder */ "babylonjs/Misc/observable");
20349
20572
  /* harmony import */ var babylonjs_Meshes_Builders_boxBuilder__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Meshes_Builders_boxBuilder__WEBPACK_IMPORTED_MODULE_1__);
20350
20573
  /* harmony import */ var _materials_handle_handleMaterial__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../materials/handle/handleMaterial */ "./3D/materials/handle/handleMaterial.ts");
20351
20574
 
@@ -20599,7 +20822,7 @@ __webpack_require__.r(__webpack_exports__);
20599
20822
  __webpack_require__.r(__webpack_exports__);
20600
20823
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SlateGizmo", function() { return SlateGizmo; });
20601
20824
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
20602
- /* harmony import */ var babylonjs_Gizmos_gizmo__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Gizmos/gizmo */ "babylonjs/Misc/perfCounter");
20825
+ /* harmony import */ var babylonjs_Gizmos_gizmo__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Gizmos/gizmo */ "babylonjs/Misc/observable");
20603
20826
  /* harmony import */ var babylonjs_Gizmos_gizmo__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Gizmos_gizmo__WEBPACK_IMPORTED_MODULE_1__);
20604
20827
  /* harmony import */ var _gizmoHandle__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./gizmoHandle */ "./3D/gizmos/gizmoHandle.ts");
20605
20828
 
@@ -20979,7 +21202,7 @@ var SlateGizmo = /** @class */ (function (_super) {
20979
21202
  "use strict";
20980
21203
  __webpack_require__.r(__webpack_exports__);
20981
21204
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "GUI3DManager", function() { return GUI3DManager; });
20982
- /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Misc/observable */ "babylonjs/Misc/perfCounter");
21205
+ /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Misc/observable */ "babylonjs/Misc/observable");
20983
21206
  /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_0__);
20984
21207
  /* harmony import */ var _controls_container3D__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./controls/container3D */ "./3D/controls/container3D.ts");
20985
21208
 
@@ -21000,6 +21223,7 @@ var GUI3DManager = /** @class */ (function () {
21000
21223
  */
21001
21224
  function GUI3DManager(scene) {
21002
21225
  var _this = this;
21226
+ this._customControlScaling = 1.0;
21003
21227
  /** @hidden */
21004
21228
  this._lastControlOver = {};
21005
21229
  /** @hidden */
@@ -21062,6 +21286,39 @@ var GUI3DManager = /** @class */ (function () {
21062
21286
  enumerable: false,
21063
21287
  configurable: true
21064
21288
  });
21289
+ Object.defineProperty(GUI3DManager.prototype, "controlScaling", {
21290
+ /** Gets the scaling for all UI elements owned by this manager */
21291
+ get: function () {
21292
+ return this._customControlScaling;
21293
+ },
21294
+ /** Sets the scaling adjustment for all UI elements owned by this manager */
21295
+ set: function (newScale) {
21296
+ if (this._customControlScaling !== newScale && newScale > 0) {
21297
+ var scaleRatio_1 = newScale / this._customControlScaling;
21298
+ this._customControlScaling = newScale;
21299
+ this._rootContainer.children.forEach(function (control) {
21300
+ control.scaling.scaleInPlace(scaleRatio_1);
21301
+ if (newScale !== 1) {
21302
+ control._isScaledByManager = true;
21303
+ }
21304
+ });
21305
+ }
21306
+ },
21307
+ enumerable: false,
21308
+ configurable: true
21309
+ });
21310
+ Object.defineProperty(GUI3DManager.prototype, "useRealisticScaling", {
21311
+ /** Gets if controls attached to this manager are realistically sized, based on the fact that 1 unit length is 1 meter */
21312
+ get: function () {
21313
+ return this.controlScaling === GUI3DManager.MRTK_REALISTIC_SCALING;
21314
+ },
21315
+ /** Sets if controls attached to this manager are realistically sized, based on the fact that 1 unit length is 1 meter */
21316
+ set: function (newValue) {
21317
+ this.controlScaling = newValue ? GUI3DManager.MRTK_REALISTIC_SCALING : 1;
21318
+ },
21319
+ enumerable: false,
21320
+ configurable: true
21321
+ });
21065
21322
  GUI3DManager.prototype._handlePointerOut = function (pointerId, isPointerUp) {
21066
21323
  var previousControlOver = this._lastControlOver[pointerId];
21067
21324
  if (previousControlOver) {
@@ -21140,6 +21397,10 @@ var GUI3DManager = /** @class */ (function () {
21140
21397
  */
21141
21398
  GUI3DManager.prototype.addControl = function (control) {
21142
21399
  this._rootContainer.addControl(control);
21400
+ if (this._customControlScaling !== 1) {
21401
+ control.scaling.scaleInPlace(this._customControlScaling);
21402
+ control._isScaledByManager = true;
21403
+ }
21143
21404
  return this;
21144
21405
  };
21145
21406
  /**
@@ -21149,6 +21410,10 @@ var GUI3DManager = /** @class */ (function () {
21149
21410
  */
21150
21411
  GUI3DManager.prototype.removeControl = function (control) {
21151
21412
  this._rootContainer.removeControl(control);
21413
+ if (control._isScaledByManager) {
21414
+ control.scaling.scaleInPlace(1 / this._customControlScaling);
21415
+ control._isScaledByManager = false;
21416
+ }
21152
21417
  return this;
21153
21418
  };
21154
21419
  /**
@@ -21193,6 +21458,7 @@ var GUI3DManager = /** @class */ (function () {
21193
21458
  this._utilityLayer.dispose();
21194
21459
  }
21195
21460
  };
21461
+ GUI3DManager.MRTK_REALISTIC_SCALING = 0.032;
21196
21462
  return GUI3DManager;
21197
21463
  }());
21198
21464
 
@@ -21309,7 +21575,7 @@ __webpack_require__.r(__webpack_exports__);
21309
21575
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FluentMaterialDefines", function() { return FluentMaterialDefines; });
21310
21576
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FluentMaterial", function() { return FluentMaterial; });
21311
21577
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
21312
- /* harmony import */ var babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/decorators */ "babylonjs/Misc/perfCounter");
21578
+ /* harmony import */ var babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/decorators */ "babylonjs/Misc/observable");
21313
21579
  /* harmony import */ var babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__);
21314
21580
  /* harmony import */ var _shaders_fluent_vertex__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./shaders/fluent.vertex */ "./3D/materials/fluent/shaders/fluent.vertex.ts");
21315
21581
  /* harmony import */ var _shaders_fluent_fragment__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./shaders/fluent.fragment */ "./3D/materials/fluent/shaders/fluent.fragment.ts");
@@ -21627,7 +21893,7 @@ __webpack_require__.r(__webpack_exports__);
21627
21893
  "use strict";
21628
21894
  __webpack_require__.r(__webpack_exports__);
21629
21895
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "fluentPixelShader", function() { return fluentPixelShader; });
21630
- /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Engines/shaderStore */ "babylonjs/Misc/perfCounter");
21896
+ /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Engines/shaderStore */ "babylonjs/Misc/observable");
21631
21897
  /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__);
21632
21898
 
21633
21899
  var name = 'fluentPixelShader';
@@ -21649,7 +21915,7 @@ var fluentPixelShader = { name: name, shader: shader };
21649
21915
  "use strict";
21650
21916
  __webpack_require__.r(__webpack_exports__);
21651
21917
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "fluentVertexShader", function() { return fluentVertexShader; });
21652
- /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Engines/shaderStore */ "babylonjs/Misc/perfCounter");
21918
+ /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Engines/shaderStore */ "babylonjs/Misc/observable");
21653
21919
  /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__);
21654
21920
 
21655
21921
  var name = 'fluentVertexShader';
@@ -21672,7 +21938,7 @@ var fluentVertexShader = { name: name, shader: shader };
21672
21938
  __webpack_require__.r(__webpack_exports__);
21673
21939
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FluentBackplateMaterial", function() { return FluentBackplateMaterial; });
21674
21940
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
21675
- /* harmony import */ var babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/decorators */ "babylonjs/Misc/perfCounter");
21941
+ /* harmony import */ var babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/decorators */ "babylonjs/Misc/observable");
21676
21942
  /* harmony import */ var babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__);
21677
21943
  /* harmony import */ var _shaders_fluentBackplate_fragment__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./shaders/fluentBackplate.fragment */ "./3D/materials/fluentBackplate/shaders/fluentBackplate.fragment.ts");
21678
21944
  /* harmony import */ var _shaders_fluentBackplate_vertex__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./shaders/fluentBackplate.vertex */ "./3D/materials/fluentBackplate/shaders/fluentBackplate.vertex.ts");
@@ -22141,7 +22407,7 @@ __webpack_require__.r(__webpack_exports__);
22141
22407
  "use strict";
22142
22408
  __webpack_require__.r(__webpack_exports__);
22143
22409
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "fluentBackplatePixelShader", function() { return fluentBackplatePixelShader; });
22144
- /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Engines/shaderStore */ "babylonjs/Misc/perfCounter");
22410
+ /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Engines/shaderStore */ "babylonjs/Misc/observable");
22145
22411
  /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__);
22146
22412
 
22147
22413
  var name = 'fluentBackplatePixelShader';
@@ -22163,7 +22429,7 @@ var fluentBackplatePixelShader = { name: name, shader: shader };
22163
22429
  "use strict";
22164
22430
  __webpack_require__.r(__webpack_exports__);
22165
22431
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "fluentBackplateVertexShader", function() { return fluentBackplateVertexShader; });
22166
- /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Engines/shaderStore */ "babylonjs/Misc/perfCounter");
22432
+ /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Engines/shaderStore */ "babylonjs/Misc/observable");
22167
22433
  /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__);
22168
22434
 
22169
22435
  var name = 'fluentBackplateVertexShader';
@@ -22186,7 +22452,7 @@ var fluentBackplateVertexShader = { name: name, shader: shader };
22186
22452
  __webpack_require__.r(__webpack_exports__);
22187
22453
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FluentButtonMaterial", function() { return FluentButtonMaterial; });
22188
22454
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
22189
- /* harmony import */ var babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/decorators */ "babylonjs/Misc/perfCounter");
22455
+ /* harmony import */ var babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/decorators */ "babylonjs/Misc/observable");
22190
22456
  /* harmony import */ var babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__);
22191
22457
  /* harmony import */ var _shaders_fluentButton_fragment__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./shaders/fluentButton.fragment */ "./3D/materials/fluentButton/shaders/fluentButton.fragment.ts");
22192
22458
  /* harmony import */ var _shaders_fluentButton_vertex__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./shaders/fluentButton.vertex */ "./3D/materials/fluentButton/shaders/fluentButton.vertex.ts");
@@ -22758,7 +23024,7 @@ __webpack_require__.r(__webpack_exports__);
22758
23024
  "use strict";
22759
23025
  __webpack_require__.r(__webpack_exports__);
22760
23026
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "fluentButtonPixelShader", function() { return fluentButtonPixelShader; });
22761
- /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Engines/shaderStore */ "babylonjs/Misc/perfCounter");
23027
+ /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Engines/shaderStore */ "babylonjs/Misc/observable");
22762
23028
  /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__);
22763
23029
 
22764
23030
  var name = 'fluentButtonPixelShader';
@@ -22780,7 +23046,7 @@ var fluentButtonPixelShader = { name: name, shader: shader };
22780
23046
  "use strict";
22781
23047
  __webpack_require__.r(__webpack_exports__);
22782
23048
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "fluentButtonVertexShader", function() { return fluentButtonVertexShader; });
22783
- /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Engines/shaderStore */ "babylonjs/Misc/perfCounter");
23049
+ /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Engines/shaderStore */ "babylonjs/Misc/observable");
22784
23050
  /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__);
22785
23051
 
22786
23052
  var name = 'fluentButtonVertexShader';
@@ -22803,7 +23069,7 @@ var fluentButtonVertexShader = { name: name, shader: shader };
22803
23069
  __webpack_require__.r(__webpack_exports__);
22804
23070
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "HandleMaterial", function() { return HandleMaterial; });
22805
23071
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
22806
- /* harmony import */ var babylonjs_Materials_shaderMaterial__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Materials/shaderMaterial */ "babylonjs/Misc/perfCounter");
23072
+ /* harmony import */ var babylonjs_Materials_shaderMaterial__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Materials/shaderMaterial */ "babylonjs/Misc/observable");
22807
23073
  /* harmony import */ var babylonjs_Materials_shaderMaterial__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Materials_shaderMaterial__WEBPACK_IMPORTED_MODULE_1__);
22808
23074
  /* harmony import */ var _shaders_handle_vertex__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./shaders/handle.vertex */ "./3D/materials/handle/shaders/handle.vertex.ts");
22809
23075
  /* harmony import */ var _shaders_handle_fragment__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./shaders/handle.fragment */ "./3D/materials/handle/shaders/handle.fragment.ts");
@@ -22964,7 +23230,7 @@ __webpack_require__.r(__webpack_exports__);
22964
23230
  "use strict";
22965
23231
  __webpack_require__.r(__webpack_exports__);
22966
23232
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "handlePixelShader", function() { return handlePixelShader; });
22967
- /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Engines/shaderStore */ "babylonjs/Misc/perfCounter");
23233
+ /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Engines/shaderStore */ "babylonjs/Misc/observable");
22968
23234
  /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__);
22969
23235
 
22970
23236
  var name = 'handlePixelShader';
@@ -22986,7 +23252,7 @@ var handlePixelShader = { name: name, shader: shader };
22986
23252
  "use strict";
22987
23253
  __webpack_require__.r(__webpack_exports__);
22988
23254
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "handleVertexShader", function() { return handleVertexShader; });
22989
- /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Engines/shaderStore */ "babylonjs/Misc/perfCounter");
23255
+ /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Engines/shaderStore */ "babylonjs/Misc/observable");
22990
23256
  /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__);
22991
23257
 
22992
23258
  var name = 'handleVertexShader';
@@ -23073,7 +23339,7 @@ __webpack_require__.r(__webpack_exports__);
23073
23339
  __webpack_require__.r(__webpack_exports__);
23074
23340
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MRDLBackplateMaterial", function() { return MRDLBackplateMaterial; });
23075
23341
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
23076
- /* harmony import */ var babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/decorators */ "babylonjs/Misc/perfCounter");
23342
+ /* harmony import */ var babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/decorators */ "babylonjs/Misc/observable");
23077
23343
  /* harmony import */ var babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__);
23078
23344
  /* harmony import */ var _shaders_mrdlBackplate_fragment__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./shaders/mrdlBackplate.fragment */ "./3D/materials/mrdl/shaders/mrdlBackplate.fragment.ts");
23079
23345
  /* harmony import */ var _shaders_mrdlBackplate_vertex__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./shaders/mrdlBackplate.vertex */ "./3D/materials/mrdl/shaders/mrdlBackplate.vertex.ts");
@@ -23501,7 +23767,7 @@ Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["RegisterClass"])(
23501
23767
  __webpack_require__.r(__webpack_exports__);
23502
23768
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MRDLSliderBarMaterial", function() { return MRDLSliderBarMaterial; });
23503
23769
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
23504
- /* harmony import */ var babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/decorators */ "babylonjs/Misc/perfCounter");
23770
+ /* harmony import */ var babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/decorators */ "babylonjs/Misc/observable");
23505
23771
  /* harmony import */ var babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__);
23506
23772
  /* harmony import */ var _shaders_mrdlSliderBar_fragment__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./shaders/mrdlSliderBar.fragment */ "./3D/materials/mrdl/shaders/mrdlSliderBar.fragment.ts");
23507
23773
  /* harmony import */ var _shaders_mrdlSliderBar_vertex__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./shaders/mrdlSliderBar.vertex */ "./3D/materials/mrdl/shaders/mrdlSliderBar.vertex.ts");
@@ -24306,7 +24572,7 @@ Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["RegisterClass"])(
24306
24572
  __webpack_require__.r(__webpack_exports__);
24307
24573
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MRDLSliderThumbMaterial", function() { return MRDLSliderThumbMaterial; });
24308
24574
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
24309
- /* harmony import */ var babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/decorators */ "babylonjs/Misc/perfCounter");
24575
+ /* harmony import */ var babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/decorators */ "babylonjs/Misc/observable");
24310
24576
  /* harmony import */ var babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__);
24311
24577
  /* harmony import */ var _shaders_mrdlSliderThumb_fragment__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./shaders/mrdlSliderThumb.fragment */ "./3D/materials/mrdl/shaders/mrdlSliderThumb.fragment.ts");
24312
24578
  /* harmony import */ var _shaders_mrdlSliderThumb_vertex__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./shaders/mrdlSliderThumb.vertex */ "./3D/materials/mrdl/shaders/mrdlSliderThumb.vertex.ts");
@@ -25110,7 +25376,7 @@ Object(babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["RegisterClass"])(
25110
25376
  "use strict";
25111
25377
  __webpack_require__.r(__webpack_exports__);
25112
25378
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "mrdlBackplatePixelShader", function() { return mrdlBackplatePixelShader; });
25113
- /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Engines/shaderStore */ "babylonjs/Misc/perfCounter");
25379
+ /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Engines/shaderStore */ "babylonjs/Misc/observable");
25114
25380
  /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__);
25115
25381
 
25116
25382
  var name = 'mrdlBackplatePixelShader';
@@ -25132,7 +25398,7 @@ var mrdlBackplatePixelShader = { name: name, shader: shader };
25132
25398
  "use strict";
25133
25399
  __webpack_require__.r(__webpack_exports__);
25134
25400
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "mrdlBackplateVertexShader", function() { return mrdlBackplateVertexShader; });
25135
- /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Engines/shaderStore */ "babylonjs/Misc/perfCounter");
25401
+ /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Engines/shaderStore */ "babylonjs/Misc/observable");
25136
25402
  /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__);
25137
25403
 
25138
25404
  var name = 'mrdlBackplateVertexShader';
@@ -25154,7 +25420,7 @@ var mrdlBackplateVertexShader = { name: name, shader: shader };
25154
25420
  "use strict";
25155
25421
  __webpack_require__.r(__webpack_exports__);
25156
25422
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "mrdlSliderBarPixelShader", function() { return mrdlSliderBarPixelShader; });
25157
- /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Engines/shaderStore */ "babylonjs/Misc/perfCounter");
25423
+ /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Engines/shaderStore */ "babylonjs/Misc/observable");
25158
25424
  /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__);
25159
25425
 
25160
25426
  var name = 'mrdlSliderBarPixelShader';
@@ -25176,7 +25442,7 @@ var mrdlSliderBarPixelShader = { name: name, shader: shader };
25176
25442
  "use strict";
25177
25443
  __webpack_require__.r(__webpack_exports__);
25178
25444
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "mrdlSliderBarVertexShader", function() { return mrdlSliderBarVertexShader; });
25179
- /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Engines/shaderStore */ "babylonjs/Misc/perfCounter");
25445
+ /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Engines/shaderStore */ "babylonjs/Misc/observable");
25180
25446
  /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__);
25181
25447
 
25182
25448
  var name = 'mrdlSliderBarVertexShader';
@@ -25198,7 +25464,7 @@ var mrdlSliderBarVertexShader = { name: name, shader: shader };
25198
25464
  "use strict";
25199
25465
  __webpack_require__.r(__webpack_exports__);
25200
25466
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "mrdlSliderThumbPixelShader", function() { return mrdlSliderThumbPixelShader; });
25201
- /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Engines/shaderStore */ "babylonjs/Misc/perfCounter");
25467
+ /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Engines/shaderStore */ "babylonjs/Misc/observable");
25202
25468
  /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__);
25203
25469
 
25204
25470
  var name = 'mrdlSliderThumbPixelShader';
@@ -25220,7 +25486,7 @@ var mrdlSliderThumbPixelShader = { name: name, shader: shader };
25220
25486
  "use strict";
25221
25487
  __webpack_require__.r(__webpack_exports__);
25222
25488
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "mrdlSliderThumbVertexShader", function() { return mrdlSliderThumbVertexShader; });
25223
- /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Engines/shaderStore */ "babylonjs/Misc/perfCounter");
25489
+ /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babylonjs/Engines/shaderStore */ "babylonjs/Misc/observable");
25224
25490
  /* harmony import */ var babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Engines_shaderStore__WEBPACK_IMPORTED_MODULE_0__);
25225
25491
 
25226
25492
  var name = 'mrdlSliderThumbVertexShader';
@@ -25243,7 +25509,7 @@ var mrdlSliderThumbVertexShader = { name: name, shader: shader };
25243
25509
  __webpack_require__.r(__webpack_exports__);
25244
25510
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Vector3WithInfo", function() { return Vector3WithInfo; });
25245
25511
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
25246
- /* harmony import */ var babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Maths/math.vector */ "babylonjs/Misc/perfCounter");
25512
+ /* harmony import */ var babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Maths/math.vector */ "babylonjs/Misc/observable");
25247
25513
  /* harmony import */ var babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__);
25248
25514
 
25249
25515
 
@@ -25641,14 +25907,14 @@ if (typeof globalObject !== "undefined") {
25641
25907
 
25642
25908
  /***/ }),
25643
25909
 
25644
- /***/ "babylonjs/Misc/perfCounter":
25910
+ /***/ "babylonjs/Misc/observable":
25645
25911
  /*!****************************************************************************************************!*\
25646
25912
  !*** external {"root":"BABYLON","commonjs":"babylonjs","commonjs2":"babylonjs","amd":"babylonjs"} ***!
25647
25913
  \****************************************************************************************************/
25648
25914
  /*! no static exports found */
25649
25915
  /***/ (function(module, exports) {
25650
25916
 
25651
- module.exports = __WEBPACK_EXTERNAL_MODULE_babylonjs_Misc_perfCounter__;
25917
+ module.exports = __WEBPACK_EXTERNAL_MODULE_babylonjs_Misc_observable__;
25652
25918
 
25653
25919
  /***/ })
25654
25920