@babylonjs/node-editor 5.0.0-alpha.61 → 5.0.0-alpha.65

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -10062,7 +10062,7 @@ module.exports = exports;
10062
10062
  var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ "../../../../node_modules/css-loader/dist/runtime/api.js");
10063
10063
  exports = ___CSS_LOADER_API_IMPORT___(false);
10064
10064
  // Module
10065
- exports.push([module.i, "#node-editor-graph-root {\n display: grid;\n grid-template-rows: calc(100% - 120px) 120px;\n height: 100%;\n width: 100%;\n background: #464646;\n font: 14px \"acumin-pro\"; }\n #node-editor-graph-root.popup {\n grid-template-columns: 100%;\n overflow: hidden; }\n #node-editor-graph-root .wait-screen {\n display: grid;\n justify-content: center;\n align-content: center;\n height: 100%;\n width: 100%;\n background: #464646;\n opacity: 0.95;\n color: white;\n font: 24px \"acumin-pro\";\n position: absolute;\n top: 0;\n left: 0; }\n #node-editor-graph-root .wait-screen.hidden {\n visibility: hidden; }\n #node-editor-graph-root #nodeList {\n grid-row: 1 / span 2;\n grid-column: 1; }\n #node-editor-graph-root #leftGrab {\n grid-row: 1 / span 2;\n grid-column: 2;\n cursor: ew-resize; }\n #node-editor-graph-root #rightGrab {\n grid-row: 1 / span 2;\n grid-column: 4;\n cursor: ew-resize; }\n #node-editor-graph-root .diagram-container {\n grid-row: 1;\n grid-column: 3;\n background: #5f5b60;\n width: 100%;\n height: 100%; }\n #node-editor-graph-root .diagram-container .diagram {\n display: none;\n width: 100%;\n height: 100%; }\n #node-editor-graph-root .right-panel {\n grid-row: 1 / span 2;\n grid-column: 5;\n display: grid;\n grid-template-rows: 1fr 40px auto 40px;\n grid-template-columns: 100%;\n height: 100%;\n overflow-y: auto; }\n #node-editor-graph-root #propertyTab {\n grid-row: 1;\n grid-column: 1; }\n #node-editor-graph-root .button {\n display: grid;\n justify-content: center;\n align-content: center;\n height: auto;\n width: calc(100% / 7);\n cursor: pointer; }\n #node-editor-graph-root .button:hover {\n background: #337ab7;\n color: white;\n opacity: 0.8; }\n #node-editor-graph-root .button.selected {\n background: #337ab7;\n color: white; }\n #node-editor-graph-root .button.align {\n justify-content: stretch;\n text-align: center; }\n #node-editor-graph-root #preview-mesh-bar {\n grid-row: 2;\n grid-column: 1;\n display: grid;\n grid-template-columns: auto 1fr 40px 40px 40px;\n align-items: center;\n font-size: 18px;\n background-color: #555555; }\n #node-editor-graph-root #preview-mesh-bar #file-picker {\n display: none; }\n #node-editor-graph-root #preview-mesh-bar .listLine {\n grid-column: 1;\n height: 40px;\n display: grid;\n grid-template-columns: 0px 1fr; }\n #node-editor-graph-root #preview-mesh-bar .listLine .label {\n grid-column: 1;\n display: flex;\n align-items: center;\n font-size: 14px; }\n #node-editor-graph-root #preview-mesh-bar .listLine .options {\n grid-column: 2;\n display: flex;\n align-items: center;\n margin-left: 5px; }\n #node-editor-graph-root #preview-mesh-bar .listLine .options select {\n width: 115px; }\n #node-editor-graph-root #preview-mesh-bar .button {\n color: #ffffff;\n width: 40px;\n height: 40px;\n transform-origin: 50% 50%; }\n #node-editor-graph-root #preview-mesh-bar .button:active {\n transform: scale(0.9); }\n #node-editor-graph-root #preview-mesh-bar .button:hover {\n background: #3f3461; }\n #node-editor-graph-root #preview-mesh-bar .button.selected {\n background: #9379e6; }\n #node-editor-graph-root #preview-mesh-bar .button img {\n height: 40px;\n width: 100%; }\n #node-editor-graph-root #preview-mesh-bar #play-button {\n grid-column: 3; }\n #node-editor-graph-root #preview-mesh-bar #color-picker-button {\n grid-column: 4;\n display: grid;\n grid-template-columns: 100%;\n grid-template-rows: 100%; }\n #node-editor-graph-root #preview-mesh-bar #color-picker-button img {\n height: 40px;\n width: 30px; }\n #node-editor-graph-root #preview-mesh-bar #color-picker-button #color-picker-image {\n padding-left: 5px;\n padding-bottom: 38px; }\n #node-editor-graph-root #preview-mesh-bar #color-picker-button #color-picker {\n transform: scale(0);\n grid-column: 1;\n grid-row: 1; }\n #node-editor-graph-root #preview-mesh-bar #color-picker-button #color-picker-label {\n width: 100%;\n background: transparent;\n cursor: pointer; }\n #node-editor-graph-root #preview-mesh-bar #preview-new-window {\n grid-column: 5; }\n #node-editor-graph-root #preview-mesh-bar select {\n background-color: #a3a3a3;\n color: #333333; }\n #node-editor-graph-root #preview-config-bar {\n grid-row: 4;\n grid-column: 1;\n display: grid;\n grid-template-columns: 40px 40px 40px 1fr 40px 40px;\n color: white;\n align-items: center;\n font-size: 18px; }\n #node-editor-graph-root #preview-config-bar.extended {\n grid-template-columns: 1fr; }\n #node-editor-graph-root #preview-config-bar .listLine {\n padding-left: 5px;\n height: 30px;\n display: grid;\n grid-template-columns: 1fr auto; }\n #node-editor-graph-root #preview-config-bar .listLine .label {\n grid-column: 1;\n display: flex;\n align-items: center;\n font-size: 14px; }\n #node-editor-graph-root #preview-config-bar .listLine .options {\n grid-column: 2;\n display: flex;\n align-items: center;\n margin-right: 5px; }\n #node-editor-graph-root #preview-config-bar .listLine .options select {\n width: 115px; }\n #node-editor-graph-root #preview-config-bar .button {\n width: 40px;\n grid-row: 1;\n height: 40px;\n transform-origin: 50% 50%; }\n #node-editor-graph-root #preview-config-bar .button:hover {\n background: #3f3461; }\n #node-editor-graph-root #preview-config-bar .button.selected {\n background: #9379e6; }\n #node-editor-graph-root #preview-config-bar .button:active {\n transform: scale(0.9); }\n #node-editor-graph-root #preview-config-bar .button img {\n height: auto;\n width: 100%; }\n #node-editor-graph-root #preview-config-bar .button.back-face {\n grid-column: 6; }\n #node-editor-graph-root #preview-config-bar .button.depth-pass {\n grid-column: 5 / 6; }\n #node-editor-graph-root #preview-config-bar .button.hemispheric-light {\n grid-column: 3 / 4; }\n #node-editor-graph-root #preview-config-bar .button.direction-light-1 {\n grid-column: 2 / 3; }\n #node-editor-graph-root #preview-config-bar .button.direction-light-0 {\n grid-column: 1 / 2; }\n #node-editor-graph-root #preview {\n border-top: 1px solid #555555;\n grid-row: 3;\n grid-column: 1;\n width: 100%;\n display: grid;\n outline: 0 !important;\n padding: 0 !important;\n user-select: none;\n overflow: hidden; }\n #node-editor-graph-root #preview #preview-canvas {\n width: 100%;\n height: 100%;\n outline: 0 !important;\n padding: 0 !important;\n grid-row: 1;\n grid-column: 1; }\n #node-editor-graph-root #preview .waitPanel {\n width: 100%;\n height: 100%;\n grid-row: 1;\n grid-column: 1;\n color: white;\n font-size: 18px;\n align-content: center;\n justify-content: center;\n background: rgba(20, 20, 20, 0.95);\n z-index: 10;\n display: grid;\n transition: opacity 250ms; }\n #node-editor-graph-root #preview .waitPanel.hidden {\n opacity: 0;\n pointer-events: none; }\n #node-editor-graph-root .blocker {\n visibility: hidden;\n position: absolute;\n width: calc(100% - 40px);\n height: 100%;\n top: 0;\n left: 0;\n background: rgba(20, 20, 20, 0.95);\n font-family: \"acumin-pro\";\n color: white;\n font-size: 24px;\n display: grid;\n align-content: center;\n justify-content: center;\n user-select: none;\n padding: 20px;\n text-align: center; }\n #node-editor-graph-root #log-console {\n grid-row: 2;\n grid-column: 3; }\n #node-editor-graph-root .dialog-container {\n position: absolute;\n width: 100%;\n height: 100%;\n background: rgba(0, 0, 0, 0.6);\n display: grid;\n font-family: \"acumin-pro\";\n top: 0; }\n #node-editor-graph-root .dialog-container .dialog {\n align-self: center;\n justify-self: center;\n min-height: 140px;\n max-width: 400px;\n border-radius: 10px;\n background: white;\n display: grid;\n grid-template-columns: 100%;\n grid-template-rows: calc(100% - 50px) 50px; }\n #node-editor-graph-root .dialog-container .dialog .dialog-message {\n grid-row: 1;\n grid-column: 1;\n margin-top: 20px;\n padding: 10px;\n font-size: 18px;\n color: black; }\n #node-editor-graph-root .dialog-container .dialog .dialog-buttons {\n grid-row: 2;\n grid-column: 1;\n display: grid;\n grid-template-rows: 100%;\n grid-template-columns: 100%;\n color: white; }\n #node-editor-graph-root .dialog-container .dialog .dialog-buttons .dialog-button-ok {\n cursor: pointer;\n justify-self: center;\n background: green;\n min-width: 80px;\n justify-content: center;\n display: grid;\n align-content: center;\n align-self: center;\n height: 35px;\n border-radius: 10px; }\n #node-editor-graph-root .dialog-container .dialog .dialog-buttons .dialog-button-ok:hover {\n opacity: 0.8; }\n #node-editor-graph-root .dialog-container .dialog .dialog-buttons .dialog-button-ok.error {\n background: red; }\n", ""]);
10065
+ exports.push([module.i, "#node-editor-graph-root {\n display: grid;\n grid-template-rows: calc(100% - 120px) 120px;\n height: 100%;\n width: 100%;\n background: #464646;\n font: 14px \"acumin-pro\"; }\n #node-editor-graph-root.popup {\n grid-template-columns: 100%;\n overflow: hidden; }\n #node-editor-graph-root .wait-screen {\n display: grid;\n justify-content: center;\n align-content: center;\n height: 100%;\n width: 100%;\n background: #464646;\n opacity: 0.95;\n color: white;\n font: 24px \"acumin-pro\";\n position: absolute;\n top: 0;\n left: 0; }\n #node-editor-graph-root .wait-screen.hidden {\n visibility: hidden; }\n #node-editor-graph-root #nodeList {\n grid-row: 1 / span 2;\n grid-column: 1; }\n #node-editor-graph-root #leftGrab {\n grid-row: 1 / span 2;\n grid-column: 2;\n cursor: ew-resize; }\n #node-editor-graph-root #rightGrab {\n grid-row: 1 / span 2;\n grid-column: 4;\n cursor: ew-resize; }\n #node-editor-graph-root .diagram-container {\n grid-row: 1;\n grid-column: 3;\n background: #5f5b60;\n width: 100%;\n height: 100%; }\n #node-editor-graph-root .diagram-container .diagram {\n display: none;\n width: 100%;\n height: 100%; }\n #node-editor-graph-root .right-panel {\n grid-row: 1 / span 2;\n grid-column: 5;\n display: grid;\n grid-template-rows: 1fr 40px auto 40px;\n grid-template-columns: 100%;\n height: 100%;\n overflow-y: auto; }\n #node-editor-graph-root #propertyTab {\n grid-row: 1;\n grid-column: 1; }\n #node-editor-graph-root .button {\n display: grid;\n justify-content: center;\n align-content: center;\n height: auto;\n width: calc(100% / 7);\n cursor: pointer; }\n #node-editor-graph-root .button:hover {\n background: #337ab7;\n color: white;\n opacity: 0.8; }\n #node-editor-graph-root .button.selected {\n background: #337ab7;\n color: white; }\n #node-editor-graph-root .button.align {\n justify-content: stretch;\n text-align: center; }\n #node-editor-graph-root #preview-mesh-bar {\n grid-row: 2;\n grid-column: 1;\n display: grid;\n grid-template-columns: auto 1fr 40px 40px 40px;\n align-items: center;\n font-size: 18px;\n background-color: #555555; }\n #node-editor-graph-root #preview-mesh-bar #file-picker {\n display: none; }\n #node-editor-graph-root #preview-mesh-bar .listLine {\n grid-column: 1;\n height: 40px;\n display: grid;\n grid-template-columns: 0px 1fr; }\n #node-editor-graph-root #preview-mesh-bar .listLine .label {\n grid-column: 1;\n display: flex;\n align-items: center;\n font-size: 14px; }\n #node-editor-graph-root #preview-mesh-bar .listLine .options {\n grid-column: 2;\n display: flex;\n align-items: center;\n margin-left: 5px; }\n #node-editor-graph-root #preview-mesh-bar .listLine .options select {\n width: 115px; }\n #node-editor-graph-root #preview-mesh-bar .button {\n color: #ffffff;\n width: 40px;\n height: 40px;\n transform-origin: 50% 50%; }\n #node-editor-graph-root #preview-mesh-bar .button:active {\n transform: scale(0.9); }\n #node-editor-graph-root #preview-mesh-bar .button:hover {\n background: #3f3461; }\n #node-editor-graph-root #preview-mesh-bar .button.selected {\n background: #9379e6; }\n #node-editor-graph-root #preview-mesh-bar .button img {\n height: 24px;\n width: 24px; }\n #node-editor-graph-root #preview-mesh-bar #play-button {\n grid-column: 3; }\n #node-editor-graph-root #preview-mesh-bar #color-picker-button {\n grid-column: 4;\n display: grid;\n grid-template-columns: 100%;\n grid-template-rows: 100%; }\n #node-editor-graph-root #preview-mesh-bar #color-picker-button img {\n height: 24px;\n width: 24px; }\n #node-editor-graph-root #preview-mesh-bar #color-picker-button #color-picker-image {\n padding-left: 7px;\n padding-bottom: 38px; }\n #node-editor-graph-root #preview-mesh-bar #color-picker-button #color-picker {\n transform: scale(0);\n grid-column: 1;\n grid-row: 1; }\n #node-editor-graph-root #preview-mesh-bar #color-picker-button #color-picker-label {\n width: 100%;\n background: transparent;\n cursor: pointer; }\n #node-editor-graph-root #preview-mesh-bar #preview-new-window {\n grid-column: 5; }\n #node-editor-graph-root #preview-mesh-bar select {\n background-color: #a3a3a3;\n color: #333333; }\n #node-editor-graph-root #preview-config-bar {\n grid-row: 4;\n grid-column: 1;\n display: grid;\n grid-template-columns: 40px 40px 40px 1fr 40px 40px;\n color: white;\n align-items: center;\n font-size: 18px; }\n #node-editor-graph-root #preview-config-bar.extended {\n grid-template-columns: 1fr; }\n #node-editor-graph-root #preview-config-bar .listLine {\n padding-left: 5px;\n height: 30px;\n display: grid;\n grid-template-columns: 1fr auto; }\n #node-editor-graph-root #preview-config-bar .listLine .label {\n grid-column: 1;\n display: flex;\n align-items: center;\n font-size: 14px; }\n #node-editor-graph-root #preview-config-bar .listLine .options {\n grid-column: 2;\n display: flex;\n align-items: center;\n margin-right: 5px; }\n #node-editor-graph-root #preview-config-bar .listLine .options select {\n width: 115px; }\n #node-editor-graph-root #preview-config-bar .button {\n width: 40px;\n grid-row: 1;\n height: 40px;\n transform-origin: 50% 50%; }\n #node-editor-graph-root #preview-config-bar .button:hover {\n background: #3f3461; }\n #node-editor-graph-root #preview-config-bar .button.selected {\n background: #9379e6; }\n #node-editor-graph-root #preview-config-bar .button:active {\n transform: scale(0.9); }\n #node-editor-graph-root #preview-config-bar .button img {\n height: auto;\n width: 100%; }\n #node-editor-graph-root #preview-config-bar .button.back-face {\n grid-column: 6; }\n #node-editor-graph-root #preview-config-bar .button.depth-pass {\n grid-column: 5 / 6; }\n #node-editor-graph-root #preview-config-bar .button.hemispheric-light {\n grid-column: 3 / 4; }\n #node-editor-graph-root #preview-config-bar .button.direction-light-1 {\n grid-column: 2 / 3; }\n #node-editor-graph-root #preview-config-bar .button.direction-light-0 {\n grid-column: 1 / 2; }\n #node-editor-graph-root #preview {\n border-top: 1px solid #555555;\n grid-row: 3;\n grid-column: 1;\n width: 100%;\n display: grid;\n outline: 0 !important;\n padding: 0 !important;\n user-select: none;\n overflow: hidden; }\n #node-editor-graph-root #preview #preview-canvas {\n width: 100%;\n height: 100%;\n outline: 0 !important;\n padding: 0 !important;\n grid-row: 1;\n grid-column: 1; }\n #node-editor-graph-root #preview .waitPanel {\n width: 100%;\n height: 100%;\n grid-row: 1;\n grid-column: 1;\n color: white;\n font-size: 18px;\n align-content: center;\n justify-content: center;\n background: rgba(20, 20, 20, 0.95);\n z-index: 10;\n display: grid;\n transition: opacity 250ms; }\n #node-editor-graph-root #preview .waitPanel.hidden {\n opacity: 0;\n pointer-events: none; }\n #node-editor-graph-root .blocker {\n visibility: hidden;\n position: absolute;\n width: calc(100% - 40px);\n height: 100%;\n top: 0;\n left: 0;\n background: rgba(20, 20, 20, 0.95);\n font-family: \"acumin-pro\";\n color: white;\n font-size: 24px;\n display: grid;\n align-content: center;\n justify-content: center;\n user-select: none;\n padding: 20px;\n text-align: center; }\n #node-editor-graph-root #log-console {\n grid-row: 2;\n grid-column: 3; }\n #node-editor-graph-root .dialog-container {\n position: absolute;\n width: 100%;\n height: 100%;\n background: rgba(0, 0, 0, 0.6);\n display: grid;\n font-family: \"acumin-pro\";\n top: 0; }\n #node-editor-graph-root .dialog-container .dialog {\n align-self: center;\n justify-self: center;\n min-height: 140px;\n max-width: 400px;\n border-radius: 10px;\n background: white;\n display: grid;\n grid-template-columns: 100%;\n grid-template-rows: calc(100% - 50px) 50px; }\n #node-editor-graph-root .dialog-container .dialog .dialog-message {\n grid-row: 1;\n grid-column: 1;\n margin-top: 20px;\n padding: 10px;\n font-size: 18px;\n color: black; }\n #node-editor-graph-root .dialog-container .dialog .dialog-buttons {\n grid-row: 2;\n grid-column: 1;\n display: grid;\n grid-template-rows: 100%;\n grid-template-columns: 100%;\n color: white; }\n #node-editor-graph-root .dialog-container .dialog .dialog-buttons .dialog-button-ok {\n cursor: pointer;\n justify-self: center;\n background: green;\n min-width: 80px;\n justify-content: center;\n display: grid;\n align-content: center;\n align-self: center;\n height: 35px;\n border-radius: 10px; }\n #node-editor-graph-root .dialog-container .dialog .dialog-buttons .dialog-button-ok:hover {\n opacity: 0.8; }\n #node-editor-graph-root .dialog-container .dialog .dialog-buttons .dialog-button-ok.error {\n background: red; }\n", ""]);
10066
10066
  // Exports
10067
10067
  module.exports = exports;
10068
10068
 
@@ -54950,6 +54950,7 @@ __webpack_require__.r(__webpack_exports__);
54950
54950
 
54951
54951
 
54952
54952
 
54953
+
54953
54954
 
54954
54955
 
54955
54956
  var BlockTools = /** @class */ (function () {
@@ -54957,6 +54958,8 @@ var BlockTools = /** @class */ (function () {
54957
54958
  }
54958
54959
  BlockTools.GetBlockFromString = function (data, scene, nodeMaterial) {
54959
54960
  switch (data) {
54961
+ case "TwirlBlock":
54962
+ return new _babylonjs_core_Materials_Node_Blocks_Fragment_discardBlock__WEBPACK_IMPORTED_MODULE_0__["TwirlBlock"]("Twirl");
54960
54963
  case "VoronoiNoiseBlock":
54961
54964
  return new _babylonjs_core_Materials_Node_Blocks_Fragment_discardBlock__WEBPACK_IMPORTED_MODULE_0__["VoronoiNoiseBlock"]("VoronoiNoise");
54962
54965
  case "ScreenSpaceBlock":
@@ -55656,6 +55659,10 @@ var NodeListComponent = /** @class */ (function (_super) {
55656
55659
  if (frameJson) {
55657
55660
  _this._customFrameList = JSON.parse(frameJson);
55658
55661
  }
55662
+ var blockJson = localStorage.getItem("Custom-Block-List");
55663
+ if (blockJson) {
55664
+ _this._customBlockList = JSON.parse(blockJson);
55665
+ }
55659
55666
  _this._onResetRequiredObserver = _this.props.globalState.onResetRequiredObservable.add(function () {
55660
55667
  _this.forceUpdate();
55661
55668
  });
@@ -55707,35 +55714,182 @@ var NodeListComponent = /** @class */ (function (_super) {
55707
55714
  this.forceUpdate();
55708
55715
  }
55709
55716
  };
55717
+ NodeListComponent.prototype.loadCustomBlock = function (file) {
55718
+ var _this = this;
55719
+ _babylonjs_core_Materials_Node_Enums_nodeMaterialModes__WEBPACK_IMPORTED_MODULE_4__["Tools"].ReadFile(file, function (data) { return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__awaiter"])(_this, void 0, void 0, function () {
55720
+ var decoder, blockData, blockName, blockToolTip, blockJson, blockList;
55721
+ return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__generator"])(this, function (_a) {
55722
+ decoder = new TextDecoder("utf-8");
55723
+ blockData = JSON.parse(decoder.decode(data));
55724
+ blockName = (blockData.name || "") + "CustomBlock";
55725
+ blockToolTip = blockData.comments || "";
55726
+ try {
55727
+ localStorage.setItem(blockName, JSON.stringify(blockData));
55728
+ }
55729
+ catch (error) {
55730
+ this.props.globalState.onErrorMessageDialogRequiredObservable.notifyObservers("Error Saving Block");
55731
+ return [2 /*return*/];
55732
+ }
55733
+ blockJson = localStorage.getItem("Custom-Block-List");
55734
+ blockList = {};
55735
+ if (blockJson) {
55736
+ blockList = JSON.parse(blockJson);
55737
+ }
55738
+ blockList[blockName] = blockToolTip;
55739
+ localStorage.setItem("Custom-Block-List", JSON.stringify(blockList));
55740
+ this._customBlockList = blockList;
55741
+ this.forceUpdate();
55742
+ return [2 /*return*/];
55743
+ });
55744
+ }); }, undefined, true);
55745
+ };
55746
+ NodeListComponent.prototype.removeCustomBlock = function (value) {
55747
+ var blockJson = localStorage.getItem("Custom-Block-List");
55748
+ if (blockJson) {
55749
+ var blockList = JSON.parse(blockJson);
55750
+ delete blockList[value];
55751
+ localStorage.removeItem(value);
55752
+ localStorage.setItem("Custom-Block-List", JSON.stringify(blockList));
55753
+ this._customBlockList = blockList;
55754
+ this.forceUpdate();
55755
+ }
55756
+ };
55710
55757
  NodeListComponent.prototype.render = function () {
55711
55758
  var _this = this;
55712
55759
  var customFrameNames = [];
55713
55760
  for (var frame in this._customFrameList) {
55714
55761
  customFrameNames.push(frame);
55715
55762
  }
55763
+ var customBlockNames = [];
55764
+ for (var block in this._customBlockList) {
55765
+ customBlockNames.push(block);
55766
+ }
55716
55767
  // Block types used to create the menu from
55717
55768
  var allBlocks = {
55718
55769
  Custom_Frames: customFrameNames,
55770
+ Custom_Blocks: customBlockNames,
55719
55771
  Animation: ["BonesBlock", "MorphTargetsBlock"],
55720
55772
  Color_Management: ["ReplaceColorBlock", "PosterizeBlock", "GradientBlock", "DesaturateBlock"],
55721
55773
  Conversion_Blocks: ["ColorMergerBlock", "ColorSplitterBlock", "VectorMergerBlock", "VectorSplitterBlock"],
55722
- Inputs: ["Float", "Vector2", "Vector3", "Vector4", "Color3", "Color4", "TextureBlock", "ReflectionTextureBlock", "TimeBlock", "DeltaTimeBlock", "FragCoordBlock", "ScreenSizeBlock", "ImageSourceBlock"],
55774
+ Inputs: [
55775
+ "Float",
55776
+ "Vector2",
55777
+ "Vector3",
55778
+ "Vector4",
55779
+ "Color3",
55780
+ "Color4",
55781
+ "TextureBlock",
55782
+ "ReflectionTextureBlock",
55783
+ "TimeBlock",
55784
+ "DeltaTimeBlock",
55785
+ "FragCoordBlock",
55786
+ "ScreenSizeBlock",
55787
+ "ImageSourceBlock",
55788
+ ],
55723
55789
  Interpolation: ["LerpBlock", "StepBlock", "SmoothStepBlock", "NLerpBlock"],
55724
55790
  Logical: ["EqualBlock", "NotEqualBlock", "LessThanBlock", "LessOrEqualBlock", "GreaterThanBlock", "GreaterOrEqualBlock", "XorBlock", "OrBlock", "AndBlock"],
55725
- Math__Standard: ["AddBlock", "DivideBlock", "MaxBlock", "MinBlock", "ModBlock", "MultiplyBlock", "NegateBlock", "OneMinusBlock", "ReciprocalBlock", "ScaleBlock", "SignBlock", "SqrtBlock", "SubtractBlock"],
55726
- Math__Scientific: ["AbsBlock", "ArcCosBlock", "ArcSinBlock", "ArcTanBlock", "ArcTan2Block", "CosBlock", "DegreesToRadiansBlock", "ExpBlock", "Exp2Block", "FractBlock", "LogBlock", "PowBlock", "RadiansToDegreesBlock", "SawToothWaveBlock", "SinBlock", "SquareWaveBlock", "TanBlock", "TriangleWaveBlock"],
55727
- Math__Vector: ["CrossBlock", "DerivativeBlock", "DistanceBlock", "DotBlock", "FresnelBlock", "LengthBlock", "ReflectBlock", "RefractBlock", "Rotate2dBlock", "TransformBlock", "ScreenSpaceBlock"],
55728
- Matrices: ["Matrix", "WorldMatrixBlock", "WorldViewMatrixBlock", "WorldViewProjectionMatrixBlock", "ViewMatrixBlock", "ViewProjectionMatrixBlock", "ProjectionMatrixBlock", "MatrixBuilderBlock"],
55729
- Mesh: ["InstancesBlock", "PositionBlock", "UVBlock", "ColorBlock", "NormalBlock", "PerturbNormalBlock", "NormalBlendBlock", "TangentBlock", "MatrixIndicesBlock", "MatrixWeightsBlock", "WorldPositionBlock", "WorldNormalBlock", "WorldTangentBlock", "FrontFacingBlock"],
55791
+ Math__Standard: [
55792
+ "AddBlock",
55793
+ "DivideBlock",
55794
+ "MaxBlock",
55795
+ "MinBlock",
55796
+ "ModBlock",
55797
+ "MultiplyBlock",
55798
+ "NegateBlock",
55799
+ "OneMinusBlock",
55800
+ "ReciprocalBlock",
55801
+ "ScaleBlock",
55802
+ "SignBlock",
55803
+ "SqrtBlock",
55804
+ "SubtractBlock",
55805
+ ],
55806
+ Math__Scientific: [
55807
+ "AbsBlock",
55808
+ "ArcCosBlock",
55809
+ "ArcSinBlock",
55810
+ "ArcTanBlock",
55811
+ "ArcTan2Block",
55812
+ "CosBlock",
55813
+ "DegreesToRadiansBlock",
55814
+ "ExpBlock",
55815
+ "Exp2Block",
55816
+ "FractBlock",
55817
+ "LogBlock",
55818
+ "PowBlock",
55819
+ "RadiansToDegreesBlock",
55820
+ "SawToothWaveBlock",
55821
+ "SinBlock",
55822
+ "SquareWaveBlock",
55823
+ "TanBlock",
55824
+ "TriangleWaveBlock",
55825
+ ],
55826
+ Math__Vector: [
55827
+ "CrossBlock",
55828
+ "DerivativeBlock",
55829
+ "DistanceBlock",
55830
+ "DotBlock",
55831
+ "FresnelBlock",
55832
+ "LengthBlock",
55833
+ "ReflectBlock",
55834
+ "RefractBlock",
55835
+ "Rotate2dBlock",
55836
+ "TransformBlock",
55837
+ "ScreenSpaceBlock",
55838
+ "TwirlBlock"
55839
+ ],
55840
+ Matrices: [
55841
+ "Matrix",
55842
+ "WorldMatrixBlock",
55843
+ "WorldViewMatrixBlock",
55844
+ "WorldViewProjectionMatrixBlock",
55845
+ "ViewMatrixBlock",
55846
+ "ViewProjectionMatrixBlock",
55847
+ "ProjectionMatrixBlock",
55848
+ "MatrixBuilderBlock",
55849
+ ],
55850
+ Mesh: [
55851
+ "InstancesBlock",
55852
+ "PositionBlock",
55853
+ "UVBlock",
55854
+ "ColorBlock",
55855
+ "NormalBlock",
55856
+ "PerturbNormalBlock",
55857
+ "NormalBlendBlock",
55858
+ "TangentBlock",
55859
+ "MatrixIndicesBlock",
55860
+ "MatrixWeightsBlock",
55861
+ "WorldPositionBlock",
55862
+ "WorldNormalBlock",
55863
+ "WorldTangentBlock",
55864
+ "FrontFacingBlock",
55865
+ ],
55730
55866
  Noises: ["RandomNumberBlock", "SimplexPerlin3DBlock", "WorleyNoise3DBlock", "CloudBlock", "VoronoiNoiseBlock"],
55731
55867
  Output_Nodes: ["VertexOutputBlock", "FragmentOutputBlock", "DiscardBlock"],
55732
- Particle: ["ParticleBlendMultiplyBlock", "ParticleColorBlock", "ParticlePositionWorldBlock", "ParticleRampGradientBlock", "ParticleTextureBlock", "ParticleTextureMaskBlock", "ParticleUVBlock"],
55868
+ Particle: [
55869
+ "ParticleBlendMultiplyBlock",
55870
+ "ParticleColorBlock",
55871
+ "ParticlePositionWorldBlock",
55872
+ "ParticleRampGradientBlock",
55873
+ "ParticleTextureBlock",
55874
+ "ParticleTextureMaskBlock",
55875
+ "ParticleUVBlock",
55876
+ ],
55733
55877
  PBR: ["PBRMetallicRoughnessBlock", "AnisotropyBlock", "ClearCoatBlock", "ReflectionBlock", "RefractionBlock", "SheenBlock", "SubSurfaceBlock"],
55734
55878
  PostProcess: ["ScreenPositionBlock", "CurrentScreenBlock"],
55735
55879
  Procedural__Texture: ["ScreenPositionBlock"],
55736
55880
  Range: ["ClampBlock", "RemapBlock", "NormalizeBlock"],
55737
55881
  Round: ["RoundBlock", "CeilingBlock", "FloorBlock"],
55738
- Scene: ["FogBlock", "CameraPositionBlock", "CameraParametersBlock", "FogColorBlock", "ImageProcessingBlock", "LightBlock", "LightInformationBlock", "ViewDirectionBlock", "SceneDepthBlock"],
55882
+ Scene: [
55883
+ "FogBlock",
55884
+ "CameraPositionBlock",
55885
+ "CameraParametersBlock",
55886
+ "FogColorBlock",
55887
+ "ImageProcessingBlock",
55888
+ "LightBlock",
55889
+ "LightInformationBlock",
55890
+ "ViewDirectionBlock",
55891
+ "SceneDepthBlock",
55892
+ ],
55739
55893
  };
55740
55894
  switch (this.props.globalState.mode) {
55741
55895
  case _babylonjs_core_Materials_Node_Enums_nodeMaterialModes__WEBPACK_IMPORTED_MODULE_4__["NodeMaterialModes"].Material:
@@ -55771,18 +55925,28 @@ var NodeListComponent = /** @class */ (function (_super) {
55771
55925
  // Create node menu
55772
55926
  var blockMenu = [];
55773
55927
  for (var key in allBlocks) {
55774
- var blockList = allBlocks[key].filter(function (b) { return !_this.state.filter || b.toLowerCase().indexOf(_this.state.filter.toLowerCase()) !== -1; })
55928
+ var blockList = allBlocks[key]
55929
+ .filter(function (b) { return !_this.state.filter || b.toLowerCase().indexOf(_this.state.filter.toLowerCase()) !== -1; })
55775
55930
  .sort(function (a, b) { return a.localeCompare(b); })
55776
55931
  .map(function (block, i) {
55777
55932
  if (key === "Custom_Frames") {
55778
- return react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_draggableLineWithButtonComponent__WEBPACK_IMPORTED_MODULE_5__["DraggableLineWithButtonComponent"], { key: block, data: block, tooltip: _this._customFrameList[block] || "", iconImage: deleteButton, iconTitle: "Delete", onIconClick: function (value) { return _this.removeItem(value); } });
55933
+ return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_draggableLineWithButtonComponent__WEBPACK_IMPORTED_MODULE_5__["DraggableLineWithButtonComponent"], { key: block, data: block, tooltip: _this._customFrameList[block] || "", iconImage: deleteButton, iconTitle: "Delete", onIconClick: function (value) { return _this.removeItem(value); } }));
55934
+ }
55935
+ else if (key === "Custom_Blocks") {
55936
+ return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_draggableLineWithButtonComponent__WEBPACK_IMPORTED_MODULE_5__["DraggableLineWithButtonComponent"], { key: block, data: block, tooltip: _this._customBlockList[block] || "", iconImage: deleteButton, iconTitle: "Delete", onIconClick: function (value) { return _this.removeCustomBlock(value); }, lenSuffixToRemove: 11 }));
55779
55937
  }
55780
55938
  return react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_draggableLineComponent__WEBPACK_IMPORTED_MODULE_3__["DraggableLineComponent"], { key: block, data: block, tooltip: NodeListComponent._Tooltips[block] || "" });
55781
55939
  });
55782
55940
  if (key === "Custom_Frames") {
55783
- var line = react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_lineWithFileButtonComponent__WEBPACK_IMPORTED_MODULE_6__["LineWithFileButtonComponent"], { key: "add...", title: "Add Custom Frame", closed: false, label: "Add...", uploadName: 'custom-frame-upload', iconImage: addButton, accept: ".json", onIconClick: function (file) {
55941
+ var line = (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_lineWithFileButtonComponent__WEBPACK_IMPORTED_MODULE_6__["LineWithFileButtonComponent"], { key: "add...", title: "Add Custom Frame", closed: false, label: "Add...", uploadName: "custom-frame-upload", iconImage: addButton, accept: ".json", onIconClick: function (file) {
55784
55942
  _this.loadCustomFrame(file);
55785
- } });
55943
+ } }));
55944
+ blockList.push(line);
55945
+ }
55946
+ else if (key === "Custom_Blocks") {
55947
+ var line = (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_lineWithFileButtonComponent__WEBPACK_IMPORTED_MODULE_6__["LineWithFileButtonComponent"], { key: "add...", title: "Add Custom Block", closed: false, label: "Add...", uploadName: "custom-block-upload", iconImage: addButton, accept: ".json", onIconClick: function (file) {
55948
+ _this.loadCustomBlock(file);
55949
+ } }));
55786
55950
  blockList.push(line);
55787
55951
  }
55788
55952
  if (blockList.length) {
@@ -55793,151 +55957,152 @@ var NodeListComponent = /** @class */ (function (_super) {
55793
55957
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "panes" },
55794
55958
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "pane" },
55795
55959
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "filter" },
55796
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("input", { type: "text", placeholder: "Filter", onFocus: function () { return _this.props.globalState.blockKeyboardEvents = true; }, onBlur: function (evt) {
55960
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("input", { type: "text", placeholder: "Filter", onFocus: function () { return (_this.props.globalState.blockKeyboardEvents = true); }, onBlur: function (evt) {
55797
55961
  _this.props.globalState.blockKeyboardEvents = false;
55798
55962
  }, onChange: function (evt) { return _this.filterContent(evt.target.value); } })),
55799
55963
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "list-container" }, blockMenu)))));
55800
55964
  };
55801
55965
  NodeListComponent._Tooltips = {
55802
- "BonesBlock": "Provides a world matrix for each vertex, based on skeletal (bone/joint) animation",
55803
- "MorphTargetsBlock": "Provides the final positions, normals, tangents, and uvs based on morph targets in a mesh",
55804
- "AddBlock": "Adds the left and right inputs of the same type together",
55805
- "DistanceBlock": "Provides a distance vector based on the left and right input vectors",
55806
- "DivideBlock": "Divides the left input by the right input of the same type",
55807
- "LengthBlock": "Outputs the length of an input vector",
55808
- "MaxBlock": "Outputs the largest value between the left and right inputs of the same type",
55809
- "MinBlock": "Outputs the smallest value between the left and right inputs of the same type",
55810
- "MultiplyBlock": "Multiplies the left and right inputs of the same type together",
55811
- "NegateBlock": "Multiplies the input by -1",
55812
- "OneMinusBlock": "Subtracts each channel of the input value from 1 (1 - input)",
55813
- "RandomNumberBlock": "Provides a random number based on an input seed",
55814
- "ReciprocalBlock": "Quotient of 1 divided by the input",
55815
- "ScaleBlock": "Multiplies the input channels by a float factor",
55816
- "SubtractBlock": "Subtracts the right input from the left input of the same type",
55817
- "GradientBlock": "Returns the color in the gradient represented by the target value of the input",
55818
- "PosterizeBlock": "Reduces the number of values in each channel to the number in the corresponding channel of steps",
55819
- "ReplaceColorBlock": "Outputs the replacement color if the distance between value and reference is less than distance, else outputs the value color",
55820
- "ColorMergerBlock": "Combines float input channels into a color",
55821
- "ColorSplitterBlock": "Separates color input channels into individual floats",
55822
- "VectorMergerBlock": "Combines up to four input floats into a vector",
55823
- "VectorSplitterBlock": "Separates vectors input channels into individual floats",
55824
- "Color3": "A color made up of red, green, and blue channel values",
55825
- "Color4": "A color made up of red, green, blue, and alpha channel values",
55826
- "DeltaTimeBlock": "A float representing the time that has passed since the last frame was rendered",
55827
- "Float": "A floating point number representing a value with a fractional component",
55828
- "TextureBlock": "A node for reading a linked or embedded texture file",
55829
- "TimeBlock": "A float value that represents the time that has passed since the scene was loaded",
55830
- "Vector2": "a vector composed of X and Y channels",
55831
- "Vector3": "a vector composed of X, Y, and Z channels",
55832
- "Vector4": "a vector composed of X, Y, Z, and W channels",
55833
- "LerpBlock": "Outputs a value that is a mix of the left and right inputs based on the target value",
55834
- "NLerpBlock": "Outputs a value that is a mix of the left and right inputs based on the target's normalized value",
55835
- "SmoothStepBlock": "Outputs a value based on a the input value's position on a curve between the two edge values",
55836
- "StepBlock": "Outputs 1 for any input value above the edge input, outputs 0 for any input value below the edge input",
55837
- "Matrix": "A 4x4 table of related values",
55838
- "ProjectionMatrixBlock": "A matrix to remap points in 3D space to 2D plane relative to the screen",
55839
- "ViewMatrixBlock": "A matrix to remap points in 3D space to 2D plane relative to the view of the scene camera",
55840
- "ViewProjectionMatrixBlock": "A matrix to remap points in 3D space to 2D view space before remapping to 2D screen space",
55841
- "WorldMatrixBlock": "A matrix to remap points in 3D local space to 3D world space",
55842
- "WorldViewProjectionMatrixBlock": "A matrix to remap points in 3D local space to 3D world space, then to 2D camera space, and ending in 2D screen space",
55843
- "ColorBlock": "Outputs the RGBA color of each vertex in the mesh",
55844
- "InstancesBlock": "Provides the world matrix for each instance to apply this material to all instances",
55845
- "MatrixIndicesBlock": "A Vector4 representing the vertex to bone skinning assignments",
55846
- "MatrixWeightsBlock": "A Vector4 representing the vertex to bone skinning weights",
55847
- "NormalBlock": "A Vector3 representing the normal of each vertex of the attached mesh",
55848
- "PositionBlock": "A Vector3 representing the position of each vertex of the attached mesh",
55849
- "TangentBlock": "A Vector3 representing the tangent of each vertex of the attached mesh",
55850
- "UVBlock": "A Vector2 representing the UV coordinates of each vertex of the attached mesh",
55851
- "WorldNormal": "A Vector4 representing the normal of each vertex of the attached mesh transformed into world space",
55852
- "WorldTangent": "A Vector4 representing the tangent of each vertex of the attached mesh transformed into world space",
55853
- "PerturbNormalBlock": "Creates high-frequency detail normal vectors based on a normal map, the world position, and world normal",
55854
- "NormalBlend": "Outputs the result of blending two normal maps together using a per-channel screen",
55855
- "WorldPosition": "A Vector4 representing the position of each vertex of the attached mesh transformed into world space",
55856
- "DiscardBlock": "A final node that will not output a pixel below the cutoff value",
55857
- "FragmentOutputBlock": "A mandatory final node for outputing the color of each pixel",
55858
- "VertexOutputBlock": "A mandatory final node for outputing the position of each vertex",
55859
- "ClampBlock": "Outputs values above the maximum or below minimum as maximum or minimum values respectively",
55860
- "NormalizeBlock": "Remaps the length of a vector or color to 1",
55861
- "RemapBlock": "Remaps input value between sourceMin and sourceMax to a new range between targetMin and targetMax",
55862
- "CeilingBlock": "Outputs fractional values as the next higher whole number",
55863
- "FloorBlock": "Outputs fractional values as the next lower whole number",
55864
- "RoundBlock": "Outputs fractional values rounded to the nearest whole number",
55865
- "ModBlock": "Outputs the value of one parameter modulo another",
55866
- "CameraPositionBlock": "Outputs a Vector3 position of the active scene camera",
55867
- "CameraParametersBlock": "Outputs a Vector4 containing (-1 for webGL and 1 for webGPU, camera.minZ, camera.maxZ, 1 / camera.maxZ)",
55868
- "FogBlock": "Applies fog to the scene with an increasing opacity based on distance from the camera",
55869
- "FogColorBlock": "The system value for fog color pulled from the scene",
55870
- "ImageProcessingBlock": "Provides access to all of the Babylon image processing properties",
55871
- "LightBlock": "Outputs diffuse and specular contributions from one or more scene lights",
55872
- "LightInformationBlock": "Provides the direction, color and intensity of a selected light based on its world position",
55873
- "ReflectionTextureBlock": "Creates a reflection from the input texture",
55874
- "ViewDirectionBlock": "Outputs the direction vector of where the camera is aimed",
55875
- "AbsBlock": "Outputs the absolute value of the input value",
55876
- "ArcCosBlock": "Outputs the inverse of the cosine value based on the input value",
55877
- "ArcSinBlock": "Outputs the inverse of the sine value based on the input value",
55878
- "ArcTan2Block": "Outputs the inverse of the tangent value based on the input value",
55879
- "ArcTanBlock": "Outputs the inverse of the tangent value based on the input value",
55880
- "CosBlock": "Outputs the cosine value based on the input value",
55881
- "DegreesToRadiansBlock": "Converts the input degrees value to radians",
55882
- "Exp2Block": "Outputs the input value multiplied by itself 1 time. (Exponent of 2)",
55883
- "ExpBlock": "Outputs the input value multiplied by itself 9 time. (Exponent of 10)",
55884
- "FractBlock": "Outputs only the fractional value of a floating point number",
55885
- "LogBlock": "The logarithmic value based on the input value",
55886
- "PowBlock": "Outputs the input value multiplied by itself the number of times equal to the power input (Exponent of power)",
55887
- "RadiansToDegreesBlock": "Converts the input radians value to degrees",
55888
- "SawToothWaveBlock": "Outputs a sawtooth pattern value between -1 and 1 based on the input value",
55889
- "SignBlock": "returns 1 if the input is positive, 0 if input is equal to 0, or -1 if the input is negative",
55890
- "SinBlock": "Outputs the the sine value based on the input value",
55891
- "SqrtBlock": "Outputs the the square root of the input value",
55892
- "SquareWaveBlock": "Outputs a stepped pattern value between -1 and 1 based on the input value",
55893
- "TanBlock": "Outputs the the tangent value based on the input value",
55894
- "TriangleWaveBlock": "Outputs a sawtooth pattern value between 0 and 1 based on the input value",
55895
- "CrossBlock": "Outputs a vector that is perpendicular to two input vectors",
55896
- "DotBlock": "Outputs the cos of the angle between two vectors",
55897
- "FresnelBlock": "Outputs the grazing angle of the surface of the mesh, relative to a camera influenced by the bias and power inputs",
55898
- "TransformBlock": "Transforms a input vector based on the input matrix",
55899
- "DerivativeBlock": "FRAGMENT SHADER ONLY. Provides the rate of change for an input on a given axis (x,y).",
55900
- "DesaturateBlock": "Convert a color input into a grayscale representation.",
55901
- "WorldViewMatrixBlock": "A matrix to remap points in 3D local space to 3D world space, and ending in 2D camera space.",
55902
- "FrontFacingBlock": "Returns 1 if a mesh triangle faces the normal direction and 0 if it does not.",
55903
- "SimplexPerlin3DBlock": "Creates a type of gradient noise with few directional artifacts.",
55904
- "WorleyNoise3DBlock": "Creates a random pattern resembling cells.",
55905
- "ReflectBlock": "Outputs the direction of the input vector reflected across the surface normal.",
55906
- "RefractBlock": "Outputs a direction simulating a deflection of the input vector.",
55907
- "Rotate2dBlock": "Rotates UV coordinates around the W axis.",
55908
- "PBRMetallicRoughnessBlock": "PBR metallic/roughness material",
55909
- "SheenBlock": "PBR Sheen block",
55910
- "AnisotropyBlock": "PBR Anisotropy block",
55911
- "ReflectionBlock": "PBR Reflection block",
55912
- "ClearCoatBlock": "PBR ClearCoat block",
55913
- "RefractionBlock": "PBR Refraction block",
55914
- "SubSurfaceBlock": "PBR SubSurface block",
55915
- "ScreenPositionBlock": "A Vector2 representing the position of each vertex of the screen quad (derived from UV set from the quad used to render)",
55916
- "CurrentScreenBlock": "The screen buffer used as input for the post process",
55917
- "ParticleUVBlock": "The particle uv texture coordinate",
55918
- "ParticleTextureBlock": "The particle texture",
55919
- "ParticleColorBlock": "The particle color",
55920
- "ParticleTextureMaskBlock": "The particle texture mask",
55921
- "ParticleRampGradientBlock": "The particle ramp gradient block",
55922
- "ParticleBlendMultiplyBlock": "The particle blend multiply block",
55923
- "ParticlePositionWorldBlock": "The world position of the particle",
55924
- "FragCoordBlock": "The gl_FragCoord predefined variable that contains the window relative coordinate (x, y, z, 1/w)",
55925
- "ScreenSizeBlock": "The size (in pixels) of the screen window",
55926
- "SceneDepthBlock": "The scene depth buffer",
55927
- "MatrixBuilderBlock": "Converts 4 Vector4 into a matrix",
55928
- "EqualBlock": "Return a value if two operands are equals",
55929
- "NotEqualBlock": "Return a value if two operands are not equals",
55930
- "LessThanBlock": "Return a value if an operand is smaller than a second operand",
55931
- "LessOrEqualBlock": "Return a value if an operand is smaller or equal to a second operand",
55932
- "GreaterThanBlock": "Return a value if an operand is greater than a second operand",
55933
- "GreaterOrEqualBlock": "Return a value if an operand is greater or equal to a second operand",
55934
- "XorBlock": "Return a value if (a xor b) > 0",
55935
- "OrBlock": "Return a value if (a or b) > 0",
55936
- "AndBlock": "Return a value if (a and b) > 0",
55937
- "ImageSourceBlock": "Centralize texture access for TextureBlocks",
55938
- "CloudBlock": "Generate Fractal Brownian Motion Clouds",
55939
- "VoronoiNoiseBlock": "Generate Voronoi Noise",
55940
- "ScreenSpaceBlock": "Convert a Vector3 or a Vector4 into screen space"
55966
+ BonesBlock: "Provides a world matrix for each vertex, based on skeletal (bone/joint) animation",
55967
+ MorphTargetsBlock: "Provides the final positions, normals, tangents, and uvs based on morph targets in a mesh",
55968
+ AddBlock: "Adds the left and right inputs of the same type together",
55969
+ DistanceBlock: "Provides a distance vector based on the left and right input vectors",
55970
+ DivideBlock: "Divides the left input by the right input of the same type",
55971
+ LengthBlock: "Outputs the length of an input vector",
55972
+ MaxBlock: "Outputs the largest value between the left and right inputs of the same type",
55973
+ MinBlock: "Outputs the smallest value between the left and right inputs of the same type",
55974
+ MultiplyBlock: "Multiplies the left and right inputs of the same type together",
55975
+ NegateBlock: "Multiplies the input by -1",
55976
+ OneMinusBlock: "Subtracts each channel of the input value from 1 (1 - input)",
55977
+ RandomNumberBlock: "Provides a random number based on an input seed",
55978
+ ReciprocalBlock: "Quotient of 1 divided by the input",
55979
+ ScaleBlock: "Multiplies the input channels by a float factor",
55980
+ SubtractBlock: "Subtracts the right input from the left input of the same type",
55981
+ GradientBlock: "Returns the color in the gradient represented by the target value of the input",
55982
+ PosterizeBlock: "Reduces the number of values in each channel to the number in the corresponding channel of steps",
55983
+ ReplaceColorBlock: "Outputs the replacement color if the distance between value and reference is less than distance, else outputs the value color",
55984
+ ColorMergerBlock: "Combines float input channels into a color",
55985
+ ColorSplitterBlock: "Separates color input channels into individual floats",
55986
+ VectorMergerBlock: "Combines up to four input floats into a vector",
55987
+ VectorSplitterBlock: "Separates vectors input channels into individual floats",
55988
+ Color3: "A color made up of red, green, and blue channel values",
55989
+ Color4: "A color made up of red, green, blue, and alpha channel values",
55990
+ DeltaTimeBlock: "A float representing the time that has passed since the last frame was rendered",
55991
+ Float: "A floating point number representing a value with a fractional component",
55992
+ TextureBlock: "A node for reading a linked or embedded texture file",
55993
+ TimeBlock: "A float value that represents the time that has passed since the scene was loaded",
55994
+ Vector2: "a vector composed of X and Y channels",
55995
+ Vector3: "a vector composed of X, Y, and Z channels",
55996
+ Vector4: "a vector composed of X, Y, Z, and W channels",
55997
+ LerpBlock: "Outputs a value that is a mix of the left and right inputs based on the target value",
55998
+ NLerpBlock: "Outputs a value that is a mix of the left and right inputs based on the target's normalized value",
55999
+ SmoothStepBlock: "Outputs a value based on a the input value's position on a curve between the two edge values",
56000
+ StepBlock: "Outputs 1 for any input value above the edge input, outputs 0 for any input value below the edge input",
56001
+ Matrix: "A 4x4 table of related values",
56002
+ ProjectionMatrixBlock: "A matrix to remap points in 3D space to 2D plane relative to the screen",
56003
+ ViewMatrixBlock: "A matrix to remap points in 3D space to 2D plane relative to the view of the scene camera",
56004
+ ViewProjectionMatrixBlock: "A matrix to remap points in 3D space to 2D view space before remapping to 2D screen space",
56005
+ WorldMatrixBlock: "A matrix to remap points in 3D local space to 3D world space",
56006
+ WorldViewProjectionMatrixBlock: "A matrix to remap points in 3D local space to 3D world space, then to 2D camera space, and ending in 2D screen space",
56007
+ ColorBlock: "Outputs the RGBA color of each vertex in the mesh",
56008
+ InstancesBlock: "Provides the world matrix for each instance to apply this material to all instances",
56009
+ MatrixIndicesBlock: "A Vector4 representing the vertex to bone skinning assignments",
56010
+ MatrixWeightsBlock: "A Vector4 representing the vertex to bone skinning weights",
56011
+ NormalBlock: "A Vector3 representing the normal of each vertex of the attached mesh",
56012
+ PositionBlock: "A Vector3 representing the position of each vertex of the attached mesh",
56013
+ TangentBlock: "A Vector3 representing the tangent of each vertex of the attached mesh",
56014
+ UVBlock: "A Vector2 representing the UV coordinates of each vertex of the attached mesh",
56015
+ WorldNormal: "A Vector4 representing the normal of each vertex of the attached mesh transformed into world space",
56016
+ WorldTangent: "A Vector4 representing the tangent of each vertex of the attached mesh transformed into world space",
56017
+ PerturbNormalBlock: "Creates high-frequency detail normal vectors based on a normal map, the world position, and world normal",
56018
+ NormalBlend: "Outputs the result of blending two normal maps together using a per-channel screen",
56019
+ WorldPosition: "A Vector4 representing the position of each vertex of the attached mesh transformed into world space",
56020
+ DiscardBlock: "A final node that will not output a pixel below the cutoff value",
56021
+ FragmentOutputBlock: "A mandatory final node for outputing the color of each pixel",
56022
+ VertexOutputBlock: "A mandatory final node for outputing the position of each vertex",
56023
+ ClampBlock: "Outputs values above the maximum or below minimum as maximum or minimum values respectively",
56024
+ NormalizeBlock: "Remaps the length of a vector or color to 1",
56025
+ RemapBlock: "Remaps input value between sourceMin and sourceMax to a new range between targetMin and targetMax",
56026
+ CeilingBlock: "Outputs fractional values as the next higher whole number",
56027
+ FloorBlock: "Outputs fractional values as the next lower whole number",
56028
+ RoundBlock: "Outputs fractional values rounded to the nearest whole number",
56029
+ ModBlock: "Outputs the value of one parameter modulo another",
56030
+ CameraPositionBlock: "Outputs a Vector3 position of the active scene camera",
56031
+ CameraParametersBlock: "Outputs a Vector4 containing (-1 for webGL and 1 for webGPU, camera.minZ, camera.maxZ, 1 / camera.maxZ)",
56032
+ FogBlock: "Applies fog to the scene with an increasing opacity based on distance from the camera",
56033
+ FogColorBlock: "The system value for fog color pulled from the scene",
56034
+ ImageProcessingBlock: "Provides access to all of the Babylon image processing properties",
56035
+ LightBlock: "Outputs diffuse and specular contributions from one or more scene lights",
56036
+ LightInformationBlock: "Provides the direction, color and intensity of a selected light based on its world position",
56037
+ ReflectionTextureBlock: "Creates a reflection from the input texture",
56038
+ ViewDirectionBlock: "Outputs the direction vector of where the camera is aimed",
56039
+ AbsBlock: "Outputs the absolute value of the input value",
56040
+ ArcCosBlock: "Outputs the inverse of the cosine value based on the input value",
56041
+ ArcSinBlock: "Outputs the inverse of the sine value based on the input value",
56042
+ ArcTan2Block: "Outputs the inverse of the tangent value based on the input value",
56043
+ ArcTanBlock: "Outputs the inverse of the tangent value based on the input value",
56044
+ CosBlock: "Outputs the cosine value based on the input value",
56045
+ DegreesToRadiansBlock: "Converts the input degrees value to radians",
56046
+ Exp2Block: "Outputs the input value multiplied by itself 1 time. (Exponent of 2)",
56047
+ ExpBlock: "Outputs the input value multiplied by itself 9 time. (Exponent of 10)",
56048
+ FractBlock: "Outputs only the fractional value of a floating point number",
56049
+ LogBlock: "The logarithmic value based on the input value",
56050
+ PowBlock: "Outputs the input value multiplied by itself the number of times equal to the power input (Exponent of power)",
56051
+ RadiansToDegreesBlock: "Converts the input radians value to degrees",
56052
+ SawToothWaveBlock: "Outputs a sawtooth pattern value between -1 and 1 based on the input value",
56053
+ SignBlock: "returns 1 if the input is positive, 0 if input is equal to 0, or -1 if the input is negative",
56054
+ SinBlock: "Outputs the the sine value based on the input value",
56055
+ SqrtBlock: "Outputs the the square root of the input value",
56056
+ SquareWaveBlock: "Outputs a stepped pattern value between -1 and 1 based on the input value",
56057
+ TanBlock: "Outputs the the tangent value based on the input value",
56058
+ TriangleWaveBlock: "Outputs a sawtooth pattern value between 0 and 1 based on the input value",
56059
+ CrossBlock: "Outputs a vector that is perpendicular to two input vectors",
56060
+ DotBlock: "Outputs the cos of the angle between two vectors",
56061
+ FresnelBlock: "Outputs the grazing angle of the surface of the mesh, relative to a camera influenced by the bias and power inputs",
56062
+ TransformBlock: "Transforms a input vector based on the input matrix",
56063
+ DerivativeBlock: "FRAGMENT SHADER ONLY. Provides the rate of change for an input on a given axis (x,y).",
56064
+ DesaturateBlock: "Convert a color input into a grayscale representation.",
56065
+ WorldViewMatrixBlock: "A matrix to remap points in 3D local space to 3D world space, and ending in 2D camera space.",
56066
+ FrontFacingBlock: "Returns 1 if a mesh triangle faces the normal direction and 0 if it does not.",
56067
+ SimplexPerlin3DBlock: "Creates a type of gradient noise with few directional artifacts.",
56068
+ WorleyNoise3DBlock: "Creates a random pattern resembling cells.",
56069
+ ReflectBlock: "Outputs the direction of the input vector reflected across the surface normal.",
56070
+ RefractBlock: "Outputs a direction simulating a deflection of the input vector.",
56071
+ Rotate2dBlock: "Rotates UV coordinates around the W axis.",
56072
+ PBRMetallicRoughnessBlock: "PBR metallic/roughness material",
56073
+ SheenBlock: "PBR Sheen block",
56074
+ AnisotropyBlock: "PBR Anisotropy block",
56075
+ ReflectionBlock: "PBR Reflection block",
56076
+ ClearCoatBlock: "PBR ClearCoat block",
56077
+ RefractionBlock: "PBR Refraction block",
56078
+ SubSurfaceBlock: "PBR SubSurface block",
56079
+ ScreenPositionBlock: "A Vector2 representing the position of each vertex of the screen quad (derived from UV set from the quad used to render)",
56080
+ CurrentScreenBlock: "The screen buffer used as input for the post process",
56081
+ ParticleUVBlock: "The particle uv texture coordinate",
56082
+ ParticleTextureBlock: "The particle texture",
56083
+ ParticleColorBlock: "The particle color",
56084
+ ParticleTextureMaskBlock: "The particle texture mask",
56085
+ ParticleRampGradientBlock: "The particle ramp gradient block",
56086
+ ParticleBlendMultiplyBlock: "The particle blend multiply block",
56087
+ ParticlePositionWorldBlock: "The world position of the particle",
56088
+ FragCoordBlock: "The gl_FragCoord predefined variable that contains the window relative coordinate (x, y, z, 1/w)",
56089
+ ScreenSizeBlock: "The size (in pixels) of the screen window",
56090
+ SceneDepthBlock: "The scene depth buffer",
56091
+ MatrixBuilderBlock: "Converts 4 Vector4 into a matrix",
56092
+ EqualBlock: "Return a value if two operands are equals",
56093
+ NotEqualBlock: "Return a value if two operands are not equals",
56094
+ LessThanBlock: "Return a value if an operand is smaller than a second operand",
56095
+ LessOrEqualBlock: "Return a value if an operand is smaller or equal to a second operand",
56096
+ GreaterThanBlock: "Return a value if an operand is greater than a second operand",
56097
+ GreaterOrEqualBlock: "Return a value if an operand is greater or equal to a second operand",
56098
+ XorBlock: "Return a value if (a xor b) > 0",
56099
+ OrBlock: "Return a value if (a or b) > 0",
56100
+ AndBlock: "Return a value if (a and b) > 0",
56101
+ ImageSourceBlock: "Centralize texture access for TextureBlocks",
56102
+ CloudBlock: "Generate Fractal Brownian Motion Clouds",
56103
+ VoronoiNoiseBlock: "Generate Voronoi Noise",
56104
+ ScreenSpaceBlock: "Convert a Vector3 or a Vector4 into screen space",
56105
+ TwirlBlock: "Apply a twirl rotation"
55941
56106
  };
55942
56107
  return NodeListComponent;
55943
56108
  }(react__WEBPACK_IMPORTED_MODULE_1__["Component"]));
@@ -56022,12 +56187,11 @@ var PreviewAreaComponent = /** @class */ (function (_super) {
56022
56187
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { id: "preview", style: { height: this.props.width + "px" } },
56023
56188
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("canvas", { id: "preview-canvas" }),
56024
56189
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "waitPanel" + (this.state.isLoading ? "" : " hidden") }, "Please wait, loading...")),
56025
- this.props.globalState.mode === _babylonjs_core_Misc_dataStorage__WEBPACK_IMPORTED_MODULE_2__["NodeMaterialModes"].Particle &&
56026
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { id: "preview-config-bar", className: "extended" },
56027
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_optionsLineComponent__WEBPACK_IMPORTED_MODULE_3__["OptionsLineComponent"], { label: "Blend mode", options: blendModeOptions, target: this.props.globalState, propertyName: "particleSystemBlendMode", noDirectUpdate: true, onSelect: function (value) {
56028
- _this.changeParticleSystemBlendMode(value);
56029
- } })),
56030
- this.props.globalState.mode === _babylonjs_core_Misc_dataStorage__WEBPACK_IMPORTED_MODULE_2__["NodeMaterialModes"].Material && react__WEBPACK_IMPORTED_MODULE_1__["createElement"](react__WEBPACK_IMPORTED_MODULE_1__["Fragment"], null,
56190
+ this.props.globalState.mode === _babylonjs_core_Misc_dataStorage__WEBPACK_IMPORTED_MODULE_2__["NodeMaterialModes"].Particle && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { id: "preview-config-bar", className: "extended" },
56191
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_optionsLineComponent__WEBPACK_IMPORTED_MODULE_3__["OptionsLineComponent"], { label: "Blend mode", options: blendModeOptions, target: this.props.globalState, propertyName: "particleSystemBlendMode", noDirectUpdate: true, onSelect: function (value) {
56192
+ _this.changeParticleSystemBlendMode(value);
56193
+ } }))),
56194
+ this.props.globalState.mode === _babylonjs_core_Misc_dataStorage__WEBPACK_IMPORTED_MODULE_2__["NodeMaterialModes"].Material && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](react__WEBPACK_IMPORTED_MODULE_1__["Fragment"], null,
56031
56195
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { id: "preview-config-bar" },
56032
56196
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { title: "Render without back face culling", onClick: function () { return _this.changeBackFaceCulling(!_this.props.globalState.backFaceCulling); }, className: "button back-face" + (!this.props.globalState.backFaceCulling ? " selected" : "") },
56033
56197
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("img", { src: doubleSided, alt: "" })),
@@ -56053,7 +56217,7 @@ var PreviewAreaComponent = /** @class */ (function (_super) {
56053
56217
  _this.props.globalState.onLightUpdated.notifyObservers();
56054
56218
  _this.forceUpdate();
56055
56219
  }, className: "button direction-light-0" + (this.props.globalState.directionalLight0 ? " selected" : "") },
56056
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("img", { src: directionalLeft, alt: "" }))))));
56220
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("img", { src: directionalLeft, alt: "" })))))));
56057
56221
  };
56058
56222
  return PreviewAreaComponent;
56059
56223
  }(react__WEBPACK_IMPORTED_MODULE_1__["Component"]));
@@ -56646,7 +56810,7 @@ var PreviewMeshControlComponent = /** @class */ (function (_super) {
56646
56810
  { label: "Plane", value: _previewType__WEBPACK_IMPORTED_MODULE_3__["PreviewType"].Plane },
56647
56811
  { label: "Shader ball", value: _previewType__WEBPACK_IMPORTED_MODULE_3__["PreviewType"].ShaderBall },
56648
56812
  { label: "Sphere", value: _previewType__WEBPACK_IMPORTED_MODULE_3__["PreviewType"].Sphere },
56649
- { label: "Load...", value: _previewType__WEBPACK_IMPORTED_MODULE_3__["PreviewType"].Custom + 1 }
56813
+ { label: "Load...", value: _previewType__WEBPACK_IMPORTED_MODULE_3__["PreviewType"].Custom + 1 },
56650
56814
  ];
56651
56815
  var particleTypeOptions = [
56652
56816
  { label: "Default", value: _previewType__WEBPACK_IMPORTED_MODULE_3__["PreviewType"].DefaultParticleSystem },
@@ -56655,20 +56819,22 @@ var PreviewMeshControlComponent = /** @class */ (function (_super) {
56655
56819
  { label: "Fire", value: _previewType__WEBPACK_IMPORTED_MODULE_3__["PreviewType"].Fire },
56656
56820
  { label: "Rain", value: _previewType__WEBPACK_IMPORTED_MODULE_3__["PreviewType"].Rain },
56657
56821
  { label: "Smoke", value: _previewType__WEBPACK_IMPORTED_MODULE_3__["PreviewType"].Smoke },
56658
- { label: "Load...", value: _previewType__WEBPACK_IMPORTED_MODULE_3__["PreviewType"].Custom + 1 }
56822
+ { label: "Load...", value: _previewType__WEBPACK_IMPORTED_MODULE_3__["PreviewType"].Custom + 1 },
56659
56823
  ];
56660
56824
  if (this.props.globalState.listOfCustomPreviewFiles.length > 0) {
56661
56825
  meshTypeOptions.splice(0, 0, {
56662
- label: "Custom", value: _previewType__WEBPACK_IMPORTED_MODULE_3__["PreviewType"].Custom
56826
+ label: "Custom",
56827
+ value: _previewType__WEBPACK_IMPORTED_MODULE_3__["PreviewType"].Custom,
56663
56828
  });
56664
56829
  particleTypeOptions.splice(0, 0, {
56665
- label: "Custom", value: _previewType__WEBPACK_IMPORTED_MODULE_3__["PreviewType"].Custom
56830
+ label: "Custom",
56831
+ value: _previewType__WEBPACK_IMPORTED_MODULE_3__["PreviewType"].Custom,
56666
56832
  });
56667
56833
  }
56668
56834
  var options = this.props.globalState.mode === _babylonjs_core_Maths_math_color__WEBPACK_IMPORTED_MODULE_2__["NodeMaterialModes"].Particle ? particleTypeOptions : meshTypeOptions;
56669
56835
  var accept = this.props.globalState.mode === _babylonjs_core_Maths_math_color__WEBPACK_IMPORTED_MODULE_2__["NodeMaterialModes"].Particle ? ".json" : ".gltf, .glb, .babylon, .obj";
56670
56836
  return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { id: "preview-mesh-bar" },
56671
- (this.props.globalState.mode === _babylonjs_core_Maths_math_color__WEBPACK_IMPORTED_MODULE_2__["NodeMaterialModes"].Material || this.props.globalState.mode === _babylonjs_core_Maths_math_color__WEBPACK_IMPORTED_MODULE_2__["NodeMaterialModes"].Particle) && react__WEBPACK_IMPORTED_MODULE_1__["createElement"](react__WEBPACK_IMPORTED_MODULE_1__["Fragment"], null,
56837
+ (this.props.globalState.mode === _babylonjs_core_Maths_math_color__WEBPACK_IMPORTED_MODULE_2__["NodeMaterialModes"].Material || this.props.globalState.mode === _babylonjs_core_Maths_math_color__WEBPACK_IMPORTED_MODULE_2__["NodeMaterialModes"].Particle) && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](react__WEBPACK_IMPORTED_MODULE_1__["Fragment"], null,
56672
56838
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_optionsLineComponent__WEBPACK_IMPORTED_MODULE_4__["OptionsLineComponent"], { label: "", options: options, target: this.props.globalState, propertyName: "previewType", noDirectUpdate: true, onSelect: function (value) {
56673
56839
  var _a;
56674
56840
  if (value !== _previewType__WEBPACK_IMPORTED_MODULE_3__["PreviewType"].Custom + 1) {
@@ -56679,15 +56845,14 @@ var PreviewMeshControlComponent = /** @class */ (function (_super) {
56679
56845
  }
56680
56846
  } }),
56681
56847
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { style: {
56682
- display: "none"
56848
+ display: "none",
56683
56849
  }, title: "Preview with a custom mesh" },
56684
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("input", { ref: this.filePickerRef, id: "file-picker", type: "file", onChange: function (evt) { return _this.useCustomMesh(evt); }, accept: accept }))),
56685
- this.props.globalState.mode === _babylonjs_core_Maths_math_color__WEBPACK_IMPORTED_MODULE_2__["NodeMaterialModes"].Material &&
56686
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](react__WEBPACK_IMPORTED_MODULE_1__["Fragment"], null,
56687
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { title: "Turn-table animation", onClick: function () { return _this.changeAnimation(); }, className: "button", id: "play-button" }, this.props.globalState.rotatePreview ? react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("img", { src: pauseIcon, alt: "" }) : react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("img", { src: playIcon, alt: "" })),
56688
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { id: "color-picker-button", title: "Background color", className: "button align", onClick: function (_) { return _this.changeBackgroundClick(); } },
56689
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("img", { src: colorPicker, alt: "", id: "color-picker-image" }),
56690
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("input", { ref: this.colorInputRef, id: "color-picker", type: "color", onChange: function (evt) { return _this.changeBackground(evt.target.value); } }))),
56850
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("input", { ref: this.filePickerRef, id: "file-picker", type: "file", onChange: function (evt) { return _this.useCustomMesh(evt); }, accept: accept })))),
56851
+ this.props.globalState.mode === _babylonjs_core_Maths_math_color__WEBPACK_IMPORTED_MODULE_2__["NodeMaterialModes"].Material && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](react__WEBPACK_IMPORTED_MODULE_1__["Fragment"], null,
56852
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { title: "Turn-table animation", onClick: function () { return _this.changeAnimation(); }, className: "button", id: "play-button" }, this.props.globalState.rotatePreview ? react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("img", { src: pauseIcon, alt: "" }) : react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("img", { src: playIcon, alt: "" })),
56853
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { id: "color-picker-button", title: "Background color", className: "button align", onClick: function (_) { return _this.changeBackgroundClick(); } },
56854
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("img", { src: colorPicker, alt: "", id: "color-picker-image" }),
56855
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("input", { ref: this.colorInputRef, id: "color-picker", type: "color", onChange: function (evt) { return _this.changeBackground(evt.target.value); } })))),
56691
56856
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { title: "Open preview in new window", id: "preview-new-window", onClick: function () { return _this.onPopUp(); }, className: "button" },
56692
56857
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("img", { src: popUpIcon, alt: "" }))));
56693
56858
  };
@@ -56825,7 +56990,7 @@ module.exports = "data:image/svg+xml,%3Csvg viewBox='0 0 24 24' version='1.1' xm
56825
56990
  /*! no static exports found */
56826
56991
  /***/ (function(module, exports) {
56827
56992
 
56828
- module.exports = "data:image/svg+xml,%3Csvg viewBox='0 0 20 20' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='27' height='27'%3E %3C!-- Generator: Sketch 64 (93537) - https://sketch.com --%3E %3Ctitle%3Eic_fluent_window_new_20_regular%3C/title%3E %3Cdesc%3ECreated with Sketch.%3C/desc%3E %3Cg id='🔍-System-Icons' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E %3Cg id='ic_fluent_window_new_20_regular' fill='white' fill-rule='nonzero'%3E %3Cpath d='M14.5,3 C15.825472,3 16.9100378,4.03153766 16.9946823,5.33562452 L17,5.5 L17,12.5 C17,13.6248 16.2572,14.5761 15.2354,14.8901 C15.0566136,16.0311636 14.105895,16.9162833 12.934399,16.9943911 L12.7656,17 L6.5,17 C4.63143333,17 3.10487333,15.5357256 3.00517885,13.6920355 L3,13.5 L3,7.26562 C3,6.02104 3.90947,4.98887 5.10007,4.79744 C5.38765316,3.81341789 6.26401881,3.08064388 7.32204931,3.00623559 L7.5,3 L14.5,3 Z M5,5.85098 C4.46221538,6.04106 4.0651929,6.52910923 4.00729467,7.11674983 L4,7.26562 L4,13.5 C4,14.825472 5.03153766,15.9100378 6.33562452,15.9946823 L6.5,16 L12.7656,16 C13.3684615,16 13.8883314,15.6443456 14.12669,15.1313988 L14.1803,15 L7.5,15 C6.1745184,15 5.08996147,13.9684531 5.00531769,12.6643744 L5,12.5 L5,5.85098 Z M14.5,4 L7.5,4 C6.67157,4 6,4.67157 6,5.5 L6,12.5 C6,13.3284 6.67157,14 7.5,14 L14.5,14 C15.3284,14 16,13.3284 16,12.5 L16,5.5 C16,4.67157 15.3284,4 14.5,4 Z M13.4999975,6 C13.7454219,6 13.949598,6.17687704 13.9919405,6.41012499 L13.9999975,6.5 L13.9999975,10.4844 C13.9999975,10.7605 13.7761,10.9844 13.4999975,10.9844 C13.2545775,10.9844 13.050398,10.8074914 13.0080546,10.5742645 L12.9999975,10.4844 L12.9999975,7.70711 L8.85355,11.8536 C8.65829,12.0488 8.34171,12.0488 8.14645,11.8536 C7.97287667,11.68 7.95359074,11.410558 8.08859222,11.2156598 L8.14645,11.1464 L12.2929,7 L9.51562,7 C9.23948,7 9.01562,6.77614 9.01562,6.5 C9.01562,6.25454222 9.19249704,6.0503921 9.42574499,6.00805575 L9.51562,6 L13.4999975,6 Z' id='🎨-Color'%3E%3C/path%3E %3C/g%3E %3C/g%3E %3C/svg%3E"
56993
+ module.exports = "data:image/svg+xml,%3Csvg id='Layer_1' data-name='Layer 1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%23ffffff;%7D%3C/style%3E%3C/defs%3E%3Cg id='_-System-Icons' data-name='🔍-System-Icons'%3E%3Cg id='ic_fluent_window_new_20_regular' data-name='ic fluent window new 20 regular'%3E%3Cpath id='_-Color' data-name='🎨-Color' class='cls-1' d='M18.14,2.44a3.42,3.42,0,0,1,3.41,3.19v9.78a3.41,3.41,0,0,1-2.41,3.26A3.44,3.44,0,0,1,16,21.55H7.22A4.78,4.78,0,0,1,2.45,17V8.27A3.42,3.42,0,0,1,5.31,4.9a3.43,3.43,0,0,1,3-2.45h9.8Zm-13,3.9A2,2,0,0,0,3.82,8.06v8.72A3.41,3.41,0,0,0,7,20.18h8.78A2,2,0,0,0,17.63,19l.08-.17H8.59a3.42,3.42,0,0,1-3.41-3.19V6.34Zm13-2.53H8.59a2.05,2.05,0,0,0-2,2.05v9.55a2.05,2.05,0,0,0,2.05,2.05h9.55a2.05,2.05,0,0,0,2.05-2.05V5.86A2.05,2.05,0,0,0,18.14,3.81ZM16.78,6.54a.69.69,0,0,1,.67.56v5.56a.68.68,0,0,1-.68.68.67.67,0,0,1-.67-.56V8.87l-5.66,5.66a.68.68,0,0,1-1-.87l.08-.1L15.13,7.9H11.34a.67.67,0,0,1-.68-.68.69.69,0,0,1,.56-.67h5.56Z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"
56829
56994
 
56830
56995
  /***/ }),
56831
56996
 
@@ -56881,16 +57046,13 @@ var InputsPropertyTabComponent = /** @class */ (function (_super) {
56881
57046
  var _this = this;
56882
57047
  switch (block.type) {
56883
57048
  case _babylonjs_core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_5__["NodeMaterialBlockConnectionPointTypes"].Float:
56884
- var cantDisplaySlider = (isNaN(block.min) || isNaN(block.max) || block.min === block.max);
57049
+ var cantDisplaySlider = isNaN(block.min) || isNaN(block.max) || block.min === block.max;
56885
57050
  return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { key: block.uniqueId },
56886
- block.isBoolean &&
56887
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_3__["CheckBoxLineComponent"], { key: block.uniqueId, label: block.name, target: block, propertyName: "value", onValueChanged: function () {
56888
- _this.processInputBlockUpdate(block);
56889
- } }),
56890
- !block.isBoolean && cantDisplaySlider &&
56891
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_floatLineComponent__WEBPACK_IMPORTED_MODULE_7__["FloatLineComponent"], { globalState: this.props.globalState, key: block.uniqueId, label: block.name, target: block, propertyName: "value", onChange: function () { return _this.processInputBlockUpdate(block); } }),
56892
- !block.isBoolean && !cantDisplaySlider &&
56893
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_sliderLineComponent__WEBPACK_IMPORTED_MODULE_4__["SliderLineComponent"], { key: block.uniqueId, label: block.name, target: block, propertyName: "value", step: (block.max - block.min) / 100.0, minimum: block.min, maximum: block.max, globalState: this.props.globalState, onChange: function () { return _this.processInputBlockUpdate(block); } })));
57051
+ block.isBoolean && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_3__["CheckBoxLineComponent"], { key: block.uniqueId, label: block.name, target: block, propertyName: "value", onValueChanged: function () {
57052
+ _this.processInputBlockUpdate(block);
57053
+ } })),
57054
+ !block.isBoolean && cantDisplaySlider && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_floatLineComponent__WEBPACK_IMPORTED_MODULE_7__["FloatLineComponent"], { globalState: this.props.globalState, key: block.uniqueId, label: block.name, target: block, propertyName: "value", onChange: function () { return _this.processInputBlockUpdate(block); } })),
57055
+ !block.isBoolean && !cantDisplaySlider && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_sliderLineComponent__WEBPACK_IMPORTED_MODULE_4__["SliderLineComponent"], { key: block.uniqueId, label: block.name, target: block, propertyName: "value", step: (block.max - block.min) / 100.0, minimum: block.min, maximum: block.max, globalState: this.props.globalState, onChange: function () { return _this.processInputBlockUpdate(block); } }))));
56894
57056
  case _babylonjs_core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_5__["NodeMaterialBlockConnectionPointTypes"].Color3:
56895
57057
  return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_color3LineComponent__WEBPACK_IMPORTED_MODULE_6__["Color3LineComponent"], { globalState: this.props.globalState, key: block.uniqueId, label: block.name, target: block, propertyName: "value", onChange: function () { return _this.processInputBlockUpdate(block); } }));
56896
57058
  case _babylonjs_core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_5__["NodeMaterialBlockConnectionPointTypes"].Color4:
@@ -57317,16 +57479,13 @@ var PropertyTabComponent = /** @class */ (function (_super) {
57317
57479
  var _this = this;
57318
57480
  switch (block.type) {
57319
57481
  case _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_6__["NodeMaterialBlockConnectionPointTypes"].Float:
57320
- var cantDisplaySlider = (isNaN(block.min) || isNaN(block.max) || block.min === block.max);
57482
+ var cantDisplaySlider = isNaN(block.min) || isNaN(block.max) || block.min === block.max;
57321
57483
  return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { key: block.uniqueId },
57322
- block.isBoolean &&
57323
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_8__["CheckBoxLineComponent"], { key: block.uniqueId, label: block.name, target: block, propertyName: "value", onValueChanged: function () {
57324
- _this.processInputBlockUpdate(block);
57325
- } }),
57326
- !block.isBoolean && cantDisplaySlider &&
57327
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_floatLineComponent__WEBPACK_IMPORTED_MODULE_17__["FloatLineComponent"], { globalState: this.props.globalState, key: block.uniqueId, label: block.name, target: block, propertyName: "value", onChange: function () { return _this.processInputBlockUpdate(block); } }),
57328
- !block.isBoolean && !cantDisplaySlider &&
57329
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_sliderLineComponent__WEBPACK_IMPORTED_MODULE_10__["SliderLineComponent"], { key: block.uniqueId, label: block.name, target: block, propertyName: "value", step: (block.max - block.min) / 100.0, minimum: block.min, maximum: block.max, globalState: this.props.globalState, onChange: function () { return _this.processInputBlockUpdate(block); } })));
57484
+ block.isBoolean && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_8__["CheckBoxLineComponent"], { key: block.uniqueId, label: block.name, target: block, propertyName: "value", onValueChanged: function () {
57485
+ _this.processInputBlockUpdate(block);
57486
+ } })),
57487
+ !block.isBoolean && cantDisplaySlider && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_floatLineComponent__WEBPACK_IMPORTED_MODULE_17__["FloatLineComponent"], { globalState: this.props.globalState, key: block.uniqueId, label: block.name, target: block, propertyName: "value", onChange: function () { return _this.processInputBlockUpdate(block); } })),
57488
+ !block.isBoolean && !cantDisplaySlider && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_sliderLineComponent__WEBPACK_IMPORTED_MODULE_10__["SliderLineComponent"], { key: block.uniqueId, label: block.name, target: block, propertyName: "value", step: (block.max - block.min) / 100.0, minimum: block.min, maximum: block.max, globalState: this.props.globalState, onChange: function () { return _this.processInputBlockUpdate(block); } }))));
57330
57489
  case _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_6__["NodeMaterialBlockConnectionPointTypes"].Color3:
57331
57490
  return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_color3LineComponent__WEBPACK_IMPORTED_MODULE_16__["Color3LineComponent"], { globalState: this.props.globalState, key: block.uniqueId, label: block.name, target: block, propertyName: "value", onChange: function () { return _this.processInputBlockUpdate(block); } }));
57332
57491
  case _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_6__["NodeMaterialBlockConnectionPointTypes"].Color4:
@@ -57368,10 +57527,13 @@ var PropertyTabComponent = /** @class */ (function (_super) {
57368
57527
  var _this = this;
57369
57528
  this.setState({ uploadInProgress: true });
57370
57529
  this.props.globalState.onLogRequiredObservable.notifyObservers({ message: "Saving your material to Babylon.js snippet server...", isError: false });
57371
- this.props.globalState.customSave.action(_serializationTools__WEBPACK_IMPORTED_MODULE_7__["SerializationTools"].Serialize(this.props.globalState.nodeMaterial, this.props.globalState)).then(function () {
57530
+ this.props.globalState
57531
+ .customSave.action(_serializationTools__WEBPACK_IMPORTED_MODULE_7__["SerializationTools"].Serialize(this.props.globalState.nodeMaterial, this.props.globalState))
57532
+ .then(function () {
57372
57533
  _this.props.globalState.onLogRequiredObservable.notifyObservers({ message: "Material saved successfully", isError: false });
57373
57534
  _this.setState({ uploadInProgress: false });
57374
- }).catch(function (err) {
57535
+ })
57536
+ .catch(function (err) {
57375
57537
  _this.props.globalState.onLogRequiredObservable.notifyObservers({ message: err, isError: true });
57376
57538
  _this.setState({ uploadInProgress: false });
57377
57539
  });
@@ -57398,7 +57560,7 @@ var PropertyTabComponent = /** @class */ (function (_super) {
57398
57560
  if (windowAsAny.Playground && oldId) {
57399
57561
  windowAsAny.Playground.onRequestCodeChangeObservable.notifyObservers({
57400
57562
  regex: new RegExp(oldId, "g"),
57401
- replace: material.snippetId
57563
+ replace: material.snippetId,
57402
57564
  });
57403
57565
  }
57404
57566
  _this.props.globalState.hostDocument.defaultView.alert("NodeMaterial saved with ID: " + material.snippetId + " (please note that the id was also saved to your clipboard)");
@@ -57412,11 +57574,11 @@ var PropertyTabComponent = /** @class */ (function (_super) {
57412
57574
  xmlHttp.setRequestHeader("Content-Type", "application/json");
57413
57575
  var dataToSend = {
57414
57576
  payload: JSON.stringify({
57415
- nodeMaterial: json
57577
+ nodeMaterial: json,
57416
57578
  }),
57417
57579
  name: "",
57418
57580
  description: "",
57419
- tags: ""
57581
+ tags: "",
57420
57582
  };
57421
57583
  xmlHttp.send(JSON.stringify(dataToSend));
57422
57584
  };
@@ -57429,12 +57591,14 @@ var PropertyTabComponent = /** @class */ (function (_super) {
57429
57591
  return;
57430
57592
  }
57431
57593
  this.props.globalState.onSelectionChangedObservable.notifyObservers(null);
57432
- _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_6__["NodeMaterial"].ParseFromSnippetAsync(snippedId, scene, "", material).then(function () {
57594
+ _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_6__["NodeMaterial"].ParseFromSnippetAsync(snippedId, scene, "", material)
57595
+ .then(function () {
57433
57596
  material.build();
57434
57597
  if (!_this.changeMode(_this.props.globalState.nodeMaterial.mode, true, false)) {
57435
57598
  _this.props.globalState.onResetRequiredObservable.notifyObservers();
57436
57599
  }
57437
- }).catch(function (err) {
57600
+ })
57601
+ .catch(function (err) {
57438
57602
  _this.props.globalState.hostDocument.defaultView.alert("Unable to load your node material: " + err);
57439
57603
  });
57440
57604
  };
@@ -57445,7 +57609,7 @@ var PropertyTabComponent = /** @class */ (function (_super) {
57445
57609
  if (this.props.globalState.mode === value) {
57446
57610
  return false;
57447
57611
  }
57448
- if (!force && !this.props.globalState.hostDocument.defaultView.confirm('Are your sure? You will lose your current changes (if any) if they are not saved!')) {
57612
+ if (!force && !this.props.globalState.hostDocument.defaultView.confirm("Are your sure? You will lose your current changes (if any) if they are not saved!")) {
57449
57613
  (_a = this._modeSelect.current) === null || _a === void 0 ? void 0 : _a.setValue(this.props.globalState.mode);
57450
57614
  return false;
57451
57615
  }
@@ -57494,13 +57658,13 @@ var PropertyTabComponent = /** @class */ (function (_super) {
57494
57658
  ((_a = this.state.currentNode) === null || _a === void 0 ? void 0 : _a.renderProperties()) || ((_b = this.state.currentNodePort) === null || _b === void 0 ? void 0 : _b.node.renderProperties())));
57495
57659
  }
57496
57660
  if (this.state.currentFrameNodePort && this.state.currentFrame) {
57497
- return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_diagram_properties_frameNodePortPropertyComponent__WEBPACK_IMPORTED_MODULE_14__["FrameNodePortPropertyTabComponent"], { globalState: this.props.globalState, frame: this.state.currentFrame, frameNodePort: this.state.currentFrameNodePort }));
57661
+ return react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_diagram_properties_frameNodePortPropertyComponent__WEBPACK_IMPORTED_MODULE_14__["FrameNodePortPropertyTabComponent"], { globalState: this.props.globalState, frame: this.state.currentFrame, frameNodePort: this.state.currentFrameNodePort });
57498
57662
  }
57499
57663
  if (this.state.currentNodePort) {
57500
- return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_diagram_properties_nodePortPropertyComponent__WEBPACK_IMPORTED_MODULE_15__["NodePortPropertyTabComponent"], { globalState: this.props.globalState, nodePort: this.state.currentNodePort }));
57664
+ return react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_diagram_properties_nodePortPropertyComponent__WEBPACK_IMPORTED_MODULE_15__["NodePortPropertyTabComponent"], { globalState: this.props.globalState, nodePort: this.state.currentNodePort });
57501
57665
  }
57502
57666
  if (this.state.currentFrame) {
57503
- return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_diagram_properties_framePropertyComponent__WEBPACK_IMPORTED_MODULE_13__["FramePropertyTabComponent"], { globalState: this.props.globalState, frame: this.state.currentFrame }));
57667
+ return react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_diagram_properties_framePropertyComponent__WEBPACK_IMPORTED_MODULE_13__["FramePropertyTabComponent"], { globalState: this.props.globalState, frame: this.state.currentFrame });
57504
57668
  }
57505
57669
  var gridSize = _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_6__["DataStorage"].ReadNumber("GridSize", 20);
57506
57670
  var modeList = [
@@ -57517,7 +57681,7 @@ var PropertyTabComponent = /** @class */ (function (_super) {
57517
57681
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_3__["LineContainerComponent"], { title: "GENERAL" },
57518
57682
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_optionsLineComponent__WEBPACK_IMPORTED_MODULE_24__["OptionsLineComponent"], { ref: this._modeSelect, label: "Mode", target: this, getSelection: function (target) { return _this.props.globalState.mode; }, options: modeList, onSelect: function (value) { return _this.changeMode(value); } }),
57519
57683
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_textLineComponent__WEBPACK_IMPORTED_MODULE_12__["TextLineComponent"], { label: "Version", value: _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_6__["Engine"].Version }),
57520
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_textLineComponent__WEBPACK_IMPORTED_MODULE_12__["TextLineComponent"], { label: "Help", value: "doc.babylonjs.com", underline: true, onLink: function () { return window.open('https://doc.babylonjs.com/how_to/node_material', '_blank'); } }),
57684
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_textLineComponent__WEBPACK_IMPORTED_MODULE_12__["TextLineComponent"], { label: "Help", value: "doc.babylonjs.com", underline: true, onLink: function () { return window.open("https://doc.babylonjs.com/how_to/node_material", "_blank"); } }),
57521
57685
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_textInputLineComponent__WEBPACK_IMPORTED_MODULE_26__["TextInputLineComponent"], { label: "Comment", multilines: true, value: this.props.globalState.nodeMaterial.comment, target: this.props.globalState.nodeMaterial, propertyName: "comment", globalState: this.props.globalState }),
57522
57686
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_buttonLineComponent__WEBPACK_IMPORTED_MODULE_2__["ButtonLineComponent"], { label: "Reset to default", onClick: function () {
57523
57687
  switch (_this.props.globalState.mode) {
@@ -57568,19 +57732,16 @@ var PropertyTabComponent = /** @class */ (function (_super) {
57568
57732
  _this.props.globalState.nodeMaterial.build();
57569
57733
  _sharedUiComponents_stringTools__WEBPACK_IMPORTED_MODULE_4__["StringTools"].DownloadAsFile(_this.props.globalState.hostDocument, _this.props.globalState.nodeMaterial.compiledShaders, "shaders.txt");
57570
57734
  } }),
57571
- this.props.globalState.customSave &&
57572
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_buttonLineComponent__WEBPACK_IMPORTED_MODULE_2__["ButtonLineComponent"], { label: this.props.globalState.customSave.label, isDisabled: this.state.uploadInProgress, onClick: function () {
57573
- _this.customSave();
57574
- } }),
57575
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_fileButtonLineComponent__WEBPACK_IMPORTED_MODULE_5__["FileButtonLineComponent"], { label: "Load Frame", uploadName: 'frame-upload', onClick: function (file) { return _this.loadFrame(file); }, accept: ".json" })),
57576
- !this.props.globalState.customSave &&
57577
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_3__["LineContainerComponent"], { title: "SNIPPET" },
57578
- this.props.globalState.nodeMaterial.snippetId &&
57579
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_textLineComponent__WEBPACK_IMPORTED_MODULE_12__["TextLineComponent"], { label: "Snippet ID", value: this.props.globalState.nodeMaterial.snippetId }),
57580
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_buttonLineComponent__WEBPACK_IMPORTED_MODULE_2__["ButtonLineComponent"], { label: "Load from snippet server", onClick: function () { return _this.loadFromSnippet(); } }),
57581
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_buttonLineComponent__WEBPACK_IMPORTED_MODULE_2__["ButtonLineComponent"], { label: "Save to snippet server", onClick: function () {
57582
- _this.saveToSnippetServer();
57583
- } })),
57735
+ this.props.globalState.customSave && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_buttonLineComponent__WEBPACK_IMPORTED_MODULE_2__["ButtonLineComponent"], { label: this.props.globalState.customSave.label, isDisabled: this.state.uploadInProgress, onClick: function () {
57736
+ _this.customSave();
57737
+ } })),
57738
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_fileButtonLineComponent__WEBPACK_IMPORTED_MODULE_5__["FileButtonLineComponent"], { label: "Load Frame", uploadName: "frame-upload", onClick: function (file) { return _this.loadFrame(file); }, accept: ".json" })),
57739
+ !this.props.globalState.customSave && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_3__["LineContainerComponent"], { title: "SNIPPET" },
57740
+ this.props.globalState.nodeMaterial.snippetId && react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_textLineComponent__WEBPACK_IMPORTED_MODULE_12__["TextLineComponent"], { label: "Snippet ID", value: this.props.globalState.nodeMaterial.snippetId }),
57741
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_buttonLineComponent__WEBPACK_IMPORTED_MODULE_2__["ButtonLineComponent"], { label: "Load from snippet server", onClick: function () { return _this.loadFromSnippet(); } }),
57742
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_buttonLineComponent__WEBPACK_IMPORTED_MODULE_2__["ButtonLineComponent"], { label: "Save to snippet server", onClick: function () {
57743
+ _this.saveToSnippetServer();
57744
+ } }))),
57584
57745
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_inputsPropertyTabComponent__WEBPACK_IMPORTED_MODULE_27__["InputsPropertyTabComponent"], { globalState: this.props.globalState, inputs: this.props.globalState.nodeMaterial.getInputBlocks() }))));
57585
57746
  };
57586
57747
  return PropertyTabComponent;
@@ -58817,7 +58978,7 @@ var GraphCanvasComponent = /** @class */ (function (_super) {
58817
58978
  id: node.id,
58818
58979
  type: "node",
58819
58980
  width: node.width,
58820
- height: node.height
58981
+ height: node.height,
58821
58982
  });
58822
58983
  });
58823
58984
  this._frames.forEach(function (frame) {
@@ -58825,7 +58986,7 @@ var GraphCanvasComponent = /** @class */ (function (_super) {
58825
58986
  id: frame.id,
58826
58987
  type: "frame",
58827
58988
  width: frame.element.clientWidth,
58828
- height: frame.element.clientHeight
58989
+ height: frame.element.clientHeight,
58829
58990
  });
58830
58991
  });
58831
58992
  this._nodes.forEach(function (node) {
@@ -58980,8 +59141,8 @@ var GraphCanvasComponent = /** @class */ (function (_super) {
58980
59141
  this._selectionBox.classList.add("selection-box");
58981
59142
  this._selectionContainer.appendChild(this._selectionBox);
58982
59143
  var rootRect = this.canvasContainer.getBoundingClientRect();
58983
- this._selectionStartX = (evt.pageX - rootRect.left);
58984
- this._selectionStartY = (evt.pageY - rootRect.top);
59144
+ this._selectionStartX = evt.pageX - rootRect.left;
59145
+ this._selectionStartY = evt.pageY - rootRect.top;
58985
59146
  this._selectionBox.style.left = this._selectionStartX / this.zoom + "px";
58986
59147
  this._selectionBox.style.top = this._selectionStartY / this.zoom + "px";
58987
59148
  this._selectionBox.style.width = "0px";
@@ -58994,8 +59155,8 @@ var GraphCanvasComponent = /** @class */ (function (_super) {
58994
59155
  this._frameCandidate.classList.add("frame-box");
58995
59156
  this._frameContainer.appendChild(this._frameCandidate);
58996
59157
  var rootRect = this.canvasContainer.getBoundingClientRect();
58997
- this._selectionStartX = (evt.pageX - rootRect.left);
58998
- this._selectionStartY = (evt.pageY - rootRect.top);
59158
+ this._selectionStartX = evt.pageX - rootRect.left;
59159
+ this._selectionStartY = evt.pageY - rootRect.top;
58999
59160
  this._frameCandidate.style.left = this._selectionStartX / this.zoom + "px";
59000
59161
  this._frameCandidate.style.top = this._selectionStartY / this.zoom + "px";
59001
59162
  this._frameCandidate.style.width = "0px";
@@ -59025,14 +59186,16 @@ var GraphCanvasComponent = /** @class */ (function (_super) {
59025
59186
  this.processCandidatePort();
59026
59187
  this.props.globalState.onCandidateLinkMoved.notifyObservers(null);
59027
59188
  }
59028
- else { // is a click event on NodePort
59029
- if (this._candidateLink.portA instanceof _frameNodePort__WEBPACK_IMPORTED_MODULE_8__["FrameNodePort"]) { //only on Frame Node Ports
59189
+ else {
59190
+ // is a click event on NodePort
59191
+ if (this._candidateLink.portA instanceof _frameNodePort__WEBPACK_IMPORTED_MODULE_8__["FrameNodePort"]) {
59192
+ //only on Frame Node Ports
59030
59193
  var port_1 = this._candidateLink.portA;
59031
59194
  var frame = this.frames.find(function (frame) { return frame.id === port_1.parentFrameId; });
59032
59195
  if (frame) {
59033
59196
  var data = {
59034
59197
  frame: frame,
59035
- port: port_1
59198
+ port: port_1,
59036
59199
  };
59037
59200
  this.props.globalState.onSelectionChangedObservable.notifyObservers(data);
59038
59201
  }
@@ -59155,7 +59318,9 @@ var GraphCanvasComponent = /** @class */ (function (_super) {
59155
59318
  var y_1 = nodeA.y;
59156
59319
  emittedBlock.inputs.forEach(function (connection) {
59157
59320
  if (connection.connectedPoint) {
59158
- var existingNodes = _this.nodes.filter(function (n) { return n.block === connection.connectedPoint.ownerBlock; });
59321
+ var existingNodes = _this.nodes.filter(function (n) {
59322
+ return n.block === connection.connectedPoint.ownerBlock;
59323
+ });
59159
59324
  var connectedNode = existingNodes[0];
59160
59325
  if (connectedNode.x === 0 && connectedNode.y === 0) {
59161
59326
  connectedNode.x = x_1;
@@ -59189,7 +59354,9 @@ var GraphCanvasComponent = /** @class */ (function (_super) {
59189
59354
  // Check compatibility
59190
59355
  var isFragmentOutput = pointB.ownerBlock.getClassName() === "FragmentOutputBlock";
59191
59356
  var compatibilityState = pointA.checkCompatibilityState(pointB);
59192
- if ((pointA.needDualDirectionValidation || pointB.needDualDirectionValidation) && compatibilityState === _babylonjs_core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_2__["NodeMaterialConnectionPointCompatibilityStates"].Compatible && !(pointA instanceof _babylonjs_core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_2__["InputBlock"])) {
59357
+ if ((pointA.needDualDirectionValidation || pointB.needDualDirectionValidation) &&
59358
+ compatibilityState === _babylonjs_core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_2__["NodeMaterialConnectionPointCompatibilityStates"].Compatible &&
59359
+ !(pointA instanceof _babylonjs_core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_2__["InputBlock"])) {
59193
59360
  compatibilityState = pointB.checkCompatibilityState(pointA);
59194
59361
  }
59195
59362
  if (compatibilityState === _babylonjs_core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_2__["NodeMaterialConnectionPointCompatibilityStates"].Compatible) {
@@ -59227,7 +59394,8 @@ var GraphCanvasComponent = /** @class */ (function (_super) {
59227
59394
  link.dispose(false);
59228
59395
  });
59229
59396
  }
59230
- if (pointB.ownerBlock.inputsAreExclusive) { // Disconnect all inputs if block has exclusive inputs
59397
+ if (pointB.ownerBlock.inputsAreExclusive) {
59398
+ // Disconnect all inputs if block has exclusive inputs
59231
59399
  pointB.ownerBlock.inputs.forEach(function (i) {
59232
59400
  var links = nodeB.getLinksForConnectionPoint(i);
59233
59401
  if (!linksToNotifyForDispose) {
@@ -61685,7 +61853,7 @@ var ConditionalPropertyTabComponent = /** @class */ (function (_super) {
61685
61853
  { label: "GreaterOrEqual", value: _babylonjs_core_Materials_Node_Blocks_conditionalBlock__WEBPACK_IMPORTED_MODULE_4__["ConditionalBlockConditions"].GreaterOrEqual },
61686
61854
  { label: "Xor", value: _babylonjs_core_Materials_Node_Blocks_conditionalBlock__WEBPACK_IMPORTED_MODULE_4__["ConditionalBlockConditions"].Xor },
61687
61855
  { label: "Or", value: _babylonjs_core_Materials_Node_Blocks_conditionalBlock__WEBPACK_IMPORTED_MODULE_4__["ConditionalBlockConditions"].Or },
61688
- { label: "And", value: _babylonjs_core_Materials_Node_Blocks_conditionalBlock__WEBPACK_IMPORTED_MODULE_4__["ConditionalBlockConditions"].And }
61856
+ { label: "And", value: _babylonjs_core_Materials_Node_Blocks_conditionalBlock__WEBPACK_IMPORTED_MODULE_4__["ConditionalBlockConditions"].And },
61689
61857
  ];
61690
61858
  conditionOptions.sort(function (a, b) {
61691
61859
  return a.label.localeCompare(b.label);
@@ -61736,7 +61904,7 @@ var FrameNodePortPropertyTabComponent = /** @class */ (function (_super) {
61736
61904
  function FrameNodePortPropertyTabComponent(props) {
61737
61905
  var _this_1 = _super.call(this, props) || this;
61738
61906
  _this_1.state = {
61739
- port: _this_1.props.frameNodePort
61907
+ port: _this_1.props.frameNodePort,
61740
61908
  };
61741
61909
  var _this = _this_1;
61742
61910
  _this_1._onSelectionChangedObserver = _this_1.props.globalState.onSelectionChangedObservable.add(function (selection) {
@@ -61766,12 +61934,12 @@ var FrameNodePortPropertyTabComponent = /** @class */ (function (_super) {
61766
61934
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", null,
61767
61935
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_2__["LineContainerComponent"], { title: "GENERAL" },
61768
61936
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_textInputLineComponent__WEBPACK_IMPORTED_MODULE_3__["TextInputLineComponent"], { globalState: this.props.globalState, label: "Port Name", propertyName: "portName", target: this.props.frameNodePort }),
61769
- this.props.frameNodePort.framePortPosition !== _graphFrame__WEBPACK_IMPORTED_MODULE_5__["FramePortPosition"].Top && react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_buttonLineComponent__WEBPACK_IMPORTED_MODULE_4__["ButtonLineComponent"], { label: "Move Port Up", onClick: function () {
61937
+ this.props.frameNodePort.framePortPosition !== _graphFrame__WEBPACK_IMPORTED_MODULE_5__["FramePortPosition"].Top && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_buttonLineComponent__WEBPACK_IMPORTED_MODULE_4__["ButtonLineComponent"], { label: "Move Port Up", onClick: function () {
61770
61938
  _this_1.props.frame.moveFramePortUp(_this_1.props.frameNodePort);
61771
- } }),
61772
- this.props.frameNodePort.framePortPosition !== _graphFrame__WEBPACK_IMPORTED_MODULE_5__["FramePortPosition"].Bottom && react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_buttonLineComponent__WEBPACK_IMPORTED_MODULE_4__["ButtonLineComponent"], { label: "Move Port Down", onClick: function () {
61939
+ } })),
61940
+ this.props.frameNodePort.framePortPosition !== _graphFrame__WEBPACK_IMPORTED_MODULE_5__["FramePortPosition"].Bottom && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_buttonLineComponent__WEBPACK_IMPORTED_MODULE_4__["ButtonLineComponent"], { label: "Move Port Down", onClick: function () {
61773
61941
  _this_1.props.frame.moveFramePortDown(_this_1.props.frameNodePort);
61774
- } })))));
61942
+ } }))))));
61775
61943
  };
61776
61944
  return FrameNodePortPropertyTabComponent;
61777
61945
  }(react__WEBPACK_IMPORTED_MODULE_1__["Component"]));
@@ -61840,14 +62008,12 @@ var FramePropertyTabComponent = /** @class */ (function (_super) {
61840
62008
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_textInputLineComponent__WEBPACK_IMPORTED_MODULE_4__["TextInputLineComponent"], { globalState: this.props.globalState, label: "Name", propertyName: "name", target: this.props.frame }),
61841
62009
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_color3LineComponent__WEBPACK_IMPORTED_MODULE_3__["Color3LineComponent"], { globalState: this.props.globalState, label: "Color", target: this.props.frame, propertyName: "color" }),
61842
62010
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_textInputLineComponent__WEBPACK_IMPORTED_MODULE_4__["TextInputLineComponent"], { globalState: this.props.globalState, label: "Comments", propertyName: "comments", target: this.props.frame }),
61843
- !this.props.frame.isCollapsed &&
61844
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_buttonLineComponent__WEBPACK_IMPORTED_MODULE_5__["ButtonLineComponent"], { label: "Collapse", onClick: function () {
61845
- _this.props.frame.isCollapsed = true;
61846
- } }),
61847
- this.props.frame.isCollapsed &&
61848
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_buttonLineComponent__WEBPACK_IMPORTED_MODULE_5__["ButtonLineComponent"], { label: "Expand", onClick: function () {
61849
- _this.props.frame.isCollapsed = false;
61850
- } }),
62011
+ !this.props.frame.isCollapsed && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_buttonLineComponent__WEBPACK_IMPORTED_MODULE_5__["ButtonLineComponent"], { label: "Collapse", onClick: function () {
62012
+ _this.props.frame.isCollapsed = true;
62013
+ } })),
62014
+ this.props.frame.isCollapsed && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_buttonLineComponent__WEBPACK_IMPORTED_MODULE_5__["ButtonLineComponent"], { label: "Expand", onClick: function () {
62015
+ _this.props.frame.isCollapsed = false;
62016
+ } })),
61851
62017
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_buttonLineComponent__WEBPACK_IMPORTED_MODULE_5__["ButtonLineComponent"], { label: "Export", onClick: function () {
61852
62018
  _this.props.frame.export();
61853
62019
  } })),
@@ -61924,22 +62090,19 @@ var GeneralPropertyTabComponent = /** @class */ (function (_super) {
61924
62090
  ];
61925
62091
  return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](react__WEBPACK_IMPORTED_MODULE_1__["Fragment"], null,
61926
62092
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_2__["LineContainerComponent"], { title: "GENERAL" },
61927
- (!this.props.block.isInput || !this.props.block.isAttribute) &&
61928
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_textInputLineComponent__WEBPACK_IMPORTED_MODULE_3__["TextInputLineComponent"], { globalState: this.props.globalState, label: "Name", propertyName: "name", target: this.props.block, onChange: function () { return _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block); }, validator: function (newName) {
61929
- if (!_this.props.block.validateBlockName(newName)) {
61930
- _this.props.globalState.onErrorMessageDialogRequiredObservable.notifyObservers("\"" + newName + "\" is a reserved name, please choose another");
61931
- return false;
61932
- }
61933
- return true;
61934
- } }),
61935
- (this.props.block._originalTargetIsNeutral) &&
61936
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_optionsLineComponent__WEBPACK_IMPORTED_MODULE_9__["OptionsLineComponent"], { label: "Target", options: targetOptions, target: this.props.block, propertyName: "target", onSelect: function () {
61937
- _this.forceUpdate();
61938
- _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
61939
- _this.props.globalState.onRebuildRequiredObservable.notifyObservers(true);
61940
- } }),
61941
- (!this.props.block._originalTargetIsNeutral) &&
61942
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_textLineComponent__WEBPACK_IMPORTED_MODULE_4__["TextLineComponent"], { label: "Target", value: _babylonjs_core_Materials_Node_nodeMaterialDecorator__WEBPACK_IMPORTED_MODULE_10__["NodeMaterialBlockTargets"][this.props.block.target] }),
62093
+ (!this.props.block.isInput || !this.props.block.isAttribute) && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_textInputLineComponent__WEBPACK_IMPORTED_MODULE_3__["TextInputLineComponent"], { globalState: this.props.globalState, label: "Name", propertyName: "name", target: this.props.block, onChange: function () { return _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block); }, validator: function (newName) {
62094
+ if (!_this.props.block.validateBlockName(newName)) {
62095
+ _this.props.globalState.onErrorMessageDialogRequiredObservable.notifyObservers("\"" + newName + "\" is a reserved name, please choose another");
62096
+ return false;
62097
+ }
62098
+ return true;
62099
+ } })),
62100
+ this.props.block._originalTargetIsNeutral && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_optionsLineComponent__WEBPACK_IMPORTED_MODULE_9__["OptionsLineComponent"], { label: "Target", options: targetOptions, target: this.props.block, propertyName: "target", onSelect: function () {
62101
+ _this.forceUpdate();
62102
+ _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
62103
+ _this.props.globalState.onRebuildRequiredObservable.notifyObservers(true);
62104
+ } })),
62105
+ !this.props.block._originalTargetIsNeutral && react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_textLineComponent__WEBPACK_IMPORTED_MODULE_4__["TextLineComponent"], { label: "Target", value: _babylonjs_core_Materials_Node_nodeMaterialDecorator__WEBPACK_IMPORTED_MODULE_10__["NodeMaterialBlockTargets"][this.props.block.target] }),
61943
62106
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_textLineComponent__WEBPACK_IMPORTED_MODULE_4__["TextLineComponent"], { label: "Type", value: this.props.block.getClassName() }),
61944
62107
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_textInputLineComponent__WEBPACK_IMPORTED_MODULE_3__["TextInputLineComponent"], { globalState: this.props.globalState, label: "Comments", propertyName: "comments", target: this.props.block, onChange: function () { return _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block); } }))));
61945
62108
  };
@@ -61968,7 +62131,7 @@ var GenericPropertyTabComponent = /** @class */ (function (_super) {
61968
62131
  var _this = this;
61969
62132
  var block = this.props.block, propStore = block._propStore;
61970
62133
  if (!propStore) {
61971
- return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](react__WEBPACK_IMPORTED_MODULE_1__["Fragment"], null));
62134
+ return react__WEBPACK_IMPORTED_MODULE_1__["createElement"](react__WEBPACK_IMPORTED_MODULE_1__["Fragment"], null);
61972
62135
  }
61973
62136
  var componentList = {}, groups = [];
61974
62137
  var _loop_1 = function (propertyName, displayName, type, groupName, options) {
@@ -61984,7 +62147,7 @@ var GenericPropertyTabComponent = /** @class */ (function (_super) {
61984
62147
  break;
61985
62148
  }
61986
62149
  case _babylonjs_core_Materials_Node_nodeMaterialDecorator__WEBPACK_IMPORTED_MODULE_10__["PropertyTypeForEdition"].Float: {
61987
- var cantDisplaySlider = (isNaN(options.min) || isNaN(options.max) || options.min === options.max);
62150
+ var cantDisplaySlider = isNaN(options.min) || isNaN(options.max) || options.min === options.max;
61988
62151
  if (cantDisplaySlider) {
61989
62152
  components.push(react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_floatLineComponent__WEBPACK_IMPORTED_MODULE_6__["FloatLineComponent"], { globalState: this_1.props.globalState, label: displayName, propertyName: propertyName, target: this_1.props.block, onChange: function () { return _this.forceRebuild(options.notifiers); } }));
61990
62153
  }
@@ -62012,9 +62175,7 @@ var GenericPropertyTabComponent = /** @class */ (function (_super) {
62012
62175
  var _a = propStore_1[_i], propertyName = _a.propertyName, displayName = _a.displayName, type = _a.type, groupName = _a.groupName, options = _a.options;
62013
62176
  _loop_1(propertyName, displayName, type, groupName, options);
62014
62177
  }
62015
- return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](react__WEBPACK_IMPORTED_MODULE_1__["Fragment"], null, groups.map(function (group) {
62016
- return react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_2__["LineContainerComponent"], { title: group }, componentList[group]);
62017
- })));
62178
+ return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](react__WEBPACK_IMPORTED_MODULE_1__["Fragment"], null, groups.map(function (group) { return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_2__["LineContainerComponent"], { title: group }, componentList[group])); })));
62018
62179
  };
62019
62180
  return GenericPropertyTabComponent;
62020
62181
  }(react__WEBPACK_IMPORTED_MODULE_1__["Component"]));
@@ -62222,8 +62383,10 @@ var GradientStepComponent = /** @class */ (function (_super) {
62222
62383
  } })),
62223
62384
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "step-slider" },
62224
62385
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("input", { className: "range", type: "range", step: 0.01, min: 0, max: 1.0, value: step.step, onPointerUp: function (evt) { return _this.onPointerUp(); }, onChange: function (evt) { return _this.updateStep(parseFloat(evt.target.value)); } })),
62225
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "gradient-copy", onClick: function () { if (_this.props.onCopy)
62226
- _this.props.onCopy(); }, title: "Copy Step" },
62386
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "gradient-copy", onClick: function () {
62387
+ if (_this.props.onCopy)
62388
+ _this.props.onCopy();
62389
+ }, title: "Copy Step" },
62227
62390
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("img", { className: "img", src: copyIcon })),
62228
62391
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "gradient-delete", onClick: function () { return _this.props.onDelete(); }, title: "Delete Step" },
62229
62392
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("img", { className: "img", src: deleteButton }))));
@@ -62295,8 +62458,8 @@ var ImageSourcePropertyTabComponent = /** @class */ (function (_super) {
62295
62458
  }
62296
62459
  };
62297
62460
  ImageSourcePropertyTabComponent.prototype._generateRandomForCache = function () {
62298
- return 'xxxxxxxxxxxxxxxxxxxx'.replace(/[x]/g, function (c) {
62299
- var r = Math.random() * 10 | 0;
62461
+ return "xxxxxxxxxxxxxxxxxxxx".replace(/[x]/g, function (c) {
62462
+ var r = (Math.random() * 10) | 0;
62300
62463
  return r.toString();
62301
62464
  });
62302
62465
  };
@@ -62382,63 +62545,49 @@ var ImageSourcePropertyTabComponent = /** @class */ (function (_super) {
62382
62545
  return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", null,
62383
62546
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_genericNodePropertyComponent__WEBPACK_IMPORTED_MODULE_9__["GeneralPropertyTabComponent"], { globalState: this.props.globalState, block: this.props.block }),
62384
62547
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_4__["LineContainerComponent"], { title: "PROPERTIES" },
62385
- texture && texture.updateSamplingMode &&
62386
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_optionsLineComponent__WEBPACK_IMPORTED_MODULE_8__["OptionsLineComponent"], { label: "Sampling", options: samplingMode, target: texture, noDirectUpdate: true, propertyName: "samplingMode", onSelect: function (value) {
62387
- texture.updateSamplingMode(value);
62388
- _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
62389
- } }),
62390
- texture &&
62391
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_6__["CheckBoxLineComponent"], { label: "Clamp U", isSelected: function () { return texture.wrapU === _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__["Texture"].CLAMP_ADDRESSMODE; }, onSelect: function (value) {
62392
- texture.wrapU = value ? _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__["Texture"].CLAMP_ADDRESSMODE : _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__["Texture"].WRAP_ADDRESSMODE;
62393
- _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
62394
- } }),
62395
- texture &&
62396
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_6__["CheckBoxLineComponent"], { label: "Clamp V", isSelected: function () { return texture.wrapV === _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__["Texture"].CLAMP_ADDRESSMODE; }, onSelect: function (value) {
62397
- texture.wrapV = value ? _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__["Texture"].CLAMP_ADDRESSMODE : _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__["Texture"].WRAP_ADDRESSMODE;
62398
- _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
62399
- } }),
62400
- texture &&
62401
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_floatLineComponent__WEBPACK_IMPORTED_MODULE_10__["FloatLineComponent"], { globalState: this.props.globalState, label: "Offset U", target: texture, propertyName: "uOffset", onChange: function () {
62402
- _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
62403
- } }),
62404
- texture &&
62405
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_floatLineComponent__WEBPACK_IMPORTED_MODULE_10__["FloatLineComponent"], { globalState: this.props.globalState, label: "Offset V", target: texture, propertyName: "vOffset", onChange: function () {
62406
- _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
62407
- } }),
62408
- texture &&
62409
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_floatLineComponent__WEBPACK_IMPORTED_MODULE_10__["FloatLineComponent"], { globalState: this.props.globalState, label: "Scale U", target: texture, propertyName: "uScale", onChange: function () {
62410
- _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
62411
- } }),
62412
- texture &&
62413
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_floatLineComponent__WEBPACK_IMPORTED_MODULE_10__["FloatLineComponent"], { globalState: this.props.globalState, label: "Scale V", target: texture, propertyName: "vScale", onChange: function () {
62414
- _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
62415
- } }),
62416
- texture &&
62417
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_sliderLineComponent__WEBPACK_IMPORTED_MODULE_11__["SliderLineComponent"], { label: "Rotation U", target: texture, globalState: this.props.globalState, propertyName: "uAng", minimum: 0, maximum: Math.PI * 2, useEuler: true, step: 0.1, onChange: function () {
62418
- _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
62419
- } }),
62420
- texture &&
62421
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_sliderLineComponent__WEBPACK_IMPORTED_MODULE_11__["SliderLineComponent"], { label: "Rotation V", target: texture, globalState: this.props.globalState, propertyName: "vAng", minimum: 0, maximum: Math.PI * 2, useEuler: true, step: 0.1, onChange: function () {
62422
- _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
62423
- } }),
62424
- texture &&
62425
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_sliderLineComponent__WEBPACK_IMPORTED_MODULE_11__["SliderLineComponent"], { label: "Rotation W", target: texture, globalState: this.props.globalState, propertyName: "wAng", minimum: 0, maximum: Math.PI * 2, useEuler: true, step: 0.1, onChange: function () {
62426
- _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
62427
- } })),
62548
+ texture && texture.updateSamplingMode && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_optionsLineComponent__WEBPACK_IMPORTED_MODULE_8__["OptionsLineComponent"], { label: "Sampling", options: samplingMode, target: texture, noDirectUpdate: true, propertyName: "samplingMode", onSelect: function (value) {
62549
+ texture.updateSamplingMode(value);
62550
+ _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
62551
+ } })),
62552
+ texture && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_6__["CheckBoxLineComponent"], { label: "Clamp U", isSelected: function () { return texture.wrapU === _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__["Texture"].CLAMP_ADDRESSMODE; }, onSelect: function (value) {
62553
+ texture.wrapU = value ? _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__["Texture"].CLAMP_ADDRESSMODE : _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__["Texture"].WRAP_ADDRESSMODE;
62554
+ _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
62555
+ } })),
62556
+ texture && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_6__["CheckBoxLineComponent"], { label: "Clamp V", isSelected: function () { return texture.wrapV === _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__["Texture"].CLAMP_ADDRESSMODE; }, onSelect: function (value) {
62557
+ texture.wrapV = value ? _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__["Texture"].CLAMP_ADDRESSMODE : _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__["Texture"].WRAP_ADDRESSMODE;
62558
+ _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
62559
+ } })),
62560
+ texture && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_floatLineComponent__WEBPACK_IMPORTED_MODULE_10__["FloatLineComponent"], { globalState: this.props.globalState, label: "Offset U", target: texture, propertyName: "uOffset", onChange: function () {
62561
+ _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
62562
+ } })),
62563
+ texture && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_floatLineComponent__WEBPACK_IMPORTED_MODULE_10__["FloatLineComponent"], { globalState: this.props.globalState, label: "Offset V", target: texture, propertyName: "vOffset", onChange: function () {
62564
+ _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
62565
+ } })),
62566
+ texture && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_floatLineComponent__WEBPACK_IMPORTED_MODULE_10__["FloatLineComponent"], { globalState: this.props.globalState, label: "Scale U", target: texture, propertyName: "uScale", onChange: function () {
62567
+ _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
62568
+ } })),
62569
+ texture && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_floatLineComponent__WEBPACK_IMPORTED_MODULE_10__["FloatLineComponent"], { globalState: this.props.globalState, label: "Scale V", target: texture, propertyName: "vScale", onChange: function () {
62570
+ _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
62571
+ } })),
62572
+ texture && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_sliderLineComponent__WEBPACK_IMPORTED_MODULE_11__["SliderLineComponent"], { label: "Rotation U", target: texture, globalState: this.props.globalState, propertyName: "uAng", minimum: 0, maximum: Math.PI * 2, useEuler: true, step: 0.1, onChange: function () {
62573
+ _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
62574
+ } })),
62575
+ texture && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_sliderLineComponent__WEBPACK_IMPORTED_MODULE_11__["SliderLineComponent"], { label: "Rotation V", target: texture, globalState: this.props.globalState, propertyName: "vAng", minimum: 0, maximum: Math.PI * 2, useEuler: true, step: 0.1, onChange: function () {
62576
+ _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
62577
+ } })),
62578
+ texture && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_sliderLineComponent__WEBPACK_IMPORTED_MODULE_11__["SliderLineComponent"], { label: "Rotation W", target: texture, globalState: this.props.globalState, propertyName: "wAng", minimum: 0, maximum: Math.PI * 2, useEuler: true, step: 0.1, onChange: function () {
62579
+ _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
62580
+ } }))),
62428
62581
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_4__["LineContainerComponent"], { title: "SOURCE" },
62429
62582
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_6__["CheckBoxLineComponent"], { label: "Embed static texture", isSelected: function () { return _this.state.isEmbedded; }, onSelect: function (value) {
62430
62583
  _this.setState({ isEmbedded: value });
62431
62584
  _this.imageSourceBlock.texture = null;
62432
62585
  _this.updateAfterTextureLoad();
62433
62586
  } }),
62434
- this.state.isEmbedded &&
62435
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_fileButtonLineComponent__WEBPACK_IMPORTED_MODULE_2__["FileButtonLineComponent"], { label: "Upload", onClick: function (file) { return _this.replaceTexture(file); }, accept: ".jpg, .png, .tga, .dds, .env" }),
62436
- !this.state.isEmbedded &&
62437
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_textInputLineComponent__WEBPACK_IMPORTED_MODULE_5__["TextInputLineComponent"], { label: "Link", globalState: this.props.globalState, value: url, onChange: function (newUrl) { return _this.replaceTextureWithUrl(newUrl); } }),
62438
- !this.state.isEmbedded && url &&
62439
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_buttonLineComponent__WEBPACK_IMPORTED_MODULE_7__["ButtonLineComponent"], { label: "Refresh", onClick: function () { return _this.replaceTextureWithUrl(url + "?nocache=" + _this._generateRandomForCache()); } }),
62440
- texture &&
62441
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_buttonLineComponent__WEBPACK_IMPORTED_MODULE_7__["ButtonLineComponent"], { label: "Remove", onClick: function () { return _this.removeTexture(); } })),
62587
+ this.state.isEmbedded && react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_fileButtonLineComponent__WEBPACK_IMPORTED_MODULE_2__["FileButtonLineComponent"], { label: "Upload", onClick: function (file) { return _this.replaceTexture(file); }, accept: ".jpg, .png, .tga, .dds, .env" }),
62588
+ !this.state.isEmbedded && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_textInputLineComponent__WEBPACK_IMPORTED_MODULE_5__["TextInputLineComponent"], { label: "Link", globalState: this.props.globalState, value: url, onChange: function (newUrl) { return _this.replaceTextureWithUrl(newUrl); } })),
62589
+ !this.state.isEmbedded && url && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_buttonLineComponent__WEBPACK_IMPORTED_MODULE_7__["ButtonLineComponent"], { label: "Refresh", onClick: function () { return _this.replaceTextureWithUrl(url + "?nocache=" + _this._generateRandomForCache()); } })),
62590
+ texture && react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_buttonLineComponent__WEBPACK_IMPORTED_MODULE_7__["ButtonLineComponent"], { label: "Remove", onClick: function () { return _this.removeTexture(); } })),
62442
62591
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_genericNodePropertyComponent__WEBPACK_IMPORTED_MODULE_9__["GenericPropertyTabComponent"], { globalState: this.props.globalState, block: this.props.block })));
62443
62592
  };
62444
62593
  return ImageSourcePropertyTabComponent;
@@ -62521,51 +62670,46 @@ var InputPropertyTabComponent = /** @class */ (function (_super) {
62521
62670
  var inputBlock = this.props.block;
62522
62671
  switch (inputBlock.type) {
62523
62672
  case _babylonjs_core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_12__["NodeMaterialBlockConnectionPointTypes"].Float: {
62524
- var cantDisplaySlider = (isNaN(inputBlock.min) || isNaN(inputBlock.max) || inputBlock.min === inputBlock.max);
62673
+ var cantDisplaySlider = isNaN(inputBlock.min) || isNaN(inputBlock.max) || inputBlock.min === inputBlock.max;
62525
62674
  return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](react__WEBPACK_IMPORTED_MODULE_1__["Fragment"], null,
62526
62675
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_15__["CheckBoxLineComponent"], { label: "Is boolean", target: inputBlock, propertyName: "isBoolean" }),
62527
- inputBlock.isBoolean &&
62528
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_15__["CheckBoxLineComponent"], { label: "Value", isSelected: function () {
62529
- return inputBlock.value === 1;
62530
- }, onSelect: function (value) {
62531
- inputBlock.value = value ? 1 : 0;
62676
+ inputBlock.isBoolean && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_15__["CheckBoxLineComponent"], { label: "Value", isSelected: function () {
62677
+ return inputBlock.value === 1;
62678
+ }, onSelect: function (value) {
62679
+ inputBlock.value = value ? 1 : 0;
62680
+ if (inputBlock.isConstant) {
62681
+ _this.props.globalState.onRebuildRequiredObservable.notifyObservers(true);
62682
+ }
62683
+ _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
62684
+ } })),
62685
+ !inputBlock.isBoolean && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_floatLineComponent__WEBPACK_IMPORTED_MODULE_2__["FloatLineComponent"], { globalState: this.props.globalState, label: "Min", target: inputBlock, propertyName: "min", onChange: function () {
62686
+ if (inputBlock.value < inputBlock.min) {
62687
+ inputBlock.value = inputBlock.min;
62532
62688
  if (inputBlock.isConstant) {
62533
62689
  _this.props.globalState.onRebuildRequiredObservable.notifyObservers(true);
62534
62690
  }
62535
- _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
62536
- } }),
62537
- !inputBlock.isBoolean &&
62538
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_floatLineComponent__WEBPACK_IMPORTED_MODULE_2__["FloatLineComponent"], { globalState: this.props.globalState, label: "Min", target: inputBlock, propertyName: "min", onChange: function () {
62539
- if (inputBlock.value < inputBlock.min) {
62540
- inputBlock.value = inputBlock.min;
62541
- if (inputBlock.isConstant) {
62542
- _this.props.globalState.onRebuildRequiredObservable.notifyObservers(true);
62543
- }
62544
- }
62545
- _this.forceUpdate();
62546
- } }),
62547
- !inputBlock.isBoolean &&
62548
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_floatLineComponent__WEBPACK_IMPORTED_MODULE_2__["FloatLineComponent"], { globalState: this.props.globalState, label: "Max", target: inputBlock, propertyName: "max", onChange: function () {
62549
- if (inputBlock.value > inputBlock.max) {
62550
- inputBlock.value = inputBlock.max;
62551
- if (inputBlock.isConstant) {
62552
- _this.props.globalState.onRebuildRequiredObservable.notifyObservers(true);
62553
- }
62554
- }
62555
- _this.forceUpdate();
62556
- } }),
62557
- !inputBlock.isBoolean && cantDisplaySlider &&
62558
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_components_propertyTab_properties_floatPropertyTabComponent__WEBPACK_IMPORTED_MODULE_3__["FloatPropertyTabComponent"], { globalState: globalState, inputBlock: inputBlock }),
62559
- !inputBlock.isBoolean && !cantDisplaySlider &&
62560
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_sliderLineComponent__WEBPACK_IMPORTED_MODULE_4__["SliderLineComponent"], { label: "Value", globalState: this.props.globalState, target: inputBlock, propertyName: "value", step: Math.abs(inputBlock.max - inputBlock.min) / 100.0, minimum: Math.min(inputBlock.min, inputBlock.max), maximum: inputBlock.max, onChange: function () {
62691
+ }
62692
+ _this.forceUpdate();
62693
+ } })),
62694
+ !inputBlock.isBoolean && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_floatLineComponent__WEBPACK_IMPORTED_MODULE_2__["FloatLineComponent"], { globalState: this.props.globalState, label: "Max", target: inputBlock, propertyName: "max", onChange: function () {
62695
+ if (inputBlock.value > inputBlock.max) {
62696
+ inputBlock.value = inputBlock.max;
62561
62697
  if (inputBlock.isConstant) {
62562
62698
  _this.props.globalState.onRebuildRequiredObservable.notifyObservers(true);
62563
62699
  }
62564
- _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
62565
- } })));
62700
+ }
62701
+ _this.forceUpdate();
62702
+ } })),
62703
+ !inputBlock.isBoolean && cantDisplaySlider && react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_components_propertyTab_properties_floatPropertyTabComponent__WEBPACK_IMPORTED_MODULE_3__["FloatPropertyTabComponent"], { globalState: globalState, inputBlock: inputBlock }),
62704
+ !inputBlock.isBoolean && !cantDisplaySlider && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_sliderLineComponent__WEBPACK_IMPORTED_MODULE_4__["SliderLineComponent"], { label: "Value", globalState: this.props.globalState, target: inputBlock, propertyName: "value", step: Math.abs(inputBlock.max - inputBlock.min) / 100.0, minimum: Math.min(inputBlock.min, inputBlock.max), maximum: inputBlock.max, onChange: function () {
62705
+ if (inputBlock.isConstant) {
62706
+ _this.props.globalState.onRebuildRequiredObservable.notifyObservers(true);
62707
+ }
62708
+ _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
62709
+ } }))));
62566
62710
  }
62567
62711
  case _babylonjs_core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_12__["NodeMaterialBlockConnectionPointTypes"].Vector2:
62568
- return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_components_propertyTab_properties_vector2PropertyTabComponent__WEBPACK_IMPORTED_MODULE_5__["Vector2PropertyTabComponent"], { globalState: globalState, inputBlock: inputBlock }));
62712
+ return react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_components_propertyTab_properties_vector2PropertyTabComponent__WEBPACK_IMPORTED_MODULE_5__["Vector2PropertyTabComponent"], { globalState: globalState, inputBlock: inputBlock });
62569
62713
  case _babylonjs_core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_12__["NodeMaterialBlockConnectionPointTypes"].Color3:
62570
62714
  return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](react__WEBPACK_IMPORTED_MODULE_1__["Fragment"], null,
62571
62715
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_components_propertyTab_properties_color3PropertyTabComponent__WEBPACK_IMPORTED_MODULE_6__["Color3PropertyTabComponent"], { globalState: globalState, inputBlock: inputBlock }),
@@ -62585,11 +62729,11 @@ var InputPropertyTabComponent = /** @class */ (function (_super) {
62585
62729
  _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
62586
62730
  } })));
62587
62731
  case _babylonjs_core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_12__["NodeMaterialBlockConnectionPointTypes"].Vector3:
62588
- return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_components_propertyTab_properties_vector3PropertyTabComponent__WEBPACK_IMPORTED_MODULE_7__["Vector3PropertyTabComponent"], { globalState: globalState, inputBlock: inputBlock }));
62732
+ return react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_components_propertyTab_properties_vector3PropertyTabComponent__WEBPACK_IMPORTED_MODULE_7__["Vector3PropertyTabComponent"], { globalState: globalState, inputBlock: inputBlock });
62589
62733
  case _babylonjs_core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_12__["NodeMaterialBlockConnectionPointTypes"].Vector4:
62590
- return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_components_propertyTab_properties_vector4PropertyTabComponent__WEBPACK_IMPORTED_MODULE_8__["Vector4PropertyTabComponent"], { globalState: globalState, inputBlock: inputBlock }));
62734
+ return react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_components_propertyTab_properties_vector4PropertyTabComponent__WEBPACK_IMPORTED_MODULE_8__["Vector4PropertyTabComponent"], { globalState: globalState, inputBlock: inputBlock });
62591
62735
  case _babylonjs_core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_12__["NodeMaterialBlockConnectionPointTypes"].Matrix:
62592
- return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_components_propertyTab_properties_matrixPropertyTabComponent__WEBPACK_IMPORTED_MODULE_9__["MatrixPropertyTabComponent"], { globalState: globalState, inputBlock: inputBlock }));
62736
+ return react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_components_propertyTab_properties_matrixPropertyTabComponent__WEBPACK_IMPORTED_MODULE_9__["MatrixPropertyTabComponent"], { globalState: globalState, inputBlock: inputBlock });
62593
62737
  }
62594
62738
  return null;
62595
62739
  };
@@ -62609,9 +62753,7 @@ var InputPropertyTabComponent = /** @class */ (function (_super) {
62609
62753
  { label: "None", value: _babylonjs_core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_12__["AnimatedInputBlockTypes"].None },
62610
62754
  { label: "Time", value: _babylonjs_core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_12__["AnimatedInputBlockTypes"].Time },
62611
62755
  ];
62612
- systemValuesOptions = [
62613
- { label: "Delta time", value: _babylonjs_core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_12__["NodeMaterialSystemValues"].DeltaTime }
62614
- ];
62756
+ systemValuesOptions = [{ label: "Delta time", value: _babylonjs_core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_12__["NodeMaterialSystemValues"].DeltaTime }];
62615
62757
  break;
62616
62758
  case _babylonjs_core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_12__["NodeMaterialBlockConnectionPointTypes"].Matrix:
62617
62759
  systemValuesOptions = [
@@ -62620,18 +62762,14 @@ var InputPropertyTabComponent = /** @class */ (function (_super) {
62620
62762
  { label: "World x View x Projection", value: _babylonjs_core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_12__["NodeMaterialSystemValues"].WorldViewProjection },
62621
62763
  { label: "View", value: _babylonjs_core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_12__["NodeMaterialSystemValues"].View },
62622
62764
  { label: "View x Projection", value: _babylonjs_core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_12__["NodeMaterialSystemValues"].ViewProjection },
62623
- { label: "Projection", value: _babylonjs_core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_12__["NodeMaterialSystemValues"].Projection }
62765
+ { label: "Projection", value: _babylonjs_core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_12__["NodeMaterialSystemValues"].Projection },
62624
62766
  ];
62625
62767
  break;
62626
62768
  case _babylonjs_core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_12__["NodeMaterialBlockConnectionPointTypes"].Color3:
62627
- systemValuesOptions = [
62628
- { label: "Fog color", value: _babylonjs_core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_12__["NodeMaterialSystemValues"].FogColor }
62629
- ];
62769
+ systemValuesOptions = [{ label: "Fog color", value: _babylonjs_core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_12__["NodeMaterialSystemValues"].FogColor }];
62630
62770
  break;
62631
62771
  case _babylonjs_core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_12__["NodeMaterialBlockConnectionPointTypes"].Color4:
62632
- attributeOptions = [
62633
- { label: "color", value: "color" }
62634
- ];
62772
+ attributeOptions = [{ label: "color", value: "color" }];
62635
62773
  break;
62636
62774
  case _babylonjs_core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_12__["NodeMaterialBlockConnectionPointTypes"].Vector2:
62637
62775
  attributeOptions = [
@@ -62644,9 +62782,7 @@ var InputPropertyTabComponent = /** @class */ (function (_super) {
62644
62782
  ];
62645
62783
  break;
62646
62784
  case _babylonjs_core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_12__["NodeMaterialBlockConnectionPointTypes"].Vector3:
62647
- systemValuesOptions = [
62648
- { label: "Camera position", value: _babylonjs_core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_12__["NodeMaterialSystemValues"].CameraPosition }
62649
- ];
62785
+ systemValuesOptions = [{ label: "Camera position", value: _babylonjs_core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_12__["NodeMaterialSystemValues"].CameraPosition }];
62650
62786
  attributeOptions = [
62651
62787
  { label: "position", value: "position" },
62652
62788
  { label: "normal", value: "normal" },
@@ -62656,16 +62792,12 @@ var InputPropertyTabComponent = /** @class */ (function (_super) {
62656
62792
  case _babylonjs_core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_12__["NodeMaterialBlockConnectionPointTypes"].Vector4:
62657
62793
  attributeOptions = [
62658
62794
  { label: "matricesIndices", value: "matricesIndices" },
62659
- { label: "matricesWeights", value: "matricesWeights" }
62660
- ];
62661
- systemValuesOptions = [
62662
- { label: "Camera parameters", value: _babylonjs_core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_12__["NodeMaterialSystemValues"].CameraParameters }
62795
+ { label: "matricesWeights", value: "matricesWeights" },
62663
62796
  ];
62797
+ systemValuesOptions = [{ label: "Camera parameters", value: _babylonjs_core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_12__["NodeMaterialSystemValues"].CameraParameters }];
62664
62798
  break;
62665
62799
  }
62666
- var modeOptions = [
62667
- { label: "User-defined", value: 0 }
62668
- ];
62800
+ var modeOptions = [{ label: "User-defined", value: 0 }];
62669
62801
  if (attributeOptions.length > 0) {
62670
62802
  modeOptions.push({ label: "Mesh attribute", value: 1 });
62671
62803
  }
@@ -62675,45 +62807,43 @@ var InputPropertyTabComponent = /** @class */ (function (_super) {
62675
62807
  var typeOptions = [
62676
62808
  { label: "None", value: 0 },
62677
62809
  { label: "Visible in the inspector", value: 1 },
62678
- { label: "Constant", value: 2 }
62810
+ { label: "Constant", value: 2 },
62679
62811
  ];
62680
62812
  return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", null,
62681
62813
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_genericNodePropertyComponent__WEBPACK_IMPORTED_MODULE_13__["GeneralPropertyTabComponent"], { globalState: this.props.globalState, block: this.props.block }),
62682
62814
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_10__["LineContainerComponent"], { title: "PROPERTIES" },
62683
- inputBlock.isUniform && !inputBlock.isSystemValue && inputBlock.animationType === _babylonjs_core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_12__["AnimatedInputBlockTypes"].None &&
62684
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_optionsLineComponent__WEBPACK_IMPORTED_MODULE_11__["OptionsLineComponent"], { label: "Type", options: typeOptions, target: inputBlock, noDirectUpdate: true, getSelection: function (block) {
62685
- if (block.visibleInInspector) {
62686
- return 1;
62687
- }
62688
- if (block.isConstant) {
62689
- return 2;
62690
- }
62691
- return 0;
62692
- }, onSelect: function (value) {
62693
- switch (value) {
62694
- case 0:
62695
- inputBlock.visibleInInspector = false;
62696
- inputBlock.isConstant = false;
62697
- break;
62698
- case 1:
62699
- inputBlock.visibleInInspector = true;
62700
- inputBlock.isConstant = false;
62701
- break;
62702
- case 2:
62703
- inputBlock.visibleInInspector = false;
62704
- inputBlock.isConstant = true;
62705
- break;
62706
- }
62707
- _this.forceUpdate();
62708
- _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
62709
- _this.props.globalState.onRebuildRequiredObservable.notifyObservers(true);
62710
- } }),
62711
- inputBlock.visibleInInspector &&
62712
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_textInputLineComponent__WEBPACK_IMPORTED_MODULE_14__["TextInputLineComponent"], { globalState: this.props.globalState, label: "Group", propertyName: "groupInInspector", target: this.props.block, onChange: function () {
62713
- _this.forceUpdate();
62714
- _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
62715
- _this.props.globalState.onRebuildRequiredObservable.notifyObservers(true);
62716
- } }),
62815
+ inputBlock.isUniform && !inputBlock.isSystemValue && inputBlock.animationType === _babylonjs_core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_12__["AnimatedInputBlockTypes"].None && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_optionsLineComponent__WEBPACK_IMPORTED_MODULE_11__["OptionsLineComponent"], { label: "Type", options: typeOptions, target: inputBlock, noDirectUpdate: true, getSelection: function (block) {
62816
+ if (block.visibleInInspector) {
62817
+ return 1;
62818
+ }
62819
+ if (block.isConstant) {
62820
+ return 2;
62821
+ }
62822
+ return 0;
62823
+ }, onSelect: function (value) {
62824
+ switch (value) {
62825
+ case 0:
62826
+ inputBlock.visibleInInspector = false;
62827
+ inputBlock.isConstant = false;
62828
+ break;
62829
+ case 1:
62830
+ inputBlock.visibleInInspector = true;
62831
+ inputBlock.isConstant = false;
62832
+ break;
62833
+ case 2:
62834
+ inputBlock.visibleInInspector = false;
62835
+ inputBlock.isConstant = true;
62836
+ break;
62837
+ }
62838
+ _this.forceUpdate();
62839
+ _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
62840
+ _this.props.globalState.onRebuildRequiredObservable.notifyObservers(true);
62841
+ } })),
62842
+ inputBlock.visibleInInspector && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_textInputLineComponent__WEBPACK_IMPORTED_MODULE_14__["TextInputLineComponent"], { globalState: this.props.globalState, label: "Group", propertyName: "groupInInspector", target: this.props.block, onChange: function () {
62843
+ _this.forceUpdate();
62844
+ _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
62845
+ _this.props.globalState.onRebuildRequiredObservable.notifyObservers(true);
62846
+ } })),
62717
62847
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_optionsLineComponent__WEBPACK_IMPORTED_MODULE_11__["OptionsLineComponent"], { label: "Mode", options: modeOptions, target: inputBlock, noDirectUpdate: true, getSelection: function (block) {
62718
62848
  if (block.isAttribute) {
62719
62849
  return 1;
@@ -62740,30 +62870,25 @@ var InputPropertyTabComponent = /** @class */ (function (_super) {
62740
62870
  _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
62741
62871
  _this.props.globalState.onRebuildRequiredObservable.notifyObservers(true);
62742
62872
  } }),
62743
- inputBlock.isAttribute &&
62744
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_optionsLineComponent__WEBPACK_IMPORTED_MODULE_11__["OptionsLineComponent"], { label: "Attribute", valuesAreStrings: true, options: attributeOptions, target: inputBlock, propertyName: "name", onSelect: function (value) {
62745
- inputBlock.setAsAttribute(value);
62746
- _this.forceUpdate();
62747
- _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
62748
- _this.props.globalState.onRebuildRequiredObservable.notifyObservers(true);
62749
- } }),
62750
- inputBlock.isUniform && animationOptions.length > 0 &&
62751
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_optionsLineComponent__WEBPACK_IMPORTED_MODULE_11__["OptionsLineComponent"], { label: "Animation type", options: animationOptions, target: inputBlock, propertyName: "animationType", onSelect: function (value) {
62752
- _this.forceUpdate();
62753
- _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
62754
- _this.props.globalState.onRebuildRequiredObservable.notifyObservers(true);
62755
- } }),
62756
- inputBlock.isUniform && !inputBlock.isSystemValue && inputBlock.animationType === _babylonjs_core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_12__["AnimatedInputBlockTypes"].None &&
62757
- this.renderValue(this.props.globalState),
62758
- inputBlock.isUniform && inputBlock.isSystemValue &&
62759
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_optionsLineComponent__WEBPACK_IMPORTED_MODULE_11__["OptionsLineComponent"], { label: "System value", options: systemValuesOptions, target: inputBlock, propertyName: "systemValue", onSelect: function (value) {
62760
- inputBlock.setAsSystemValue(value);
62761
- _this.forceUpdate();
62762
- _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
62763
- _this.props.globalState.onRebuildRequiredObservable.notifyObservers(true);
62764
- } }),
62765
- inputBlock.isUniform && !inputBlock.isSystemValue && inputBlock.animationType === _babylonjs_core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_12__["AnimatedInputBlockTypes"].None &&
62766
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_15__["CheckBoxLineComponent"], { label: "Visible on frame", target: this.props.block, propertyName: "visibleOnFrame" }))));
62873
+ inputBlock.isAttribute && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_optionsLineComponent__WEBPACK_IMPORTED_MODULE_11__["OptionsLineComponent"], { label: "Attribute", valuesAreStrings: true, options: attributeOptions, target: inputBlock, propertyName: "name", onSelect: function (value) {
62874
+ inputBlock.setAsAttribute(value);
62875
+ _this.forceUpdate();
62876
+ _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
62877
+ _this.props.globalState.onRebuildRequiredObservable.notifyObservers(true);
62878
+ } })),
62879
+ inputBlock.isUniform && animationOptions.length > 0 && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_optionsLineComponent__WEBPACK_IMPORTED_MODULE_11__["OptionsLineComponent"], { label: "Animation type", options: animationOptions, target: inputBlock, propertyName: "animationType", onSelect: function (value) {
62880
+ _this.forceUpdate();
62881
+ _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
62882
+ _this.props.globalState.onRebuildRequiredObservable.notifyObservers(true);
62883
+ } })),
62884
+ inputBlock.isUniform && !inputBlock.isSystemValue && inputBlock.animationType === _babylonjs_core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_12__["AnimatedInputBlockTypes"].None && this.renderValue(this.props.globalState),
62885
+ inputBlock.isUniform && inputBlock.isSystemValue && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_optionsLineComponent__WEBPACK_IMPORTED_MODULE_11__["OptionsLineComponent"], { label: "System value", options: systemValuesOptions, target: inputBlock, propertyName: "systemValue", onSelect: function (value) {
62886
+ inputBlock.setAsSystemValue(value);
62887
+ _this.forceUpdate();
62888
+ _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
62889
+ _this.props.globalState.onRebuildRequiredObservable.notifyObservers(true);
62890
+ } })),
62891
+ inputBlock.isUniform && !inputBlock.isSystemValue && inputBlock.animationType === _babylonjs_core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_12__["AnimatedInputBlockTypes"].None && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_15__["CheckBoxLineComponent"], { label: "Visible on frame", target: this.props.block, propertyName: "visibleOnFrame" })))));
62767
62892
  };
62768
62893
  return InputPropertyTabComponent;
62769
62894
  }(react__WEBPACK_IMPORTED_MODULE_1__["Component"]));
@@ -62913,11 +63038,9 @@ var NodePortPropertyTabComponent = /** @class */ (function (_super) {
62913
63038
  };
62914
63039
  NodePortPropertyTabComponent.prototype.render = function () {
62915
63040
  var _this = this;
62916
- var info = this.props.nodePort.hasLabel() ?
62917
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](react__WEBPACK_IMPORTED_MODULE_1__["Fragment"], null,
62918
- this.props.nodePort.hasLabel() && react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_textInputLineComponent__WEBPACK_IMPORTED_MODULE_3__["TextInputLineComponent"], { globalState: this.props.globalState, label: "Port Label", propertyName: "portName", target: this.props.nodePort }),
62919
- this.props.nodePort.node.enclosingFrameId !== -1 && react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_4__["CheckBoxLineComponent"], { label: "Expose Port on Frame", target: this.props.nodePort, isSelected: function () { return _this.props.nodePort.exposedOnFrame; }, onSelect: function (value) { return _this.toggleExposeOnFrame(value); }, propertyName: "exposedOnFrame", disabled: this.props.nodePort.disabled })) :
62920
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_textLineComponent__WEBPACK_IMPORTED_MODULE_5__["TextLineComponent"], { label: "This node is a constant input node and cannot be exposed to the frame.", value: " " });
63041
+ var info = this.props.nodePort.hasLabel() ? (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](react__WEBPACK_IMPORTED_MODULE_1__["Fragment"], null,
63042
+ this.props.nodePort.hasLabel() && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_textInputLineComponent__WEBPACK_IMPORTED_MODULE_3__["TextInputLineComponent"], { globalState: this.props.globalState, label: "Port Label", propertyName: "portName", target: this.props.nodePort })),
63043
+ this.props.nodePort.node.enclosingFrameId !== -1 && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_4__["CheckBoxLineComponent"], { label: "Expose Port on Frame", target: this.props.nodePort, isSelected: function () { return _this.props.nodePort.exposedOnFrame; }, onSelect: function (value) { return _this.toggleExposeOnFrame(value); }, propertyName: "exposedOnFrame", disabled: this.props.nodePort.disabled })))) : (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_textLineComponent__WEBPACK_IMPORTED_MODULE_5__["TextLineComponent"], { label: "This node is a constant input node and cannot be exposed to the frame.", value: " " }));
62921
63044
  return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { id: "propertyTab" },
62922
63045
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { id: "header" },
62923
63046
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("img", { id: "logo", src: "https://www.babylonjs.com/Assets/logo-babylonjs-social-twitter.png" }),
@@ -62999,8 +63122,8 @@ var TexturePropertyTabComponent = /** @class */ (function (_super) {
62999
63122
  }
63000
63123
  };
63001
63124
  TexturePropertyTabComponent.prototype._generateRandomForCache = function () {
63002
- return 'xxxxxxxxxxxxxxxxxxxx'.replace(/[x]/g, function (c) {
63003
- var r = Math.random() * 10 | 0;
63125
+ return "xxxxxxxxxxxxxxxxxxxx".replace(/[x]/g, function (c) {
63126
+ var r = (Math.random() * 10) | 0;
63004
63127
  return r.toString();
63005
63128
  });
63006
63129
  };
@@ -63026,7 +63149,10 @@ var TexturePropertyTabComponent = /** @class */ (function (_super) {
63026
63149
  }
63027
63150
  if (!texture) {
63028
63151
  if (!this.state.loadAsCubeTexture) {
63029
- this.textureBlock.texture = new _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__["Texture"](null, this.props.globalState.nodeMaterial.getScene(), false, this.textureBlock instanceof _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__["ReflectionTextureBlock"] || this.textureBlock instanceof _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__["ReflectionBlock"] || this.textureBlock instanceof _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__["RefractionBlock"] || this.props.globalState.mode === _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__["NodeMaterialModes"].PostProcess);
63152
+ this.textureBlock.texture = new _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__["Texture"](null, this.props.globalState.nodeMaterial.getScene(), false, this.textureBlock instanceof _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__["ReflectionTextureBlock"] ||
63153
+ this.textureBlock instanceof _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__["ReflectionBlock"] ||
63154
+ this.textureBlock instanceof _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__["RefractionBlock"] ||
63155
+ this.props.globalState.mode === _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__["NodeMaterialModes"].PostProcess);
63030
63156
  texture = this.textureBlock.texture;
63031
63157
  texture.coordinatesMode = _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__["Texture"].EQUIRECTANGULAR_MODE;
63032
63158
  }
@@ -63098,31 +63224,40 @@ var TexturePropertyTabComponent = /** @class */ (function (_super) {
63098
63224
  var showIsInGammaSpace = this.textureBlock instanceof _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__["ReflectionBlock"];
63099
63225
  var reflectionModeOptions = [
63100
63226
  {
63101
- label: "Cubic", value: _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__["Texture"].CUBIC_MODE
63227
+ label: "Cubic",
63228
+ value: _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__["Texture"].CUBIC_MODE,
63102
63229
  },
63103
63230
  {
63104
- label: "Equirectangular", value: _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__["Texture"].EQUIRECTANGULAR_MODE
63231
+ label: "Equirectangular",
63232
+ value: _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__["Texture"].EQUIRECTANGULAR_MODE,
63105
63233
  },
63106
63234
  {
63107
- label: "Explicit", value: _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__["Texture"].EXPLICIT_MODE
63235
+ label: "Explicit",
63236
+ value: _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__["Texture"].EXPLICIT_MODE,
63108
63237
  },
63109
63238
  {
63110
- label: "Fixed equirectangular", value: _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__["Texture"].FIXED_EQUIRECTANGULAR_MODE
63239
+ label: "Fixed equirectangular",
63240
+ value: _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__["Texture"].FIXED_EQUIRECTANGULAR_MODE,
63111
63241
  },
63112
63242
  {
63113
- label: "Fixed mirrored equirectangular", value: _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__["Texture"].FIXED_EQUIRECTANGULAR_MIRRORED_MODE
63243
+ label: "Fixed mirrored equirectangular",
63244
+ value: _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__["Texture"].FIXED_EQUIRECTANGULAR_MIRRORED_MODE,
63114
63245
  },
63115
63246
  {
63116
- label: "Planar", value: _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__["Texture"].PLANAR_MODE
63247
+ label: "Planar",
63248
+ value: _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__["Texture"].PLANAR_MODE,
63117
63249
  },
63118
63250
  {
63119
- label: "Projection", value: _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__["Texture"].PROJECTION_MODE
63251
+ label: "Projection",
63252
+ value: _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__["Texture"].PROJECTION_MODE,
63120
63253
  },
63121
63254
  {
63122
- label: "Skybox", value: _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__["Texture"].SKYBOX_MODE
63255
+ label: "Skybox",
63256
+ value: _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__["Texture"].SKYBOX_MODE,
63123
63257
  },
63124
63258
  {
63125
- label: "Spherical", value: _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__["Texture"].SPHERICAL_MODE
63259
+ label: "Spherical",
63260
+ value: _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__["Texture"].SPHERICAL_MODE,
63126
63261
  },
63127
63262
  ];
63128
63263
  var samplingMode = [
@@ -63145,90 +63280,69 @@ var TexturePropertyTabComponent = /** @class */ (function (_super) {
63145
63280
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_6__["CheckBoxLineComponent"], { label: "Auto select UV", propertyName: "autoSelectUV", target: this.props.block, onValueChanged: function () {
63146
63281
  _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
63147
63282
  } }),
63148
- !isInReflectionMode &&
63149
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_6__["CheckBoxLineComponent"], { label: "Convert to gamma space", propertyName: "convertToGammaSpace", target: this.props.block, onValueChanged: function () {
63150
- _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
63151
- } }),
63152
- !isInReflectionMode &&
63153
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_6__["CheckBoxLineComponent"], { label: "Convert to linear space", propertyName: "convertToLinearSpace", target: this.props.block, onValueChanged: function () {
63154
- _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
63155
- } }),
63156
- texture && showIsInGammaSpace &&
63157
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_6__["CheckBoxLineComponent"], { label: "Is in gamma space", propertyName: "gammaSpace", target: texture, onValueChanged: function () {
63158
- _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
63159
- } }),
63283
+ !isInReflectionMode && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_6__["CheckBoxLineComponent"], { label: "Convert to gamma space", propertyName: "convertToGammaSpace", target: this.props.block, onValueChanged: function () {
63284
+ _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
63285
+ } })),
63286
+ !isInReflectionMode && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_6__["CheckBoxLineComponent"], { label: "Convert to linear space", propertyName: "convertToLinearSpace", target: this.props.block, onValueChanged: function () {
63287
+ _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
63288
+ } })),
63289
+ texture && showIsInGammaSpace && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_6__["CheckBoxLineComponent"], { label: "Is in gamma space", propertyName: "gammaSpace", target: texture, onValueChanged: function () {
63290
+ _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
63291
+ } })),
63160
63292
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_6__["CheckBoxLineComponent"], { label: "Disable multiplying by level", propertyName: "disableLevelMultiplication", target: this.props.block, onValueChanged: function () {
63161
63293
  _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
63162
63294
  _this.props.globalState.onRebuildRequiredObservable.notifyObservers(true);
63163
63295
  } }),
63164
- texture && texture.updateSamplingMode &&
63165
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_optionsLineComponent__WEBPACK_IMPORTED_MODULE_10__["OptionsLineComponent"], { label: "Sampling", options: samplingMode, target: texture, noDirectUpdate: true, propertyName: "samplingMode", onSelect: function (value) {
63166
- texture.updateSamplingMode(value);
63167
- _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
63168
- } }),
63169
- texture && isInReflectionMode &&
63170
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_optionsLineComponent__WEBPACK_IMPORTED_MODULE_10__["OptionsLineComponent"], { label: "Reflection mode", options: reflectionModeOptions, target: texture, propertyName: "coordinatesMode", onSelect: function (value) {
63171
- texture.coordinatesMode = value;
63172
- _this.forceUpdate();
63173
- _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
63174
- } }),
63175
- texture && !isInReflectionMode && !isFrozenTexture &&
63176
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_6__["CheckBoxLineComponent"], { label: "Clamp U", isSelected: function () { return texture.wrapU === _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__["Texture"].CLAMP_ADDRESSMODE; }, onSelect: function (value) {
63177
- texture.wrapU = value ? _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__["Texture"].CLAMP_ADDRESSMODE : _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__["Texture"].WRAP_ADDRESSMODE;
63178
- _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
63179
- } }),
63180
- texture && !isInReflectionMode && !isFrozenTexture &&
63181
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_6__["CheckBoxLineComponent"], { label: "Clamp V", isSelected: function () { return texture.wrapV === _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__["Texture"].CLAMP_ADDRESSMODE; }, onSelect: function (value) {
63182
- texture.wrapV = value ? _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__["Texture"].CLAMP_ADDRESSMODE : _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__["Texture"].WRAP_ADDRESSMODE;
63183
- _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
63184
- } }),
63185
- texture && !isInReflectionMode && !isFrozenTexture &&
63186
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_floatLineComponent__WEBPACK_IMPORTED_MODULE_8__["FloatLineComponent"], { globalState: this.props.globalState, label: "Offset U", target: texture, propertyName: "uOffset", onChange: function () {
63187
- _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
63188
- } }),
63189
- texture && !isInReflectionMode && !isFrozenTexture &&
63190
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_floatLineComponent__WEBPACK_IMPORTED_MODULE_8__["FloatLineComponent"], { globalState: this.props.globalState, label: "Offset V", target: texture, propertyName: "vOffset", onChange: function () {
63191
- _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
63192
- } }),
63193
- texture && !isInReflectionMode && !isFrozenTexture &&
63194
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_floatLineComponent__WEBPACK_IMPORTED_MODULE_8__["FloatLineComponent"], { globalState: this.props.globalState, label: "Scale U", target: texture, propertyName: "uScale", onChange: function () {
63195
- _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
63196
- } }),
63197
- texture && !isInReflectionMode && !isFrozenTexture &&
63198
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_floatLineComponent__WEBPACK_IMPORTED_MODULE_8__["FloatLineComponent"], { globalState: this.props.globalState, label: "Scale V", target: texture, propertyName: "vScale", onChange: function () {
63199
- _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
63200
- } }),
63201
- texture && !isInReflectionMode && !isFrozenTexture &&
63202
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_sliderLineComponent__WEBPACK_IMPORTED_MODULE_7__["SliderLineComponent"], { label: "Rotation U", target: texture, globalState: this.props.globalState, propertyName: "uAng", minimum: 0, maximum: Math.PI * 2, useEuler: true, step: 0.1, onChange: function () {
63203
- _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
63204
- } }),
63205
- texture && !isInReflectionMode && !isFrozenTexture &&
63206
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_sliderLineComponent__WEBPACK_IMPORTED_MODULE_7__["SliderLineComponent"], { label: "Rotation V", target: texture, globalState: this.props.globalState, propertyName: "vAng", minimum: 0, maximum: Math.PI * 2, useEuler: true, step: 0.1, onChange: function () {
63207
- _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
63208
- } }),
63209
- texture && !isInReflectionMode && !isFrozenTexture &&
63210
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_sliderLineComponent__WEBPACK_IMPORTED_MODULE_7__["SliderLineComponent"], { label: "Rotation W", target: texture, globalState: this.props.globalState, propertyName: "wAng", minimum: 0, maximum: Math.PI * 2, useEuler: true, step: 0.1, onChange: function () {
63211
- _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
63212
- } })),
63213
- !this.textureBlock.hasImageSource &&
63214
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_4__["LineContainerComponent"], { title: "SOURCE" },
63215
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_6__["CheckBoxLineComponent"], { label: "Embed static texture", isSelected: function () { return _this.state.isEmbedded; }, onSelect: function (value) {
63216
- _this.setState({ isEmbedded: value });
63217
- _this.textureBlock.texture = null;
63218
- _this.updateAfterTextureLoad();
63219
- } }),
63220
- isInReflectionMode &&
63221
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_6__["CheckBoxLineComponent"], { label: "Load as cube texture", isSelected: function () { return _this.state.loadAsCubeTexture; }, onSelect: function (value) { return _this.setState({ loadAsCubeTexture: value }); } }),
63222
- isInReflectionMode && this.state.loadAsCubeTexture &&
63223
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_6__["CheckBoxLineComponent"], { label: "\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0Texture is prefiltered", isSelected: function () { return _this.state.textureIsPrefiltered; }, onSelect: function (value) { return _this.setState({ textureIsPrefiltered: value }); } }),
63224
- this.state.isEmbedded &&
63225
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_fileButtonLineComponent__WEBPACK_IMPORTED_MODULE_2__["FileButtonLineComponent"], { label: "Upload", onClick: function (file) { return _this.replaceTexture(file); }, accept: ".jpg, .png, .tga, .dds, .env" }),
63226
- !this.state.isEmbedded &&
63227
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_textInputLineComponent__WEBPACK_IMPORTED_MODULE_5__["TextInputLineComponent"], { label: "Link", globalState: this.props.globalState, value: url, onChange: function (newUrl) { return _this.replaceTextureWithUrl(newUrl); } }),
63228
- !this.state.isEmbedded && url &&
63229
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_buttonLineComponent__WEBPACK_IMPORTED_MODULE_9__["ButtonLineComponent"], { label: "Refresh", onClick: function () { return _this.replaceTextureWithUrl(url + "?nocache=" + _this._generateRandomForCache()); } }),
63230
- texture &&
63231
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_buttonLineComponent__WEBPACK_IMPORTED_MODULE_9__["ButtonLineComponent"], { label: "Remove", onClick: function () { return _this.removeTexture(); } })),
63296
+ texture && texture.updateSamplingMode && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_optionsLineComponent__WEBPACK_IMPORTED_MODULE_10__["OptionsLineComponent"], { label: "Sampling", options: samplingMode, target: texture, noDirectUpdate: true, propertyName: "samplingMode", onSelect: function (value) {
63297
+ texture.updateSamplingMode(value);
63298
+ _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
63299
+ } })),
63300
+ texture && isInReflectionMode && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_optionsLineComponent__WEBPACK_IMPORTED_MODULE_10__["OptionsLineComponent"], { label: "Reflection mode", options: reflectionModeOptions, target: texture, propertyName: "coordinatesMode", onSelect: function (value) {
63301
+ texture.coordinatesMode = value;
63302
+ _this.forceUpdate();
63303
+ _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
63304
+ } })),
63305
+ texture && !isInReflectionMode && !isFrozenTexture && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_6__["CheckBoxLineComponent"], { label: "Clamp U", isSelected: function () { return texture.wrapU === _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__["Texture"].CLAMP_ADDRESSMODE; }, onSelect: function (value) {
63306
+ texture.wrapU = value ? _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__["Texture"].CLAMP_ADDRESSMODE : _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__["Texture"].WRAP_ADDRESSMODE;
63307
+ _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
63308
+ } })),
63309
+ texture && !isInReflectionMode && !isFrozenTexture && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_6__["CheckBoxLineComponent"], { label: "Clamp V", isSelected: function () { return texture.wrapV === _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__["Texture"].CLAMP_ADDRESSMODE; }, onSelect: function (value) {
63310
+ texture.wrapV = value ? _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__["Texture"].CLAMP_ADDRESSMODE : _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__["Texture"].WRAP_ADDRESSMODE;
63311
+ _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
63312
+ } })),
63313
+ texture && !isInReflectionMode && !isFrozenTexture && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_floatLineComponent__WEBPACK_IMPORTED_MODULE_8__["FloatLineComponent"], { globalState: this.props.globalState, label: "Offset U", target: texture, propertyName: "uOffset", onChange: function () {
63314
+ _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
63315
+ } })),
63316
+ texture && !isInReflectionMode && !isFrozenTexture && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_floatLineComponent__WEBPACK_IMPORTED_MODULE_8__["FloatLineComponent"], { globalState: this.props.globalState, label: "Offset V", target: texture, propertyName: "vOffset", onChange: function () {
63317
+ _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
63318
+ } })),
63319
+ texture && !isInReflectionMode && !isFrozenTexture && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_floatLineComponent__WEBPACK_IMPORTED_MODULE_8__["FloatLineComponent"], { globalState: this.props.globalState, label: "Scale U", target: texture, propertyName: "uScale", onChange: function () {
63320
+ _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
63321
+ } })),
63322
+ texture && !isInReflectionMode && !isFrozenTexture && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_floatLineComponent__WEBPACK_IMPORTED_MODULE_8__["FloatLineComponent"], { globalState: this.props.globalState, label: "Scale V", target: texture, propertyName: "vScale", onChange: function () {
63323
+ _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
63324
+ } })),
63325
+ texture && !isInReflectionMode && !isFrozenTexture && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_sliderLineComponent__WEBPACK_IMPORTED_MODULE_7__["SliderLineComponent"], { label: "Rotation U", target: texture, globalState: this.props.globalState, propertyName: "uAng", minimum: 0, maximum: Math.PI * 2, useEuler: true, step: 0.1, onChange: function () {
63326
+ _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
63327
+ } })),
63328
+ texture && !isInReflectionMode && !isFrozenTexture && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_sliderLineComponent__WEBPACK_IMPORTED_MODULE_7__["SliderLineComponent"], { label: "Rotation V", target: texture, globalState: this.props.globalState, propertyName: "vAng", minimum: 0, maximum: Math.PI * 2, useEuler: true, step: 0.1, onChange: function () {
63329
+ _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
63330
+ } })),
63331
+ texture && !isInReflectionMode && !isFrozenTexture && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_sliderLineComponent__WEBPACK_IMPORTED_MODULE_7__["SliderLineComponent"], { label: "Rotation W", target: texture, globalState: this.props.globalState, propertyName: "wAng", minimum: 0, maximum: Math.PI * 2, useEuler: true, step: 0.1, onChange: function () {
63332
+ _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
63333
+ } }))),
63334
+ !this.textureBlock.hasImageSource && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_4__["LineContainerComponent"], { title: "SOURCE" },
63335
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_6__["CheckBoxLineComponent"], { label: "Embed static texture", isSelected: function () { return _this.state.isEmbedded; }, onSelect: function (value) {
63336
+ _this.setState({ isEmbedded: value });
63337
+ _this.textureBlock.texture = null;
63338
+ _this.updateAfterTextureLoad();
63339
+ } }),
63340
+ isInReflectionMode && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_6__["CheckBoxLineComponent"], { label: "Load as cube texture", isSelected: function () { return _this.state.loadAsCubeTexture; }, onSelect: function (value) { return _this.setState({ loadAsCubeTexture: value }); } })),
63341
+ isInReflectionMode && this.state.loadAsCubeTexture && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_6__["CheckBoxLineComponent"], { label: "\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0Texture is prefiltered", isSelected: function () { return _this.state.textureIsPrefiltered; }, onSelect: function (value) { return _this.setState({ textureIsPrefiltered: value }); } })),
63342
+ this.state.isEmbedded && react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_fileButtonLineComponent__WEBPACK_IMPORTED_MODULE_2__["FileButtonLineComponent"], { label: "Upload", onClick: function (file) { return _this.replaceTexture(file); }, accept: ".jpg, .png, .tga, .dds, .env" }),
63343
+ !this.state.isEmbedded && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_textInputLineComponent__WEBPACK_IMPORTED_MODULE_5__["TextInputLineComponent"], { label: "Link", globalState: this.props.globalState, value: url, onChange: function (newUrl) { return _this.replaceTextureWithUrl(newUrl); } })),
63344
+ !this.state.isEmbedded && url && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_buttonLineComponent__WEBPACK_IMPORTED_MODULE_9__["ButtonLineComponent"], { label: "Refresh", onClick: function () { return _this.replaceTextureWithUrl(url + "?nocache=" + _this._generateRandomForCache()); } })),
63345
+ texture && react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_buttonLineComponent__WEBPACK_IMPORTED_MODULE_9__["ButtonLineComponent"], { label: "Remove", onClick: function () { return _this.removeTexture(); } }))),
63232
63346
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_genericNodePropertyComponent__WEBPACK_IMPORTED_MODULE_11__["GenericPropertyTabComponent"], { globalState: this.props.globalState, block: this.props.block })));
63233
63347
  };
63234
63348
  return TexturePropertyTabComponent;
@@ -63337,7 +63451,7 @@ var TrigonometryPropertyTabComponent = /** @class */ (function (_super) {
63337
63451
  { label: "Fract", value: _babylonjs_core_Materials_Node_Blocks_trigonometryBlock__WEBPACK_IMPORTED_MODULE_4__["TrigonometryBlockOperations"].Fract },
63338
63452
  { label: "Sign", value: _babylonjs_core_Materials_Node_Blocks_trigonometryBlock__WEBPACK_IMPORTED_MODULE_4__["TrigonometryBlockOperations"].Sign },
63339
63453
  { label: "Radians to degrees", value: _babylonjs_core_Materials_Node_Blocks_trigonometryBlock__WEBPACK_IMPORTED_MODULE_4__["TrigonometryBlockOperations"].Degrees },
63340
- { label: "Degrees to radians", value: _babylonjs_core_Materials_Node_Blocks_trigonometryBlock__WEBPACK_IMPORTED_MODULE_4__["TrigonometryBlockOperations"].Radians }
63454
+ { label: "Degrees to radians", value: _babylonjs_core_Materials_Node_Blocks_trigonometryBlock__WEBPACK_IMPORTED_MODULE_4__["TrigonometryBlockOperations"].Radians },
63341
63455
  ];
63342
63456
  operationOptions.sort(function (a, b) {
63343
63457
  return a.label.localeCompare(b.label);
@@ -63614,6 +63728,7 @@ __webpack_require__.r(__webpack_exports__);
63614
63728
 
63615
63729
 
63616
63730
 
63731
+
63617
63732
  __webpack_require__(/*! ./main.scss */ "./main.scss");
63618
63733
  var GraphEditor = /** @class */ (function (_super) {
63619
63734
  Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(GraphEditor, _super);
@@ -63629,10 +63744,10 @@ var GraphEditor = /** @class */ (function (_super) {
63629
63744
  _this._mouseLocationY = 0;
63630
63745
  _this.handlePopUp = function () {
63631
63746
  _this.setState({
63632
- showPreviewPopUp: true
63747
+ showPreviewPopUp: true,
63633
63748
  });
63634
63749
  _this.createPopUp();
63635
- _this.props.globalState.hostWindow.addEventListener('beforeunload', _this.handleClosingPopUp);
63750
+ _this.props.globalState.hostWindow.addEventListener("beforeunload", _this.handleClosingPopUp);
63636
63751
  };
63637
63752
  _this.handleClosingPopUp = function () {
63638
63753
  if (_this._previewManager) {
@@ -63640,7 +63755,7 @@ var GraphEditor = /** @class */ (function (_super) {
63640
63755
  }
63641
63756
  _this._popUpWindow.close();
63642
63757
  _this.setState({
63643
- showPreviewPopUp: false
63758
+ showPreviewPopUp: false,
63644
63759
  }, function () { return _this.initiatePreviewArea(); });
63645
63760
  };
63646
63761
  _this.initiatePreviewArea = function (canvas) {
@@ -63660,8 +63775,8 @@ var GraphEditor = /** @class */ (function (_super) {
63660
63775
  var options = Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__assign"])({ embedHostWidth: "100%" }, userOptions);
63661
63776
  var popUpWindow = _this.createPopupWindow("PREVIEW AREA", "_PreviewHostWindow");
63662
63777
  if (popUpWindow) {
63663
- popUpWindow.addEventListener('beforeunload', _this.handleClosingPopUp);
63664
- var parentControl = popUpWindow.document.getElementById('node-editor-graph-root');
63778
+ popUpWindow.addEventListener("beforeunload", _this.handleClosingPopUp);
63779
+ var parentControl = popUpWindow.document.getElementById("node-editor-graph-root");
63665
63780
  _this.createPreviewMeshControlHost(options, parentControl);
63666
63781
  _this.createPreviewHost(options, parentControl);
63667
63782
  if (parentControl) {
@@ -63677,11 +63792,11 @@ var GraphEditor = /** @class */ (function (_super) {
63677
63792
  width: width,
63678
63793
  height: height,
63679
63794
  top: (_this.props.globalState.hostWindow.innerHeight - width) / 2 + window.screenY,
63680
- left: (_this.props.globalState.hostWindow.innerWidth - height) / 2 + window.screenX
63795
+ left: (_this.props.globalState.hostWindow.innerWidth - height) / 2 + window.screenX,
63681
63796
  };
63682
63797
  var windowCreationOptions = Object.keys(windowCreationOptionsList)
63683
- .map(function (key) { return key + '=' + windowCreationOptionsList[key]; })
63684
- .join(',');
63798
+ .map(function (key) { return key + "=" + windowCreationOptionsList[key]; })
63799
+ .join(",");
63685
63800
  var popupWindow = _this.props.globalState.hostWindow.open("", title, windowCreationOptions);
63686
63801
  if (!popupWindow) {
63687
63802
  return null;
@@ -63699,8 +63814,8 @@ var GraphEditor = /** @class */ (function (_super) {
63699
63814
  parentControl.style.padding = "0";
63700
63815
  parentControl.style.display = "grid";
63701
63816
  parentControl.style.gridTemplateRows = "40px auto";
63702
- parentControl.id = 'node-editor-graph-root';
63703
- parentControl.className = 'right-panel popup';
63817
+ parentControl.id = "node-editor-graph-root";
63818
+ parentControl.className = "right-panel popup";
63704
63819
  popupWindow.document.body.appendChild(parentControl);
63705
63820
  _sharedComponents_popup__WEBPACK_IMPORTED_MODULE_16__["Popup"]._CopyStyles(_this.props.globalState.hostWindow.document, parentDocument);
63706
63821
  _this[windowVariableName] = popupWindow;
@@ -63716,7 +63831,7 @@ var GraphEditor = /** @class */ (function (_super) {
63716
63831
  parentControl.appendChild(host);
63717
63832
  var PreviewMeshControlComponentHost = react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_components_preview_previewMeshControlComponent__WEBPACK_IMPORTED_MODULE_10__["PreviewMeshControlComponent"], {
63718
63833
  globalState: _this.props.globalState,
63719
- togglePreviewAreaComponent: _this.handlePopUp
63834
+ togglePreviewAreaComponent: _this.handlePopUp,
63720
63835
  });
63721
63836
  react_dom__WEBPACK_IMPORTED_MODULE_15__["render"](PreviewMeshControlComponentHost, host);
63722
63837
  }
@@ -63730,7 +63845,7 @@ var GraphEditor = /** @class */ (function (_super) {
63730
63845
  host.style.height = "100%";
63731
63846
  host.style.overflow = "hidden";
63732
63847
  host.style.display = "grid";
63733
- host.style.gridRow = '2';
63848
+ host.style.gridRow = "2";
63734
63849
  host.style.gridTemplateRows = "auto 40px";
63735
63850
  host.style.gridTemplateRows = "calc(100% - 40px) 40px";
63736
63851
  parentControl.appendChild(host);
@@ -63742,7 +63857,7 @@ var GraphEditor = /** @class */ (function (_super) {
63742
63857
  if (_this._previewHost) {
63743
63858
  var PreviewAreaComponentHost = react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_components_preview_previewAreaComponent__WEBPACK_IMPORTED_MODULE_11__["PreviewAreaComponent"], {
63744
63859
  globalState: _this.props.globalState,
63745
- width: 200
63860
+ width: 200,
63746
63861
  });
63747
63862
  react_dom__WEBPACK_IMPORTED_MODULE_15__["render"](PreviewAreaComponentHost, _this._previewHost);
63748
63863
  }
@@ -63757,17 +63872,17 @@ var GraphEditor = /** @class */ (function (_super) {
63757
63872
  if (previewConfigBar) {
63758
63873
  previewConfigBar.style.gridRow = "2";
63759
63874
  }
63760
- var newWindowButton = document.getElementById('preview-new-window');
63875
+ var newWindowButton = document.getElementById("preview-new-window");
63761
63876
  if (newWindowButton) {
63762
- newWindowButton.style.display = 'none';
63877
+ newWindowButton.style.display = "none";
63763
63878
  }
63764
- var previewMeshBar = document.getElementById('preview-mesh-bar');
63879
+ var previewMeshBar = document.getElementById("preview-mesh-bar");
63765
63880
  if (previewMeshBar) {
63766
63881
  previewMeshBar.style.gridTemplateColumns = "auto 1fr 40px 40px";
63767
63882
  }
63768
63883
  };
63769
63884
  _this.state = {
63770
- showPreviewPopUp: false
63885
+ showPreviewPopUp: false,
63771
63886
  };
63772
63887
  _this.props.globalState.onRebuildRequiredObservable.add(function (autoConfigure) {
63773
63888
  if (_this.props.globalState.nodeMaterial) {
@@ -63783,7 +63898,7 @@ var GraphEditor = /** @class */ (function (_super) {
63783
63898
  _this.props.globalState.onImportFrameObservable.add(function (source) {
63784
63899
  var frameData = source.editorData.frames[0];
63785
63900
  // create new graph nodes for only blocks from frame (last blocks added)
63786
- _this.props.globalState.nodeMaterial.attachedBlocks.slice(-(frameData.blocks.length)).forEach(function (block) {
63901
+ _this.props.globalState.nodeMaterial.attachedBlocks.slice(-frameData.blocks.length).forEach(function (block) {
63787
63902
  _this.createNodeFromObject(block);
63788
63903
  });
63789
63904
  _this._graphCanvas.addFrame(frameData);
@@ -63799,7 +63914,8 @@ var GraphEditor = /** @class */ (function (_super) {
63799
63914
  return _this._graphCanvas.findNodeFromBlock(block);
63800
63915
  };
63801
63916
  _this.props.globalState.hostDocument.addEventListener("keydown", function (evt) {
63802
- if ((evt.keyCode === 46 || evt.keyCode === 8) && !_this.props.globalState.blockKeyboardEvents) { // Delete
63917
+ if ((evt.keyCode === 46 || evt.keyCode === 8) && !_this.props.globalState.blockKeyboardEvents) {
63918
+ // Delete
63803
63919
  var selectedItems = _this._graphCanvas.selectedNodes;
63804
63920
  for (var _i = 0, selectedItems_1 = selectedItems; _i < selectedItems_1.length; _i++) {
63805
63921
  var selectedItem = selectedItems_1[_i];
@@ -63842,7 +63958,8 @@ var GraphEditor = /** @class */ (function (_super) {
63842
63958
  if (!evt.ctrlKey || _this.props.globalState.blockKeyboardEvents) {
63843
63959
  return;
63844
63960
  }
63845
- if (evt.key === "c" || evt.key === "C") { // Copy
63961
+ if (evt.key === "c" || evt.key === "C") {
63962
+ // Copy
63846
63963
  _this._copiedNodes = [];
63847
63964
  _this._copiedFrame = null;
63848
63965
  if (_this._graphCanvas.selectedFrame) {
@@ -63860,7 +63977,8 @@ var GraphEditor = /** @class */ (function (_super) {
63860
63977
  }
63861
63978
  _this._copiedNodes = selectedItems.slice(0);
63862
63979
  }
63863
- else if (evt.key === "v" || evt.key === "V") { // Paste
63980
+ else if (evt.key === "v" || evt.key === "V") {
63981
+ // Paste
63864
63982
  var rootElement = _this.props.globalState.hostDocument.querySelector(".diagram-container");
63865
63983
  var zoomLevel = _this._graphCanvas.zoom;
63866
63984
  var currentY = (_this._mouseLocationY - rootElement.offsetTop - _this._graphCanvas.y - 20) / zoomLevel;
@@ -64082,7 +64200,7 @@ var GraphEditor = /** @class */ (function (_super) {
64082
64200
  this._graphCanvas._isLoading = true; // Will help loading large graphes
64083
64201
  if (editorData instanceof Array) {
64084
64202
  editorData = {
64085
- locations: editorData
64203
+ locations: editorData,
64086
64204
  };
64087
64205
  }
64088
64206
  // setup the diagram model
@@ -64199,7 +64317,20 @@ var GraphEditor = /** @class */ (function (_super) {
64199
64317
  var _this = this;
64200
64318
  var data = event.dataTransfer.getData("babylonjs-material-node");
64201
64319
  var newNode;
64202
- if (data.indexOf("Custom") > -1) {
64320
+ var customBlockData;
64321
+ if (data.indexOf("CustomBlock") > -1) {
64322
+ var storageData = localStorage.getItem(data);
64323
+ if (!storageData) {
64324
+ this.props.globalState.onErrorMessageDialogRequiredObservable.notifyObservers("Error loading custom block");
64325
+ return;
64326
+ }
64327
+ customBlockData = JSON.parse(storageData);
64328
+ if (!customBlockData) {
64329
+ this.props.globalState.onErrorMessageDialogRequiredObservable.notifyObservers("Error parsing custom block");
64330
+ return;
64331
+ }
64332
+ }
64333
+ else if (data.indexOf("Custom") > -1) {
64203
64334
  var storageData = localStorage.getItem(data);
64204
64335
  if (storageData) {
64205
64336
  var frameData = JSON.parse(storageData);
@@ -64225,7 +64356,14 @@ var GraphEditor = /** @class */ (function (_super) {
64225
64356
  newNode = this.addValueNode(data);
64226
64357
  }
64227
64358
  else {
64228
- var block_1 = _blockTools__WEBPACK_IMPORTED_MODULE_8__["BlockTools"].GetBlockFromString(data, this.props.globalState.nodeMaterial.getScene(), this.props.globalState.nodeMaterial);
64359
+ var block_1;
64360
+ if (customBlockData) {
64361
+ block_1 = new _babylonjs_core_Misc_dataStorage__WEBPACK_IMPORTED_MODULE_6__["CustomBlock"]("");
64362
+ block_1.options = customBlockData;
64363
+ }
64364
+ else {
64365
+ block_1 = _blockTools__WEBPACK_IMPORTED_MODULE_8__["BlockTools"].GetBlockFromString(data, this.props.globalState.nodeMaterial.getScene(), this.props.globalState.nodeMaterial);
64366
+ }
64229
64367
  if (block_1.isUnique) {
64230
64368
  var className = block_1.getClassName();
64231
64369
  for (var _b = 0, _c = this._blocks; _b < _c.length; _b++) {
@@ -64250,7 +64388,9 @@ var GraphEditor = /** @class */ (function (_super) {
64250
64388
  x -= this.NodeWidth + 150;
64251
64389
  block.inputs.forEach(function (connection) {
64252
64390
  if (connection.connectedPoint) {
64253
- var existingNodes = _this._graphCanvas.nodes.filter(function (n) { return n.block === connection.connectedPoint.ownerBlock; });
64391
+ var existingNodes = _this._graphCanvas.nodes.filter(function (n) {
64392
+ return n.block === connection.connectedPoint.ownerBlock;
64393
+ });
64254
64394
  var connectedNode = existingNodes[0];
64255
64395
  if (connectedNode.x === 0 && connectedNode.y === 0) {
64256
64396
  connectedNode.x = x / _this._graphCanvas.zoom;
@@ -64266,7 +64406,7 @@ var GraphEditor = /** @class */ (function (_super) {
64266
64406
  var _this = this;
64267
64407
  return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_portal__WEBPACK_IMPORTED_MODULE_4__["Portal"], { globalState: this.props.globalState },
64268
64408
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { id: "node-editor-graph-root", style: {
64269
- gridTemplateColumns: this.buildColumnLayout()
64409
+ gridTemplateColumns: this.buildColumnLayout(),
64270
64410
  }, onMouseMove: function (evt) {
64271
64411
  _this._mouseLocationX = evt.pageX;
64272
64412
  _this._mouseLocationY = evt.pageY;
@@ -64666,7 +64806,7 @@ var CheckBoxLineComponent = /** @class */ (function (_super) {
64666
64806
  object: this.props.target,
64667
64807
  property: this.props.propertyName,
64668
64808
  value: !this.state.isSelected,
64669
- initialValue: this.state.isSelected
64809
+ initialValue: this.state.isSelected,
64670
64810
  });
64671
64811
  }
64672
64812
  this.props.target[this.props.propertyName] = !this.state.isSelected;
@@ -64682,7 +64822,7 @@ var CheckBoxLineComponent = /** @class */ (function (_super) {
64682
64822
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "label", title: this.props.label }, this.props.label),
64683
64823
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "checkBox" },
64684
64824
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("input", { type: "checkbox", id: "checkbox" + this._uniqueId, className: "cbx hidden", checked: this.state.isSelected, onChange: function () { return _this.onChange(); }, disabled: !!this.props.disabled }),
64685
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("label", { htmlFor: "checkbox" + this._uniqueId, className: "lbl" + (!!this.props.disabled ? ' disabled' : '') }))));
64825
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("label", { htmlFor: "checkbox" + this._uniqueId, className: "lbl" + (!!this.props.disabled ? " disabled" : "") }))));
64686
64826
  };
64687
64827
  CheckBoxLineComponent._UniqueIdSeed = 0;
64688
64828
  return CheckBoxLineComponent;
@@ -64743,7 +64883,7 @@ var Color3LineComponent = /** @class */ (function (_super) {
64743
64883
  object: this.props.target,
64744
64884
  property: this.props.propertyName,
64745
64885
  value: newColor,
64746
- initialValue: this.state.color
64886
+ initialValue: this.state.color,
64747
64887
  });
64748
64888
  }
64749
64889
  this.props.target[this.props.propertyName] = newColor;
@@ -64767,7 +64907,7 @@ var Color3LineComponent = /** @class */ (function (_super) {
64767
64907
  object: this.props.target,
64768
64908
  property: this.props.propertyName,
64769
64909
  value: this.state.color,
64770
- initialValue: previousValue
64910
+ initialValue: previousValue,
64771
64911
  });
64772
64912
  };
64773
64913
  Color3LineComponent.prototype.updateStateR = function (value) {
@@ -64798,7 +64938,7 @@ var Color3LineComponent = /** @class */ (function (_super) {
64798
64938
  this.raiseOnPropertyChanged(store);
64799
64939
  };
64800
64940
  Color3LineComponent.prototype.copyToClipboard = function () {
64801
- var element = document.createElement('div');
64941
+ var element = document.createElement("div");
64802
64942
  element.textContent = this.state.color.toHexString();
64803
64943
  document.body.appendChild(element);
64804
64944
  if (window.getSelection) {
@@ -64807,7 +64947,7 @@ var Color3LineComponent = /** @class */ (function (_super) {
64807
64947
  window.getSelection().removeAllRanges();
64808
64948
  window.getSelection().addRange(range);
64809
64949
  }
64810
- document.execCommand('copy');
64950
+ document.execCommand("copy");
64811
64951
  element.remove();
64812
64952
  };
64813
64953
  Color3LineComponent.prototype.render = function () {
@@ -64824,11 +64964,10 @@ var Color3LineComponent = /** @class */ (function (_super) {
64824
64964
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("img", { src: copyIcon, alt: "" })),
64825
64965
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "expand hoverIcon", onClick: function () { return _this.switchExpandState(); }, title: "Expand" },
64826
64966
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("img", { src: expandedIcon, alt: "" }))),
64827
- this.state.isExpanded &&
64828
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "secondLine" },
64829
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_numericInputComponent__WEBPACK_IMPORTED_MODULE_3__["NumericInputComponent"], { globalState: this.props.globalState, label: "r", value: this.state.color.r, onChange: function (value) { return _this.updateStateR(value); } }),
64830
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_numericInputComponent__WEBPACK_IMPORTED_MODULE_3__["NumericInputComponent"], { globalState: this.props.globalState, label: "g", value: this.state.color.g, onChange: function (value) { return _this.updateStateG(value); } }),
64831
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_numericInputComponent__WEBPACK_IMPORTED_MODULE_3__["NumericInputComponent"], { globalState: this.props.globalState, label: "b", value: this.state.color.b, onChange: function (value) { return _this.updateStateB(value); } }))));
64967
+ this.state.isExpanded && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "secondLine" },
64968
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_numericInputComponent__WEBPACK_IMPORTED_MODULE_3__["NumericInputComponent"], { globalState: this.props.globalState, label: "r", value: this.state.color.r, onChange: function (value) { return _this.updateStateR(value); } }),
64969
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_numericInputComponent__WEBPACK_IMPORTED_MODULE_3__["NumericInputComponent"], { globalState: this.props.globalState, label: "g", value: this.state.color.g, onChange: function (value) { return _this.updateStateG(value); } }),
64970
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_numericInputComponent__WEBPACK_IMPORTED_MODULE_3__["NumericInputComponent"], { globalState: this.props.globalState, label: "b", value: this.state.color.b, onChange: function (value) { return _this.updateStateB(value); } })))));
64832
64971
  };
64833
64972
  return Color3LineComponent;
64834
64973
  }(react__WEBPACK_IMPORTED_MODULE_1__["Component"]));
@@ -64890,7 +65029,7 @@ var Color4LineComponent = /** @class */ (function (_super) {
64890
65029
  object: this.props.target,
64891
65030
  property: this.props.propertyName,
64892
65031
  value: newColor,
64893
- initialValue: this.state.color
65032
+ initialValue: this.state.color,
64894
65033
  });
64895
65034
  }
64896
65035
  this.props.target[this.props.propertyName] = newColor;
@@ -64914,7 +65053,7 @@ var Color4LineComponent = /** @class */ (function (_super) {
64914
65053
  object: this.props.target,
64915
65054
  property: this.props.propertyName,
64916
65055
  value: this.state.color,
64917
- initialValue: previousValue
65056
+ initialValue: previousValue,
64918
65057
  });
64919
65058
  };
64920
65059
  Color4LineComponent.prototype.updateStateR = function (value) {
@@ -64954,7 +65093,7 @@ var Color4LineComponent = /** @class */ (function (_super) {
64954
65093
  this.raiseOnPropertyChanged(store);
64955
65094
  };
64956
65095
  Color4LineComponent.prototype.copyToClipboard = function () {
64957
- var element = document.createElement('div');
65096
+ var element = document.createElement("div");
64958
65097
  element.textContent = this.state.color.toHexString();
64959
65098
  document.body.appendChild(element);
64960
65099
  if (window.getSelection) {
@@ -64963,7 +65102,7 @@ var Color4LineComponent = /** @class */ (function (_super) {
64963
65102
  window.getSelection().removeAllRanges();
64964
65103
  window.getSelection().addRange(range);
64965
65104
  }
64966
- document.execCommand('copy');
65105
+ document.execCommand("copy");
64967
65106
  element.remove();
64968
65107
  };
64969
65108
  Color4LineComponent.prototype.render = function () {
@@ -64980,12 +65119,11 @@ var Color4LineComponent = /** @class */ (function (_super) {
64980
65119
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("img", { src: copyIcon, alt: "" })),
64981
65120
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "expand hoverIcon", onClick: function () { return _this.switchExpandState(); }, title: "Expand" },
64982
65121
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("img", { src: expandedIcon, alt: "" }))),
64983
- this.state.isExpanded &&
64984
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "secondLine" },
64985
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_numericInputComponent__WEBPACK_IMPORTED_MODULE_3__["NumericInputComponent"], { globalState: this.props.globalState, label: "r", value: this.state.color.r, onChange: function (value) { return _this.updateStateR(value); } }),
64986
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_numericInputComponent__WEBPACK_IMPORTED_MODULE_3__["NumericInputComponent"], { globalState: this.props.globalState, label: "g", value: this.state.color.g, onChange: function (value) { return _this.updateStateG(value); } }),
64987
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_numericInputComponent__WEBPACK_IMPORTED_MODULE_3__["NumericInputComponent"], { globalState: this.props.globalState, label: "b", value: this.state.color.b, onChange: function (value) { return _this.updateStateB(value); } }),
64988
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_numericInputComponent__WEBPACK_IMPORTED_MODULE_3__["NumericInputComponent"], { globalState: this.props.globalState, label: "a", value: this.state.color.a, onChange: function (value) { return _this.updateStateA(value); } }))));
65122
+ this.state.isExpanded && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "secondLine" },
65123
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_numericInputComponent__WEBPACK_IMPORTED_MODULE_3__["NumericInputComponent"], { globalState: this.props.globalState, label: "r", value: this.state.color.r, onChange: function (value) { return _this.updateStateR(value); } }),
65124
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_numericInputComponent__WEBPACK_IMPORTED_MODULE_3__["NumericInputComponent"], { globalState: this.props.globalState, label: "g", value: this.state.color.g, onChange: function (value) { return _this.updateStateG(value); } }),
65125
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_numericInputComponent__WEBPACK_IMPORTED_MODULE_3__["NumericInputComponent"], { globalState: this.props.globalState, label: "b", value: this.state.color.b, onChange: function (value) { return _this.updateStateB(value); } }),
65126
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_numericInputComponent__WEBPACK_IMPORTED_MODULE_3__["NumericInputComponent"], { globalState: this.props.globalState, label: "a", value: this.state.color.a, onChange: function (value) { return _this.updateStateA(value); } })))));
64989
65127
  };
64990
65128
  return Color4LineComponent;
64991
65129
  }(react__WEBPACK_IMPORTED_MODULE_1__["Component"]));
@@ -65035,9 +65173,7 @@ var ColorPickerLineComponent = /** @class */ (function (_super) {
65035
65173
  div.style.left = host.getBoundingClientRect().left - div.getBoundingClientRect().width + "px";
65036
65174
  };
65037
65175
  ColorPickerLineComponent.prototype.shouldComponentUpdate = function (nextProps, nextState) {
65038
- var result = nextProps.value.toHexString() !== this.props.value.toHexString()
65039
- || nextState.hex !== this.state.hex
65040
- || nextState.pickerEnabled !== this.state.pickerEnabled;
65176
+ var result = nextProps.value.toHexString() !== this.props.value.toHexString() || nextState.hex !== this.state.hex || nextState.pickerEnabled !== this.state.pickerEnabled;
65041
65177
  if (nextProps.value.toHexString() !== this.props.value.toHexString()) {
65042
65178
  nextState.color = nextProps.value;
65043
65179
  nextState.hex = nextProps.value.toHexString();
@@ -65060,15 +65196,14 @@ var ColorPickerLineComponent = /** @class */ (function (_super) {
65060
65196
  this.props.globalState.blockKeyboardEvents = this.state.pickerEnabled;
65061
65197
  return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "color-picker" },
65062
65198
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "color-rect", ref: this._floatHostRef, style: { background: this.state.hex }, onClick: function () { return _this.setPickerState(true); } }),
65063
- this.state.pickerEnabled &&
65064
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](react__WEBPACK_IMPORTED_MODULE_1__["Fragment"], null,
65065
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "color-picker-cover", onClick: function () { return _this.setPickerState(false); } }),
65066
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "color-picker-float", ref: this._floatRef },
65067
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_colorPicker_colorPicker__WEBPACK_IMPORTED_MODULE_2__["ColorPicker"], { color: color, onColorChanged: function (color) {
65068
- var hex = color.toHexString();
65069
- _this.setState({ hex: hex, color: color });
65070
- _this.props.onColorChanged(hex);
65071
- } })))));
65199
+ this.state.pickerEnabled && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](react__WEBPACK_IMPORTED_MODULE_1__["Fragment"], null,
65200
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "color-picker-cover", onClick: function () { return _this.setPickerState(false); } }),
65201
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "color-picker-float", ref: this._floatRef },
65202
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_colorPicker_colorPicker__WEBPACK_IMPORTED_MODULE_2__["ColorPicker"], { color: color, onColorChanged: function (color) {
65203
+ var hex = color.toHexString();
65204
+ _this.setState({ hex: hex, color: color });
65205
+ _this.props.onColorChanged(hex);
65206
+ } }))))));
65072
65207
  };
65073
65208
  return ColorPickerLineComponent;
65074
65209
  }(react__WEBPACK_IMPORTED_MODULE_1__["Component"]));
@@ -65143,11 +65278,14 @@ var DraggableLineWithButtonComponent = /** @class */ (function (_super) {
65143
65278
  }
65144
65279
  DraggableLineWithButtonComponent.prototype.render = function () {
65145
65280
  var _this = this;
65281
+ var _a;
65146
65282
  return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "draggableLine withButton", title: this.props.tooltip, draggable: true, onDragStart: function (event) {
65147
65283
  event.dataTransfer.setData("babylonjs-material-node", _this.props.data);
65148
65284
  } },
65149
- this.props.data.substr(0, this.props.data.length - 6),
65150
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "icon", onClick: function () { _this.props.onIconClick(_this.props.data); }, title: this.props.iconTitle },
65285
+ this.props.data.substr(0, this.props.data.length - ((_a = this.props.lenSuffixToRemove) !== null && _a !== void 0 ? _a : 6)),
65286
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "icon", onClick: function () {
65287
+ _this.props.onIconClick(_this.props.data);
65288
+ }, title: this.props.iconTitle },
65151
65289
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("img", { className: "img", title: this.props.iconTitle, src: this.props.iconImage }))));
65152
65290
  };
65153
65291
  return DraggableLineWithButtonComponent;
@@ -65238,7 +65376,7 @@ var FloatLineComponent = /** @class */ (function (_super) {
65238
65376
  return true;
65239
65377
  }
65240
65378
  var newValue = nextProps.target[nextProps.propertyName];
65241
- var newValueString = newValue ? this.props.isInteger ? newValue.toFixed(0) : newValue.toFixed(this.props.digits || 4) : "0";
65379
+ var newValueString = newValue ? (this.props.isInteger ? newValue.toFixed(0) : newValue.toFixed(this.props.digits || 4)) : "0";
65242
65380
  if (newValueString !== nextState.value) {
65243
65381
  nextState.value = newValueString;
65244
65382
  return true;
@@ -65263,7 +65401,7 @@ var FloatLineComponent = /** @class */ (function (_super) {
65263
65401
  object: this.props.target,
65264
65402
  property: this.props.propertyName,
65265
65403
  value: newValue,
65266
- initialValue: previousValue
65404
+ initialValue: previousValue,
65267
65405
  });
65268
65406
  };
65269
65407
  FloatLineComponent.prototype.updateValue = function (valueString) {
@@ -65283,10 +65421,10 @@ var FloatLineComponent = /** @class */ (function (_super) {
65283
65421
  if (isNaN(valueAsNumber)) {
65284
65422
  return;
65285
65423
  }
65286
- if (this.props.max != undefined && (valueAsNumber > this.props.max)) {
65424
+ if (this.props.max != undefined && valueAsNumber > this.props.max) {
65287
65425
  valueAsNumber = this.props.max;
65288
65426
  }
65289
- if (this.props.min != undefined && (valueAsNumber < this.props.min)) {
65427
+ if (this.props.min != undefined && valueAsNumber < this.props.min) {
65290
65428
  valueAsNumber = this.props.min;
65291
65429
  }
65292
65430
  this.props.target[this.props.propertyName] = valueAsNumber;
@@ -65507,7 +65645,7 @@ var MatrixLineComponent = /** @class */ (function (_super) {
65507
65645
  object: this.props.target,
65508
65646
  property: this.props.propertyName,
65509
65647
  value: this.state.value,
65510
- initialValue: previousValue
65648
+ initialValue: previousValue,
65511
65649
  });
65512
65650
  };
65513
65651
  MatrixLineComponent.prototype.updateMatrix = function () {
@@ -65562,15 +65700,13 @@ var MatrixLineComponent = /** @class */ (function (_super) {
65562
65700
  _this.props.onModeChange(value);
65563
65701
  }
65564
65702
  } })),
65565
- this.state.mode === 0 &&
65566
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "secondLine" },
65567
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_vector4LineComponent__WEBPACK_IMPORTED_MODULE_3__["Vector4LineComponent"], { globalState: this.props.globalState, label: "Row #0", value: this.state.value.getRow(0), onChange: function (value) { return _this.updateRow(value, 0); } }),
65568
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_vector4LineComponent__WEBPACK_IMPORTED_MODULE_3__["Vector4LineComponent"], { globalState: this.props.globalState, label: "Row #1", value: this.state.value.getRow(1), onChange: function (value) { return _this.updateRow(value, 1); } }),
65569
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_vector4LineComponent__WEBPACK_IMPORTED_MODULE_3__["Vector4LineComponent"], { globalState: this.props.globalState, label: "Row #2", value: this.state.value.getRow(2), onChange: function (value) { return _this.updateRow(value, 2); } }),
65570
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_vector4LineComponent__WEBPACK_IMPORTED_MODULE_3__["Vector4LineComponent"], { globalState: this.props.globalState, label: "Row #3", value: this.state.value.getRow(3), onChange: function (value) { return _this.updateRow(value, 3); } })),
65571
- this.state.mode !== 0 &&
65572
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "secondLine" },
65573
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sliderLineComponent__WEBPACK_IMPORTED_MODULE_5__["SliderLineComponent"], { label: "Angle", minimum: 0, maximum: 2 * Math.PI, useEuler: true, step: 0.1, globalState: this.props.globalState, directValue: this.state.angle, onChange: function (value) { return _this.updateBasedOnMode(value); } }))));
65703
+ this.state.mode === 0 && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "secondLine" },
65704
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_vector4LineComponent__WEBPACK_IMPORTED_MODULE_3__["Vector4LineComponent"], { globalState: this.props.globalState, label: "Row #0", value: this.state.value.getRow(0), onChange: function (value) { return _this.updateRow(value, 0); } }),
65705
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_vector4LineComponent__WEBPACK_IMPORTED_MODULE_3__["Vector4LineComponent"], { globalState: this.props.globalState, label: "Row #1", value: this.state.value.getRow(1), onChange: function (value) { return _this.updateRow(value, 1); } }),
65706
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_vector4LineComponent__WEBPACK_IMPORTED_MODULE_3__["Vector4LineComponent"], { globalState: this.props.globalState, label: "Row #2", value: this.state.value.getRow(2), onChange: function (value) { return _this.updateRow(value, 2); } }),
65707
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_vector4LineComponent__WEBPACK_IMPORTED_MODULE_3__["Vector4LineComponent"], { globalState: this.props.globalState, label: "Row #3", value: this.state.value.getRow(3), onChange: function (value) { return _this.updateRow(value, 3); } }))),
65708
+ this.state.mode !== 0 && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "secondLine" },
65709
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sliderLineComponent__WEBPACK_IMPORTED_MODULE_5__["SliderLineComponent"], { label: "Angle", minimum: 0, maximum: 2 * Math.PI, useEuler: true, step: 0.1, globalState: this.props.globalState, directValue: this.state.angle, onChange: function (value) { return _this.updateBasedOnMode(value); } })))));
65574
65710
  };
65575
65711
  return MatrixLineComponent;
65576
65712
  }(react__WEBPACK_IMPORTED_MODULE_1__["Component"]));
@@ -65683,9 +65819,8 @@ var NumericInputComponent = /** @class */ (function (_super) {
65683
65819
  NumericInputComponent.prototype.render = function () {
65684
65820
  var _this = this;
65685
65821
  return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "numeric" },
65686
- this.props.label &&
65687
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "numeric-label", title: this.props.label }, this.props.label + ": "),
65688
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("input", { type: "number", onFocus: function () { return _this.props.globalState.blockKeyboardEvents = true; }, onBlur: function (evt) {
65822
+ this.props.label && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "numeric-label", title: this.props.label }, this.props.label + ": ")),
65823
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("input", { type: "number", onFocus: function () { return (_this.props.globalState.blockKeyboardEvents = true); }, onBlur: function (evt) {
65689
65824
  _this.props.globalState.blockKeyboardEvents = false;
65690
65825
  }, step: this.props.step, className: "numeric-input", value: this.state.value, onChange: function (evt) { return _this.updateValue(evt); } })));
65691
65826
  };
@@ -65726,7 +65861,7 @@ var OptionsLineComponent = /** @class */ (function (_super) {
65726
65861
  if (props.getSelection) {
65727
65862
  return props.getSelection(props.target);
65728
65863
  }
65729
- return (props.target && props.propertyName) ? props.target[props.propertyName] : props.options[props.defaultIfNull || 0];
65864
+ return props.target && props.propertyName ? props.target[props.propertyName] : props.options[props.defaultIfNull || 0];
65730
65865
  };
65731
65866
  OptionsLineComponent.prototype.setValue = function (value) {
65732
65867
  this.setState({ value: value });
@@ -65751,7 +65886,7 @@ var OptionsLineComponent = /** @class */ (function (_super) {
65751
65886
  object: this.props.target,
65752
65887
  property: this.props.propertyName,
65753
65888
  value: newValue,
65754
- initialValue: previousValue
65889
+ initialValue: previousValue,
65755
65890
  });
65756
65891
  };
65757
65892
  OptionsLineComponent.prototype.updateValue = function (valueString) {
@@ -65816,19 +65951,19 @@ var Popup = /** @class */ (function () {
65816
65951
  width: width,
65817
65952
  height: height,
65818
65953
  top: (window.innerHeight - width) / 2 + window.screenY,
65819
- left: (window.innerWidth - height) / 2 + window.screenX
65954
+ left: (window.innerWidth - height) / 2 + window.screenX,
65820
65955
  };
65821
65956
  var windowCreationOptions = Object.keys(windowCreationOptionsList)
65822
- .map(function (key) { return key + '=' + windowCreationOptionsList[key]; })
65823
- .join(',');
65957
+ .map(function (key) { return key + "=" + windowCreationOptionsList[key]; })
65958
+ .join(",");
65824
65959
  var popupWindow = window.open("", title, windowCreationOptions);
65825
65960
  if (!popupWindow) {
65826
65961
  return null;
65827
65962
  }
65828
65963
  var parentDocument = popupWindow.document;
65829
65964
  // Font
65830
- var newLinkEl = parentDocument.createElement('link');
65831
- newLinkEl.rel = 'stylesheet';
65965
+ var newLinkEl = parentDocument.createElement("link");
65966
+ newLinkEl.rel = "stylesheet";
65832
65967
  newLinkEl.href = "https://use.typekit.net/cta4xsb.css";
65833
65968
  parentDocument.head.appendChild(newLinkEl);
65834
65969
  parentDocument.title = title;
@@ -65844,6 +65979,7 @@ var Popup = /** @class */ (function () {
65844
65979
  popupWindow.document.body.appendChild(parentControl);
65845
65980
  this._CopyStyles(window.document, parentDocument);
65846
65981
  setTimeout(function () {
65982
+ // need this for late bindings
65847
65983
  _this._CopyStyles(window.document, parentDocument);
65848
65984
  }, 0);
65849
65985
  this[windowVariableName] = popupWindow;
@@ -65853,8 +65989,9 @@ var Popup = /** @class */ (function () {
65853
65989
  for (var index = 0; index < sourceDoc.styleSheets.length; index++) {
65854
65990
  var styleSheet = sourceDoc.styleSheets[index];
65855
65991
  try {
65856
- if (styleSheet.cssRules) { // for <style> elements
65857
- var newStyleEl = sourceDoc.createElement('style');
65992
+ if (styleSheet.cssRules) {
65993
+ // for <style> elements
65994
+ var newStyleEl = sourceDoc.createElement("style");
65858
65995
  for (var _i = 0, _a = styleSheet.cssRules; _i < _a.length; _i++) {
65859
65996
  var cssRule = _a[_i];
65860
65997
  // write the text of each rule into the body of the style element
@@ -65862,15 +65999,15 @@ var Popup = /** @class */ (function () {
65862
65999
  }
65863
66000
  targetDoc.head.appendChild(newStyleEl);
65864
66001
  }
65865
- else if (styleSheet.href) { // for <link> elements loading CSS from a URL
65866
- var newLinkEl = sourceDoc.createElement('link');
65867
- newLinkEl.rel = 'stylesheet';
66002
+ else if (styleSheet.href) {
66003
+ // for <link> elements loading CSS from a URL
66004
+ var newLinkEl = sourceDoc.createElement("link");
66005
+ newLinkEl.rel = "stylesheet";
65868
66006
  newLinkEl.href = styleSheet.href;
65869
66007
  targetDoc.head.appendChild(newLinkEl);
65870
66008
  }
65871
66009
  }
65872
- catch (e) {
65873
- }
66010
+ catch (e) { }
65874
66011
  }
65875
66012
  };
65876
66013
  return Popup;
@@ -65907,7 +66044,7 @@ var SliderLineComponent = /** @class */ (function (_super) {
65907
66044
  _this._localChange = false;
65908
66045
  if (_this.props.directValue !== undefined) {
65909
66046
  _this.state = {
65910
- value: _this.props.directValue
66047
+ value: _this.props.directValue,
65911
66048
  };
65912
66049
  }
65913
66050
  else {
@@ -65947,7 +66084,7 @@ var SliderLineComponent = /** @class */ (function (_super) {
65947
66084
  object: this.props.target,
65948
66085
  property: this.props.propertyName,
65949
66086
  value: newValue,
65950
- initialValue: this.state.value
66087
+ initialValue: this.state.value,
65951
66088
  });
65952
66089
  }
65953
66090
  this.props.target[this.props.propertyName] = newValue;
@@ -66039,7 +66176,7 @@ var TextInputLineComponent = /** @class */ (function (_super) {
66039
66176
  object: this.props.target,
66040
66177
  property: this.props.propertyName,
66041
66178
  value: newValue,
66042
- initialValue: previousValue
66179
+ initialValue: previousValue,
66043
66180
  });
66044
66181
  };
66045
66182
  TextInputLineComponent.prototype.updateValue = function (value, raisePropertyChanged) {
@@ -66063,7 +66200,7 @@ var TextInputLineComponent = /** @class */ (function (_super) {
66063
66200
  return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: this.props.multilines ? "textInputArea" : "textInputLine" },
66064
66201
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "label", title: this.props.label }, this.props.label),
66065
66202
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "value" },
66066
- this.props.multilines && react__WEBPACK_IMPORTED_MODULE_1__["createElement"](react__WEBPACK_IMPORTED_MODULE_1__["Fragment"], null,
66203
+ this.props.multilines && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](react__WEBPACK_IMPORTED_MODULE_1__["Fragment"], null,
66067
66204
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("textarea", { value: this.state.value, onFocus: function () {
66068
66205
  _this.props.globalState.blockKeyboardEvents = true;
66069
66206
  _this._onFocus = true;
@@ -66076,8 +66213,8 @@ var TextInputLineComponent = /** @class */ (function (_super) {
66076
66213
  _this.updateValue(evt.target.value, true);
66077
66214
  _this.props.globalState.blockKeyboardEvents = false;
66078
66215
  _this._onFocus = false;
66079
- } })),
66080
- !this.props.multilines && react__WEBPACK_IMPORTED_MODULE_1__["createElement"](react__WEBPACK_IMPORTED_MODULE_1__["Fragment"], null,
66216
+ } }))),
66217
+ !this.props.multilines && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](react__WEBPACK_IMPORTED_MODULE_1__["Fragment"], null,
66081
66218
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("input", { value: this.state.value, onFocus: function () {
66082
66219
  _this.props.globalState.blockKeyboardEvents = true;
66083
66220
  _this._onFocus = true;
@@ -66090,7 +66227,7 @@ var TextInputLineComponent = /** @class */ (function (_super) {
66090
66227
  _this.updateValue(evt.target.value, true);
66091
66228
  _this.props.globalState.blockKeyboardEvents = false;
66092
66229
  _this._onFocus = false;
66093
- } })))));
66230
+ } }))))));
66094
66231
  };
66095
66232
  return TextInputLineComponent;
66096
66233
  }(react__WEBPACK_IMPORTED_MODULE_1__["Component"]));
@@ -66174,7 +66311,7 @@ var TextureLineComponent = /** @class */ (function (_super) {
66174
66311
  displayGreen: true,
66175
66312
  displayBlue: true,
66176
66313
  displayAlpha: true,
66177
- face: 0
66314
+ face: 0,
66178
66315
  };
66179
66316
  _this.canvasRef = react__WEBPACK_IMPORTED_MODULE_1__["createRef"]();
66180
66317
  return _this;
@@ -66275,7 +66412,7 @@ var TextureLineComponent = /** @class */ (function (_super) {
66275
66412
  }
66276
66413
  previewCanvas.width = width;
66277
66414
  previewCanvas.height = height;
66278
- context = previewCanvas.getContext('2d');
66415
+ context = previewCanvas.getContext("2d");
66279
66416
  if (context) {
66280
66417
  imageData = context.createImageData(width, height);
66281
66418
  castData = imageData.data;
@@ -66304,21 +66441,19 @@ var TextureLineComponent = /** @class */ (function (_super) {
66304
66441
  var _this = this;
66305
66442
  var texture = this.props.texture;
66306
66443
  return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "textureLine" },
66307
- !this.props.hideChannelSelect && texture.isCube &&
66308
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "control3D" },
66309
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("button", { className: this.state.face === 0 ? "px command selected" : "px command", onClick: function () { return _this.setState({ face: 0 }); } }, "PX"),
66310
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("button", { className: this.state.face === 1 ? "nx command selected" : "nx command", onClick: function () { return _this.setState({ face: 1 }); } }, "NX"),
66311
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("button", { className: this.state.face === 2 ? "py command selected" : "py command", onClick: function () { return _this.setState({ face: 2 }); } }, "PY"),
66312
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("button", { className: this.state.face === 3 ? "ny command selected" : "ny command", onClick: function () { return _this.setState({ face: 3 }); } }, "NY"),
66313
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("button", { className: this.state.face === 4 ? "pz command selected" : "pz command", onClick: function () { return _this.setState({ face: 4 }); } }, "PZ"),
66314
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("button", { className: this.state.face === 5 ? "nz command selected" : "nz command", onClick: function () { return _this.setState({ face: 5 }); } }, "NZ")),
66315
- !this.props.hideChannelSelect && !texture.isCube &&
66316
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "control" },
66317
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("button", { className: this.state.displayRed && !this.state.displayGreen ? "red command selected" : "red command", onClick: function () { return _this.setState({ displayRed: true, displayGreen: false, displayBlue: false, displayAlpha: false }); } }, "R"),
66318
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("button", { className: this.state.displayGreen && !this.state.displayBlue ? "green command selected" : "green command", onClick: function () { return _this.setState({ displayRed: false, displayGreen: true, displayBlue: false, displayAlpha: false }); } }, "G"),
66319
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("button", { className: this.state.displayBlue && !this.state.displayAlpha ? "blue command selected" : "blue command", onClick: function () { return _this.setState({ displayRed: false, displayGreen: false, displayBlue: true, displayAlpha: false }); } }, "B"),
66320
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("button", { className: this.state.displayAlpha && !this.state.displayRed ? "alpha command selected" : "alpha command", onClick: function () { return _this.setState({ displayRed: false, displayGreen: false, displayBlue: false, displayAlpha: true }); } }, "A"),
66321
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("button", { className: this.state.displayRed && this.state.displayGreen ? "all command selected" : "all command", onClick: function () { return _this.setState({ displayRed: true, displayGreen: true, displayBlue: true, displayAlpha: true }); } }, "ALL")),
66444
+ !this.props.hideChannelSelect && texture.isCube && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "control3D" },
66445
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("button", { className: this.state.face === 0 ? "px command selected" : "px command", onClick: function () { return _this.setState({ face: 0 }); } }, "PX"),
66446
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("button", { className: this.state.face === 1 ? "nx command selected" : "nx command", onClick: function () { return _this.setState({ face: 1 }); } }, "NX"),
66447
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("button", { className: this.state.face === 2 ? "py command selected" : "py command", onClick: function () { return _this.setState({ face: 2 }); } }, "PY"),
66448
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("button", { className: this.state.face === 3 ? "ny command selected" : "ny command", onClick: function () { return _this.setState({ face: 3 }); } }, "NY"),
66449
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("button", { className: this.state.face === 4 ? "pz command selected" : "pz command", onClick: function () { return _this.setState({ face: 4 }); } }, "PZ"),
66450
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("button", { className: this.state.face === 5 ? "nz command selected" : "nz command", onClick: function () { return _this.setState({ face: 5 }); } }, "NZ"))),
66451
+ !this.props.hideChannelSelect && !texture.isCube && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "control" },
66452
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("button", { className: this.state.displayRed && !this.state.displayGreen ? "red command selected" : "red command", onClick: function () { return _this.setState({ displayRed: true, displayGreen: false, displayBlue: false, displayAlpha: false }); } }, "R"),
66453
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("button", { className: this.state.displayGreen && !this.state.displayBlue ? "green command selected" : "green command", onClick: function () { return _this.setState({ displayRed: false, displayGreen: true, displayBlue: false, displayAlpha: false }); } }, "G"),
66454
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("button", { className: this.state.displayBlue && !this.state.displayAlpha ? "blue command selected" : "blue command", onClick: function () { return _this.setState({ displayRed: false, displayGreen: false, displayBlue: true, displayAlpha: false }); } }, "B"),
66455
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("button", { className: this.state.displayAlpha && !this.state.displayRed ? "alpha command selected" : "alpha command", onClick: function () { return _this.setState({ displayRed: false, displayGreen: false, displayBlue: false, displayAlpha: true }); } }, "A"),
66456
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("button", { className: this.state.displayRed && this.state.displayGreen ? "all command selected" : "all command", onClick: function () { return _this.setState({ displayRed: true, displayGreen: true, displayBlue: true, displayAlpha: true }); } }, "ALL"))),
66322
66457
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("canvas", { ref: this.canvasRef, className: "preview" })));
66323
66458
  };
66324
66459
  return TextureLineComponent;
@@ -66381,7 +66516,7 @@ var Vector2LineComponent = /** @class */ (function (_super) {
66381
66516
  object: this.props.target,
66382
66517
  property: this.props.propertyName,
66383
66518
  value: this.state.value,
66384
- initialValue: previousValue
66519
+ initialValue: previousValue,
66385
66520
  });
66386
66521
  };
66387
66522
  Vector2LineComponent.prototype.updateStateX = function (value) {
@@ -66408,10 +66543,9 @@ var Vector2LineComponent = /** @class */ (function (_super) {
66408
66543
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "label", title: this.props.label }, this.props.label),
66409
66544
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "vector" }, "X: " + this.state.value.x.toFixed(2) + ", Y: " + this.state.value.y.toFixed(2)),
66410
66545
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "expand hoverIcon", onClick: function () { return _this.switchExpandState(); }, title: "Expand" }, chevron)),
66411
- this.state.isExpanded &&
66412
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "secondLine" },
66413
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_numericInputComponent__WEBPACK_IMPORTED_MODULE_2__["NumericInputComponent"], { globalState: this.props.globalState, label: "x", step: this.props.step, value: this.state.value.x, onChange: function (value) { return _this.updateStateX(value); } }),
66414
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_numericInputComponent__WEBPACK_IMPORTED_MODULE_2__["NumericInputComponent"], { globalState: this.props.globalState, label: "y", step: this.props.step, value: this.state.value.y, onChange: function (value) { return _this.updateStateY(value); } }))));
66546
+ this.state.isExpanded && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "secondLine" },
66547
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_numericInputComponent__WEBPACK_IMPORTED_MODULE_2__["NumericInputComponent"], { globalState: this.props.globalState, label: "x", step: this.props.step, value: this.state.value.x, onChange: function (value) { return _this.updateStateX(value); } }),
66548
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_numericInputComponent__WEBPACK_IMPORTED_MODULE_2__["NumericInputComponent"], { globalState: this.props.globalState, label: "y", step: this.props.step, value: this.state.value.y, onChange: function (value) { return _this.updateStateY(value); } })))));
66415
66549
  };
66416
66550
  Vector2LineComponent.defaultProps = {
66417
66551
  step: 0.001, // cm
@@ -66476,7 +66610,7 @@ var Vector3LineComponent = /** @class */ (function (_super) {
66476
66610
  object: this.props.target,
66477
66611
  property: this.props.propertyName,
66478
66612
  value: this.state.value,
66479
- initialValue: previousValue
66613
+ initialValue: previousValue,
66480
66614
  });
66481
66615
  };
66482
66616
  Vector3LineComponent.prototype.updateVector3 = function () {
@@ -66508,11 +66642,10 @@ var Vector3LineComponent = /** @class */ (function (_super) {
66508
66642
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "label", title: this.props.label }, this.props.label),
66509
66643
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "vector" }, "X: " + this.state.value.x.toFixed(2) + ", Y: " + this.state.value.y.toFixed(2) + ", Z: " + this.state.value.z.toFixed(2)),
66510
66644
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "expand hoverIcon", onClick: function () { return _this.switchExpandState(); }, title: "Expand" }, chevron)),
66511
- this.state.isExpanded &&
66512
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "secondLine" },
66513
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_numericInputComponent__WEBPACK_IMPORTED_MODULE_2__["NumericInputComponent"], { globalState: this.props.globalState, label: "x", step: this.props.step, value: this.state.value.x, onChange: function (value) { return _this.updateStateX(value); } }),
66514
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_numericInputComponent__WEBPACK_IMPORTED_MODULE_2__["NumericInputComponent"], { globalState: this.props.globalState, label: "y", step: this.props.step, value: this.state.value.y, onChange: function (value) { return _this.updateStateY(value); } }),
66515
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_numericInputComponent__WEBPACK_IMPORTED_MODULE_2__["NumericInputComponent"], { globalState: this.props.globalState, label: "z", step: this.props.step, value: this.state.value.z, onChange: function (value) { return _this.updateStateZ(value); } }))));
66645
+ this.state.isExpanded && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "secondLine" },
66646
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_numericInputComponent__WEBPACK_IMPORTED_MODULE_2__["NumericInputComponent"], { globalState: this.props.globalState, label: "x", step: this.props.step, value: this.state.value.x, onChange: function (value) { return _this.updateStateX(value); } }),
66647
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_numericInputComponent__WEBPACK_IMPORTED_MODULE_2__["NumericInputComponent"], { globalState: this.props.globalState, label: "y", step: this.props.step, value: this.state.value.y, onChange: function (value) { return _this.updateStateY(value); } }),
66648
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_numericInputComponent__WEBPACK_IMPORTED_MODULE_2__["NumericInputComponent"], { globalState: this.props.globalState, label: "z", step: this.props.step, value: this.state.value.z, onChange: function (value) { return _this.updateStateZ(value); } })))));
66516
66649
  };
66517
66650
  Vector3LineComponent.defaultProps = {
66518
66651
  step: 0.001, // cm
@@ -66577,7 +66710,7 @@ var Vector4LineComponent = /** @class */ (function (_super) {
66577
66710
  object: this.props.target,
66578
66711
  property: this.props.propertyName,
66579
66712
  value: this.state.value,
66580
- initialValue: previousValue
66713
+ initialValue: previousValue,
66581
66714
  });
66582
66715
  };
66583
66716
  Vector4LineComponent.prototype.updateVector4 = function () {
@@ -66619,12 +66752,11 @@ var Vector4LineComponent = /** @class */ (function (_super) {
66619
66752
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "label", title: this.props.label }, this.props.label),
66620
66753
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "vector" }, "X: " + this.state.value.x.toFixed(2) + ", Y: " + this.state.value.y.toFixed(2) + ", Z: " + this.state.value.z.toFixed(2) + ", W: " + this.state.value.w.toFixed(2)),
66621
66754
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "expand hoverIcon", onClick: function () { return _this.switchExpandState(); }, title: "Expand" }, chevron)),
66622
- this.state.isExpanded &&
66623
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "secondLine" },
66624
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_numericInputComponent__WEBPACK_IMPORTED_MODULE_2__["NumericInputComponent"], { globalState: this.props.globalState, label: "x", step: this.props.step, value: this.state.value.x, onChange: function (value) { return _this.updateStateX(value); } }),
66625
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_numericInputComponent__WEBPACK_IMPORTED_MODULE_2__["NumericInputComponent"], { globalState: this.props.globalState, label: "y", step: this.props.step, value: this.state.value.y, onChange: function (value) { return _this.updateStateY(value); } }),
66626
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_numericInputComponent__WEBPACK_IMPORTED_MODULE_2__["NumericInputComponent"], { globalState: this.props.globalState, label: "z", step: this.props.step, value: this.state.value.z, onChange: function (value) { return _this.updateStateZ(value); } }),
66627
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_numericInputComponent__WEBPACK_IMPORTED_MODULE_2__["NumericInputComponent"], { globalState: this.props.globalState, label: "w", step: this.props.step, value: this.state.value.w, onChange: function (value) { return _this.updateStateW(value); } }))));
66755
+ this.state.isExpanded && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "secondLine" },
66756
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_numericInputComponent__WEBPACK_IMPORTED_MODULE_2__["NumericInputComponent"], { globalState: this.props.globalState, label: "x", step: this.props.step, value: this.state.value.x, onChange: function (value) { return _this.updateStateX(value); } }),
66757
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_numericInputComponent__WEBPACK_IMPORTED_MODULE_2__["NumericInputComponent"], { globalState: this.props.globalState, label: "y", step: this.props.step, value: this.state.value.y, onChange: function (value) { return _this.updateStateY(value); } }),
66758
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_numericInputComponent__WEBPACK_IMPORTED_MODULE_2__["NumericInputComponent"], { globalState: this.props.globalState, label: "z", step: this.props.step, value: this.state.value.z, onChange: function (value) { return _this.updateStateZ(value); } }),
66759
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_numericInputComponent__WEBPACK_IMPORTED_MODULE_2__["NumericInputComponent"], { globalState: this.props.globalState, label: "w", step: this.props.step, value: this.state.value.w, onChange: function (value) { return _this.updateStateW(value); } })))));
66628
66760
  };
66629
66761
  Vector4LineComponent.defaultProps = {
66630
66762
  step: 0.001, // cm
@@ -66664,10 +66796,10 @@ var ColorComponentEntry = /** @class */ (function (_super) {
66664
66796
  if (isNaN(valueAsNumber)) {
66665
66797
  return;
66666
66798
  }
66667
- if (this.props.max != undefined && (valueAsNumber > this.props.max)) {
66799
+ if (this.props.max != undefined && valueAsNumber > this.props.max) {
66668
66800
  valueAsNumber = this.props.max;
66669
66801
  }
66670
- if (this.props.min != undefined && (valueAsNumber < this.props.min)) {
66802
+ if (this.props.min != undefined && valueAsNumber < this.props.min) {
66671
66803
  valueAsNumber = this.props.min;
66672
66804
  }
66673
66805
  this.props.onChange(valueAsNumber);
@@ -66756,8 +66888,7 @@ var ColorPicker = /** @class */ (function (_super) {
66756
66888
  return _this;
66757
66889
  }
66758
66890
  ColorPicker.prototype.shouldComponentUpdate = function (nextProps, nextState) {
66759
- return (nextProps.color.toHexString() !== this.props.color.toHexString() ||
66760
- nextState.color.toHexString() !== this.props.color.toHexString());
66891
+ return nextProps.color.toHexString() !== this.props.color.toHexString() || nextState.color.toHexString() !== this.props.color.toHexString();
66761
66892
  };
66762
66893
  ColorPicker.prototype.onSaturationPointerDown = function (evt) {
66763
66894
  this._evaluateSaturation(evt);
@@ -66793,7 +66924,7 @@ var ColorPicker = /** @class */ (function (_super) {
66793
66924
  var left = evt.nativeEvent.offsetX;
66794
66925
  var top = evt.nativeEvent.offsetY;
66795
66926
  var saturation = Math.min(1, Math.max(0.0001, left / this._saturationRef.current.clientWidth));
66796
- var value = Math.min(1, Math.max(0.0001, 1 - (top / this._saturationRef.current.clientHeight)));
66927
+ var value = Math.min(1, Math.max(0.0001, 1 - top / this._saturationRef.current.clientHeight));
66797
66928
  if (this.props.debugMode) {
66798
66929
  console.log("Saturation: " + saturation);
66799
66930
  console.log("Value: " + value);
@@ -66836,7 +66967,7 @@ var ColorPicker = /** @class */ (function (_super) {
66836
66967
  var hasAlpha = this.props.color instanceof _babylonjs_core_Maths_math_color__WEBPACK_IMPORTED_MODULE_2__["Color4"];
66837
66968
  return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "color-picker-container" + (this.props.linearhint ? " with-hints" : "") },
66838
66969
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "color-picker-saturation", onPointerMove: function (e) { return _this.onSaturationPointerMove(e); }, onPointerDown: function (e) { return _this.onSaturationPointerDown(e); }, onPointerUp: function (e) { return _this.onSaturationPointerUp(e); }, ref: this._saturationRef, style: {
66839
- background: colorHexRef
66970
+ background: colorHexRef,
66840
66971
  } },
66841
66972
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "color-picker-saturation-white" }),
66842
66973
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "color-picker-saturation-black" }),
@@ -66846,12 +66977,12 @@ var ColorPicker = /** @class */ (function (_super) {
66846
66977
  } })),
66847
66978
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "color-picker-hue" },
66848
66979
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "color-picker-hue-color", style: {
66849
- background: colorHex
66980
+ background: colorHex,
66850
66981
  } }),
66851
66982
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "color-picker-hue-slider", ref: this._hueRef, onPointerMove: function (e) { return _this.onHuePointerMove(e); }, onPointerDown: function (e) { return _this.onHuePointerDown(e); }, onPointerUp: function (e) { return _this.onHuePointerUp(e); } },
66852
66983
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "color-picker-hue-cursor", style: {
66853
66984
  left: (hsv.r / 360.0) * 100 + "%",
66854
- border: "1px solid " + colorHexRef
66985
+ border: "1px solid " + colorHexRef,
66855
66986
  } }))),
66856
66987
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "color-picker-rgb" },
66857
66988
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "red" },
@@ -66880,8 +67011,7 @@ var ColorPicker = /** @class */ (function (_super) {
66880
67011
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_hexColor__WEBPACK_IMPORTED_MODULE_4__["HexColor"], { expectedLength: 6, value: colorHex, onChange: function (value) {
66881
67012
  _this.setState({ color: _babylonjs_core_Maths_math_color__WEBPACK_IMPORTED_MODULE_2__["Color3"].FromHexString(value) });
66882
67013
  } }))),
66883
- this.props.linearhint &&
66884
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "color-picker-warning" }, "(Note: color is stored in linear mode and was converted to gamma to be displayed here (toGammaSpace() / toLinearSpace()))")));
67014
+ this.props.linearhint && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "color-picker-warning" }, "(Note: color is stored in linear mode and was converted to gamma to be displayed here (toGammaSpace() / toLinearSpace()))"))));
66885
67015
  };
66886
67016
  return ColorPicker;
66887
67017
  }(react__WEBPACK_IMPORTED_MODULE_1__["Component"]));
@@ -66930,7 +67060,7 @@ var HexColor = /** @class */ (function (_super) {
66930
67060
  };
66931
67061
  HexColor.prototype.render = function () {
66932
67062
  var _this = this;
66933
- return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("input", { type: "string", className: "hex-input", value: this.state.hex, onChange: function (evt) { return _this.updateHexValue(evt.target.value); } }));
67063
+ return react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("input", { type: "string", className: "hex-input", value: this.state.hex, onChange: function (evt) { return _this.updateHexValue(evt.target.value); } });
66934
67064
  };
66935
67065
  return HexColor;
66936
67066
  }(react__WEBPACK_IMPORTED_MODULE_1__["Component"]));