@babylonjs/inspector 5.0.0-beta.8 → 5.0.0-rc.1

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.
@@ -45814,6 +45814,7 @@ __webpack_require__.r(__webpack_exports__);
45814
45814
 
45815
45815
 
45816
45816
 
45817
+
45817
45818
  var DebugTabComponent = /** @class */ (function (_super) {
45818
45819
  Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(DebugTabComponent, _super);
45819
45820
  function DebugTabComponent(props) {
@@ -48023,8 +48024,9 @@ var RangeSelectorComponent = /** @class */ (function (_super) {
48023
48024
  "use strict";
48024
48025
  __webpack_require__.r(__webpack_exports__);
48025
48026
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Context", function() { return Context; });
48026
- /* harmony import */ var _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babylonjs/core/Misc/observable */ "@babylonjs/core/Misc/observable");
48027
- /* harmony import */ var _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__);
48027
+ /* harmony import */ var _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babylonjs/core/Animations/animation */ "@babylonjs/core/Misc/observable");
48028
+ /* harmony import */ var _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_0__);
48029
+
48028
48030
 
48029
48031
  ;
48030
48032
  var Context = /** @class */ (function () {
@@ -48036,43 +48038,43 @@ var Context = /** @class */ (function () {
48036
48038
  this.referenceMinFrame = 0;
48037
48039
  this.referenceMaxFrame = 100;
48038
48040
  this.focusedInput = false;
48039
- this.onActiveAnimationChanged = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48040
- this.onActiveKeyPointChanged = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48041
- this.onHostWindowResized = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48042
- this.onSelectAllKeys = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48043
- this.onActiveKeyFrameChanged = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48044
- this.onFrameSet = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48045
- this.onFrameManuallyEntered = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48046
- this.onMainKeyPointSet = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48047
- this.onMainKeyPointMoved = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48048
- this.onValueSet = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48049
- this.onValueManuallyEntered = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48050
- this.onFrameRequired = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48051
- this.onCreateOrUpdateKeyPointRequired = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48052
- this.onFlattenTangentRequired = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48053
- this.onLinearTangentRequired = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48054
- this.onBreakTangentRequired = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48055
- this.onUnifyTangentRequired = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48056
- this.onStepTangentRequired = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48057
- this.onDeleteAnimation = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48058
- this.onGraphMoved = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48059
- this.onGraphScaled = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48060
- this.onRangeUpdated = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48061
- this.onMoveToFrameRequired = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48062
- this.onAnimationStateChanged = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48063
- this.onDeleteKeyActiveKeyPoints = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48064
- this.onSelectionRectangleMoved = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48065
- this.onAnimationsLoaded = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48066
- this.onEditAnimationRequired = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48067
- this.onEditAnimationUIClosed = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48068
- this.onClipLengthIncreased = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48069
- this.onClipLengthDecreased = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48070
- this.onInterpolationModeSet = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48071
- this.onSelectToActivated = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48041
+ this.onActiveAnimationChanged = new _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48042
+ this.onActiveKeyPointChanged = new _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48043
+ this.onHostWindowResized = new _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48044
+ this.onSelectAllKeys = new _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48045
+ this.onActiveKeyFrameChanged = new _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48046
+ this.onFrameSet = new _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48047
+ this.onFrameManuallyEntered = new _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48048
+ this.onMainKeyPointSet = new _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48049
+ this.onMainKeyPointMoved = new _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48050
+ this.onValueSet = new _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48051
+ this.onValueManuallyEntered = new _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48052
+ this.onFrameRequired = new _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48053
+ this.onCreateOrUpdateKeyPointRequired = new _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48054
+ this.onFlattenTangentRequired = new _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48055
+ this.onLinearTangentRequired = new _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48056
+ this.onBreakTangentRequired = new _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48057
+ this.onUnifyTangentRequired = new _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48058
+ this.onStepTangentRequired = new _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48059
+ this.onDeleteAnimation = new _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48060
+ this.onGraphMoved = new _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48061
+ this.onGraphScaled = new _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48062
+ this.onRangeUpdated = new _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48063
+ this.onMoveToFrameRequired = new _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48064
+ this.onAnimationStateChanged = new _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48065
+ this.onDeleteKeyActiveKeyPoints = new _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48066
+ this.onSelectionRectangleMoved = new _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48067
+ this.onAnimationsLoaded = new _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48068
+ this.onEditAnimationRequired = new _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48069
+ this.onEditAnimationUIClosed = new _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48070
+ this.onClipLengthIncreased = new _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48071
+ this.onClipLengthDecreased = new _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48072
+ this.onInterpolationModeSet = new _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48073
+ this.onSelectToActivated = new _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48072
48074
  this.lockLastFrameValue = false;
48073
48075
  this.lockLastFrameFrame = false;
48074
48076
  // value frame inTangent outTangent
48075
- this.onActiveKeyDataChanged = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48077
+ this.onActiveKeyDataChanged = new _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48076
48078
  }
48077
48079
  Context.prototype.prepare = function () {
48078
48080
  this.isPlaying = false;
@@ -48265,6 +48267,13 @@ var Context = /** @class */ (function () {
48265
48267
  }
48266
48268
  return null;
48267
48269
  };
48270
+ Context.prototype.hasActiveQuaternionAnimationKeyPoints = function () {
48271
+ var _a;
48272
+ var activeAnimData = (_a = this.activeKeyPoints) === null || _a === void 0 ? void 0 : _a.map(function (keyPointComponent) { return keyPointComponent.props.curve.animation.dataType; });
48273
+ var quaternionAnimData = activeAnimData === null || activeAnimData === void 0 ? void 0 : activeAnimData.filter(function (type) { return (type === _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_0__["Animation"].ANIMATIONTYPE_QUATERNION); });
48274
+ var hasActiveQuaternionAnimation = ((quaternionAnimData === null || quaternionAnimData === void 0 ? void 0 : quaternionAnimData.length) || 0) > 0;
48275
+ return hasActiveQuaternionAnimation;
48276
+ };
48268
48277
  return Context;
48269
48278
  }());
48270
48279
 
@@ -48491,14 +48500,15 @@ var CanvasComponent = /** @class */ (function (_super) {
48491
48500
  "use strict";
48492
48501
  __webpack_require__.r(__webpack_exports__);
48493
48502
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Curve", function() { return Curve; });
48494
- /* harmony import */ var _babylonjs_core_Animations_animationKey__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babylonjs/core/Animations/animationKey */ "@babylonjs/core/Misc/observable");
48495
- /* harmony import */ var _babylonjs_core_Animations_animationKey__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babylonjs_core_Animations_animationKey__WEBPACK_IMPORTED_MODULE_0__);
48503
+ /* harmony import */ var _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babylonjs/core/Animations/animation */ "@babylonjs/core/Misc/observable");
48504
+ /* harmony import */ var _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_0__);
48505
+
48496
48506
 
48497
48507
 
48498
48508
  var Curve = /** @class */ (function () {
48499
48509
  function Curve(color, animation, property, tangentBuilder, setDefaultInTangent, setDefaultOutTangent) {
48500
48510
  this.keys = new Array();
48501
- this.onDataUpdatedObservable = new _babylonjs_core_Animations_animationKey__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48511
+ this.onDataUpdatedObservable = new _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48502
48512
  this.color = color;
48503
48513
  this.animation = animation;
48504
48514
  this.property = property;
@@ -48512,6 +48522,7 @@ var Curve = /** @class */ (function () {
48512
48522
  return "";
48513
48523
  }
48514
48524
  var pathData = "M".concat(convertX(keys[0].frame), " ").concat(convertY(keys[0].value));
48525
+ var dataType = this.animation.dataType;
48515
48526
  for (var keyIndex = 1; keyIndex < keys.length; keyIndex++) {
48516
48527
  var outTangent = keys[keyIndex - 1].outTangent;
48517
48528
  var inTangent = keys[keyIndex].inTangent;
@@ -48521,12 +48532,12 @@ var Curve = /** @class */ (function () {
48521
48532
  var prevValue = keys[keyIndex - 1].value;
48522
48533
  var frameDist = currentFrame - prevFrame;
48523
48534
  var prevInterpolation = keys[keyIndex - 1].interpolation;
48524
- if (prevInterpolation === _babylonjs_core_Animations_animationKey__WEBPACK_IMPORTED_MODULE_0__["AnimationKeyInterpolation"].STEP) { // Draw a stepped curve
48535
+ if (prevInterpolation === _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_0__["AnimationKeyInterpolation"].STEP) { // Draw a stepped curve
48525
48536
  pathData += "L ".concat(convertX(currentFrame), " ").concat(convertY(prevValue));
48526
48537
  pathData += "L ".concat(convertX(currentFrame), " ").concat(convertY(currentValue));
48527
48538
  continue;
48528
48539
  }
48529
- if (outTangent === undefined && inTangent === undefined) { // Draw a straight line
48540
+ if (outTangent === undefined && inTangent === undefined && dataType !== _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_0__["Animation"].ANIMATIONTYPE_QUATERNION) { // Draw a straight line
48530
48541
  pathData += " L".concat(convertX(currentFrame), " ").concat(convertY(currentValue));
48531
48542
  continue;
48532
48543
  }
@@ -48722,6 +48733,9 @@ __webpack_require__.r(__webpack_exports__);
48722
48733
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../../../node_modules/tslib/tslib.es6.js");
48723
48734
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "../../../../node_modules/react/index.js");
48724
48735
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
48736
+ /* harmony import */ var _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babylonjs/core/Animations/animation */ "@babylonjs/core/Misc/observable");
48737
+ /* harmony import */ var _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_2__);
48738
+
48725
48739
 
48726
48740
 
48727
48741
  var CurveComponent = /** @class */ (function (_super) {
@@ -48765,12 +48779,17 @@ var CurveComponent = /** @class */ (function (_super) {
48765
48779
  if (!this.props.context.isChannelEnabled(this.props.curve.animation, this.props.curve.color)) {
48766
48780
  return null;
48767
48781
  }
48782
+ var pathStyle = {
48783
+ stroke: this.props.curve.color,
48784
+ fill: "none",
48785
+ strokeWidth: "1",
48786
+ };
48787
+ if (this.props.curve.animation.dataType === _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_2__["Animation"].ANIMATIONTYPE_QUATERNION) {
48788
+ pathStyle['stroke-dasharray'] = '5';
48789
+ pathStyle['stroke-opacity'] = '0.5';
48790
+ }
48768
48791
  return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("svg", { style: { cursor: "pointer", overflow: "auto" } },
48769
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("path", { d: this.props.curve.getPathData(this.props.convertX, this.props.convertY), style: {
48770
- stroke: this.props.curve.color,
48771
- fill: "none",
48772
- strokeWidth: "1",
48773
- } })));
48792
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("path", { d: this.props.curve.getPathData(this.props.convertX, this.props.convertY), style: pathStyle })));
48774
48793
  };
48775
48794
  return CurveComponent;
48776
48795
  }(react__WEBPACK_IMPORTED_MODULE_1__["Component"]));
@@ -48995,6 +49014,9 @@ var GraphComponent = /** @class */ (function (_super) {
48995
49014
  }
48996
49015
  for (var _i = 0, _a = _this.props.context.activeAnimations; _i < _a.length; _i++) {
48997
49016
  var currentAnimation = _a[_i];
49017
+ if (currentAnimation.dataType === _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_2__["Animation"].ANIMATIONTYPE_QUATERNION) {
49018
+ continue;
49019
+ }
48998
49020
  var keys = currentAnimation.getKeys();
48999
49021
  var currentFrame = _this.props.context.activeFrame;
49000
49022
  var indexToAdd = -1;
@@ -49056,10 +49078,6 @@ var GraphComponent = /** @class */ (function (_super) {
49056
49078
  derivative = _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_2__["Vector3"].Hermite1stDerivative(leftKey.value.scale(invFrameDelta), leftKey.outTangent, rightKey.value.scale(invFrameDelta), rightKey.inTangent, cutTime);
49057
49079
  break;
49058
49080
  }
49059
- case _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_2__["Animation"].ANIMATIONTYPE_QUATERNION: {
49060
- derivative = _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_2__["Quaternion"].Hermite1stDerivative(leftKey.value.scale(invFrameDelta), leftKey.outTangent, rightKey.value.scale(invFrameDelta), rightKey.inTangent, cutTime);
49061
- break;
49062
- }
49063
49081
  case _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_2__["Animation"].ANIMATIONTYPE_COLOR3:
49064
49082
  derivative = _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_2__["Color3"].Hermite1stDerivative(leftKey.value.scale(invFrameDelta), leftKey.outTangent, rightKey.value.scale(invFrameDelta), rightKey.inTangent, cutTime);
49065
49083
  break;
@@ -49815,6 +49833,11 @@ var KeyPointComponent = /** @class */ (function (_super) {
49815
49833
  if (!_this._keyPointSVG.current) {
49816
49834
  return;
49817
49835
  }
49836
+ var animationType = _this.props.curve.animation.dataType;
49837
+ var isQuaternionAnimation = animationType === _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_1__["Animation"].ANIMATIONTYPE_QUATERNION;
49838
+ if (isQuaternionAnimation) {
49839
+ return;
49840
+ }
49818
49841
  var rect2 = _this._keyPointSVG.current.getBoundingClientRect();
49819
49842
  var overlap = !(rect1.right < rect2.left || rect1.left > rect2.right || rect1.bottom < rect2.top || rect1.top > rect2.bottom);
49820
49843
  if (!_this.props.context.activeKeyPoints) {
@@ -50050,6 +50073,10 @@ var KeyPointComponent = /** @class */ (function (_super) {
50050
50073
  this.props.context.activeKeyPoints = [];
50051
50074
  }
50052
50075
  evt.preventDefault();
50076
+ var isQuaternionAnimation = this.props.curve.animation.dataType === _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_1__["Animation"].ANIMATIONTYPE_QUATERNION;
50077
+ if (isQuaternionAnimation) {
50078
+ return;
50079
+ }
50053
50080
  this._select(evt.nativeEvent.ctrlKey);
50054
50081
  this.props.context.onActiveKeyPointChanged.notifyObservers();
50055
50082
  this._pointerIsDown = true;
@@ -50057,15 +50084,15 @@ var KeyPointComponent = /** @class */ (function (_super) {
50057
50084
  this._sourcePointerX = evt.nativeEvent.offsetX;
50058
50085
  this._sourcePointerY = evt.nativeEvent.offsetY;
50059
50086
  var target = evt.nativeEvent.target;
50060
- if (target.tagName === "image") {
50087
+ if (target.tagName === "image" && !isQuaternionAnimation) {
50061
50088
  this._controlMode = ControlMode.Key;
50062
50089
  this.setState({ tangentSelectedIndex: -1 });
50063
50090
  }
50064
- else if (target.classList.contains("left-tangent")) {
50091
+ else if (target.classList.contains("left-tangent") && !isQuaternionAnimation) {
50065
50092
  this._controlMode = ControlMode.TangentLeft;
50066
50093
  this.setState({ tangentSelectedIndex: 0 });
50067
50094
  }
50068
- else if (target.classList.contains("right-tangent")) {
50095
+ else if (target.classList.contains("right-tangent") && !isQuaternionAnimation) {
50069
50096
  this._controlMode = ControlMode.TangentRight;
50070
50097
  this.setState({ tangentSelectedIndex: 1 });
50071
50098
  }
@@ -50101,7 +50128,7 @@ var KeyPointComponent = /** @class */ (function (_super) {
50101
50128
  };
50102
50129
  KeyPointComponent.prototype._onPointerMove = function (evt) {
50103
50130
  var _this = this;
50104
- if (!this._pointerIsDown || this.state.selectedState !== SelectionState.Selected) {
50131
+ if (!this._pointerIsDown || this.state.selectedState !== SelectionState.Selected || this.props.context.hasActiveQuaternionAnimationKeyPoints()) {
50105
50132
  return;
50106
50133
  }
50107
50134
  if (this._controlMode === ControlMode.Key) {
@@ -50218,6 +50245,7 @@ var KeyPointComponent = /** @class */ (function (_super) {
50218
50245
  }
50219
50246
  var animationType = this.props.curve.animation.dataType;
50220
50247
  var isColorAnimation = animationType === _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_1__["Animation"].ANIMATIONTYPE_COLOR3 || animationType === _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_1__["Animation"].ANIMATIONTYPE_COLOR4;
50248
+ var isQuaternionAnimation = animationType === _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_1__["Animation"].ANIMATIONTYPE_QUATERNION;
50221
50249
  var svgImageIcon = this.state.selectedState === SelectionState.Selected ? keySelected : this.state.selectedState === SelectionState.Siblings ? keyActive : keyInactive;
50222
50250
  var keys = this.props.curve.keys;
50223
50251
  var isLockedTangent = (_a = keys[this.props.keyId].lockedTangent) !== null && _a !== void 0 ? _a : true;
@@ -50247,10 +50275,10 @@ var KeyPointComponent = /** @class */ (function (_super) {
50247
50275
  this._inVec.scaleInPlace(100 * this.props.scale);
50248
50276
  this._outVec.normalize();
50249
50277
  this._outVec.scaleInPlace(100 * this.props.scale);
50250
- return (react__WEBPACK_IMPORTED_MODULE_2__["createElement"]("svg", { ref: this._svgHost, onPointerDown: function (evt) { return _this._onPointerDown(evt); }, onPointerMove: function (evt) { return _this._onPointerMove(evt); }, onPointerUp: function (evt) { return _this._onPointerUp(evt); }, x: this.state.x, y: this.state.y, style: { cursor: "pointer", overflow: "auto" } },
50278
+ return (react__WEBPACK_IMPORTED_MODULE_2__["createElement"]("svg", { ref: this._svgHost, onPointerDown: function (evt) { return _this._onPointerDown(evt); }, onPointerMove: function (evt) { return _this._onPointerMove(evt); }, onPointerUp: function (evt) { return _this._onPointerUp(evt); }, x: this.state.x, y: this.state.y, style: { cursor: isQuaternionAnimation ? "auto" : "pointer", overflow: "auto", opacity: isQuaternionAnimation ? "25%" : "100%" } },
50251
50279
  react__WEBPACK_IMPORTED_MODULE_2__["createElement"]("image", { x: "-".concat(8 * this.props.scale), y: "-".concat(8 * this.props.scale), width: "".concat(16 * this.props.scale), height: "".concat(16 * this.props.scale), ref: this._keyPointSVG, href: svgImageIcon }),
50252
50280
  this.state.selectedState === SelectionState.Selected && (react__WEBPACK_IMPORTED_MODULE_2__["createElement"]("g", null,
50253
- this.props.keyId !== 0 && !hasStepTangentIn && !isColorAnimation && hasDefinedInTangent && (react__WEBPACK_IMPORTED_MODULE_2__["createElement"](react__WEBPACK_IMPORTED_MODULE_2__["Fragment"], null,
50281
+ this.props.keyId !== 0 && !hasStepTangentIn && !isColorAnimation && !isQuaternionAnimation && hasDefinedInTangent && (react__WEBPACK_IMPORTED_MODULE_2__["createElement"](react__WEBPACK_IMPORTED_MODULE_2__["Fragment"], null,
50254
50282
  react__WEBPACK_IMPORTED_MODULE_2__["createElement"]("line", { x1: 0, y1: 0, x2: "".concat(this._inVec.x, "px"), y2: "".concat(this._inVec.y, "px"), style: {
50255
50283
  stroke: this.state.tangentSelectedIndex === 0 || this.state.tangentSelectedIndex === -1 ? "#F9BF00" : "#AAAAAA",
50256
50284
  strokeWidth: "".concat(1 * this.props.scale),
@@ -50259,7 +50287,7 @@ var KeyPointComponent = /** @class */ (function (_super) {
50259
50287
  react__WEBPACK_IMPORTED_MODULE_2__["createElement"]("circle", { className: "left-tangent", cx: "".concat(this._inVec.x, "px"), cy: "".concat(this._inVec.y, "px"), r: "".concat(4 * this.props.scale), style: {
50260
50288
  fill: this.state.tangentSelectedIndex === 0 || this.state.tangentSelectedIndex === -1 ? "#F9BF00" : "#AAAAAA",
50261
50289
  } }))),
50262
- this.props.keyId !== keys.length - 1 && !hasStepTangentOut && !isColorAnimation && hasDefinedOutTangent && (react__WEBPACK_IMPORTED_MODULE_2__["createElement"](react__WEBPACK_IMPORTED_MODULE_2__["Fragment"], null,
50290
+ this.props.keyId !== keys.length - 1 && !hasStepTangentOut && !isColorAnimation && !isQuaternionAnimation && hasDefinedOutTangent && (react__WEBPACK_IMPORTED_MODULE_2__["createElement"](react__WEBPACK_IMPORTED_MODULE_2__["Fragment"], null,
50263
50291
  react__WEBPACK_IMPORTED_MODULE_2__["createElement"]("line", { x1: 0, y1: 0, x2: "".concat(this._outVec.x, "px"), y2: "".concat(this._outVec.y, "px"), style: {
50264
50292
  stroke: this.state.tangentSelectedIndex === 1 || this.state.tangentSelectedIndex === -1 ? "#F9BF00" : "#AAAAAA",
50265
50293
  strokeWidth: "".concat(1 * this.props.scale),
@@ -51794,7 +51822,8 @@ var TopBarComponent = /** @class */ (function (_super) {
51794
51822
  var numAnims = new Set((_b = _this.props.context.activeKeyPoints) === null || _b === void 0 ? void 0 : _b.map(function (keyPointComponent) { return keyPointComponent.props.curve.animation.uniqueId; })).size;
51795
51823
  var frameControlEnabled = (numKeys === 1 && numAnims === 1) || (numKeys > 1 && numAnims > 1);
51796
51824
  var valueControlEnabled = numKeys > 0;
51797
- _this.setState({ keyFrameValue: "", keyValue: "", frameControlEnabled: frameControlEnabled, valueControlEnabled: valueControlEnabled });
51825
+ var hasActiveQuaternionAnimation = _this.props.context.hasActiveQuaternionAnimationKeyPoints();
51826
+ _this.setState({ keyFrameValue: "", keyValue: "", frameControlEnabled: frameControlEnabled && !hasActiveQuaternionAnimation, valueControlEnabled: valueControlEnabled && !hasActiveQuaternionAnimation });
51798
51827
  });
51799
51828
  return _this;
51800
51829
  }
@@ -53384,6 +53413,8 @@ __webpack_require__.r(__webpack_exports__);
53384
53413
 
53385
53414
 
53386
53415
 
53416
+
53417
+
53387
53418
  var PBRMaterialPropertyGridComponent = /** @class */ (function (_super) {
53388
53419
  Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(PBRMaterialPropertyGridComponent, _super);
53389
53420
  function PBRMaterialPropertyGridComponent(props) {
@@ -53434,7 +53465,7 @@ var PBRMaterialPropertyGridComponent = /** @class */ (function (_super) {
53434
53465
  { label: "Anisotropic Tangents", value: 12 },
53435
53466
  { label: "Anisotropic Bitangents", value: 13 },
53436
53467
  // Maps
53437
- { label: "Albdeo Map", value: 20 },
53468
+ { label: "Albedo Map", value: 20 },
53438
53469
  { label: "Ambient Map", value: 21 },
53439
53470
  { label: "Opacity Map", value: 22 },
53440
53471
  { label: "Emissive Map", value: 23 },
@@ -56227,6 +56258,7 @@ __webpack_require__.r(__webpack_exports__);
56227
56258
 
56228
56259
 
56229
56260
 
56261
+
56230
56262
 
56231
56263
 
56232
56264
  var MeshPropertyGridComponent = /** @class */ (function (_super) {
@@ -58506,6 +58538,7 @@ __webpack_require__.r(__webpack_exports__);
58506
58538
 
58507
58539
 
58508
58540
 
58541
+
58509
58542
  var ScenePropertyGridComponent = /** @class */ (function (_super) {
58510
58543
  Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(ScenePropertyGridComponent, _super);
58511
58544
  function ScenePropertyGridComponent(props) {
@@ -59413,14 +59446,20 @@ var GLTFComponent = /** @class */ (function (_super) {
59413
59446
  ];
59414
59447
  return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", null,
59415
59448
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_lineContainerComponent__WEBPACK_IMPORTED_MODULE_2__["LineContainerComponent"], { title: "GLTF LOADER", closed: true, selection: this.props.globalState },
59449
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_3__["CheckBoxLineComponent"], { label: "Always compute bounding box", target: loaderState, propertyName: "alwaysComputeBoundingBox" }),
59450
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_3__["CheckBoxLineComponent"], { label: "Always compute skeleton root node", target: loaderState, propertyName: "alwaysComputeSkeletonRootNode" }),
59416
59451
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_optionsLineComponent__WEBPACK_IMPORTED_MODULE_5__["OptionsLineComponent"], { label: "Animation start mode", options: animationStartMode, target: loaderState, propertyName: "animationStartMode" }),
59417
59452
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_3__["CheckBoxLineComponent"], { label: "Capture performance counters", target: loaderState, propertyName: "capturePerformanceCounters" }),
59418
59453
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_3__["CheckBoxLineComponent"], { label: "Compile materials", target: loaderState, propertyName: "compileMaterials" }),
59419
59454
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_3__["CheckBoxLineComponent"], { label: "Compile shadow generators", target: loaderState, propertyName: "compileShadowGenerators" }),
59420
59455
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_optionsLineComponent__WEBPACK_IMPORTED_MODULE_5__["OptionsLineComponent"], { label: "Coordinate system", options: coordinateSystemMode, target: loaderState, propertyName: "coordinateSystemMode" }),
59456
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_3__["CheckBoxLineComponent"], { label: "Create instances", target: loaderState, propertyName: "createInstances" }),
59421
59457
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_3__["CheckBoxLineComponent"], { label: "Enable logging", target: loaderState, propertyName: "loggingEnabled" }),
59458
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_3__["CheckBoxLineComponent"], { label: "Load all materials", target: loaderState, propertyName: "loadAllMaterials" }),
59459
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_4__["FloatLineComponent"], { label: "Target FPS", target: loaderState, propertyName: "targetFps", isInteger: true }),
59422
59460
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_3__["CheckBoxLineComponent"], { label: "Transparency as coverage", target: loaderState, propertyName: "transparencyAsCoverage" }),
59423
59461
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_3__["CheckBoxLineComponent"], { label: "Use clip plane", target: loaderState, propertyName: "useClipPlane" }),
59462
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_3__["CheckBoxLineComponent"], { label: "Use sRGB buffers", target: loaderState, propertyName: "useSRGBBuffers" }),
59424
59463
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_3__["CheckBoxLineComponent"], { label: "Validate", target: loaderState, propertyName: "validate" }),
59425
59464
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_messageLineComponent__WEBPACK_IMPORTED_MODULE_6__["MessageLineComponent"], { text: "You need to reload your file to see these changes" })),
59426
59465
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_lineContainerComponent__WEBPACK_IMPORTED_MODULE_2__["LineContainerComponent"], { title: "GLTF EXTENSIONS", closed: true, selection: this.props.globalState },
@@ -60040,14 +60079,20 @@ var GlobalState = /** @class */ (function () {
60040
60079
  EXT_texture_webp: { enabled: true },
60041
60080
  };
60042
60081
  this.glTFLoaderDefaults = {
60082
+ alwaysComputeBoundingBox: false,
60083
+ alwaysComputeSkeletonRootNode: false,
60043
60084
  animationStartMode: typeof _babylonjs_loaders_glTF_index__WEBPACK_IMPORTED_MODULE_0__["GLTFLoaderAnimationStartMode"] !== 'undefined' ? _babylonjs_loaders_glTF_index__WEBPACK_IMPORTED_MODULE_0__["GLTFLoaderAnimationStartMode"].FIRST : 1,
60044
60085
  capturePerformanceCounters: false,
60045
60086
  compileMaterials: false,
60046
60087
  compileShadowGenerators: false,
60047
60088
  coordinateSystemMode: typeof _babylonjs_loaders_glTF_index__WEBPACK_IMPORTED_MODULE_0__["GLTFLoaderCoordinateSystemMode"] !== 'undefined' ? _babylonjs_loaders_glTF_index__WEBPACK_IMPORTED_MODULE_0__["GLTFLoaderCoordinateSystemMode"].AUTO : 0,
60089
+ createInstances: true,
60090
+ loadAllMaterials: false,
60048
60091
  loggingEnabled: false,
60092
+ targetFps: 60,
60049
60093
  transparencyAsCoverage: false,
60050
60094
  useClipPlane: false,
60095
+ useSRGBBuffers: true,
60051
60096
  };
60052
60097
  this.glTFLoaderExtensions = {};
60053
60098
  this.blockMutationUpdates = false;
@@ -61453,6 +61498,11 @@ var PopupComponent = /** @class */ (function (_super) {
61453
61498
  Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(PopupComponent, _super);
61454
61499
  function PopupComponent(props) {
61455
61500
  var _this = _super.call(this, props) || this;
61501
+ _this.onBeforeUnloadListener = function () {
61502
+ if (_this._window) {
61503
+ _this._window.close();
61504
+ }
61505
+ };
61456
61506
  _this._container = document.createElement("div");
61457
61507
  _this._container.id = _this.props.id;
61458
61508
  _this._window;
@@ -61478,6 +61528,7 @@ var PopupComponent = /** @class */ (function (_super) {
61478
61528
  this._container.appendChild(this._host);
61479
61529
  }
61480
61530
  this._window = _inspector__WEBPACK_IMPORTED_MODULE_3__["Inspector"][windowVariableName];
61531
+ window.addEventListener("beforeunload", this.onBeforeUnloadListener);
61481
61532
  if (this._window) {
61482
61533
  if (onOpen) {
61483
61534
  onOpen(this._window);
@@ -61510,6 +61561,7 @@ var PopupComponent = /** @class */ (function (_super) {
61510
61561
  }
61511
61562
  };
61512
61563
  PopupComponent.prototype.componentWillUnmount = function () {
61564
+ window.removeEventListener("beforeunload", this.onBeforeUnloadListener);
61513
61565
  if (this._window) {
61514
61566
  this._window.close();
61515
61567
  }
@@ -62162,6 +62214,9 @@ __webpack_require__.r(__webpack_exports__);
62162
62214
  /* harmony import */ var _extensionsComponent__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../extensionsComponent */ "./components/sceneExplorer/extensionsComponent.tsx");
62163
62215
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react */ "../../../../node_modules/react/index.js");
62164
62216
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_6__);
62217
+ /* harmony import */ var _babylonjs_core_Rendering_boundingBoxRenderer__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @babylonjs/core/Rendering/boundingBoxRenderer */ "@babylonjs/core/Misc/observable");
62218
+ /* harmony import */ var _babylonjs_core_Rendering_boundingBoxRenderer__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_babylonjs_core_Rendering_boundingBoxRenderer__WEBPACK_IMPORTED_MODULE_7__);
62219
+
62165
62220
 
62166
62221
 
62167
62222
 
@@ -63155,6 +63210,10 @@ __webpack_require__.r(__webpack_exports__);
63155
63210
 
63156
63211
 
63157
63212
 
63213
+
63214
+ // side effects
63215
+
63216
+
63158
63217
 
63159
63218
  __webpack_require__(/*! ./sceneExplorer.scss */ "./components/sceneExplorer/sceneExplorer.scss");
63160
63219
  var SceneExplorerFilterComponent = /** @class */ (function (_super) {
@@ -64607,7 +64666,7 @@ __webpack_require__.r(__webpack_exports__);
64607
64666
  /* harmony import */ var _babylonjs_core_Materials_effect__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babylonjs_core_Materials_effect__WEBPACK_IMPORTED_MODULE_0__);
64608
64667
 
64609
64668
  var name = 'lodPixelShader';
64610
- var shader = "\n#extension GL_EXT_shader_texture_lod : enable\n\nprecision highp float;\n\nvarying vec2 vUV;\nuniform sampler2D textureSampler;\nuniform float lod;\nuniform vec2 texSize;\nvoid main(void)\n{\n gl_FragColor = textureLod(textureSampler,vUV,lod);\n}";
64669
+ var shader = "\n#extension GL_EXT_shader_texture_lod : enable\n\nprecision highp float;\n\nconst float GammaEncodePowerApprox = 1.0 / 2.2;\n\nvarying vec2 vUV;\nuniform sampler2D textureSampler;\nuniform float lod;\nuniform vec2 texSize;\nuniform bool gamma;\nvoid main(void)\n{\n gl_FragColor = textureLod(textureSampler,vUV,lod);\n if (!gamma) {\n gl_FragColor.rgb = pow(gl_FragColor.rgb, vec3(GammaEncodePowerApprox));\n }\n}";
64611
64670
  _babylonjs_core_Materials_effect__WEBPACK_IMPORTED_MODULE_0__["Effect"].ShadersStore[name] = shader;
64612
64671
  /** @hidden */
64613
64672
  var lodPixelShader = { name: name, shader: shader };
@@ -64629,7 +64688,7 @@ __webpack_require__.r(__webpack_exports__);
64629
64688
  /* harmony import */ var _babylonjs_core_Materials_effect__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babylonjs_core_Materials_effect__WEBPACK_IMPORTED_MODULE_0__);
64630
64689
 
64631
64690
  var name = 'lodCubePixelShader';
64632
- var shader = "\nprecision highp float;\n\nvarying vec2 vUV;\nuniform samplerCube textureSampler;\nuniform float lod;\nvoid main(void)\n{\n vec2 uv=vUV*2.0-1.0;\n #ifdef POSITIVEX\n gl_FragColor=textureCube(textureSampler,vec3(1.001,uv.y,uv.x),lod);\n #endif\n #ifdef NEGATIVEX\n gl_FragColor=textureCube(textureSampler,vec3(-1.001,uv.y,uv.x),lod);\n #endif\n #ifdef POSITIVEY\n gl_FragColor=textureCube(textureSampler,vec3(uv.y,1.001,uv.x),lod);\n #endif\n #ifdef NEGATIVEY\n gl_FragColor=textureCube(textureSampler,vec3(uv.y,-1.001,uv.x),lod);\n #endif\n #ifdef POSITIVEZ\n gl_FragColor=textureCube(textureSampler,vec3(uv,1.001),lod);\n #endif\n #ifdef NEGATIVEZ\n gl_FragColor=textureCube(textureSampler,vec3(uv,-1.001),lod);\n #endif\n}";
64691
+ var shader = "\nprecision highp float;\n\nconst float GammaEncodePowerApprox = 1.0 / 2.2;\n\nvarying vec2 vUV;\nuniform samplerCube textureSampler;\nuniform float lod;\nuniform bool gamma;\nvoid main(void)\n{\n vec2 uv=vUV*2.0-1.0;\n #ifdef POSITIVEX\n gl_FragColor=textureCube(textureSampler,vec3(1.001,uv.y,uv.x),lod);\n #endif\n #ifdef NEGATIVEX\n gl_FragColor=textureCube(textureSampler,vec3(-1.001,uv.y,uv.x),lod);\n #endif\n #ifdef POSITIVEY\n gl_FragColor=textureCube(textureSampler,vec3(uv.y,1.001,uv.x),lod);\n #endif\n #ifdef NEGATIVEY\n gl_FragColor=textureCube(textureSampler,vec3(uv.y,-1.001,uv.x),lod);\n #endif\n #ifdef POSITIVEZ\n gl_FragColor=textureCube(textureSampler,vec3(uv,1.001),lod);\n #endif\n #ifdef NEGATIVEZ\n gl_FragColor=textureCube(textureSampler,vec3(uv,-1.001),lod);\n #endif\n if (!gamma) {\n gl_FragColor.rgb = pow(gl_FragColor.rgb, vec3(GammaEncodePowerApprox));\n }\n}";
64633
64692
  _babylonjs_core_Materials_effect__WEBPACK_IMPORTED_MODULE_0__["Effect"].ShadersStore[name] = shader;
64634
64693
  /** @hidden */
64635
64694
  var lodCubePixelShader = { name: name, shader: shader };
@@ -64940,6 +64999,39 @@ var HexColor = /** @class */ (function (_super) {
64940
64999
 
64941
65000
 
64942
65001
 
65002
+ /***/ }),
65003
+
65004
+ /***/ "./sharedUiComponents/imgs/toggleMixedIcon.svg":
65005
+ /*!*****************************************************!*\
65006
+ !*** ./sharedUiComponents/imgs/toggleMixedIcon.svg ***!
65007
+ \*****************************************************/
65008
+ /*! no static exports found */
65009
+ /***/ (function(module, exports) {
65010
+
65011
+ module.exports = "data:image/svg+xml,%3Csvg id='icons' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%23333;%7D%3C/style%3E%3C/defs%3E%3Cpath class='cls-1' d='M25,25H15a5,5,0,0,1,0-10H25a5,5,0,0,1,0,10ZM15,16.5a3.5,3.5,0,0,0,0,7H25a3.5,3.5,0,0,0,0-7Z'/%3E%3Crect class='cls-1' x='16.03' y='19.25' width='7.94' height='1.5' rx='0.75'/%3E%3C/svg%3E"
65012
+
65013
+ /***/ }),
65014
+
65015
+ /***/ "./sharedUiComponents/imgs/toggleOffIcon.svg":
65016
+ /*!***************************************************!*\
65017
+ !*** ./sharedUiComponents/imgs/toggleOffIcon.svg ***!
65018
+ \***************************************************/
65019
+ /*! no static exports found */
65020
+ /***/ (function(module, exports) {
65021
+
65022
+ module.exports = "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cpath d='M15.25,22.5a2.5,2.5,0,1,1,2.5-2.5A2.5,2.5,0,0,1,15.25,22.5Z' style='fill:%23333'/%3E%3Cpath d='M25,25H15a5,5,0,0,1,0-10H25a5,5,0,0,1,0,10ZM15,16.5a3.5,3.5,0,0,0,0,7H25a3.5,3.5,0,0,0,0-7Z' style='fill:%23333'/%3E%3C/svg%3E"
65023
+
65024
+ /***/ }),
65025
+
65026
+ /***/ "./sharedUiComponents/imgs/toggleOnIcon.svg":
65027
+ /*!**************************************************!*\
65028
+ !*** ./sharedUiComponents/imgs/toggleOnIcon.svg ***!
65029
+ \**************************************************/
65030
+ /*! no static exports found */
65031
+ /***/ (function(module, exports) {
65032
+
65033
+ module.exports = "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cpath d='M24.75,22.5a2.5,2.5,0,1,0-2.5-2.5A2.5,2.5,0,0,0,24.75,22.5Z' style='fill:%23333'/%3E%3Cpath d='M10,20a5,5,0,0,1,5-5H25a5,5,0,0,1,0,10H15A5,5,0,0,1,10,20Zm5-3.5a3.5,3.5,0,0,0,0,7H25a3.5,3.5,0,0,0,0-7Z' style='fill:%23333'/%3E%3C/svg%3E"
65034
+
64943
65035
  /***/ }),
64944
65036
 
64945
65037
  /***/ "./sharedUiComponents/lines/booleanLineComponent.tsx":
@@ -65033,12 +65125,14 @@ __webpack_require__.r(__webpack_exports__);
65033
65125
 
65034
65126
 
65035
65127
 
65128
+ var toggleOnIcon = __webpack_require__(/*! ../imgs/toggleOnIcon.svg */ "./sharedUiComponents/imgs/toggleOnIcon.svg");
65129
+ var toggleMixedIcon = __webpack_require__(/*! ../imgs/toggleMixedIcon.svg */ "./sharedUiComponents/imgs/toggleMixedIcon.svg");
65130
+ var toggleOffIcon = __webpack_require__(/*! ../imgs/toggleOffIcon.svg */ "./sharedUiComponents/imgs/toggleOffIcon.svg");
65036
65131
  var CheckBoxLineComponent = /** @class */ (function (_super) {
65037
65132
  Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(CheckBoxLineComponent, _super);
65038
65133
  function CheckBoxLineComponent(props) {
65039
65134
  var _this = _super.call(this, props) || this;
65040
65135
  _this._localChange = false;
65041
- _this._uniqueId = CheckBoxLineComponent._UniqueIdSeed++;
65042
65136
  if (_this.props.isSelected) {
65043
65137
  _this.state = { isSelected: _this.props.isSelected(), isConflict: false };
65044
65138
  }
@@ -65051,18 +65145,18 @@ var CheckBoxLineComponent = /** @class */ (function (_super) {
65051
65145
  return _this;
65052
65146
  }
65053
65147
  CheckBoxLineComponent.prototype.shouldComponentUpdate = function (nextProps, nextState) {
65054
- var currentState;
65148
+ var selected;
65055
65149
  if (nextProps.isSelected) {
65056
- currentState = nextProps.isSelected();
65150
+ selected = nextProps.isSelected();
65057
65151
  }
65058
65152
  else {
65059
- currentState = nextProps.target[nextProps.propertyName] === true;
65153
+ selected = nextProps.target[nextProps.propertyName] === true;
65060
65154
  if (nextProps.target[nextProps.propertyName] === _targetsProxy__WEBPACK_IMPORTED_MODULE_3__["conflictingValuesPlaceholder"]) {
65061
65155
  nextState.isConflict = true;
65062
65156
  }
65063
65157
  }
65064
- if (currentState !== nextState.isSelected || this._localChange) {
65065
- nextState.isSelected = currentState;
65158
+ if (selected !== nextState.isSelected || this._localChange) {
65159
+ nextState.isSelected = selected;
65066
65160
  this._localChange = false;
65067
65161
  return true;
65068
65162
  }
@@ -65096,16 +65190,17 @@ var CheckBoxLineComponent = /** @class */ (function (_super) {
65096
65190
  };
65097
65191
  CheckBoxLineComponent.prototype.render = function () {
65098
65192
  var _this = this;
65193
+ var icon = this.state.isConflict ? toggleMixedIcon : (this.state.isSelected) ? toggleOnIcon : toggleOffIcon;
65099
65194
  return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "checkBoxLine" },
65100
65195
  this.props.icon && react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("img", { src: this.props.icon, title: this.props.iconLabel, alt: this.props.iconLabel, className: "icon" }),
65101
65196
  this.props.label &&
65102
65197
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "label", title: this.props.iconLabel }, this.props.label),
65103
65198
  this.props.faIcons && react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_fortawesome_react_fontawesome__WEBPACK_IMPORTED_MODULE_2__["FontAwesomeIcon"], { className: "cbx ".concat(this.props.disabled ? "disabled" : ""), icon: this.state.isSelected ? this.props.faIcons.enabled : this.props.faIcons.disabled, onClick: function () { return !_this.props.disabled && _this.onChange(); } }),
65104
65199
  !this.props.faIcons && react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "checkBox" },
65105
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("input", { type: "checkbox", id: "checkbox" + this._uniqueId, className: "cbx hidden ".concat(this.state.isConflict ? "conflict" : ""), checked: this.state.isSelected, onChange: function () { return _this.onChange(); }, disabled: !!this.props.disabled }),
65106
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("label", { htmlFor: "checkbox" + this._uniqueId, className: "lbl".concat(!!this.props.disabled ? " disabled" : "") }))));
65200
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("label", { className: "container" },
65201
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("input", { type: "checkbox", className: "cbx hidden ".concat(this.state.isConflict ? "conflict" : ""), checked: this.state.isSelected, onChange: function () { return _this.onChange(); }, disabled: !!this.props.disabled }),
65202
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("img", { className: "icon", src: icon, alt: this.props.label })))));
65107
65203
  };
65108
- CheckBoxLineComponent._UniqueIdSeed = 0;
65109
65204
  return CheckBoxLineComponent;
65110
65205
  }(react__WEBPACK_IMPORTED_MODULE_1__["Component"]));
65111
65206
 
@@ -65389,11 +65484,11 @@ var ColorLineComponent = /** @class */ (function (_super) {
65389
65484
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_colorPickerComponent__WEBPACK_IMPORTED_MODULE_6__["ColorPickerLineComponent"], { linearHint: this.props.isLinear, value: this.props.disableAlpha ? this.toColor3(this.state.color) : this.state.color, onColorChanged: function (color) {
65390
65485
  _this.setColor(_this.convertToColor(color));
65391
65486
  } })),
65392
- this.props.icon && this.props.lockObject && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "", target: this, propertyName: "colorString", onChange: function (newValue) {
65487
+ this.props.lockObject && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "", target: this, propertyName: "colorString", onChange: function (newValue) {
65393
65488
  _this.setColorFromString(newValue);
65394
65489
  }, onPropertyChangedObservable: this.props.onPropertyChangedObservable })),
65395
65490
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "copy hoverIcon", onClick: function () { return _this.copyToClipboard(); }, title: "Copy to clipboard" },
65396
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("img", { src: copyIcon, alt: "" })),
65491
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("img", { src: copyIcon, alt: "Copy" })),
65397
65492
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "expand hoverIcon", onClick: function () { return _this.switchExpandState(); }, title: "Expand" }, chevron)),
65398
65493
  this.state.isExpanded && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "secondLine" },
65399
65494
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_numericInputComponent__WEBPACK_IMPORTED_MODULE_3__["NumericInputComponent"], { label: "r", value: this.state.color.r, onChange: function (value) { return _this.updateStateR(value); } }),
@@ -65967,6 +66062,59 @@ var IndentedTextLineComponent = /** @class */ (function (_super) {
65967
66062
 
65968
66063
 
65969
66064
 
66065
+ /***/ }),
66066
+
66067
+ /***/ "./sharedUiComponents/lines/inputArrowsComponent.tsx":
66068
+ /*!***********************************************************!*\
66069
+ !*** ./sharedUiComponents/lines/inputArrowsComponent.tsx ***!
66070
+ \***********************************************************/
66071
+ /*! exports provided: InputArrowsComponent */
66072
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
66073
+
66074
+ "use strict";
66075
+ __webpack_require__.r(__webpack_exports__);
66076
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "InputArrowsComponent", function() { return InputArrowsComponent; });
66077
+ /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../../../node_modules/tslib/tslib.es6.js");
66078
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "../../../../node_modules/react/index.js");
66079
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
66080
+
66081
+
66082
+ var upArrowIcon = __webpack_require__(/*! ./valueUpArrowIcon.svg */ "./sharedUiComponents/lines/valueUpArrowIcon.svg");
66083
+ var downArrowIcon = __webpack_require__(/*! ./valueDownArrowIcon.svg */ "./sharedUiComponents/lines/valueDownArrowIcon.svg");
66084
+ var InputArrowsComponent = /** @class */ (function (_super) {
66085
+ Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(InputArrowsComponent, _super);
66086
+ function InputArrowsComponent() {
66087
+ var _this = _super !== null && _super.apply(this, arguments) || this;
66088
+ _this._arrowsRef = react__WEBPACK_IMPORTED_MODULE_1__["createRef"]();
66089
+ _this._drag = function (event) {
66090
+ _this.props.incrementValue(-event.movementY);
66091
+ };
66092
+ _this._releaseListener = function () {
66093
+ var _a, _b;
66094
+ _this.props.setDragging(false);
66095
+ (_a = _this._arrowsRef.current) === null || _a === void 0 ? void 0 : _a.ownerDocument.exitPointerLock();
66096
+ window.removeEventListener("pointerup", _this._releaseListener);
66097
+ (_b = _this._arrowsRef.current) === null || _b === void 0 ? void 0 : _b.ownerDocument.removeEventListener("mousemove", _this._drag);
66098
+ };
66099
+ return _this;
66100
+ }
66101
+ InputArrowsComponent.prototype.render = function () {
66102
+ var _this = this;
66103
+ return react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "arrows", ref: this._arrowsRef, onPointerDown: function (event) {
66104
+ var _a, _b;
66105
+ _this.props.setDragging(true);
66106
+ (_a = _this._arrowsRef.current) === null || _a === void 0 ? void 0 : _a.requestPointerLock();
66107
+ window.addEventListener("pointerup", _this._releaseListener);
66108
+ (_b = _this._arrowsRef.current) === null || _b === void 0 ? void 0 : _b.ownerDocument.addEventListener("mousemove", _this._drag);
66109
+ }, onDragStart: function (evt) { return evt.preventDefault(); } },
66110
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("img", { className: "upArrowIcon", src: upArrowIcon, alt: "Increase Value" }),
66111
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("img", { className: "downArrowIcon", src: downArrowIcon, alt: "Increase Value" }));
66112
+ };
66113
+ return InputArrowsComponent;
66114
+ }(react__WEBPACK_IMPORTED_MODULE_1__["Component"]));
66115
+
66116
+
66117
+
65970
66118
  /***/ }),
65971
66119
 
65972
66120
  /***/ "./sharedUiComponents/lines/lineContainerComponent.tsx":
@@ -66455,7 +66603,7 @@ var SliderLineComponent = /** @class */ (function (_super) {
66455
66603
  }, onChange: function (evt) {
66456
66604
  var changed = _this.prepareDataToRead(_this.state.value);
66457
66605
  _this.onChange(changed);
66458
- } }),
66606
+ }, onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
66459
66607
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "slider" },
66460
66608
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("input", { className: "range", type: "range", step: this.props.step, min: this.prepareDataToRead(this.props.minimum), max: this.prepareDataToRead(this.props.maximum), value: this.prepareDataToRead(this.state.value), onInput: function (evt) { return _this.onInput(evt.target.value); }, onChange: function (evt) { return _this.onChange(evt.target.value); } }))));
66461
66609
  };
@@ -66541,6 +66689,8 @@ __webpack_require__.r(__webpack_exports__);
66541
66689
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "../../../../node_modules/react/index.js");
66542
66690
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
66543
66691
  /* harmony import */ var _targetsProxy__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./targetsProxy */ "./sharedUiComponents/lines/targetsProxy.tsx");
66692
+ /* harmony import */ var _inputArrowsComponent__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./inputArrowsComponent */ "./sharedUiComponents/lines/inputArrowsComponent.tsx");
66693
+
66544
66694
 
66545
66695
 
66546
66696
 
@@ -66549,7 +66699,10 @@ var TextInputLineComponent = /** @class */ (function (_super) {
66549
66699
  function TextInputLineComponent(props) {
66550
66700
  var _this = _super.call(this, props) || this;
66551
66701
  _this._localChange = false;
66552
- _this.state = { value: (_this.props.value !== undefined ? _this.props.value : _this.props.target[_this.props.propertyName]) || "" };
66702
+ _this.state = {
66703
+ value: (_this.props.value !== undefined ? _this.props.value : _this.props.target[_this.props.propertyName]) || "",
66704
+ dragging: false
66705
+ };
66553
66706
  return _this;
66554
66707
  }
66555
66708
  TextInputLineComponent.prototype.componentWillUnmount = function () {
@@ -66565,6 +66718,8 @@ var TextInputLineComponent = /** @class */ (function (_super) {
66565
66718
  nextState.value = newValue || "";
66566
66719
  return true;
66567
66720
  }
66721
+ if (nextState.dragging != this.state.dragging)
66722
+ return true;
66568
66723
  return false;
66569
66724
  };
66570
66725
  TextInputLineComponent.prototype.raiseOnPropertyChanged = function (newValue, previousValue) {
@@ -66603,18 +66758,43 @@ var TextInputLineComponent = /** @class */ (function (_super) {
66603
66758
  }
66604
66759
  this.raiseOnPropertyChanged(value, store);
66605
66760
  };
66761
+ TextInputLineComponent.prototype.incrementValue = function (amount) {
66762
+ if (this.props.step) {
66763
+ amount *= this.props.step;
66764
+ }
66765
+ if (this.props.arrowsIncrement) {
66766
+ this.props.arrowsIncrement(amount);
66767
+ return;
66768
+ }
66769
+ var currentValue = parseFloat(this.state.value);
66770
+ this.updateValue((currentValue + amount).toFixed(2));
66771
+ };
66772
+ TextInputLineComponent.prototype.onKeyDown = function (event) {
66773
+ if (this.props.arrows) {
66774
+ if (event.key === "ArrowUp") {
66775
+ this.incrementValue(1);
66776
+ event.preventDefault();
66777
+ }
66778
+ if (event.key === "ArrowDown") {
66779
+ this.incrementValue(-1);
66780
+ event.preventDefault();
66781
+ }
66782
+ }
66783
+ };
66606
66784
  TextInputLineComponent.prototype.render = function () {
66607
66785
  var _this = this;
66608
66786
  var value = this.state.value === _targetsProxy__WEBPACK_IMPORTED_MODULE_2__["conflictingValuesPlaceholder"] ? "" : this.state.value;
66609
66787
  var placeholder = this.state.value === _targetsProxy__WEBPACK_IMPORTED_MODULE_2__["conflictingValuesPlaceholder"] ? _targetsProxy__WEBPACK_IMPORTED_MODULE_2__["conflictingValuesPlaceholder"] : "";
66610
66788
  return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: this.props.unit !== undefined ? "textInputLine withUnits" : "textInputLine" },
66611
66789
  this.props.icon && react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("img", { src: this.props.icon, title: this.props.iconLabel, alt: this.props.iconLabel, color: "black", className: "icon" }),
66612
- (!this.props.icon || (this.props.icon && this.props.label != "")) && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "label", title: this.props.label }, this.props.label)),
66613
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "value" + (this.props.noUnderline === true ? " noUnderline" : "") },
66790
+ (this.props.label !== undefined) && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "label", title: this.props.label }, this.props.label)),
66791
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "value".concat(this.props.noUnderline === true ? " noUnderline" : "").concat(this.props.arrows ? " hasArrows" : "").concat(this.state.dragging ? " dragging" : "") },
66614
66792
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("input", { value: value, onBlur: function () {
66615
66793
  _this.props.lockObject.lock = false;
66616
66794
  _this.updateValue((_this.props.value !== undefined ? _this.props.value : _this.props.target[_this.props.propertyName]) || "");
66617
- }, onFocus: function () { return (_this.props.lockObject.lock = true); }, onChange: function (evt) { return _this.updateValue(evt.target.value); }, placeholder: placeholder })),
66795
+ }, onFocus: function () { return (_this.props.lockObject.lock = true); }, onChange: function (evt) { return _this.updateValue(evt.target.value); }, onKeyDown: function (evt) { return _this.onKeyDown(evt); }, placeholder: placeholder }),
66796
+ this.props.arrows &&
66797
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_inputArrowsComponent__WEBPACK_IMPORTED_MODULE_3__["InputArrowsComponent"], { incrementValue: function (amount) { return _this.incrementValue(amount); }, setDragging: function (dragging) { return _this.setState({ dragging: dragging }); } })),
66618
66798
  this.props.unit !== undefined && react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("button", { className: this.props.unitLocked ? "unit disabled" : "unit", onClick: function () { if (_this.props.onUnitClicked && !_this.props.unitLocked)
66619
66799
  _this.props.onUnitClicked(_this.props.unit || ""); } }, this.props.unit)));
66620
66800
  };
@@ -66677,6 +66857,17 @@ var TextLineComponent = /** @class */ (function (_super) {
66677
66857
 
66678
66858
 
66679
66859
 
66860
+ /***/ }),
66861
+
66862
+ /***/ "./sharedUiComponents/lines/valueDownArrowIcon.svg":
66863
+ /*!*********************************************************!*\
66864
+ !*** ./sharedUiComponents/lines/valueDownArrowIcon.svg ***!
66865
+ \*********************************************************/
66866
+ /*! no static exports found */
66867
+ /***/ (function(module, exports) {
66868
+
66869
+ module.exports = "data:image/svg+xml,%3Csvg id='icons' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 15 15'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%23333;%7D%3C/style%3E%3C/defs%3E%3Cpath class='cls-1' d='M4.09,5.55a.61.61,0,0,1,.85,0l2,2V1.79a.6.6,0,1,1,1.2,0V7.52l2-2a.61.61,0,0,1,.85,0,.6.6,0,0,1,0,.84l-3,3a.6.6,0,0,1-.84,0l-3-3A.6.6,0,0,1,4.09,5.55Z'/%3E%3C/svg%3E"
66870
+
66680
66871
  /***/ }),
66681
66872
 
66682
66873
  /***/ "./sharedUiComponents/lines/valueLineComponent.tsx":
@@ -66712,6 +66903,17 @@ var ValueLineComponent = /** @class */ (function (_super) {
66712
66903
 
66713
66904
 
66714
66905
 
66906
+ /***/ }),
66907
+
66908
+ /***/ "./sharedUiComponents/lines/valueUpArrowIcon.svg":
66909
+ /*!*******************************************************!*\
66910
+ !*** ./sharedUiComponents/lines/valueUpArrowIcon.svg ***!
66911
+ \*******************************************************/
66912
+ /*! no static exports found */
66913
+ /***/ (function(module, exports) {
66914
+
66915
+ module.exports = "data:image/svg+xml,%3Csvg id='icons' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 15 15'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%23333;%7D%3C/style%3E%3C/defs%3E%3Cpath class='cls-1' d='M4.09,9.45a.6.6,0,0,1,0-.84l3-3a.6.6,0,0,1,.84,0l3,3a.6.6,0,0,1,0,.84.61.61,0,0,1-.85,0l-2-2v5.73a.6.6,0,0,1-1.2,0V7.48l-2,2A.61.61,0,0,1,4.09,9.45Z'/%3E%3C/svg%3E"
66916
+
66715
66917
  /***/ }),
66716
66918
 
66717
66919
  /***/ "./sharedUiComponents/lines/vector2LineComponent.tsx":
@@ -68091,7 +68293,7 @@ var TextureHelper = /** @class */ (function () {
68091
68293
  scene = texture.getScene();
68092
68294
  engine = scene.getEngine();
68093
68295
  if (!texture.isCube) {
68094
- lodPostProcess = new _babylonjs_core_PostProcesses_postProcess__WEBPACK_IMPORTED_MODULE_1__["PostProcess"]("lod", "lod", ["lod"], null, 1.0, null, _babylonjs_core_PostProcesses_postProcess__WEBPACK_IMPORTED_MODULE_1__["Texture"].NEAREST_NEAREST_MIPNEAREST, engine);
68296
+ lodPostProcess = new _babylonjs_core_PostProcesses_postProcess__WEBPACK_IMPORTED_MODULE_1__["PostProcess"]("lod", "lod", ["lod", "gamma"], null, 1.0, null, _babylonjs_core_PostProcesses_postProcess__WEBPACK_IMPORTED_MODULE_1__["Texture"].NEAREST_NEAREST_MIPNEAREST, engine);
68095
68297
  }
68096
68298
  else {
68097
68299
  faceDefines = [
@@ -68102,7 +68304,7 @@ var TextureHelper = /** @class */ (function () {
68102
68304
  "#define POSITIVEZ",
68103
68305
  "#define NEGATIVEZ",
68104
68306
  ];
68105
- lodPostProcess = new _babylonjs_core_PostProcesses_postProcess__WEBPACK_IMPORTED_MODULE_1__["PostProcess"]("lodCube", "lodCube", ["lod"], null, 1.0, null, _babylonjs_core_PostProcesses_postProcess__WEBPACK_IMPORTED_MODULE_1__["Texture"].NEAREST_NEAREST_MIPNEAREST, engine, false, faceDefines[face]);
68307
+ lodPostProcess = new _babylonjs_core_PostProcesses_postProcess__WEBPACK_IMPORTED_MODULE_1__["PostProcess"]("lodCube", "lodCube", ["lod", "gamma"], null, 1.0, null, _babylonjs_core_PostProcesses_postProcess__WEBPACK_IMPORTED_MODULE_1__["Texture"].NEAREST_NEAREST_MIPNEAREST, engine, false, faceDefines[face]);
68106
68308
  }
68107
68309
  if (!lodPostProcess.getEffect().isReady()) {
68108
68310
  // Try again later
@@ -68119,6 +68321,7 @@ var TextureHelper = /** @class */ (function () {
68119
68321
  lodPostProcess.onApply = function (effect) {
68120
68322
  effect.setTexture("textureSampler", texture);
68121
68323
  effect.setFloat("lod", lod);
68324
+ effect.setBool("gamma", texture.gammaSpace);
68122
68325
  };
68123
68326
  internalTexture = texture.getInternalTexture();
68124
68327
  if (!(rtt.renderTarget && internalTexture)) return [3 /*break*/, 2];