@babylonjs/node-editor 5.0.0-alpha.59 → 5.0.0-alpha.62

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.
@@ -10044,7 +10044,7 @@ module.exports = exports;
10044
10044
  var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../../../node_modules/css-loader/dist/runtime/api.js */ "../../../../node_modules/css-loader/dist/runtime/api.js");
10045
10045
  exports = ___CSS_LOADER_API_IMPORT___(false);
10046
10046
  // Module
10047
- exports.push([module.i, "#graph-canvas {\n width: 100%;\n height: 100%;\n margin: 0;\n padding: 0;\n font: 14px \"acumin-pro\";\n user-select: none;\n overflow: hidden;\n cursor: move;\n background-image: linear-gradient(to right, #4F4E4F 1px, transparent 1px), linear-gradient(to bottom, #4F4E4F 1px, transparent 1px); }\n #graph-canvas #selection-container {\n pointer-events: none; }\n #graph-canvas #selection-container .selection-box {\n z-index: 10;\n position: absolute;\n background: rgba(72, 72, 196, 0.5);\n border: blue solid 2px; }\n #graph-canvas .port {\n border-radius: 20px;\n width: 20px;\n height: 20px;\n align-self: center; }\n #graph-canvas .port .img {\n width: 100%; }\n #graph-canvas .port img.selected {\n box-shadow: 0 0 0 2px;\n border-radius: 50%; }\n #graph-canvas .port:hover, #graph-canvas .port.selected {\n filter: brightness(2); }\n #graph-canvas .portLine {\n height: 24px;\n display: grid;\n grid-template-rows: 100%; }\n #graph-canvas .port-label {\n align-items: center; }\n #graph-canvas .inputsContainer {\n grid-row: 1;\n grid-column: 1; }\n #graph-canvas .inputsContainer .portLine {\n grid-template-columns: 12px calc(100% - 15px); }\n #graph-canvas .inputsContainer .portLine .port-label {\n grid-row: 1;\n grid-column: 2; }\n #graph-canvas .inputsContainer .portLine .port {\n grid-row: 1;\n grid-column: 1;\n transform: translateX(-12px); }\n #graph-canvas .outputsContainer {\n grid-row: 1;\n grid-column: 2; }\n #graph-canvas .outputsContainer .portLine {\n grid-template-columns: calc(100% - 10px) 12px; }\n #graph-canvas .outputsContainer .portLine .port-label {\n grid-row: 1;\n grid-column: 1;\n text-align: right; }\n #graph-canvas .outputsContainer .portLine .port {\n grid-row: 1;\n grid-column: 2;\n transform: translateX(2px); }\n #graph-canvas #graph-container {\n width: 100%;\n height: 100%;\n left: 0;\n top: 0;\n transform-origin: left top;\n display: grid;\n grid-template-rows: 100%;\n grid-template-columns: 100%; }\n #graph-canvas #graph-container #frame-container {\n overflow: visible;\n grid-row: 1;\n grid-column: 1;\n position: relative;\n width: 100%;\n height: 100%; }\n #graph-canvas #graph-container .frame-box {\n position: absolute;\n background: rgba(72, 72, 72, 0.7);\n display: grid;\n grid-template-rows: 40px calc(100% - 40px);\n grid-template-columns: 100%;\n box-sizing: border-box; }\n #graph-canvas #graph-container .frame-box.collapsed {\n height: auto !important;\n width: 200px !important;\n z-index: 3; }\n #graph-canvas #graph-container .frame-box.collapsed .frame-box-header {\n font-size: 16px;\n grid-template-columns: calc(100% - 37px) 30px 7px; }\n #graph-canvas #graph-container .frame-box.collapsed .frame-box-header .frame-box-header-collapse {\n margin-top: -2px; }\n #graph-canvas #graph-container .frame-box.collapsed .frame-box-header .frame-box-header-close {\n display: none; }\n #graph-canvas #graph-container .frame-box.collapsed .frame-comments.has-comments .frame-comment-span {\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden; }\n #graph-canvas #graph-container .frame-box .frame-box-border {\n grid-row: 1 / span 2;\n grid-column: 1;\n width: 100%;\n height: 100%;\n border: transparent solid 4px;\n pointer-events: none;\n box-sizing: border-box; }\n #graph-canvas #graph-container .frame-box .frame-box-header {\n grid-row: 1;\n grid-column: 1;\n background: #484848;\n color: white;\n font-size: 24px;\n text-align: center;\n display: grid;\n grid-template-rows: 100%;\n grid-template-columns: calc(100% - 74px) 30px 7px 30px 7px;\n align-content: center;\n overflow: hidden; }\n #graph-canvas #graph-container .frame-box .frame-box-header .frame-box-header-button {\n cursor: pointer;\n align-self: center;\n transform-origin: 50% 50%;\n transform: scale(1);\n stroke: transparent;\n fill: white;\n display: grid; }\n #graph-canvas #graph-container .frame-box .frame-box-header .frame-box-header-button.down {\n transform: scale(0.9); }\n #graph-canvas #graph-container .frame-box .frame-box-header .frame-box-header-collapse {\n grid-column: 2;\n grid-row: 1; }\n #graph-canvas #graph-container .frame-box .frame-box-header .frame-box-header-close {\n grid-column: 4;\n grid-row: 1; }\n #graph-canvas #graph-container .frame-box .frame-box-header .frame-box-header-title {\n grid-column: 1;\n grid-row: 1;\n display: grid;\n height: 100%;\n width: 100%;\n align-self: stretch;\n align-items: center;\n margin-top: -2px; }\n #graph-canvas #graph-container .frame-box .port-container {\n margin-top: 6px;\n margin-bottom: 6px;\n margin-left: 4px;\n margin-right: 4px;\n color: white;\n grid-row: 2;\n grid-column: 1;\n display: grid;\n grid-template-rows: 100%;\n grid-template-columns: 50% 50%;\n z-index: 2; }\n #graph-canvas #graph-container .frame-box .frame-comments.has-comments {\n display: grid;\n grid-row: 2;\n grid-column: 1;\n padding: 0 10px;\n font-style: italic;\n word-wrap: break-word; }\n #graph-canvas #graph-container .frame-box.selected .frame-box-border {\n border-color: white; }\n #graph-canvas #graph-container .frame-box .right-handle {\n grid-area: 1 / 2 / 3 / 2;\n width: 4px;\n background-color: transparent;\n cursor: ew-resize; }\n #graph-canvas #graph-container .frame-box .right-handle::after {\n content: \"\";\n width: 8px;\n position: absolute;\n top: 0;\n bottom: 0;\n margin-left: -4px;\n cursor: ew-resize; }\n #graph-canvas #graph-container .frame-box .right-handle.collapsed {\n cursor: pointer; }\n #graph-canvas #graph-container .frame-box .top-right-corner-handle {\n background-color: transparent;\n height: 4px;\n z-index: 21;\n cursor: ne-resize;\n width: 4px;\n margin-left: -6px; }\n #graph-canvas #graph-container .frame-box .top-right-corner-handle::after {\n background-color: transparent;\n cursor: ne-resize;\n margin-left: unset;\n top: -4px;\n height: 10px;\n width: 10px; }\n #graph-canvas #graph-container .frame-box .bottom-right-corner-handle {\n background-color: transparent;\n height: 0px;\n z-index: 21;\n cursor: nw-resize;\n grid-area: 4 / 2 / 4 / 2;\n margin-left: -2px; }\n #graph-canvas #graph-container .frame-box .bottom-right-corner-handle::after {\n background-color: transparent;\n height: 10px;\n cursor: nw-resize;\n top: unset;\n bottom: -4px;\n width: 10px; }\n #graph-canvas #graph-container .frame-box .left-handle {\n grid-area: 1 / 1 / 3 / 1;\n width: 4px;\n background-color: transparent;\n cursor: ew-resize; }\n #graph-canvas #graph-container .frame-box .left-handle::before {\n content: \"\";\n width: 8px;\n position: absolute;\n top: 0;\n bottom: 0;\n margin-left: -4px; }\n #graph-canvas #graph-container .frame-box .top-left-corner-handle {\n background-color: transparent;\n height: 4px;\n z-index: 21;\n cursor: nw-resize;\n width: 4px;\n margin-left: -4px; }\n #graph-canvas #graph-container .frame-box .top-left-corner-handle::before {\n background-color: transparent;\n cursor: nw-resize;\n margin-left: unset;\n top: -4px;\n height: 10px;\n width: 10px; }\n #graph-canvas #graph-container .frame-box .bottom-left-corner-handle {\n background-color: transparent;\n height: 0px;\n z-index: 21;\n cursor: sw-resize;\n grid-area: 4 / 1 / 4 / 1; }\n #graph-canvas #graph-container .frame-box .bottom-left-corner-handle::before {\n background-color: transparent;\n height: 10px;\n cursor: sw-resize;\n top: unset;\n bottom: -4px;\n width: 10px; }\n #graph-canvas #graph-container .frame-box .top-handle {\n grid-area: 1 / 1 / 1 / 1;\n background-color: transparent;\n height: 4px;\n cursor: ns-resize; }\n #graph-canvas #graph-container .frame-box .top-handle::before {\n content: \"\";\n width: 100%;\n position: absolute;\n top: -4px;\n bottom: 100%;\n right: 0;\n left: 0;\n margin-bottom: -8px;\n cursor: ns-resize;\n height: 8px; }\n #graph-canvas #graph-container .frame-box .bottom-handle {\n grid-area: 3 / 1 / 3 / 1;\n background-color: transparent;\n height: 4px;\n cursor: ns-resize; }\n #graph-canvas #graph-container .frame-box .bottom-handle::after {\n content: \"\";\n width: 100%;\n position: absolute;\n top: 100%;\n bottom: 0;\n right: 0;\n left: 0;\n margin-top: -8px;\n cursor: ns-resize;\n height: 12px; }\n #graph-canvas #graph-container .frame-box.collapsed .top-handle, #graph-canvas #graph-container .frame-box.collapsed .top-right-corner-handle, #graph-canvas #graph-container .frame-box.collapsed .right-handle, #graph-canvas #graph-container .frame-box.collapsed .bottom-right-corner-handle, #graph-canvas #graph-container .frame-box.collapsed .bottom-handle, #graph-canvas #graph-container .frame-box.collapsed .bottom-left-corner-handle, #graph-canvas #graph-container .frame-box.collapsed .left-handle, #graph-canvas #graph-container .frame-box.collapsed .top-left-corner-handle {\n cursor: default; }\n #graph-canvas #graph-container .frame-box.collapsed .right-handle::after, #graph-canvas #graph-container .frame-box.collapsed .bottom-handle::after, #graph-canvas #graph-container .frame-box.collapsed .top-right-corner-handle::after, #graph-canvas #graph-container .frame-box.collapsed .bottom-right-corner-handle::after {\n cursor: default; }\n #graph-canvas #graph-container .frame-box.collapsed .left-handle::before, #graph-canvas #graph-container .frame-box.collapsed .top-handle::before, #graph-canvas #graph-container .frame-box.collapsed .top-left-corner-handle::before, #graph-canvas #graph-container .frame-box.collapsed .bottom-left-corner-handle::before {\n cursor: default; }\n #graph-canvas #graph-container #graph-svg-container {\n grid-row: 1;\n grid-column: 1;\n position: relative;\n width: 100%;\n height: 100%;\n overflow: visible;\n pointer-events: none;\n z-index: 2; }\n #graph-canvas #graph-container #graph-svg-container .link {\n stroke-width: 4px; }\n #graph-canvas #graph-container #graph-svg-container .link.selected {\n stroke: white !important;\n stroke-dasharray: 10, 2; }\n #graph-canvas #graph-container #graph-svg-container .link.hidden {\n display: none; }\n #graph-canvas #graph-container #graph-svg-container .selection-link {\n pointer-events: all;\n stroke-width: 16px;\n opacity: 0;\n transition: opacity 75ms;\n stroke: transparent;\n cursor: pointer; }\n #graph-canvas #graph-container #graph-svg-container .selection-link.hidden {\n display: none; }\n #graph-canvas #graph-container #graph-svg-container .selection-link:hover, #graph-canvas #graph-container #graph-svg-container .selection-link.selected {\n stroke: white !important;\n opacity: 0.4; }\n #graph-canvas #graph-container #graph-canvas-container {\n grid-row: 1;\n grid-column: 1;\n position: relative;\n width: 100%;\n height: 100%; }\n #graph-canvas #graph-container #graph-canvas-container .visual {\n z-index: 4;\n width: 200px;\n position: absolute;\n left: 0;\n top: 0;\n background: gray;\n border: 4px solid black;\n border-radius: 12px;\n display: grid;\n grid-template-rows: 30px auto;\n grid-template-columns: 100%;\n color: white; }\n #graph-canvas #graph-container #graph-canvas-container .visual.hidden {\n display: none; }\n #graph-canvas #graph-container #graph-canvas-container .visual .comments {\n position: absolute;\n top: -50px;\n width: 200px;\n height: 45px;\n overflow: hidden;\n font-style: italic;\n opacity: 0.8;\n display: grid;\n align-items: flex-end;\n pointer-events: none; }\n #graph-canvas #graph-container #graph-canvas-container .visual .selection-border {\n grid-row: 1 / span 3;\n grid-column: 1;\n margin: -4px;\n transition: border-color 100ms;\n border: 4px solid black;\n border-radius: 12px; }\n #graph-canvas #graph-container #graph-canvas-container .visual.selected .selection-border {\n border-color: white; }\n #graph-canvas #graph-container #graph-canvas-container .visual .header-container {\n grid-row: 1;\n grid-column: 1;\n display: grid;\n grid-template-columns: 1fr auto;\n grid-template-rows: 100%;\n border: 4px solid black;\n border-top-right-radius: 7px;\n border-top-left-radius: 7px;\n background: black;\n color: white; }\n #graph-canvas #graph-container #graph-canvas-container .visual .header-container.constant {\n border-color: #464348;\n background: #464348; }\n #graph-canvas #graph-container #graph-canvas-container .visual .header-container.inspector {\n border-color: #66491b;\n background: #66491b; }\n #graph-canvas #graph-container #graph-canvas-container .visual .promotion-warning {\n grid-row: 1;\n grid-column: 2;\n display: none;\n z-index: 10; }\n #graph-canvas #graph-container #graph-canvas-container .visual .promotion-warning.visible {\n display: grid;\n width: 20px; }\n #graph-canvas #graph-container #graph-canvas-container .visual .header {\n grid-row: 1;\n grid-column: 1;\n font-size: 16px;\n text-align: center;\n margin-top: -1px;\n margin-left: -1px;\n margin-right: -1px;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden; }\n #graph-canvas #graph-container #graph-canvas-container .visual .connections {\n grid-row: 2;\n grid-column: 1;\n display: grid;\n grid-template-columns: 50% 50%; }\n #graph-canvas #graph-container #graph-canvas-container .visual .content {\n min-height: 20px;\n grid-row: 3;\n grid-column: 1; }\n #graph-canvas #graph-container #graph-canvas-container .visual .content.input-block {\n grid-row: 2;\n min-height: 34px;\n text-align: center;\n font-size: 18px;\n font-weight: bold;\n margin: 0 10px 5px;\n display: grid;\n align-content: center; }\n #graph-canvas #graph-container #graph-canvas-container .visual .content.input-block.small-font {\n font-size: 17px; }\n #graph-canvas #graph-container #graph-canvas-container .visual .content.output-block {\n min-height: 0px;\n height: 5px; }\n #graph-canvas #graph-container #graph-canvas-container .visual .content.clamp-block {\n grid-row: 2;\n height: 34px;\n text-align: center;\n font-size: 18px;\n font-weight: bold;\n margin: 0 10px; }\n #graph-canvas #graph-container #graph-canvas-container .visual .content.gradient-block {\n grid-row: 2;\n height: 34px; }\n #graph-canvas #graph-container #graph-canvas-container .visual .content.texture-block {\n grid-row: 2;\n height: 140px;\n width: 140px;\n overflow: hidden;\n border-bottom-left-radius: 7px;\n border: black 4px solid;\n border-left: 0px;\n border-bottom: 0px; }\n #graph-canvas #graph-container #graph-canvas-container .visual .content.texture-block img {\n width: 100%;\n height: 100%;\n pointer-events: none; }\n #graph-canvas #graph-container #graph-canvas-container .visual .content.texture-block img.empty {\n display: none; }\n #graph-canvas #graph-container #graph-canvas-container .visual .content.image-source-block {\n margin-top: 5px; }\n #graph-canvas #graph-container #graph-canvas-container .visual .content.regular-texture-block {\n margin-top: 60px; }\n #graph-canvas #graph-container #graph-canvas-container .visual .content.reduced-texture-block {\n margin-top: 30px; }\n #graph-canvas #graph-container #graph-canvas-container .visual .content.reflection-block {\n grid-row: 3; }\n #graph-canvas #graph-container #graph-canvas-container .visual .content.remap-block {\n height: 34px;\n text-align: center;\n font-size: 18px;\n font-weight: bold;\n margin: 0 10px; }\n #graph-canvas #graph-container #graph-canvas-container .visual .content.trigonometry-block {\n grid-row: 2;\n height: 34px;\n text-align: center;\n font-size: 18px;\n font-weight: bold;\n margin: 0 10px; }\n", ""]);
10047
+ exports.push([module.i, "#graph-canvas {\n width: 100%;\n height: 100%;\n margin: 0;\n padding: 0;\n font: 14px \"acumin-pro\";\n user-select: none;\n overflow: hidden;\n cursor: move;\n background-image: linear-gradient(to right, #4F4E4F 1px, transparent 1px), linear-gradient(to bottom, #4F4E4F 1px, transparent 1px); }\n #graph-canvas #selection-container {\n pointer-events: none; }\n #graph-canvas #selection-container .selection-box {\n z-index: 10;\n position: absolute;\n background: rgba(72, 72, 196, 0.5);\n border: blue solid 2px; }\n #graph-canvas .port {\n border-radius: 20px;\n width: 20px;\n height: 20px;\n align-self: center; }\n #graph-canvas .port .img {\n width: 100%; }\n #graph-canvas .port img.selected {\n box-shadow: 0 0 0 2px;\n border-radius: 50%; }\n #graph-canvas .port:hover, #graph-canvas .port.selected {\n filter: brightness(2); }\n #graph-canvas .portLine {\n height: 24px;\n display: grid;\n grid-template-rows: 100%; }\n #graph-canvas .port-label {\n align-items: center; }\n #graph-canvas .inputsContainer {\n grid-row: 1;\n grid-column: 1; }\n #graph-canvas .inputsContainer .portLine {\n grid-template-columns: 12px calc(100% - 15px); }\n #graph-canvas .inputsContainer .portLine .port-label {\n grid-row: 1;\n grid-column: 2; }\n #graph-canvas .inputsContainer .portLine .port {\n grid-row: 1;\n grid-column: 1;\n transform: translateX(-12px); }\n #graph-canvas .outputsContainer {\n grid-row: 1;\n grid-column: 2; }\n #graph-canvas .outputsContainer .portLine {\n grid-template-columns: calc(100% - 10px) 12px; }\n #graph-canvas .outputsContainer .portLine .port-label {\n grid-row: 1;\n grid-column: 1;\n text-align: right; }\n #graph-canvas .outputsContainer .portLine .port {\n grid-row: 1;\n grid-column: 2;\n transform: translateX(2px); }\n #graph-canvas #graph-container {\n width: 100%;\n height: 100%;\n left: 0;\n top: 0;\n transform-origin: left top;\n display: grid;\n grid-template-rows: 100%;\n grid-template-columns: 100%; }\n #graph-canvas #graph-container #frame-container {\n overflow: visible;\n grid-row: 1;\n grid-column: 1;\n position: relative;\n width: 100%;\n height: 100%; }\n #graph-canvas #graph-container .frame-box {\n position: absolute;\n background: rgba(72, 72, 72, 0.7);\n display: grid;\n grid-template-rows: 40px calc(100% - 40px);\n grid-template-columns: 100%;\n box-sizing: border-box; }\n #graph-canvas #graph-container .frame-box.collapsed {\n height: auto !important;\n width: 200px !important;\n z-index: 3; }\n #graph-canvas #graph-container .frame-box.collapsed .frame-box-header {\n font-size: 16px;\n grid-template-columns: calc(100% - 37px) 30px 7px; }\n #graph-canvas #graph-container .frame-box.collapsed .frame-box-header .frame-box-header-collapse {\n margin-top: -2px; }\n #graph-canvas #graph-container .frame-box.collapsed .frame-box-header .frame-box-header-close {\n display: none; }\n #graph-canvas #graph-container .frame-box.collapsed .frame-comments.has-comments .frame-comment-span {\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden; }\n #graph-canvas #graph-container .frame-box .frame-box-border {\n grid-row: 1 / span 2;\n grid-column: 1;\n width: 100%;\n height: 100%;\n border: transparent solid 4px;\n pointer-events: none;\n box-sizing: border-box; }\n #graph-canvas #graph-container .frame-box .frame-box-header {\n grid-row: 1;\n grid-column: 1;\n background: #484848;\n color: white;\n font-size: 24px;\n text-align: center;\n display: grid;\n grid-template-rows: 100%;\n grid-template-columns: calc(100% - 74px) 30px 7px 30px 7px;\n align-content: center;\n overflow: hidden; }\n #graph-canvas #graph-container .frame-box .frame-box-header .frame-box-header-button {\n cursor: pointer;\n align-self: center;\n transform-origin: 50% 50%;\n transform: scale(1);\n stroke: transparent;\n fill: white;\n display: grid; }\n #graph-canvas #graph-container .frame-box .frame-box-header .frame-box-header-button.down {\n transform: scale(0.9); }\n #graph-canvas #graph-container .frame-box .frame-box-header .frame-box-header-collapse {\n grid-column: 2;\n grid-row: 1; }\n #graph-canvas #graph-container .frame-box .frame-box-header .frame-box-header-close {\n grid-column: 4;\n grid-row: 1; }\n #graph-canvas #graph-container .frame-box .frame-box-header .frame-box-header-title {\n grid-column: 1;\n grid-row: 1;\n display: grid;\n height: 100%;\n width: 100%;\n align-self: stretch;\n align-items: center;\n margin-top: -2px; }\n #graph-canvas #graph-container .frame-box .port-container {\n margin-top: 6px;\n margin-bottom: 6px;\n margin-left: 4px;\n margin-right: 4px;\n color: white;\n grid-row: 2;\n grid-column: 1;\n display: grid;\n grid-template-rows: 100%;\n grid-template-columns: 50% 50%;\n z-index: 2; }\n #graph-canvas #graph-container .frame-box .frame-comments.has-comments {\n display: grid;\n grid-row: 2;\n grid-column: 1;\n padding: 0 10px;\n font-style: italic;\n word-wrap: break-word; }\n #graph-canvas #graph-container .frame-box.selected .frame-box-border {\n border-color: white; }\n #graph-canvas #graph-container .frame-box .right-handle {\n grid-area: 1 / 2 / 3 / 2;\n width: 4px;\n background-color: transparent;\n cursor: ew-resize; }\n #graph-canvas #graph-container .frame-box .right-handle::after {\n content: \"\";\n width: 8px;\n position: absolute;\n top: 0;\n bottom: 0;\n margin-left: -4px;\n cursor: ew-resize; }\n #graph-canvas #graph-container .frame-box .right-handle.collapsed {\n cursor: pointer; }\n #graph-canvas #graph-container .frame-box .top-right-corner-handle {\n background-color: transparent;\n height: 4px;\n z-index: 21;\n cursor: ne-resize;\n width: 4px;\n margin-left: -6px; }\n #graph-canvas #graph-container .frame-box .top-right-corner-handle::after {\n background-color: transparent;\n cursor: ne-resize;\n margin-left: unset;\n top: -4px;\n height: 10px;\n width: 10px; }\n #graph-canvas #graph-container .frame-box .bottom-right-corner-handle {\n background-color: transparent;\n height: 0px;\n z-index: 21;\n cursor: nw-resize;\n grid-area: 4 / 2 / 4 / 2;\n margin-left: -2px; }\n #graph-canvas #graph-container .frame-box .bottom-right-corner-handle::after {\n background-color: transparent;\n height: 10px;\n cursor: nw-resize;\n top: unset;\n bottom: -4px;\n width: 10px; }\n #graph-canvas #graph-container .frame-box .left-handle {\n grid-area: 1 / 1 / 3 / 1;\n width: 4px;\n background-color: transparent;\n cursor: ew-resize; }\n #graph-canvas #graph-container .frame-box .left-handle::before {\n content: \"\";\n width: 8px;\n position: absolute;\n top: 0;\n bottom: 0;\n margin-left: -4px; }\n #graph-canvas #graph-container .frame-box .top-left-corner-handle {\n background-color: transparent;\n height: 4px;\n z-index: 21;\n cursor: nw-resize;\n width: 4px;\n margin-left: -4px; }\n #graph-canvas #graph-container .frame-box .top-left-corner-handle::before {\n background-color: transparent;\n cursor: nw-resize;\n margin-left: unset;\n top: -4px;\n height: 10px;\n width: 10px; }\n #graph-canvas #graph-container .frame-box .bottom-left-corner-handle {\n background-color: transparent;\n height: 0px;\n z-index: 21;\n cursor: sw-resize;\n grid-area: 4 / 1 / 4 / 1; }\n #graph-canvas #graph-container .frame-box .bottom-left-corner-handle::before {\n background-color: transparent;\n height: 10px;\n cursor: sw-resize;\n top: unset;\n bottom: -4px;\n width: 10px; }\n #graph-canvas #graph-container .frame-box .top-handle {\n grid-area: 1 / 1 / 1 / 1;\n background-color: transparent;\n height: 4px;\n cursor: ns-resize; }\n #graph-canvas #graph-container .frame-box .top-handle::before {\n content: \"\";\n width: 100%;\n position: absolute;\n top: -4px;\n bottom: 100%;\n right: 0;\n left: 0;\n margin-bottom: -8px;\n cursor: ns-resize;\n height: 8px; }\n #graph-canvas #graph-container .frame-box .bottom-handle {\n grid-area: 3 / 1 / 3 / 1;\n background-color: transparent;\n height: 4px;\n cursor: ns-resize; }\n #graph-canvas #graph-container .frame-box .bottom-handle::after {\n content: \"\";\n width: 100%;\n position: absolute;\n top: 100%;\n bottom: 0;\n right: 0;\n left: 0;\n margin-top: -8px;\n cursor: ns-resize;\n height: 12px; }\n #graph-canvas #graph-container .frame-box.collapsed .top-handle, #graph-canvas #graph-container .frame-box.collapsed .top-right-corner-handle, #graph-canvas #graph-container .frame-box.collapsed .right-handle, #graph-canvas #graph-container .frame-box.collapsed .bottom-right-corner-handle, #graph-canvas #graph-container .frame-box.collapsed .bottom-handle, #graph-canvas #graph-container .frame-box.collapsed .bottom-left-corner-handle, #graph-canvas #graph-container .frame-box.collapsed .left-handle, #graph-canvas #graph-container .frame-box.collapsed .top-left-corner-handle {\n cursor: default; }\n #graph-canvas #graph-container .frame-box.collapsed .right-handle::after, #graph-canvas #graph-container .frame-box.collapsed .bottom-handle::after, #graph-canvas #graph-container .frame-box.collapsed .top-right-corner-handle::after, #graph-canvas #graph-container .frame-box.collapsed .bottom-right-corner-handle::after {\n cursor: default; }\n #graph-canvas #graph-container .frame-box.collapsed .left-handle::before, #graph-canvas #graph-container .frame-box.collapsed .top-handle::before, #graph-canvas #graph-container .frame-box.collapsed .top-left-corner-handle::before, #graph-canvas #graph-container .frame-box.collapsed .bottom-left-corner-handle::before {\n cursor: default; }\n #graph-canvas #graph-container #graph-svg-container {\n grid-row: 1;\n grid-column: 1;\n position: relative;\n width: 100%;\n height: 100%;\n overflow: visible;\n pointer-events: none;\n z-index: 2; }\n #graph-canvas #graph-container #graph-svg-container .link {\n stroke-width: 4px; }\n #graph-canvas #graph-container #graph-svg-container .link.selected {\n stroke: white !important;\n stroke-dasharray: 10, 2; }\n #graph-canvas #graph-container #graph-svg-container .link.hidden {\n display: none; }\n #graph-canvas #graph-container #graph-svg-container .selection-link {\n pointer-events: all;\n stroke-width: 16px;\n opacity: 0;\n transition: opacity 75ms;\n stroke: transparent;\n cursor: pointer; }\n #graph-canvas #graph-container #graph-svg-container .selection-link.hidden {\n display: none; }\n #graph-canvas #graph-container #graph-svg-container .selection-link:hover, #graph-canvas #graph-container #graph-svg-container .selection-link.selected {\n stroke: white !important;\n opacity: 0.4; }\n #graph-canvas #graph-container #graph-canvas-container {\n grid-row: 1;\n grid-column: 1;\n position: relative;\n width: 100%;\n height: 100%; }\n #graph-canvas #graph-container #graph-canvas-container .visual {\n z-index: 4;\n width: 200px;\n position: absolute;\n left: 0;\n top: 0;\n background: gray;\n border: 4px solid black;\n border-radius: 12px;\n display: grid;\n grid-template-rows: 30px auto;\n grid-template-columns: 100%;\n color: white; }\n #graph-canvas #graph-container #graph-canvas-container .visual.hidden {\n display: none; }\n #graph-canvas #graph-container #graph-canvas-container .visual .comments {\n position: absolute;\n top: -50px;\n width: 200px;\n height: 45px;\n overflow: hidden;\n font-style: italic;\n opacity: 0.8;\n display: grid;\n align-items: flex-end;\n pointer-events: none; }\n #graph-canvas #graph-container #graph-canvas-container .visual .selection-border {\n grid-row: 1 / span 3;\n grid-column: 1;\n margin: -4px;\n transition: border-color 100ms;\n border: 4px solid black;\n border-radius: 12px;\n transform: scale(1); }\n #graph-canvas #graph-container #graph-canvas-container .visual.selected .selection-border {\n border-color: white; }\n #graph-canvas #graph-container #graph-canvas-container .visual .header-container {\n grid-row: 1;\n grid-column: 1;\n display: grid;\n grid-template-columns: 1fr auto;\n grid-template-rows: 100%;\n border: 4px solid black;\n border-top-right-radius: 7px;\n border-top-left-radius: 7px;\n background: black;\n color: white;\n transform: scaleX(1.01) translateY(-0.5px);\n transform-origin: center; }\n #graph-canvas #graph-container #graph-canvas-container .visual .header-container.constant {\n border-color: #464348;\n background: #464348; }\n #graph-canvas #graph-container #graph-canvas-container .visual .header-container.inspector {\n border-color: #66491b;\n background: #66491b; }\n #graph-canvas #graph-container #graph-canvas-container .visual .promotion-warning {\n grid-row: 1;\n grid-column: 1;\n display: none;\n z-index: 10;\n justify-self: end;\n align-self: center;\n margin-right: 5px; }\n #graph-canvas #graph-container #graph-canvas-container .visual .promotion-warning.visible {\n display: grid;\n width: 20px; }\n #graph-canvas #graph-container #graph-canvas-container .visual .header {\n grid-row: 1;\n grid-column: 1;\n font-size: 16px;\n text-align: center;\n margin-top: -1px;\n margin-left: -1px;\n margin-right: -1px;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden; }\n #graph-canvas #graph-container #graph-canvas-container .visual .connections {\n grid-row: 2;\n grid-column: 1;\n display: grid;\n grid-template-columns: 50% 50%;\n transform: scale(1); }\n #graph-canvas #graph-container #graph-canvas-container .visual .content {\n min-height: 20px;\n grid-row: 3;\n grid-column: 1; }\n #graph-canvas #graph-container #graph-canvas-container .visual .content.input-block {\n grid-row: 2;\n min-height: 34px;\n text-align: center;\n font-size: 18px;\n font-weight: bold;\n margin: 0 10px 5px;\n display: grid;\n align-content: center; }\n #graph-canvas #graph-container #graph-canvas-container .visual .content.input-block.small-font {\n font-size: 17px; }\n #graph-canvas #graph-container #graph-canvas-container .visual .content.output-block {\n min-height: 0px;\n height: 5px; }\n #graph-canvas #graph-container #graph-canvas-container .visual .content.clamp-block {\n grid-row: 2;\n height: 34px;\n text-align: center;\n font-size: 18px;\n font-weight: bold;\n margin: 0 10px; }\n #graph-canvas #graph-container #graph-canvas-container .visual .content.gradient-block {\n grid-row: 2;\n height: 34px; }\n #graph-canvas #graph-container #graph-canvas-container .visual .content.texture-block {\n grid-row: 2;\n height: 140px;\n width: 140px;\n overflow: hidden;\n border-bottom-left-radius: 7px;\n border: black 4px solid;\n border-left: 0px;\n border-bottom: 0px; }\n #graph-canvas #graph-container #graph-canvas-container .visual .content.texture-block img {\n width: 100%;\n height: 100%;\n pointer-events: none; }\n #graph-canvas #graph-container #graph-canvas-container .visual .content.texture-block img.empty {\n display: none; }\n #graph-canvas #graph-container #graph-canvas-container .visual .content.image-source-block {\n margin-top: 5px; }\n #graph-canvas #graph-container #graph-canvas-container .visual .content.regular-texture-block {\n margin-top: 60px; }\n #graph-canvas #graph-container #graph-canvas-container .visual .content.reduced-texture-block {\n margin-top: 30px; }\n #graph-canvas #graph-container #graph-canvas-container .visual .content.reflection-block {\n grid-row: 3; }\n #graph-canvas #graph-container #graph-canvas-container .visual .content.remap-block {\n height: 34px;\n text-align: center;\n font-size: 18px;\n font-weight: bold;\n margin: 0 10px; }\n #graph-canvas #graph-container #graph-canvas-container .visual .content.trigonometry-block {\n grid-row: 2;\n height: 34px;\n text-align: center;\n font-size: 18px;\n font-weight: bold;\n margin: 0 10px; }\n", ""]);
10048
10048
  // Exports
10049
10049
  module.exports = exports;
10050
10050
 
@@ -54946,6 +54946,9 @@ __webpack_require__.r(__webpack_exports__);
54946
54946
 
54947
54947
 
54948
54948
 
54949
+
54950
+
54951
+
54949
54952
 
54950
54953
 
54951
54954
 
@@ -54955,6 +54958,12 @@ var BlockTools = /** @class */ (function () {
54955
54958
  }
54956
54959
  BlockTools.GetBlockFromString = function (data, scene, nodeMaterial) {
54957
54960
  switch (data) {
54961
+ case "TwirlBlock":
54962
+ return new _babylonjs_core_Materials_Node_Blocks_Fragment_discardBlock__WEBPACK_IMPORTED_MODULE_0__["TwirlBlock"]("Twirl");
54963
+ case "VoronoiNoiseBlock":
54964
+ return new _babylonjs_core_Materials_Node_Blocks_Fragment_discardBlock__WEBPACK_IMPORTED_MODULE_0__["VoronoiNoiseBlock"]("VoronoiNoise");
54965
+ case "ScreenSpaceBlock":
54966
+ return new _babylonjs_core_Materials_Node_Blocks_Fragment_discardBlock__WEBPACK_IMPORTED_MODULE_0__["ScreenSpaceBlock"]("ScreenSpace");
54958
54967
  case "CloudBlock":
54959
54968
  return new _babylonjs_core_Materials_Node_Blocks_Fragment_discardBlock__WEBPACK_IMPORTED_MODULE_0__["CloudBlock"]("Cloud");
54960
54969
  case "MatrixBuilderBlock":
@@ -55650,6 +55659,10 @@ var NodeListComponent = /** @class */ (function (_super) {
55650
55659
  if (frameJson) {
55651
55660
  _this._customFrameList = JSON.parse(frameJson);
55652
55661
  }
55662
+ var blockJson = localStorage.getItem("Custom-Block-List");
55663
+ if (blockJson) {
55664
+ _this._customBlockList = JSON.parse(blockJson);
55665
+ }
55653
55666
  _this._onResetRequiredObserver = _this.props.globalState.onResetRequiredObservable.add(function () {
55654
55667
  _this.forceUpdate();
55655
55668
  });
@@ -55701,35 +55714,182 @@ var NodeListComponent = /** @class */ (function (_super) {
55701
55714
  this.forceUpdate();
55702
55715
  }
55703
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
+ };
55704
55757
  NodeListComponent.prototype.render = function () {
55705
55758
  var _this = this;
55706
55759
  var customFrameNames = [];
55707
55760
  for (var frame in this._customFrameList) {
55708
55761
  customFrameNames.push(frame);
55709
55762
  }
55763
+ var customBlockNames = [];
55764
+ for (var block in this._customBlockList) {
55765
+ customBlockNames.push(block);
55766
+ }
55710
55767
  // Block types used to create the menu from
55711
55768
  var allBlocks = {
55712
55769
  Custom_Frames: customFrameNames,
55770
+ Custom_Blocks: customBlockNames,
55713
55771
  Animation: ["BonesBlock", "MorphTargetsBlock"],
55714
55772
  Color_Management: ["ReplaceColorBlock", "PosterizeBlock", "GradientBlock", "DesaturateBlock"],
55715
55773
  Conversion_Blocks: ["ColorMergerBlock", "ColorSplitterBlock", "VectorMergerBlock", "VectorSplitterBlock"],
55716
- 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
+ ],
55717
55789
  Interpolation: ["LerpBlock", "StepBlock", "SmoothStepBlock", "NLerpBlock"],
55718
55790
  Logical: ["EqualBlock", "NotEqualBlock", "LessThanBlock", "LessOrEqualBlock", "GreaterThanBlock", "GreaterOrEqualBlock", "XorBlock", "OrBlock", "AndBlock"],
55719
- Math__Standard: ["AddBlock", "DivideBlock", "MaxBlock", "MinBlock", "ModBlock", "MultiplyBlock", "NegateBlock", "OneMinusBlock", "ReciprocalBlock", "ScaleBlock", "SignBlock", "SqrtBlock", "SubtractBlock"],
55720
- Math__Scientific: ["AbsBlock", "ArcCosBlock", "ArcSinBlock", "ArcTanBlock", "ArcTan2Block", "CosBlock", "DegreesToRadiansBlock", "ExpBlock", "Exp2Block", "FractBlock", "LogBlock", "PowBlock", "RadiansToDegreesBlock", "SawToothWaveBlock", "SinBlock", "SquareWaveBlock", "TanBlock", "TriangleWaveBlock"],
55721
- Math__Vector: ["CrossBlock", "DerivativeBlock", "DistanceBlock", "DotBlock", "FresnelBlock", "LengthBlock", "ReflectBlock", "RefractBlock", "Rotate2dBlock", "TransformBlock",],
55722
- Matrices: ["Matrix", "WorldMatrixBlock", "WorldViewMatrixBlock", "WorldViewProjectionMatrixBlock", "ViewMatrixBlock", "ViewProjectionMatrixBlock", "ProjectionMatrixBlock", "MatrixBuilderBlock"],
55723
- Mesh: ["InstancesBlock", "PositionBlock", "UVBlock", "ColorBlock", "NormalBlock", "PerturbNormalBlock", "NormalBlendBlock", "TangentBlock", "MatrixIndicesBlock", "MatrixWeightsBlock", "WorldPositionBlock", "WorldNormalBlock", "WorldTangentBlock", "FrontFacingBlock"],
55724
- Noises: ["RandomNumberBlock", "SimplexPerlin3DBlock", "WorleyNoise3DBlock", "CloudBlock"],
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
+ ],
55866
+ Noises: ["RandomNumberBlock", "SimplexPerlin3DBlock", "WorleyNoise3DBlock", "CloudBlock", "VoronoiNoiseBlock"],
55725
55867
  Output_Nodes: ["VertexOutputBlock", "FragmentOutputBlock", "DiscardBlock"],
55726
- 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
+ ],
55727
55877
  PBR: ["PBRMetallicRoughnessBlock", "AnisotropyBlock", "ClearCoatBlock", "ReflectionBlock", "RefractionBlock", "SheenBlock", "SubSurfaceBlock"],
55728
55878
  PostProcess: ["ScreenPositionBlock", "CurrentScreenBlock"],
55729
55879
  Procedural__Texture: ["ScreenPositionBlock"],
55730
55880
  Range: ["ClampBlock", "RemapBlock", "NormalizeBlock"],
55731
55881
  Round: ["RoundBlock", "CeilingBlock", "FloorBlock"],
55732
- 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
+ ],
55733
55893
  };
55734
55894
  switch (this.props.globalState.mode) {
55735
55895
  case _babylonjs_core_Materials_Node_Enums_nodeMaterialModes__WEBPACK_IMPORTED_MODULE_4__["NodeMaterialModes"].Material:
@@ -55765,18 +55925,28 @@ var NodeListComponent = /** @class */ (function (_super) {
55765
55925
  // Create node menu
55766
55926
  var blockMenu = [];
55767
55927
  for (var key in allBlocks) {
55768
- 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; })
55769
55930
  .sort(function (a, b) { return a.localeCompare(b); })
55770
55931
  .map(function (block, i) {
55771
55932
  if (key === "Custom_Frames") {
55772
- 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 }));
55773
55937
  }
55774
55938
  return react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_draggableLineComponent__WEBPACK_IMPORTED_MODULE_3__["DraggableLineComponent"], { key: block, data: block, tooltip: NodeListComponent._Tooltips[block] || "" });
55775
55939
  });
55776
55940
  if (key === "Custom_Frames") {
55777
- 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) {
55778
55942
  _this.loadCustomFrame(file);
55779
- } });
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
+ } }));
55780
55950
  blockList.push(line);
55781
55951
  }
55782
55952
  if (blockList.length) {
@@ -55787,149 +55957,152 @@ var NodeListComponent = /** @class */ (function (_super) {
55787
55957
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "panes" },
55788
55958
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "pane" },
55789
55959
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "filter" },
55790
- 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) {
55791
55961
  _this.props.globalState.blockKeyboardEvents = false;
55792
55962
  }, onChange: function (evt) { return _this.filterContent(evt.target.value); } })),
55793
55963
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "list-container" }, blockMenu)))));
55794
55964
  };
55795
55965
  NodeListComponent._Tooltips = {
55796
- "BonesBlock": "Provides a world matrix for each vertex, based on skeletal (bone/joint) animation",
55797
- "MorphTargetsBlock": "Provides the final positions, normals, tangents, and uvs based on morph targets in a mesh",
55798
- "AddBlock": "Adds the left and right inputs of the same type together",
55799
- "DistanceBlock": "Provides a distance vector based on the left and right input vectors",
55800
- "DivideBlock": "Divides the left input by the right input of the same type",
55801
- "LengthBlock": "Outputs the length of an input vector",
55802
- "MaxBlock": "Outputs the largest value between the left and right inputs of the same type",
55803
- "MinBlock": "Outputs the smallest value between the left and right inputs of the same type",
55804
- "MultiplyBlock": "Multiplies the left and right inputs of the same type together",
55805
- "NegateBlock": "Multiplies the input by -1",
55806
- "OneMinusBlock": "Subtracts each channel of the input value from 1 (1 - input)",
55807
- "RandomNumberBlock": "Provides a random number based on an input seed",
55808
- "ReciprocalBlock": "Quotient of 1 divided by the input",
55809
- "ScaleBlock": "Multiplies the input channels by a float factor",
55810
- "SubtractBlock": "Subtracts the right input from the left input of the same type",
55811
- "GradientBlock": "Returns the color in the gradient represented by the target value of the input",
55812
- "PosterizeBlock": "Reduces the number of values in each channel to the number in the corresponding channel of steps",
55813
- "ReplaceColorBlock": "Outputs the replacement color if the distance between value and reference is less than distance, else outputs the value color",
55814
- "ColorMergerBlock": "Combines float input channels into a color",
55815
- "ColorSplitterBlock": "Separates color input channels into individual floats",
55816
- "VectorMergerBlock": "Combines up to four input floats into a vector",
55817
- "VectorSplitterBlock": "Separates vectors input channels into individual floats",
55818
- "Color3": "A color made up of red, green, and blue channel values",
55819
- "Color4": "A color made up of red, green, blue, and alpha channel values",
55820
- "DeltaTimeBlock": "A float representing the time that has passed since the last frame was rendered",
55821
- "Float": "A floating point number representing a value with a fractional component",
55822
- "TextureBlock": "A node for reading a linked or embedded texture file",
55823
- "TimeBlock": "A float value that represents the time that has passed since the scene was loaded",
55824
- "Vector2": "a vector composed of X and Y channels",
55825
- "Vector3": "a vector composed of X, Y, and Z channels",
55826
- "Vector4": "a vector composed of X, Y, Z, and W channels",
55827
- "LerpBlock": "Outputs a value that is a mix of the left and right inputs based on the target value",
55828
- "NLerpBlock": "Outputs a value that is a mix of the left and right inputs based on the target's normalized value",
55829
- "SmoothStepBlock": "Outputs a value based on a the input value's position on a curve between the two edge values",
55830
- "StepBlock": "Outputs 1 for any input value above the edge input, outputs 0 for any input value below the edge input",
55831
- "Matrix": "A 4x4 table of related values",
55832
- "ProjectionMatrixBlock": "A matrix to remap points in 3D space to 2D plane relative to the screen",
55833
- "ViewMatrixBlock": "A matrix to remap points in 3D space to 2D plane relative to the view of the scene camera",
55834
- "ViewProjectionMatrixBlock": "A matrix to remap points in 3D space to 2D view space before remapping to 2D screen space",
55835
- "WorldMatrixBlock": "A matrix to remap points in 3D local space to 3D world space",
55836
- "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",
55837
- "ColorBlock": "Outputs the RGBA color of each vertex in the mesh",
55838
- "InstancesBlock": "Provides the world matrix for each instance to apply this material to all instances",
55839
- "MatrixIndicesBlock": "A Vector4 representing the vertex to bone skinning assignments",
55840
- "MatrixWeightsBlock": "A Vector4 representing the vertex to bone skinning weights",
55841
- "NormalBlock": "A Vector3 representing the normal of each vertex of the attached mesh",
55842
- "PositionBlock": "A Vector3 representing the position of each vertex of the attached mesh",
55843
- "TangentBlock": "A Vector3 representing the tangent of each vertex of the attached mesh",
55844
- "UVBlock": "A Vector2 representing the UV coordinates of each vertex of the attached mesh",
55845
- "WorldNormal": "A Vector4 representing the normal of each vertex of the attached mesh transformed into world space",
55846
- "WorldTangent": "A Vector4 representing the tangent of each vertex of the attached mesh transformed into world space",
55847
- "PerturbNormalBlock": "Creates high-frequency detail normal vectors based on a normal map, the world position, and world normal",
55848
- "NormalBlend": "Outputs the result of blending two normal maps together using a per-channel screen",
55849
- "WorldPosition": "A Vector4 representing the position of each vertex of the attached mesh transformed into world space",
55850
- "DiscardBlock": "A final node that will not output a pixel below the cutoff value",
55851
- "FragmentOutputBlock": "A mandatory final node for outputing the color of each pixel",
55852
- "VertexOutputBlock": "A mandatory final node for outputing the position of each vertex",
55853
- "ClampBlock": "Outputs values above the maximum or below minimum as maximum or minimum values respectively",
55854
- "NormalizeBlock": "Remaps the length of a vector or color to 1",
55855
- "RemapBlock": "Remaps input value between sourceMin and sourceMax to a new range between targetMin and targetMax",
55856
- "CeilingBlock": "Outputs fractional values as the next higher whole number",
55857
- "FloorBlock": "Outputs fractional values as the next lower whole number",
55858
- "RoundBlock": "Outputs fractional values rounded to the nearest whole number",
55859
- "ModBlock": "Outputs the value of one parameter modulo another",
55860
- "CameraPositionBlock": "Outputs a Vector3 position of the active scene camera",
55861
- "CameraParametersBlock": "Outputs a Vector4 containing (-1 for webGL and 1 for webGPU, camera.minZ, camera.maxZ, 1 / camera.maxZ)",
55862
- "FogBlock": "Applies fog to the scene with an increasing opacity based on distance from the camera",
55863
- "FogColorBlock": "The system value for fog color pulled from the scene",
55864
- "ImageProcessingBlock": "Provides access to all of the Babylon image processing properties",
55865
- "LightBlock": "Outputs diffuse and specular contributions from one or more scene lights",
55866
- "LightInformationBlock": "Provides the direction, color and intensity of a selected light based on its world position",
55867
- "ReflectionTextureBlock": "Creates a reflection from the input texture",
55868
- "ViewDirectionBlock": "Outputs the direction vector of where the camera is aimed",
55869
- "AbsBlock": "Outputs the absolute value of the input value",
55870
- "ArcCosBlock": "Outputs the inverse of the cosine value based on the input value",
55871
- "ArcSinBlock": "Outputs the inverse of the sine value based on the input value",
55872
- "ArcTan2Block": "Outputs the inverse of the tangent value based on the input value",
55873
- "ArcTanBlock": "Outputs the inverse of the tangent value based on the input value",
55874
- "CosBlock": "Outputs the cosine value based on the input value",
55875
- "DegreesToRadiansBlock": "Converts the input degrees value to radians",
55876
- "Exp2Block": "Outputs the input value multiplied by itself 1 time. (Exponent of 2)",
55877
- "ExpBlock": "Outputs the input value multiplied by itself 9 time. (Exponent of 10)",
55878
- "FractBlock": "Outputs only the fractional value of a floating point number",
55879
- "LogBlock": "The logarithmic value based on the input value",
55880
- "PowBlock": "Outputs the input value multiplied by itself the number of times equal to the power input (Exponent of power)",
55881
- "RadiansToDegreesBlock": "Converts the input radians value to degrees",
55882
- "SawToothWaveBlock": "Outputs a sawtooth pattern value between -1 and 1 based on the input value",
55883
- "SignBlock": "returns 1 if the input is positive, 0 if input is equal to 0, or -1 if the input is negative",
55884
- "SinBlock": "Outputs the the sine value based on the input value",
55885
- "SqrtBlock": "Outputs the the square root of the input value",
55886
- "SquareWaveBlock": "Outputs a stepped pattern value between -1 and 1 based on the input value",
55887
- "TanBlock": "Outputs the the tangent value based on the input value",
55888
- "TriangleWaveBlock": "Outputs a sawtooth pattern value between 0 and 1 based on the input value",
55889
- "CrossBlock": "Outputs a vector that is perpendicular to two input vectors",
55890
- "DotBlock": "Outputs the cos of the angle between two vectors",
55891
- "FresnelBlock": "Outputs the grazing angle of the surface of the mesh, relative to a camera influenced by the bias and power inputs",
55892
- "TransformBlock": "Transforms a input vector based on the input matrix",
55893
- "DerivativeBlock": "FRAGMENT SHADER ONLY. Provides the rate of change for an input on a given axis (x,y).",
55894
- "DesaturateBlock": "Convert a color input into a grayscale representation.",
55895
- "WorldViewMatrixBlock": "A matrix to remap points in 3D local space to 3D world space, and ending in 2D camera space.",
55896
- "FrontFacingBlock": "Returns 1 if a mesh triangle faces the normal direction and 0 if it does not.",
55897
- "SimplexPerlin3DBlock": "Creates a type of gradient noise with few directional artifacts.",
55898
- "WorleyNoise3DBlock": "Creates a random pattern resembling cells.",
55899
- "ReflectBlock": "Outputs the direction of the input vector reflected across the surface normal.",
55900
- "RefractBlock": "Outputs a direction simulating a deflection of the input vector.",
55901
- "Rotate2dBlock": "Rotates UV coordinates around the W axis.",
55902
- "PBRMetallicRoughnessBlock": "PBR metallic/roughness material",
55903
- "SheenBlock": "PBR Sheen block",
55904
- "AnisotropyBlock": "PBR Anisotropy block",
55905
- "ReflectionBlock": "PBR Reflection block",
55906
- "ClearCoatBlock": "PBR ClearCoat block",
55907
- "RefractionBlock": "PBR Refraction block",
55908
- "SubSurfaceBlock": "PBR SubSurface block",
55909
- "ScreenPositionBlock": "A Vector2 representing the position of each vertex of the screen quad (derived from UV set from the quad used to render)",
55910
- "CurrentScreenBlock": "The screen buffer used as input for the post process",
55911
- "ParticleUVBlock": "The particle uv texture coordinate",
55912
- "ParticleTextureBlock": "The particle texture",
55913
- "ParticleColorBlock": "The particle color",
55914
- "ParticleTextureMaskBlock": "The particle texture mask",
55915
- "ParticleRampGradientBlock": "The particle ramp gradient block",
55916
- "ParticleBlendMultiplyBlock": "The particle blend multiply block",
55917
- "ParticlePositionWorldBlock": "The world position of the particle",
55918
- "FragCoordBlock": "The gl_FragCoord predefined variable that contains the window relative coordinate (x, y, z, 1/w)",
55919
- "ScreenSizeBlock": "The size (in pixels) of the screen window",
55920
- "SceneDepthBlock": "The scene depth buffer",
55921
- "MatrixBuilderBlock": "Converts 4 Vector4 into a matrix",
55922
- "EqualBlock": "Return a value if two operands are equals",
55923
- "NotEqualBlock": "Return a value if two operands are not equals",
55924
- "LessThanBlock": "Return a value if an operand is smaller than a second operand",
55925
- "LessOrEqualBlock": "Return a value if an operand is smaller or equal to a second operand",
55926
- "GreaterThanBlock": "Return a value if an operand is greater than a second operand",
55927
- "GreaterOrEqualBlock": "Return a value if an operand is greater or equal to a second operand",
55928
- "XorBlock": "Return a value if (a xor b) > 0",
55929
- "OrBlock": "Return a value if (a or b) > 0",
55930
- "AndBlock": "Return a value if (a and b) > 0",
55931
- "ImageSourceBlock": "Centralize texture access for TextureBlocks",
55932
- "CloudBlock": "Generate Fractal Brownian Motion Clouds"
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"
55933
56106
  };
55934
56107
  return NodeListComponent;
55935
56108
  }(react__WEBPACK_IMPORTED_MODULE_1__["Component"]));
@@ -56014,12 +56187,11 @@ var PreviewAreaComponent = /** @class */ (function (_super) {
56014
56187
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { id: "preview", style: { height: this.props.width + "px" } },
56015
56188
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("canvas", { id: "preview-canvas" }),
56016
56189
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "waitPanel" + (this.state.isLoading ? "" : " hidden") }, "Please wait, loading...")),
56017
- this.props.globalState.mode === _babylonjs_core_Misc_dataStorage__WEBPACK_IMPORTED_MODULE_2__["NodeMaterialModes"].Particle &&
56018
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { id: "preview-config-bar", className: "extended" },
56019
- 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) {
56020
- _this.changeParticleSystemBlendMode(value);
56021
- } })),
56022
- 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,
56023
56195
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { id: "preview-config-bar" },
56024
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" : "") },
56025
56197
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("img", { src: doubleSided, alt: "" })),
@@ -56045,7 +56217,7 @@ var PreviewAreaComponent = /** @class */ (function (_super) {
56045
56217
  _this.props.globalState.onLightUpdated.notifyObservers();
56046
56218
  _this.forceUpdate();
56047
56219
  }, className: "button direction-light-0" + (this.props.globalState.directionalLight0 ? " selected" : "") },
56048
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("img", { src: directionalLeft, alt: "" }))))));
56220
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("img", { src: directionalLeft, alt: "" })))))));
56049
56221
  };
56050
56222
  return PreviewAreaComponent;
56051
56223
  }(react__WEBPACK_IMPORTED_MODULE_1__["Component"]));
@@ -56638,7 +56810,7 @@ var PreviewMeshControlComponent = /** @class */ (function (_super) {
56638
56810
  { label: "Plane", value: _previewType__WEBPACK_IMPORTED_MODULE_3__["PreviewType"].Plane },
56639
56811
  { label: "Shader ball", value: _previewType__WEBPACK_IMPORTED_MODULE_3__["PreviewType"].ShaderBall },
56640
56812
  { label: "Sphere", value: _previewType__WEBPACK_IMPORTED_MODULE_3__["PreviewType"].Sphere },
56641
- { label: "Load...", value: _previewType__WEBPACK_IMPORTED_MODULE_3__["PreviewType"].Custom + 1 }
56813
+ { label: "Load...", value: _previewType__WEBPACK_IMPORTED_MODULE_3__["PreviewType"].Custom + 1 },
56642
56814
  ];
56643
56815
  var particleTypeOptions = [
56644
56816
  { label: "Default", value: _previewType__WEBPACK_IMPORTED_MODULE_3__["PreviewType"].DefaultParticleSystem },
@@ -56647,20 +56819,22 @@ var PreviewMeshControlComponent = /** @class */ (function (_super) {
56647
56819
  { label: "Fire", value: _previewType__WEBPACK_IMPORTED_MODULE_3__["PreviewType"].Fire },
56648
56820
  { label: "Rain", value: _previewType__WEBPACK_IMPORTED_MODULE_3__["PreviewType"].Rain },
56649
56821
  { label: "Smoke", value: _previewType__WEBPACK_IMPORTED_MODULE_3__["PreviewType"].Smoke },
56650
- { label: "Load...", value: _previewType__WEBPACK_IMPORTED_MODULE_3__["PreviewType"].Custom + 1 }
56822
+ { label: "Load...", value: _previewType__WEBPACK_IMPORTED_MODULE_3__["PreviewType"].Custom + 1 },
56651
56823
  ];
56652
56824
  if (this.props.globalState.listOfCustomPreviewFiles.length > 0) {
56653
56825
  meshTypeOptions.splice(0, 0, {
56654
- label: "Custom", value: _previewType__WEBPACK_IMPORTED_MODULE_3__["PreviewType"].Custom
56826
+ label: "Custom",
56827
+ value: _previewType__WEBPACK_IMPORTED_MODULE_3__["PreviewType"].Custom,
56655
56828
  });
56656
56829
  particleTypeOptions.splice(0, 0, {
56657
- label: "Custom", value: _previewType__WEBPACK_IMPORTED_MODULE_3__["PreviewType"].Custom
56830
+ label: "Custom",
56831
+ value: _previewType__WEBPACK_IMPORTED_MODULE_3__["PreviewType"].Custom,
56658
56832
  });
56659
56833
  }
56660
56834
  var options = this.props.globalState.mode === _babylonjs_core_Maths_math_color__WEBPACK_IMPORTED_MODULE_2__["NodeMaterialModes"].Particle ? particleTypeOptions : meshTypeOptions;
56661
56835
  var accept = this.props.globalState.mode === _babylonjs_core_Maths_math_color__WEBPACK_IMPORTED_MODULE_2__["NodeMaterialModes"].Particle ? ".json" : ".gltf, .glb, .babylon, .obj";
56662
56836
  return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { id: "preview-mesh-bar" },
56663
- (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,
56664
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) {
56665
56839
  var _a;
56666
56840
  if (value !== _previewType__WEBPACK_IMPORTED_MODULE_3__["PreviewType"].Custom + 1) {
@@ -56671,15 +56845,14 @@ var PreviewMeshControlComponent = /** @class */ (function (_super) {
56671
56845
  }
56672
56846
  } }),
56673
56847
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { style: {
56674
- display: "none"
56848
+ display: "none",
56675
56849
  }, title: "Preview with a custom mesh" },
56676
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("input", { ref: this.filePickerRef, id: "file-picker", type: "file", onChange: function (evt) { return _this.useCustomMesh(evt); }, accept: accept }))),
56677
- this.props.globalState.mode === _babylonjs_core_Maths_math_color__WEBPACK_IMPORTED_MODULE_2__["NodeMaterialModes"].Material &&
56678
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](react__WEBPACK_IMPORTED_MODULE_1__["Fragment"], null,
56679
- 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: "" })),
56680
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { id: "color-picker-button", title: "Background color", className: "button align", onClick: function (_) { return _this.changeBackgroundClick(); } },
56681
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("img", { src: colorPicker, alt: "", id: "color-picker-image" }),
56682
- 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); } })))),
56683
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" },
56684
56857
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("img", { src: popUpIcon, alt: "" }))));
56685
56858
  };
@@ -56873,16 +57046,13 @@ var InputsPropertyTabComponent = /** @class */ (function (_super) {
56873
57046
  var _this = this;
56874
57047
  switch (block.type) {
56875
57048
  case _babylonjs_core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_5__["NodeMaterialBlockConnectionPointTypes"].Float:
56876
- 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;
56877
57050
  return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { key: block.uniqueId },
56878
- block.isBoolean &&
56879
- 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 () {
56880
- _this.processInputBlockUpdate(block);
56881
- } }),
56882
- !block.isBoolean && cantDisplaySlider &&
56883
- 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); } }),
56884
- !block.isBoolean && !cantDisplaySlider &&
56885
- 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); } }))));
56886
57056
  case _babylonjs_core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_5__["NodeMaterialBlockConnectionPointTypes"].Color3:
56887
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); } }));
56888
57058
  case _babylonjs_core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_5__["NodeMaterialBlockConnectionPointTypes"].Color4:
@@ -57309,16 +57479,13 @@ var PropertyTabComponent = /** @class */ (function (_super) {
57309
57479
  var _this = this;
57310
57480
  switch (block.type) {
57311
57481
  case _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_6__["NodeMaterialBlockConnectionPointTypes"].Float:
57312
- 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;
57313
57483
  return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { key: block.uniqueId },
57314
- block.isBoolean &&
57315
- 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 () {
57316
- _this.processInputBlockUpdate(block);
57317
- } }),
57318
- !block.isBoolean && cantDisplaySlider &&
57319
- 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); } }),
57320
- !block.isBoolean && !cantDisplaySlider &&
57321
- 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); } }))));
57322
57489
  case _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_6__["NodeMaterialBlockConnectionPointTypes"].Color3:
57323
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); } }));
57324
57491
  case _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_6__["NodeMaterialBlockConnectionPointTypes"].Color4:
@@ -57360,10 +57527,13 @@ var PropertyTabComponent = /** @class */ (function (_super) {
57360
57527
  var _this = this;
57361
57528
  this.setState({ uploadInProgress: true });
57362
57529
  this.props.globalState.onLogRequiredObservable.notifyObservers({ message: "Saving your material to Babylon.js snippet server...", isError: false });
57363
- 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 () {
57364
57533
  _this.props.globalState.onLogRequiredObservable.notifyObservers({ message: "Material saved successfully", isError: false });
57365
57534
  _this.setState({ uploadInProgress: false });
57366
- }).catch(function (err) {
57535
+ })
57536
+ .catch(function (err) {
57367
57537
  _this.props.globalState.onLogRequiredObservable.notifyObservers({ message: err, isError: true });
57368
57538
  _this.setState({ uploadInProgress: false });
57369
57539
  });
@@ -57390,7 +57560,7 @@ var PropertyTabComponent = /** @class */ (function (_super) {
57390
57560
  if (windowAsAny.Playground && oldId) {
57391
57561
  windowAsAny.Playground.onRequestCodeChangeObservable.notifyObservers({
57392
57562
  regex: new RegExp(oldId, "g"),
57393
- replace: material.snippetId
57563
+ replace: material.snippetId,
57394
57564
  });
57395
57565
  }
57396
57566
  _this.props.globalState.hostDocument.defaultView.alert("NodeMaterial saved with ID: " + material.snippetId + " (please note that the id was also saved to your clipboard)");
@@ -57404,11 +57574,11 @@ var PropertyTabComponent = /** @class */ (function (_super) {
57404
57574
  xmlHttp.setRequestHeader("Content-Type", "application/json");
57405
57575
  var dataToSend = {
57406
57576
  payload: JSON.stringify({
57407
- nodeMaterial: json
57577
+ nodeMaterial: json,
57408
57578
  }),
57409
57579
  name: "",
57410
57580
  description: "",
57411
- tags: ""
57581
+ tags: "",
57412
57582
  };
57413
57583
  xmlHttp.send(JSON.stringify(dataToSend));
57414
57584
  };
@@ -57421,12 +57591,14 @@ var PropertyTabComponent = /** @class */ (function (_super) {
57421
57591
  return;
57422
57592
  }
57423
57593
  this.props.globalState.onSelectionChangedObservable.notifyObservers(null);
57424
- _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 () {
57425
57596
  material.build();
57426
57597
  if (!_this.changeMode(_this.props.globalState.nodeMaterial.mode, true, false)) {
57427
57598
  _this.props.globalState.onResetRequiredObservable.notifyObservers();
57428
57599
  }
57429
- }).catch(function (err) {
57600
+ })
57601
+ .catch(function (err) {
57430
57602
  _this.props.globalState.hostDocument.defaultView.alert("Unable to load your node material: " + err);
57431
57603
  });
57432
57604
  };
@@ -57437,7 +57609,7 @@ var PropertyTabComponent = /** @class */ (function (_super) {
57437
57609
  if (this.props.globalState.mode === value) {
57438
57610
  return false;
57439
57611
  }
57440
- 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!")) {
57441
57613
  (_a = this._modeSelect.current) === null || _a === void 0 ? void 0 : _a.setValue(this.props.globalState.mode);
57442
57614
  return false;
57443
57615
  }
@@ -57486,13 +57658,13 @@ var PropertyTabComponent = /** @class */ (function (_super) {
57486
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())));
57487
57659
  }
57488
57660
  if (this.state.currentFrameNodePort && this.state.currentFrame) {
57489
- 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 });
57490
57662
  }
57491
57663
  if (this.state.currentNodePort) {
57492
- 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 });
57493
57665
  }
57494
57666
  if (this.state.currentFrame) {
57495
- 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 });
57496
57668
  }
57497
57669
  var gridSize = _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_6__["DataStorage"].ReadNumber("GridSize", 20);
57498
57670
  var modeList = [
@@ -57509,7 +57681,7 @@ var PropertyTabComponent = /** @class */ (function (_super) {
57509
57681
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_3__["LineContainerComponent"], { title: "GENERAL" },
57510
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); } }),
57511
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 }),
57512
- 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"); } }),
57513
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 }),
57514
57686
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_buttonLineComponent__WEBPACK_IMPORTED_MODULE_2__["ButtonLineComponent"], { label: "Reset to default", onClick: function () {
57515
57687
  switch (_this.props.globalState.mode) {
@@ -57560,19 +57732,16 @@ var PropertyTabComponent = /** @class */ (function (_super) {
57560
57732
  _this.props.globalState.nodeMaterial.build();
57561
57733
  _sharedUiComponents_stringTools__WEBPACK_IMPORTED_MODULE_4__["StringTools"].DownloadAsFile(_this.props.globalState.hostDocument, _this.props.globalState.nodeMaterial.compiledShaders, "shaders.txt");
57562
57734
  } }),
57563
- this.props.globalState.customSave &&
57564
- 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 () {
57565
- _this.customSave();
57566
- } }),
57567
- 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" })),
57568
- !this.props.globalState.customSave &&
57569
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_3__["LineContainerComponent"], { title: "SNIPPET" },
57570
- this.props.globalState.nodeMaterial.snippetId &&
57571
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_textLineComponent__WEBPACK_IMPORTED_MODULE_12__["TextLineComponent"], { label: "Snippet ID", value: this.props.globalState.nodeMaterial.snippetId }),
57572
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_buttonLineComponent__WEBPACK_IMPORTED_MODULE_2__["ButtonLineComponent"], { label: "Load from snippet server", onClick: function () { return _this.loadFromSnippet(); } }),
57573
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_buttonLineComponent__WEBPACK_IMPORTED_MODULE_2__["ButtonLineComponent"], { label: "Save to snippet server", onClick: function () {
57574
- _this.saveToSnippetServer();
57575
- } })),
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
+ } }))),
57576
57745
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_inputsPropertyTabComponent__WEBPACK_IMPORTED_MODULE_27__["InputsPropertyTabComponent"], { globalState: this.props.globalState, inputs: this.props.globalState.nodeMaterial.getInputBlocks() }))));
57577
57746
  };
57578
57747
  return PropertyTabComponent;
@@ -58809,7 +58978,7 @@ var GraphCanvasComponent = /** @class */ (function (_super) {
58809
58978
  id: node.id,
58810
58979
  type: "node",
58811
58980
  width: node.width,
58812
- height: node.height
58981
+ height: node.height,
58813
58982
  });
58814
58983
  });
58815
58984
  this._frames.forEach(function (frame) {
@@ -58817,7 +58986,7 @@ var GraphCanvasComponent = /** @class */ (function (_super) {
58817
58986
  id: frame.id,
58818
58987
  type: "frame",
58819
58988
  width: frame.element.clientWidth,
58820
- height: frame.element.clientHeight
58989
+ height: frame.element.clientHeight,
58821
58990
  });
58822
58991
  });
58823
58992
  this._nodes.forEach(function (node) {
@@ -58972,8 +59141,8 @@ var GraphCanvasComponent = /** @class */ (function (_super) {
58972
59141
  this._selectionBox.classList.add("selection-box");
58973
59142
  this._selectionContainer.appendChild(this._selectionBox);
58974
59143
  var rootRect = this.canvasContainer.getBoundingClientRect();
58975
- this._selectionStartX = (evt.pageX - rootRect.left);
58976
- this._selectionStartY = (evt.pageY - rootRect.top);
59144
+ this._selectionStartX = evt.pageX - rootRect.left;
59145
+ this._selectionStartY = evt.pageY - rootRect.top;
58977
59146
  this._selectionBox.style.left = this._selectionStartX / this.zoom + "px";
58978
59147
  this._selectionBox.style.top = this._selectionStartY / this.zoom + "px";
58979
59148
  this._selectionBox.style.width = "0px";
@@ -58986,8 +59155,8 @@ var GraphCanvasComponent = /** @class */ (function (_super) {
58986
59155
  this._frameCandidate.classList.add("frame-box");
58987
59156
  this._frameContainer.appendChild(this._frameCandidate);
58988
59157
  var rootRect = this.canvasContainer.getBoundingClientRect();
58989
- this._selectionStartX = (evt.pageX - rootRect.left);
58990
- this._selectionStartY = (evt.pageY - rootRect.top);
59158
+ this._selectionStartX = evt.pageX - rootRect.left;
59159
+ this._selectionStartY = evt.pageY - rootRect.top;
58991
59160
  this._frameCandidate.style.left = this._selectionStartX / this.zoom + "px";
58992
59161
  this._frameCandidate.style.top = this._selectionStartY / this.zoom + "px";
58993
59162
  this._frameCandidate.style.width = "0px";
@@ -59017,14 +59186,16 @@ var GraphCanvasComponent = /** @class */ (function (_super) {
59017
59186
  this.processCandidatePort();
59018
59187
  this.props.globalState.onCandidateLinkMoved.notifyObservers(null);
59019
59188
  }
59020
- else { // is a click event on NodePort
59021
- 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
59022
59193
  var port_1 = this._candidateLink.portA;
59023
59194
  var frame = this.frames.find(function (frame) { return frame.id === port_1.parentFrameId; });
59024
59195
  if (frame) {
59025
59196
  var data = {
59026
59197
  frame: frame,
59027
- port: port_1
59198
+ port: port_1,
59028
59199
  };
59029
59200
  this.props.globalState.onSelectionChangedObservable.notifyObservers(data);
59030
59201
  }
@@ -59147,7 +59318,9 @@ var GraphCanvasComponent = /** @class */ (function (_super) {
59147
59318
  var y_1 = nodeA.y;
59148
59319
  emittedBlock.inputs.forEach(function (connection) {
59149
59320
  if (connection.connectedPoint) {
59150
- 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
+ });
59151
59324
  var connectedNode = existingNodes[0];
59152
59325
  if (connectedNode.x === 0 && connectedNode.y === 0) {
59153
59326
  connectedNode.x = x_1;
@@ -59181,7 +59354,9 @@ var GraphCanvasComponent = /** @class */ (function (_super) {
59181
59354
  // Check compatibility
59182
59355
  var isFragmentOutput = pointB.ownerBlock.getClassName() === "FragmentOutputBlock";
59183
59356
  var compatibilityState = pointA.checkCompatibilityState(pointB);
59184
- 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"])) {
59185
59360
  compatibilityState = pointB.checkCompatibilityState(pointA);
59186
59361
  }
59187
59362
  if (compatibilityState === _babylonjs_core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_2__["NodeMaterialConnectionPointCompatibilityStates"].Compatible) {
@@ -59219,7 +59394,8 @@ var GraphCanvasComponent = /** @class */ (function (_super) {
59219
59394
  link.dispose(false);
59220
59395
  });
59221
59396
  }
59222
- 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
59223
59399
  pointB.ownerBlock.inputs.forEach(function (i) {
59224
59400
  var links = nodeB.getLinksForConnectionPoint(i);
59225
59401
  if (!linksToNotifyForDispose) {
@@ -61143,7 +61319,10 @@ var GraphNode = /** @class */ (function () {
61143
61319
  var img = root.ownerDocument.createElement("img");
61144
61320
  img.src = triangle;
61145
61321
  this._promotionWarning.appendChild(img);
61146
- this._headerContainer.appendChild(this._promotionWarning);
61322
+ this._visual.appendChild(this._promotionWarning);
61323
+ var selectionBorder = root.ownerDocument.createElement("div");
61324
+ selectionBorder.classList.add("selection-border");
61325
+ this._visual.appendChild(selectionBorder);
61147
61326
  this._connections = root.ownerDocument.createElement("div");
61148
61327
  this._connections.classList.add("connections");
61149
61328
  this._visual.appendChild(this._connections);
@@ -61156,9 +61335,6 @@ var GraphNode = /** @class */ (function () {
61156
61335
  this._content = root.ownerDocument.createElement("div");
61157
61336
  this._content.classList.add("content");
61158
61337
  this._visual.appendChild(this._content);
61159
- var selectionBorder = root.ownerDocument.createElement("div");
61160
- selectionBorder.classList.add("selection-border");
61161
- this._visual.appendChild(selectionBorder);
61162
61338
  root.appendChild(this._visual);
61163
61339
  // Comments
61164
61340
  this._comments = root.ownerDocument.createElement("div");
@@ -61677,7 +61853,7 @@ var ConditionalPropertyTabComponent = /** @class */ (function (_super) {
61677
61853
  { label: "GreaterOrEqual", value: _babylonjs_core_Materials_Node_Blocks_conditionalBlock__WEBPACK_IMPORTED_MODULE_4__["ConditionalBlockConditions"].GreaterOrEqual },
61678
61854
  { label: "Xor", value: _babylonjs_core_Materials_Node_Blocks_conditionalBlock__WEBPACK_IMPORTED_MODULE_4__["ConditionalBlockConditions"].Xor },
61679
61855
  { label: "Or", value: _babylonjs_core_Materials_Node_Blocks_conditionalBlock__WEBPACK_IMPORTED_MODULE_4__["ConditionalBlockConditions"].Or },
61680
- { 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 },
61681
61857
  ];
61682
61858
  conditionOptions.sort(function (a, b) {
61683
61859
  return a.label.localeCompare(b.label);
@@ -61728,7 +61904,7 @@ var FrameNodePortPropertyTabComponent = /** @class */ (function (_super) {
61728
61904
  function FrameNodePortPropertyTabComponent(props) {
61729
61905
  var _this_1 = _super.call(this, props) || this;
61730
61906
  _this_1.state = {
61731
- port: _this_1.props.frameNodePort
61907
+ port: _this_1.props.frameNodePort,
61732
61908
  };
61733
61909
  var _this = _this_1;
61734
61910
  _this_1._onSelectionChangedObserver = _this_1.props.globalState.onSelectionChangedObservable.add(function (selection) {
@@ -61758,12 +61934,12 @@ var FrameNodePortPropertyTabComponent = /** @class */ (function (_super) {
61758
61934
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", null,
61759
61935
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_2__["LineContainerComponent"], { title: "GENERAL" },
61760
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 }),
61761
- 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 () {
61762
61938
  _this_1.props.frame.moveFramePortUp(_this_1.props.frameNodePort);
61763
- } }),
61764
- 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 () {
61765
61941
  _this_1.props.frame.moveFramePortDown(_this_1.props.frameNodePort);
61766
- } })))));
61942
+ } }))))));
61767
61943
  };
61768
61944
  return FrameNodePortPropertyTabComponent;
61769
61945
  }(react__WEBPACK_IMPORTED_MODULE_1__["Component"]));
@@ -61832,14 +62008,12 @@ var FramePropertyTabComponent = /** @class */ (function (_super) {
61832
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 }),
61833
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" }),
61834
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 }),
61835
- !this.props.frame.isCollapsed &&
61836
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_buttonLineComponent__WEBPACK_IMPORTED_MODULE_5__["ButtonLineComponent"], { label: "Collapse", onClick: function () {
61837
- _this.props.frame.isCollapsed = true;
61838
- } }),
61839
- this.props.frame.isCollapsed &&
61840
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_buttonLineComponent__WEBPACK_IMPORTED_MODULE_5__["ButtonLineComponent"], { label: "Expand", onClick: function () {
61841
- _this.props.frame.isCollapsed = false;
61842
- } }),
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
+ } })),
61843
62017
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_buttonLineComponent__WEBPACK_IMPORTED_MODULE_5__["ButtonLineComponent"], { label: "Export", onClick: function () {
61844
62018
  _this.props.frame.export();
61845
62019
  } })),
@@ -61916,22 +62090,19 @@ var GeneralPropertyTabComponent = /** @class */ (function (_super) {
61916
62090
  ];
61917
62091
  return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](react__WEBPACK_IMPORTED_MODULE_1__["Fragment"], null,
61918
62092
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_2__["LineContainerComponent"], { title: "GENERAL" },
61919
- (!this.props.block.isInput || !this.props.block.isAttribute) &&
61920
- 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) {
61921
- if (!_this.props.block.validateBlockName(newName)) {
61922
- _this.props.globalState.onErrorMessageDialogRequiredObservable.notifyObservers("\"" + newName + "\" is a reserved name, please choose another");
61923
- return false;
61924
- }
61925
- return true;
61926
- } }),
61927
- (this.props.block._originalTargetIsNeutral) &&
61928
- 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 () {
61929
- _this.forceUpdate();
61930
- _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
61931
- _this.props.globalState.onRebuildRequiredObservable.notifyObservers(true);
61932
- } }),
61933
- (!this.props.block._originalTargetIsNeutral) &&
61934
- 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] }),
61935
62106
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_textLineComponent__WEBPACK_IMPORTED_MODULE_4__["TextLineComponent"], { label: "Type", value: this.props.block.getClassName() }),
61936
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); } }))));
61937
62108
  };
@@ -61960,7 +62131,7 @@ var GenericPropertyTabComponent = /** @class */ (function (_super) {
61960
62131
  var _this = this;
61961
62132
  var block = this.props.block, propStore = block._propStore;
61962
62133
  if (!propStore) {
61963
- 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);
61964
62135
  }
61965
62136
  var componentList = {}, groups = [];
61966
62137
  var _loop_1 = function (propertyName, displayName, type, groupName, options) {
@@ -61976,7 +62147,7 @@ var GenericPropertyTabComponent = /** @class */ (function (_super) {
61976
62147
  break;
61977
62148
  }
61978
62149
  case _babylonjs_core_Materials_Node_nodeMaterialDecorator__WEBPACK_IMPORTED_MODULE_10__["PropertyTypeForEdition"].Float: {
61979
- 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;
61980
62151
  if (cantDisplaySlider) {
61981
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); } }));
61982
62153
  }
@@ -62004,9 +62175,7 @@ var GenericPropertyTabComponent = /** @class */ (function (_super) {
62004
62175
  var _a = propStore_1[_i], propertyName = _a.propertyName, displayName = _a.displayName, type = _a.type, groupName = _a.groupName, options = _a.options;
62005
62176
  _loop_1(propertyName, displayName, type, groupName, options);
62006
62177
  }
62007
- return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](react__WEBPACK_IMPORTED_MODULE_1__["Fragment"], null, groups.map(function (group) {
62008
- return react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_2__["LineContainerComponent"], { title: group }, componentList[group]);
62009
- })));
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])); })));
62010
62179
  };
62011
62180
  return GenericPropertyTabComponent;
62012
62181
  }(react__WEBPACK_IMPORTED_MODULE_1__["Component"]));
@@ -62214,8 +62383,10 @@ var GradientStepComponent = /** @class */ (function (_super) {
62214
62383
  } })),
62215
62384
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "step-slider" },
62216
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)); } })),
62217
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "gradient-copy", onClick: function () { if (_this.props.onCopy)
62218
- _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" },
62219
62390
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("img", { className: "img", src: copyIcon })),
62220
62391
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "gradient-delete", onClick: function () { return _this.props.onDelete(); }, title: "Delete Step" },
62221
62392
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("img", { className: "img", src: deleteButton }))));
@@ -62287,8 +62458,8 @@ var ImageSourcePropertyTabComponent = /** @class */ (function (_super) {
62287
62458
  }
62288
62459
  };
62289
62460
  ImageSourcePropertyTabComponent.prototype._generateRandomForCache = function () {
62290
- return 'xxxxxxxxxxxxxxxxxxxx'.replace(/[x]/g, function (c) {
62291
- var r = Math.random() * 10 | 0;
62461
+ return "xxxxxxxxxxxxxxxxxxxx".replace(/[x]/g, function (c) {
62462
+ var r = (Math.random() * 10) | 0;
62292
62463
  return r.toString();
62293
62464
  });
62294
62465
  };
@@ -62374,63 +62545,49 @@ var ImageSourcePropertyTabComponent = /** @class */ (function (_super) {
62374
62545
  return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", null,
62375
62546
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_genericNodePropertyComponent__WEBPACK_IMPORTED_MODULE_9__["GeneralPropertyTabComponent"], { globalState: this.props.globalState, block: this.props.block }),
62376
62547
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_4__["LineContainerComponent"], { title: "PROPERTIES" },
62377
- texture && texture.updateSamplingMode &&
62378
- 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) {
62379
- texture.updateSamplingMode(value);
62380
- _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
62381
- } }),
62382
- texture &&
62383
- 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) {
62384
- 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;
62385
- _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
62386
- } }),
62387
- texture &&
62388
- 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) {
62389
- 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;
62390
- _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
62391
- } }),
62392
- texture &&
62393
- 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 () {
62394
- _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
62395
- } }),
62396
- texture &&
62397
- 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 () {
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: "Scale U", target: texture, propertyName: "uScale", 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: "Scale V", target: texture, propertyName: "vScale", onChange: function () {
62406
- _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
62407
- } }),
62408
- texture &&
62409
- 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 () {
62410
- _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
62411
- } }),
62412
- texture &&
62413
- 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 () {
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 W", target: texture, globalState: this.props.globalState, propertyName: "wAng", minimum: 0, maximum: Math.PI * 2, useEuler: true, step: 0.1, onChange: function () {
62418
- _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
62419
- } })),
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
+ } }))),
62420
62581
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_4__["LineContainerComponent"], { title: "SOURCE" },
62421
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) {
62422
62583
  _this.setState({ isEmbedded: value });
62423
62584
  _this.imageSourceBlock.texture = null;
62424
62585
  _this.updateAfterTextureLoad();
62425
62586
  } }),
62426
- this.state.isEmbedded &&
62427
- 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" }),
62428
- !this.state.isEmbedded &&
62429
- 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); } }),
62430
- !this.state.isEmbedded && url &&
62431
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_buttonLineComponent__WEBPACK_IMPORTED_MODULE_7__["ButtonLineComponent"], { label: "Refresh", onClick: function () { return _this.replaceTextureWithUrl(url + "?nocache=" + _this._generateRandomForCache()); } }),
62432
- texture &&
62433
- 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(); } })),
62434
62591
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_genericNodePropertyComponent__WEBPACK_IMPORTED_MODULE_9__["GenericPropertyTabComponent"], { globalState: this.props.globalState, block: this.props.block })));
62435
62592
  };
62436
62593
  return ImageSourcePropertyTabComponent;
@@ -62513,51 +62670,46 @@ var InputPropertyTabComponent = /** @class */ (function (_super) {
62513
62670
  var inputBlock = this.props.block;
62514
62671
  switch (inputBlock.type) {
62515
62672
  case _babylonjs_core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_12__["NodeMaterialBlockConnectionPointTypes"].Float: {
62516
- 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;
62517
62674
  return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](react__WEBPACK_IMPORTED_MODULE_1__["Fragment"], null,
62518
62675
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_15__["CheckBoxLineComponent"], { label: "Is boolean", target: inputBlock, propertyName: "isBoolean" }),
62519
- inputBlock.isBoolean &&
62520
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_15__["CheckBoxLineComponent"], { label: "Value", isSelected: function () {
62521
- return inputBlock.value === 1;
62522
- }, onSelect: function (value) {
62523
- 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;
62524
62688
  if (inputBlock.isConstant) {
62525
62689
  _this.props.globalState.onRebuildRequiredObservable.notifyObservers(true);
62526
62690
  }
62527
- _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
62528
- } }),
62529
- !inputBlock.isBoolean &&
62530
- 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 () {
62531
- if (inputBlock.value < inputBlock.min) {
62532
- inputBlock.value = inputBlock.min;
62533
- if (inputBlock.isConstant) {
62534
- _this.props.globalState.onRebuildRequiredObservable.notifyObservers(true);
62535
- }
62536
- }
62537
- _this.forceUpdate();
62538
- } }),
62539
- !inputBlock.isBoolean &&
62540
- 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 () {
62541
- if (inputBlock.value > inputBlock.max) {
62542
- inputBlock.value = inputBlock.max;
62543
- if (inputBlock.isConstant) {
62544
- _this.props.globalState.onRebuildRequiredObservable.notifyObservers(true);
62545
- }
62546
- }
62547
- _this.forceUpdate();
62548
- } }),
62549
- !inputBlock.isBoolean && cantDisplaySlider &&
62550
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_components_propertyTab_properties_floatPropertyTabComponent__WEBPACK_IMPORTED_MODULE_3__["FloatPropertyTabComponent"], { globalState: globalState, inputBlock: inputBlock }),
62551
- !inputBlock.isBoolean && !cantDisplaySlider &&
62552
- 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;
62553
62697
  if (inputBlock.isConstant) {
62554
62698
  _this.props.globalState.onRebuildRequiredObservable.notifyObservers(true);
62555
62699
  }
62556
- _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
62557
- } })));
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
+ } }))));
62558
62710
  }
62559
62711
  case _babylonjs_core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_12__["NodeMaterialBlockConnectionPointTypes"].Vector2:
62560
- 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 });
62561
62713
  case _babylonjs_core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_12__["NodeMaterialBlockConnectionPointTypes"].Color3:
62562
62714
  return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](react__WEBPACK_IMPORTED_MODULE_1__["Fragment"], null,
62563
62715
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_components_propertyTab_properties_color3PropertyTabComponent__WEBPACK_IMPORTED_MODULE_6__["Color3PropertyTabComponent"], { globalState: globalState, inputBlock: inputBlock }),
@@ -62577,11 +62729,11 @@ var InputPropertyTabComponent = /** @class */ (function (_super) {
62577
62729
  _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
62578
62730
  } })));
62579
62731
  case _babylonjs_core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_12__["NodeMaterialBlockConnectionPointTypes"].Vector3:
62580
- 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 });
62581
62733
  case _babylonjs_core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_12__["NodeMaterialBlockConnectionPointTypes"].Vector4:
62582
- 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 });
62583
62735
  case _babylonjs_core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_12__["NodeMaterialBlockConnectionPointTypes"].Matrix:
62584
- 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 });
62585
62737
  }
62586
62738
  return null;
62587
62739
  };
@@ -62601,9 +62753,7 @@ var InputPropertyTabComponent = /** @class */ (function (_super) {
62601
62753
  { label: "None", value: _babylonjs_core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_12__["AnimatedInputBlockTypes"].None },
62602
62754
  { label: "Time", value: _babylonjs_core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_12__["AnimatedInputBlockTypes"].Time },
62603
62755
  ];
62604
- systemValuesOptions = [
62605
- { label: "Delta time", value: _babylonjs_core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_12__["NodeMaterialSystemValues"].DeltaTime }
62606
- ];
62756
+ systemValuesOptions = [{ label: "Delta time", value: _babylonjs_core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_12__["NodeMaterialSystemValues"].DeltaTime }];
62607
62757
  break;
62608
62758
  case _babylonjs_core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_12__["NodeMaterialBlockConnectionPointTypes"].Matrix:
62609
62759
  systemValuesOptions = [
@@ -62612,18 +62762,14 @@ var InputPropertyTabComponent = /** @class */ (function (_super) {
62612
62762
  { label: "World x View x Projection", value: _babylonjs_core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_12__["NodeMaterialSystemValues"].WorldViewProjection },
62613
62763
  { label: "View", value: _babylonjs_core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_12__["NodeMaterialSystemValues"].View },
62614
62764
  { label: "View x Projection", value: _babylonjs_core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_12__["NodeMaterialSystemValues"].ViewProjection },
62615
- { 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 },
62616
62766
  ];
62617
62767
  break;
62618
62768
  case _babylonjs_core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_12__["NodeMaterialBlockConnectionPointTypes"].Color3:
62619
- systemValuesOptions = [
62620
- { label: "Fog color", value: _babylonjs_core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_12__["NodeMaterialSystemValues"].FogColor }
62621
- ];
62769
+ systemValuesOptions = [{ label: "Fog color", value: _babylonjs_core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_12__["NodeMaterialSystemValues"].FogColor }];
62622
62770
  break;
62623
62771
  case _babylonjs_core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_12__["NodeMaterialBlockConnectionPointTypes"].Color4:
62624
- attributeOptions = [
62625
- { label: "color", value: "color" }
62626
- ];
62772
+ attributeOptions = [{ label: "color", value: "color" }];
62627
62773
  break;
62628
62774
  case _babylonjs_core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_12__["NodeMaterialBlockConnectionPointTypes"].Vector2:
62629
62775
  attributeOptions = [
@@ -62636,9 +62782,7 @@ var InputPropertyTabComponent = /** @class */ (function (_super) {
62636
62782
  ];
62637
62783
  break;
62638
62784
  case _babylonjs_core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_12__["NodeMaterialBlockConnectionPointTypes"].Vector3:
62639
- systemValuesOptions = [
62640
- { label: "Camera position", value: _babylonjs_core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_12__["NodeMaterialSystemValues"].CameraPosition }
62641
- ];
62785
+ systemValuesOptions = [{ label: "Camera position", value: _babylonjs_core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_12__["NodeMaterialSystemValues"].CameraPosition }];
62642
62786
  attributeOptions = [
62643
62787
  { label: "position", value: "position" },
62644
62788
  { label: "normal", value: "normal" },
@@ -62648,16 +62792,12 @@ var InputPropertyTabComponent = /** @class */ (function (_super) {
62648
62792
  case _babylonjs_core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_12__["NodeMaterialBlockConnectionPointTypes"].Vector4:
62649
62793
  attributeOptions = [
62650
62794
  { label: "matricesIndices", value: "matricesIndices" },
62651
- { label: "matricesWeights", value: "matricesWeights" }
62652
- ];
62653
- systemValuesOptions = [
62654
- { label: "Camera parameters", value: _babylonjs_core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_12__["NodeMaterialSystemValues"].CameraParameters }
62795
+ { label: "matricesWeights", value: "matricesWeights" },
62655
62796
  ];
62797
+ systemValuesOptions = [{ label: "Camera parameters", value: _babylonjs_core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_12__["NodeMaterialSystemValues"].CameraParameters }];
62656
62798
  break;
62657
62799
  }
62658
- var modeOptions = [
62659
- { label: "User-defined", value: 0 }
62660
- ];
62800
+ var modeOptions = [{ label: "User-defined", value: 0 }];
62661
62801
  if (attributeOptions.length > 0) {
62662
62802
  modeOptions.push({ label: "Mesh attribute", value: 1 });
62663
62803
  }
@@ -62667,45 +62807,43 @@ var InputPropertyTabComponent = /** @class */ (function (_super) {
62667
62807
  var typeOptions = [
62668
62808
  { label: "None", value: 0 },
62669
62809
  { label: "Visible in the inspector", value: 1 },
62670
- { label: "Constant", value: 2 }
62810
+ { label: "Constant", value: 2 },
62671
62811
  ];
62672
62812
  return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", null,
62673
62813
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_genericNodePropertyComponent__WEBPACK_IMPORTED_MODULE_13__["GeneralPropertyTabComponent"], { globalState: this.props.globalState, block: this.props.block }),
62674
62814
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_10__["LineContainerComponent"], { title: "PROPERTIES" },
62675
- inputBlock.isUniform && !inputBlock.isSystemValue && inputBlock.animationType === _babylonjs_core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_12__["AnimatedInputBlockTypes"].None &&
62676
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_optionsLineComponent__WEBPACK_IMPORTED_MODULE_11__["OptionsLineComponent"], { label: "Type", options: typeOptions, target: inputBlock, noDirectUpdate: true, getSelection: function (block) {
62677
- if (block.visibleInInspector) {
62678
- return 1;
62679
- }
62680
- if (block.isConstant) {
62681
- return 2;
62682
- }
62683
- return 0;
62684
- }, onSelect: function (value) {
62685
- switch (value) {
62686
- case 0:
62687
- inputBlock.visibleInInspector = false;
62688
- inputBlock.isConstant = false;
62689
- break;
62690
- case 1:
62691
- inputBlock.visibleInInspector = true;
62692
- inputBlock.isConstant = false;
62693
- break;
62694
- case 2:
62695
- inputBlock.visibleInInspector = false;
62696
- inputBlock.isConstant = true;
62697
- break;
62698
- }
62699
- _this.forceUpdate();
62700
- _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
62701
- _this.props.globalState.onRebuildRequiredObservable.notifyObservers(true);
62702
- } }),
62703
- inputBlock.visibleInInspector &&
62704
- 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 () {
62705
- _this.forceUpdate();
62706
- _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
62707
- _this.props.globalState.onRebuildRequiredObservable.notifyObservers(true);
62708
- } }),
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
+ } })),
62709
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) {
62710
62848
  if (block.isAttribute) {
62711
62849
  return 1;
@@ -62732,30 +62870,25 @@ var InputPropertyTabComponent = /** @class */ (function (_super) {
62732
62870
  _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
62733
62871
  _this.props.globalState.onRebuildRequiredObservable.notifyObservers(true);
62734
62872
  } }),
62735
- inputBlock.isAttribute &&
62736
- 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) {
62737
- inputBlock.setAsAttribute(value);
62738
- _this.forceUpdate();
62739
- _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
62740
- _this.props.globalState.onRebuildRequiredObservable.notifyObservers(true);
62741
- } }),
62742
- inputBlock.isUniform && animationOptions.length > 0 &&
62743
- 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) {
62744
- _this.forceUpdate();
62745
- _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
62746
- _this.props.globalState.onRebuildRequiredObservable.notifyObservers(true);
62747
- } }),
62748
- inputBlock.isUniform && !inputBlock.isSystemValue && inputBlock.animationType === _babylonjs_core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_12__["AnimatedInputBlockTypes"].None &&
62749
- this.renderValue(this.props.globalState),
62750
- inputBlock.isUniform && inputBlock.isSystemValue &&
62751
- 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) {
62752
- inputBlock.setAsSystemValue(value);
62753
- _this.forceUpdate();
62754
- _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
62755
- _this.props.globalState.onRebuildRequiredObservable.notifyObservers(true);
62756
- } }),
62757
- inputBlock.isUniform && !inputBlock.isSystemValue && inputBlock.animationType === _babylonjs_core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_12__["AnimatedInputBlockTypes"].None &&
62758
- 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" })))));
62759
62892
  };
62760
62893
  return InputPropertyTabComponent;
62761
62894
  }(react__WEBPACK_IMPORTED_MODULE_1__["Component"]));
@@ -62905,11 +63038,9 @@ var NodePortPropertyTabComponent = /** @class */ (function (_super) {
62905
63038
  };
62906
63039
  NodePortPropertyTabComponent.prototype.render = function () {
62907
63040
  var _this = this;
62908
- var info = this.props.nodePort.hasLabel() ?
62909
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](react__WEBPACK_IMPORTED_MODULE_1__["Fragment"], null,
62910
- 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 }),
62911
- 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 })) :
62912
- 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: " " }));
62913
63044
  return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { id: "propertyTab" },
62914
63045
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { id: "header" },
62915
63046
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("img", { id: "logo", src: "https://www.babylonjs.com/Assets/logo-babylonjs-social-twitter.png" }),
@@ -62991,8 +63122,8 @@ var TexturePropertyTabComponent = /** @class */ (function (_super) {
62991
63122
  }
62992
63123
  };
62993
63124
  TexturePropertyTabComponent.prototype._generateRandomForCache = function () {
62994
- return 'xxxxxxxxxxxxxxxxxxxx'.replace(/[x]/g, function (c) {
62995
- var r = Math.random() * 10 | 0;
63125
+ return "xxxxxxxxxxxxxxxxxxxx".replace(/[x]/g, function (c) {
63126
+ var r = (Math.random() * 10) | 0;
62996
63127
  return r.toString();
62997
63128
  });
62998
63129
  };
@@ -63018,7 +63149,10 @@ var TexturePropertyTabComponent = /** @class */ (function (_super) {
63018
63149
  }
63019
63150
  if (!texture) {
63020
63151
  if (!this.state.loadAsCubeTexture) {
63021
- 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);
63022
63156
  texture = this.textureBlock.texture;
63023
63157
  texture.coordinatesMode = _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__["Texture"].EQUIRECTANGULAR_MODE;
63024
63158
  }
@@ -63090,31 +63224,40 @@ var TexturePropertyTabComponent = /** @class */ (function (_super) {
63090
63224
  var showIsInGammaSpace = this.textureBlock instanceof _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__["ReflectionBlock"];
63091
63225
  var reflectionModeOptions = [
63092
63226
  {
63093
- 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,
63094
63229
  },
63095
63230
  {
63096
- 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,
63097
63233
  },
63098
63234
  {
63099
- 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,
63100
63237
  },
63101
63238
  {
63102
- 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,
63103
63241
  },
63104
63242
  {
63105
- 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,
63106
63245
  },
63107
63246
  {
63108
- 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,
63109
63249
  },
63110
63250
  {
63111
- 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,
63112
63253
  },
63113
63254
  {
63114
- 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,
63115
63257
  },
63116
63258
  {
63117
- 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,
63118
63261
  },
63119
63262
  ];
63120
63263
  var samplingMode = [
@@ -63137,90 +63280,69 @@ var TexturePropertyTabComponent = /** @class */ (function (_super) {
63137
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 () {
63138
63281
  _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
63139
63282
  } }),
63140
- !isInReflectionMode &&
63141
- 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 () {
63142
- _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
63143
- } }),
63144
- !isInReflectionMode &&
63145
- 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 () {
63146
- _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
63147
- } }),
63148
- texture && showIsInGammaSpace &&
63149
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_6__["CheckBoxLineComponent"], { label: "Is in gamma space", propertyName: "gammaSpace", target: texture, onValueChanged: function () {
63150
- _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
63151
- } }),
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
+ } })),
63152
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 () {
63153
63293
  _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
63154
63294
  _this.props.globalState.onRebuildRequiredObservable.notifyObservers(true);
63155
63295
  } }),
63156
- texture && texture.updateSamplingMode &&
63157
- 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) {
63158
- texture.updateSamplingMode(value);
63159
- _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
63160
- } }),
63161
- texture && isInReflectionMode &&
63162
- 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) {
63163
- texture.coordinatesMode = value;
63164
- _this.forceUpdate();
63165
- _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
63166
- } }),
63167
- texture && !isInReflectionMode && !isFrozenTexture &&
63168
- 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) {
63169
- 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;
63170
- _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
63171
- } }),
63172
- texture && !isInReflectionMode && !isFrozenTexture &&
63173
- 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) {
63174
- 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;
63175
- _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
63176
- } }),
63177
- texture && !isInReflectionMode && !isFrozenTexture &&
63178
- 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 () {
63179
- _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
63180
- } }),
63181
- texture && !isInReflectionMode && !isFrozenTexture &&
63182
- 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 () {
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: "Scale U", target: texture, propertyName: "uScale", 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: "Scale V", target: texture, propertyName: "vScale", onChange: function () {
63191
- _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
63192
- } }),
63193
- texture && !isInReflectionMode && !isFrozenTexture &&
63194
- 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 () {
63195
- _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
63196
- } }),
63197
- texture && !isInReflectionMode && !isFrozenTexture &&
63198
- 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 () {
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 W", target: texture, globalState: this.props.globalState, propertyName: "wAng", minimum: 0, maximum: Math.PI * 2, useEuler: true, step: 0.1, onChange: function () {
63203
- _this.props.globalState.onUpdateRequiredObservable.notifyObservers(_this.props.block);
63204
- } })),
63205
- !this.textureBlock.hasImageSource &&
63206
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_4__["LineContainerComponent"], { title: "SOURCE" },
63207
- 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) {
63208
- _this.setState({ isEmbedded: value });
63209
- _this.textureBlock.texture = null;
63210
- _this.updateAfterTextureLoad();
63211
- } }),
63212
- isInReflectionMode &&
63213
- 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 }); } }),
63214
- isInReflectionMode && this.state.loadAsCubeTexture &&
63215
- 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 }); } }),
63216
- this.state.isEmbedded &&
63217
- 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" }),
63218
- !this.state.isEmbedded &&
63219
- 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); } }),
63220
- !this.state.isEmbedded && url &&
63221
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_buttonLineComponent__WEBPACK_IMPORTED_MODULE_9__["ButtonLineComponent"], { label: "Refresh", onClick: function () { return _this.replaceTextureWithUrl(url + "?nocache=" + _this._generateRandomForCache()); } }),
63222
- texture &&
63223
- 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(); } }))),
63224
63346
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_genericNodePropertyComponent__WEBPACK_IMPORTED_MODULE_11__["GenericPropertyTabComponent"], { globalState: this.props.globalState, block: this.props.block })));
63225
63347
  };
63226
63348
  return TexturePropertyTabComponent;
@@ -63329,7 +63451,7 @@ var TrigonometryPropertyTabComponent = /** @class */ (function (_super) {
63329
63451
  { label: "Fract", value: _babylonjs_core_Materials_Node_Blocks_trigonometryBlock__WEBPACK_IMPORTED_MODULE_4__["TrigonometryBlockOperations"].Fract },
63330
63452
  { label: "Sign", value: _babylonjs_core_Materials_Node_Blocks_trigonometryBlock__WEBPACK_IMPORTED_MODULE_4__["TrigonometryBlockOperations"].Sign },
63331
63453
  { label: "Radians to degrees", value: _babylonjs_core_Materials_Node_Blocks_trigonometryBlock__WEBPACK_IMPORTED_MODULE_4__["TrigonometryBlockOperations"].Degrees },
63332
- { 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 },
63333
63455
  ];
63334
63456
  operationOptions.sort(function (a, b) {
63335
63457
  return a.label.localeCompare(b.label);
@@ -63606,8 +63728,8 @@ __webpack_require__.r(__webpack_exports__);
63606
63728
 
63607
63729
 
63608
63730
 
63731
+
63609
63732
  __webpack_require__(/*! ./main.scss */ "./main.scss");
63610
- ;
63611
63733
  var GraphEditor = /** @class */ (function (_super) {
63612
63734
  Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(GraphEditor, _super);
63613
63735
  function GraphEditor(props) {
@@ -63622,10 +63744,10 @@ var GraphEditor = /** @class */ (function (_super) {
63622
63744
  _this._mouseLocationY = 0;
63623
63745
  _this.handlePopUp = function () {
63624
63746
  _this.setState({
63625
- showPreviewPopUp: true
63747
+ showPreviewPopUp: true,
63626
63748
  });
63627
63749
  _this.createPopUp();
63628
- _this.props.globalState.hostWindow.addEventListener('beforeunload', _this.handleClosingPopUp);
63750
+ _this.props.globalState.hostWindow.addEventListener("beforeunload", _this.handleClosingPopUp);
63629
63751
  };
63630
63752
  _this.handleClosingPopUp = function () {
63631
63753
  if (_this._previewManager) {
@@ -63633,7 +63755,7 @@ var GraphEditor = /** @class */ (function (_super) {
63633
63755
  }
63634
63756
  _this._popUpWindow.close();
63635
63757
  _this.setState({
63636
- showPreviewPopUp: false
63758
+ showPreviewPopUp: false,
63637
63759
  }, function () { return _this.initiatePreviewArea(); });
63638
63760
  };
63639
63761
  _this.initiatePreviewArea = function (canvas) {
@@ -63653,8 +63775,8 @@ var GraphEditor = /** @class */ (function (_super) {
63653
63775
  var options = Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__assign"])({ embedHostWidth: "100%" }, userOptions);
63654
63776
  var popUpWindow = _this.createPopupWindow("PREVIEW AREA", "_PreviewHostWindow");
63655
63777
  if (popUpWindow) {
63656
- popUpWindow.addEventListener('beforeunload', _this.handleClosingPopUp);
63657
- 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");
63658
63780
  _this.createPreviewMeshControlHost(options, parentControl);
63659
63781
  _this.createPreviewHost(options, parentControl);
63660
63782
  if (parentControl) {
@@ -63670,11 +63792,11 @@ var GraphEditor = /** @class */ (function (_super) {
63670
63792
  width: width,
63671
63793
  height: height,
63672
63794
  top: (_this.props.globalState.hostWindow.innerHeight - width) / 2 + window.screenY,
63673
- left: (_this.props.globalState.hostWindow.innerWidth - height) / 2 + window.screenX
63795
+ left: (_this.props.globalState.hostWindow.innerWidth - height) / 2 + window.screenX,
63674
63796
  };
63675
63797
  var windowCreationOptions = Object.keys(windowCreationOptionsList)
63676
- .map(function (key) { return key + '=' + windowCreationOptionsList[key]; })
63677
- .join(',');
63798
+ .map(function (key) { return key + "=" + windowCreationOptionsList[key]; })
63799
+ .join(",");
63678
63800
  var popupWindow = _this.props.globalState.hostWindow.open("", title, windowCreationOptions);
63679
63801
  if (!popupWindow) {
63680
63802
  return null;
@@ -63692,8 +63814,8 @@ var GraphEditor = /** @class */ (function (_super) {
63692
63814
  parentControl.style.padding = "0";
63693
63815
  parentControl.style.display = "grid";
63694
63816
  parentControl.style.gridTemplateRows = "40px auto";
63695
- parentControl.id = 'node-editor-graph-root';
63696
- parentControl.className = 'right-panel popup';
63817
+ parentControl.id = "node-editor-graph-root";
63818
+ parentControl.className = "right-panel popup";
63697
63819
  popupWindow.document.body.appendChild(parentControl);
63698
63820
  _sharedComponents_popup__WEBPACK_IMPORTED_MODULE_16__["Popup"]._CopyStyles(_this.props.globalState.hostWindow.document, parentDocument);
63699
63821
  _this[windowVariableName] = popupWindow;
@@ -63709,7 +63831,7 @@ var GraphEditor = /** @class */ (function (_super) {
63709
63831
  parentControl.appendChild(host);
63710
63832
  var PreviewMeshControlComponentHost = react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_components_preview_previewMeshControlComponent__WEBPACK_IMPORTED_MODULE_10__["PreviewMeshControlComponent"], {
63711
63833
  globalState: _this.props.globalState,
63712
- togglePreviewAreaComponent: _this.handlePopUp
63834
+ togglePreviewAreaComponent: _this.handlePopUp,
63713
63835
  });
63714
63836
  react_dom__WEBPACK_IMPORTED_MODULE_15__["render"](PreviewMeshControlComponentHost, host);
63715
63837
  }
@@ -63723,7 +63845,7 @@ var GraphEditor = /** @class */ (function (_super) {
63723
63845
  host.style.height = "100%";
63724
63846
  host.style.overflow = "hidden";
63725
63847
  host.style.display = "grid";
63726
- host.style.gridRow = '2';
63848
+ host.style.gridRow = "2";
63727
63849
  host.style.gridTemplateRows = "auto 40px";
63728
63850
  host.style.gridTemplateRows = "calc(100% - 40px) 40px";
63729
63851
  parentControl.appendChild(host);
@@ -63735,7 +63857,7 @@ var GraphEditor = /** @class */ (function (_super) {
63735
63857
  if (_this._previewHost) {
63736
63858
  var PreviewAreaComponentHost = react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_components_preview_previewAreaComponent__WEBPACK_IMPORTED_MODULE_11__["PreviewAreaComponent"], {
63737
63859
  globalState: _this.props.globalState,
63738
- width: 200
63860
+ width: 200,
63739
63861
  });
63740
63862
  react_dom__WEBPACK_IMPORTED_MODULE_15__["render"](PreviewAreaComponentHost, _this._previewHost);
63741
63863
  }
@@ -63750,17 +63872,17 @@ var GraphEditor = /** @class */ (function (_super) {
63750
63872
  if (previewConfigBar) {
63751
63873
  previewConfigBar.style.gridRow = "2";
63752
63874
  }
63753
- var newWindowButton = document.getElementById('preview-new-window');
63875
+ var newWindowButton = document.getElementById("preview-new-window");
63754
63876
  if (newWindowButton) {
63755
- newWindowButton.style.display = 'none';
63877
+ newWindowButton.style.display = "none";
63756
63878
  }
63757
- var previewMeshBar = document.getElementById('preview-mesh-bar');
63879
+ var previewMeshBar = document.getElementById("preview-mesh-bar");
63758
63880
  if (previewMeshBar) {
63759
63881
  previewMeshBar.style.gridTemplateColumns = "auto 1fr 40px 40px";
63760
63882
  }
63761
63883
  };
63762
63884
  _this.state = {
63763
- showPreviewPopUp: false
63885
+ showPreviewPopUp: false,
63764
63886
  };
63765
63887
  _this.props.globalState.onRebuildRequiredObservable.add(function (autoConfigure) {
63766
63888
  if (_this.props.globalState.nodeMaterial) {
@@ -63776,7 +63898,7 @@ var GraphEditor = /** @class */ (function (_super) {
63776
63898
  _this.props.globalState.onImportFrameObservable.add(function (source) {
63777
63899
  var frameData = source.editorData.frames[0];
63778
63900
  // create new graph nodes for only blocks from frame (last blocks added)
63779
- _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) {
63780
63902
  _this.createNodeFromObject(block);
63781
63903
  });
63782
63904
  _this._graphCanvas.addFrame(frameData);
@@ -63792,7 +63914,8 @@ var GraphEditor = /** @class */ (function (_super) {
63792
63914
  return _this._graphCanvas.findNodeFromBlock(block);
63793
63915
  };
63794
63916
  _this.props.globalState.hostDocument.addEventListener("keydown", function (evt) {
63795
- 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
63796
63919
  var selectedItems = _this._graphCanvas.selectedNodes;
63797
63920
  for (var _i = 0, selectedItems_1 = selectedItems; _i < selectedItems_1.length; _i++) {
63798
63921
  var selectedItem = selectedItems_1[_i];
@@ -63835,7 +63958,8 @@ var GraphEditor = /** @class */ (function (_super) {
63835
63958
  if (!evt.ctrlKey || _this.props.globalState.blockKeyboardEvents) {
63836
63959
  return;
63837
63960
  }
63838
- if (evt.key === "c" || evt.key === "C") { // Copy
63961
+ if (evt.key === "c" || evt.key === "C") {
63962
+ // Copy
63839
63963
  _this._copiedNodes = [];
63840
63964
  _this._copiedFrame = null;
63841
63965
  if (_this._graphCanvas.selectedFrame) {
@@ -63853,7 +63977,8 @@ var GraphEditor = /** @class */ (function (_super) {
63853
63977
  }
63854
63978
  _this._copiedNodes = selectedItems.slice(0);
63855
63979
  }
63856
- else if (evt.key === "v" || evt.key === "V") { // Paste
63980
+ else if (evt.key === "v" || evt.key === "V") {
63981
+ // Paste
63857
63982
  var rootElement = _this.props.globalState.hostDocument.querySelector(".diagram-container");
63858
63983
  var zoomLevel = _this._graphCanvas.zoom;
63859
63984
  var currentY = (_this._mouseLocationY - rootElement.offsetTop - _this._graphCanvas.y - 20) / zoomLevel;
@@ -64011,7 +64136,7 @@ var GraphEditor = /** @class */ (function (_super) {
64011
64136
  var newNodes = [];
64012
64137
  // Copy to prevent recursive side effects while creating nodes.
64013
64138
  copiedNodes = copiedNodes.slice();
64014
- // Cancel selection
64139
+ // Cancel selection
64015
64140
  this.props.globalState.onSelectionChangedObservable.notifyObservers(null);
64016
64141
  // Create new nodes
64017
64142
  for (var _i = 0, copiedNodes_1 = copiedNodes; _i < copiedNodes_1.length; _i++) {
@@ -64075,7 +64200,7 @@ var GraphEditor = /** @class */ (function (_super) {
64075
64200
  this._graphCanvas._isLoading = true; // Will help loading large graphes
64076
64201
  if (editorData instanceof Array) {
64077
64202
  editorData = {
64078
- locations: editorData
64203
+ locations: editorData,
64079
64204
  };
64080
64205
  }
64081
64206
  // setup the diagram model
@@ -64192,14 +64317,26 @@ var GraphEditor = /** @class */ (function (_super) {
64192
64317
  var _this = this;
64193
64318
  var data = event.dataTransfer.getData("babylonjs-material-node");
64194
64319
  var newNode;
64195
- 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) {
64196
64334
  var storageData = localStorage.getItem(data);
64197
64335
  if (storageData) {
64198
64336
  var frameData = JSON.parse(storageData);
64199
64337
  //edit position before loading.
64200
64338
  var newX = (event.clientX - event.currentTarget.offsetLeft - this._graphCanvas.x - this.NodeWidth) / this._graphCanvas.zoom;
64201
64339
  var newY = (event.clientY - event.currentTarget.offsetTop - this._graphCanvas.y - 20) / this._graphCanvas.zoom;
64202
- ;
64203
64340
  var oldX = frameData.editorData.frames[0].x;
64204
64341
  var oldY = frameData.editorData.frames[0].y;
64205
64342
  frameData.editorData.frames[0].x = newX;
@@ -64219,7 +64356,14 @@ var GraphEditor = /** @class */ (function (_super) {
64219
64356
  newNode = this.addValueNode(data);
64220
64357
  }
64221
64358
  else {
64222
- 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
+ }
64223
64367
  if (block_1.isUnique) {
64224
64368
  var className = block_1.getClassName();
64225
64369
  for (var _b = 0, _c = this._blocks; _b < _c.length; _b++) {
@@ -64233,7 +64377,6 @@ var GraphEditor = /** @class */ (function (_super) {
64233
64377
  block_1.autoConfigure(this.props.globalState.nodeMaterial);
64234
64378
  newNode = this.createNodeFromObject(block_1);
64235
64379
  }
64236
- ;
64237
64380
  var x = event.clientX - event.currentTarget.offsetLeft - this._graphCanvas.x - this.NodeWidth;
64238
64381
  var y = event.clientY - event.currentTarget.offsetTop - this._graphCanvas.y - 20;
64239
64382
  newNode.x = x / this._graphCanvas.zoom;
@@ -64245,7 +64388,9 @@ var GraphEditor = /** @class */ (function (_super) {
64245
64388
  x -= this.NodeWidth + 150;
64246
64389
  block.inputs.forEach(function (connection) {
64247
64390
  if (connection.connectedPoint) {
64248
- 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
+ });
64249
64394
  var connectedNode = existingNodes[0];
64250
64395
  if (connectedNode.x === 0 && connectedNode.y === 0) {
64251
64396
  connectedNode.x = x / _this._graphCanvas.zoom;
@@ -64261,7 +64406,7 @@ var GraphEditor = /** @class */ (function (_super) {
64261
64406
  var _this = this;
64262
64407
  return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_portal__WEBPACK_IMPORTED_MODULE_4__["Portal"], { globalState: this.props.globalState },
64263
64408
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { id: "node-editor-graph-root", style: {
64264
- gridTemplateColumns: this.buildColumnLayout()
64409
+ gridTemplateColumns: this.buildColumnLayout(),
64265
64410
  }, onMouseMove: function (evt) {
64266
64411
  _this._mouseLocationX = evt.pageX;
64267
64412
  _this._mouseLocationY = evt.pageY;
@@ -64661,7 +64806,7 @@ var CheckBoxLineComponent = /** @class */ (function (_super) {
64661
64806
  object: this.props.target,
64662
64807
  property: this.props.propertyName,
64663
64808
  value: !this.state.isSelected,
64664
- initialValue: this.state.isSelected
64809
+ initialValue: this.state.isSelected,
64665
64810
  });
64666
64811
  }
64667
64812
  this.props.target[this.props.propertyName] = !this.state.isSelected;
@@ -64677,7 +64822,7 @@ var CheckBoxLineComponent = /** @class */ (function (_super) {
64677
64822
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "label", title: this.props.label }, this.props.label),
64678
64823
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "checkBox" },
64679
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 }),
64680
- 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" : "") }))));
64681
64826
  };
64682
64827
  CheckBoxLineComponent._UniqueIdSeed = 0;
64683
64828
  return CheckBoxLineComponent;
@@ -64738,7 +64883,7 @@ var Color3LineComponent = /** @class */ (function (_super) {
64738
64883
  object: this.props.target,
64739
64884
  property: this.props.propertyName,
64740
64885
  value: newColor,
64741
- initialValue: this.state.color
64886
+ initialValue: this.state.color,
64742
64887
  });
64743
64888
  }
64744
64889
  this.props.target[this.props.propertyName] = newColor;
@@ -64762,7 +64907,7 @@ var Color3LineComponent = /** @class */ (function (_super) {
64762
64907
  object: this.props.target,
64763
64908
  property: this.props.propertyName,
64764
64909
  value: this.state.color,
64765
- initialValue: previousValue
64910
+ initialValue: previousValue,
64766
64911
  });
64767
64912
  };
64768
64913
  Color3LineComponent.prototype.updateStateR = function (value) {
@@ -64793,7 +64938,7 @@ var Color3LineComponent = /** @class */ (function (_super) {
64793
64938
  this.raiseOnPropertyChanged(store);
64794
64939
  };
64795
64940
  Color3LineComponent.prototype.copyToClipboard = function () {
64796
- var element = document.createElement('div');
64941
+ var element = document.createElement("div");
64797
64942
  element.textContent = this.state.color.toHexString();
64798
64943
  document.body.appendChild(element);
64799
64944
  if (window.getSelection) {
@@ -64802,7 +64947,7 @@ var Color3LineComponent = /** @class */ (function (_super) {
64802
64947
  window.getSelection().removeAllRanges();
64803
64948
  window.getSelection().addRange(range);
64804
64949
  }
64805
- document.execCommand('copy');
64950
+ document.execCommand("copy");
64806
64951
  element.remove();
64807
64952
  };
64808
64953
  Color3LineComponent.prototype.render = function () {
@@ -64819,11 +64964,10 @@ var Color3LineComponent = /** @class */ (function (_super) {
64819
64964
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("img", { src: copyIcon, alt: "" })),
64820
64965
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "expand hoverIcon", onClick: function () { return _this.switchExpandState(); }, title: "Expand" },
64821
64966
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("img", { src: expandedIcon, alt: "" }))),
64822
- this.state.isExpanded &&
64823
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "secondLine" },
64824
- 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); } }),
64825
- 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); } }),
64826
- 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); } })))));
64827
64971
  };
64828
64972
  return Color3LineComponent;
64829
64973
  }(react__WEBPACK_IMPORTED_MODULE_1__["Component"]));
@@ -64885,7 +65029,7 @@ var Color4LineComponent = /** @class */ (function (_super) {
64885
65029
  object: this.props.target,
64886
65030
  property: this.props.propertyName,
64887
65031
  value: newColor,
64888
- initialValue: this.state.color
65032
+ initialValue: this.state.color,
64889
65033
  });
64890
65034
  }
64891
65035
  this.props.target[this.props.propertyName] = newColor;
@@ -64909,7 +65053,7 @@ var Color4LineComponent = /** @class */ (function (_super) {
64909
65053
  object: this.props.target,
64910
65054
  property: this.props.propertyName,
64911
65055
  value: this.state.color,
64912
- initialValue: previousValue
65056
+ initialValue: previousValue,
64913
65057
  });
64914
65058
  };
64915
65059
  Color4LineComponent.prototype.updateStateR = function (value) {
@@ -64949,7 +65093,7 @@ var Color4LineComponent = /** @class */ (function (_super) {
64949
65093
  this.raiseOnPropertyChanged(store);
64950
65094
  };
64951
65095
  Color4LineComponent.prototype.copyToClipboard = function () {
64952
- var element = document.createElement('div');
65096
+ var element = document.createElement("div");
64953
65097
  element.textContent = this.state.color.toHexString();
64954
65098
  document.body.appendChild(element);
64955
65099
  if (window.getSelection) {
@@ -64958,7 +65102,7 @@ var Color4LineComponent = /** @class */ (function (_super) {
64958
65102
  window.getSelection().removeAllRanges();
64959
65103
  window.getSelection().addRange(range);
64960
65104
  }
64961
- document.execCommand('copy');
65105
+ document.execCommand("copy");
64962
65106
  element.remove();
64963
65107
  };
64964
65108
  Color4LineComponent.prototype.render = function () {
@@ -64975,12 +65119,11 @@ var Color4LineComponent = /** @class */ (function (_super) {
64975
65119
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("img", { src: copyIcon, alt: "" })),
64976
65120
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "expand hoverIcon", onClick: function () { return _this.switchExpandState(); }, title: "Expand" },
64977
65121
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("img", { src: expandedIcon, alt: "" }))),
64978
- this.state.isExpanded &&
64979
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "secondLine" },
64980
- 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); } }),
64981
- 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); } }),
64982
- 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); } }),
64983
- 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); } })))));
64984
65127
  };
64985
65128
  return Color4LineComponent;
64986
65129
  }(react__WEBPACK_IMPORTED_MODULE_1__["Component"]));
@@ -65030,9 +65173,7 @@ var ColorPickerLineComponent = /** @class */ (function (_super) {
65030
65173
  div.style.left = host.getBoundingClientRect().left - div.getBoundingClientRect().width + "px";
65031
65174
  };
65032
65175
  ColorPickerLineComponent.prototype.shouldComponentUpdate = function (nextProps, nextState) {
65033
- var result = nextProps.value.toHexString() !== this.props.value.toHexString()
65034
- || nextState.hex !== this.state.hex
65035
- || 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;
65036
65177
  if (nextProps.value.toHexString() !== this.props.value.toHexString()) {
65037
65178
  nextState.color = nextProps.value;
65038
65179
  nextState.hex = nextProps.value.toHexString();
@@ -65055,15 +65196,14 @@ var ColorPickerLineComponent = /** @class */ (function (_super) {
65055
65196
  this.props.globalState.blockKeyboardEvents = this.state.pickerEnabled;
65056
65197
  return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "color-picker" },
65057
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); } }),
65058
- this.state.pickerEnabled &&
65059
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](react__WEBPACK_IMPORTED_MODULE_1__["Fragment"], null,
65060
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "color-picker-cover", onClick: function () { return _this.setPickerState(false); } }),
65061
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "color-picker-float", ref: this._floatRef },
65062
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_colorPicker_colorPicker__WEBPACK_IMPORTED_MODULE_2__["ColorPicker"], { color: color, onColorChanged: function (color) {
65063
- var hex = color.toHexString();
65064
- _this.setState({ hex: hex, color: color });
65065
- _this.props.onColorChanged(hex);
65066
- } })))));
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
+ } }))))));
65067
65207
  };
65068
65208
  return ColorPickerLineComponent;
65069
65209
  }(react__WEBPACK_IMPORTED_MODULE_1__["Component"]));
@@ -65138,11 +65278,14 @@ var DraggableLineWithButtonComponent = /** @class */ (function (_super) {
65138
65278
  }
65139
65279
  DraggableLineWithButtonComponent.prototype.render = function () {
65140
65280
  var _this = this;
65281
+ var _a;
65141
65282
  return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "draggableLine withButton", title: this.props.tooltip, draggable: true, onDragStart: function (event) {
65142
65283
  event.dataTransfer.setData("babylonjs-material-node", _this.props.data);
65143
65284
  } },
65144
- this.props.data.substr(0, this.props.data.length - 6),
65145
- 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 },
65146
65289
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("img", { className: "img", title: this.props.iconTitle, src: this.props.iconImage }))));
65147
65290
  };
65148
65291
  return DraggableLineWithButtonComponent;
@@ -65233,7 +65376,7 @@ var FloatLineComponent = /** @class */ (function (_super) {
65233
65376
  return true;
65234
65377
  }
65235
65378
  var newValue = nextProps.target[nextProps.propertyName];
65236
- 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";
65237
65380
  if (newValueString !== nextState.value) {
65238
65381
  nextState.value = newValueString;
65239
65382
  return true;
@@ -65258,7 +65401,7 @@ var FloatLineComponent = /** @class */ (function (_super) {
65258
65401
  object: this.props.target,
65259
65402
  property: this.props.propertyName,
65260
65403
  value: newValue,
65261
- initialValue: previousValue
65404
+ initialValue: previousValue,
65262
65405
  });
65263
65406
  };
65264
65407
  FloatLineComponent.prototype.updateValue = function (valueString) {
@@ -65278,10 +65421,10 @@ var FloatLineComponent = /** @class */ (function (_super) {
65278
65421
  if (isNaN(valueAsNumber)) {
65279
65422
  return;
65280
65423
  }
65281
- if (this.props.max != undefined && (valueAsNumber > this.props.max)) {
65424
+ if (this.props.max != undefined && valueAsNumber > this.props.max) {
65282
65425
  valueAsNumber = this.props.max;
65283
65426
  }
65284
- if (this.props.min != undefined && (valueAsNumber < this.props.min)) {
65427
+ if (this.props.min != undefined && valueAsNumber < this.props.min) {
65285
65428
  valueAsNumber = this.props.min;
65286
65429
  }
65287
65430
  this.props.target[this.props.propertyName] = valueAsNumber;
@@ -65502,7 +65645,7 @@ var MatrixLineComponent = /** @class */ (function (_super) {
65502
65645
  object: this.props.target,
65503
65646
  property: this.props.propertyName,
65504
65647
  value: this.state.value,
65505
- initialValue: previousValue
65648
+ initialValue: previousValue,
65506
65649
  });
65507
65650
  };
65508
65651
  MatrixLineComponent.prototype.updateMatrix = function () {
@@ -65557,15 +65700,13 @@ var MatrixLineComponent = /** @class */ (function (_super) {
65557
65700
  _this.props.onModeChange(value);
65558
65701
  }
65559
65702
  } })),
65560
- this.state.mode === 0 &&
65561
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "secondLine" },
65562
- 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); } }),
65563
- 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); } }),
65564
- 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); } }),
65565
- 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); } })),
65566
- this.state.mode !== 0 &&
65567
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "secondLine" },
65568
- 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); } })))));
65569
65710
  };
65570
65711
  return MatrixLineComponent;
65571
65712
  }(react__WEBPACK_IMPORTED_MODULE_1__["Component"]));
@@ -65678,9 +65819,8 @@ var NumericInputComponent = /** @class */ (function (_super) {
65678
65819
  NumericInputComponent.prototype.render = function () {
65679
65820
  var _this = this;
65680
65821
  return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "numeric" },
65681
- this.props.label &&
65682
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "numeric-label", title: this.props.label }, this.props.label + ": "),
65683
- 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) {
65684
65824
  _this.props.globalState.blockKeyboardEvents = false;
65685
65825
  }, step: this.props.step, className: "numeric-input", value: this.state.value, onChange: function (evt) { return _this.updateValue(evt); } })));
65686
65826
  };
@@ -65721,7 +65861,7 @@ var OptionsLineComponent = /** @class */ (function (_super) {
65721
65861
  if (props.getSelection) {
65722
65862
  return props.getSelection(props.target);
65723
65863
  }
65724
- 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];
65725
65865
  };
65726
65866
  OptionsLineComponent.prototype.setValue = function (value) {
65727
65867
  this.setState({ value: value });
@@ -65746,7 +65886,7 @@ var OptionsLineComponent = /** @class */ (function (_super) {
65746
65886
  object: this.props.target,
65747
65887
  property: this.props.propertyName,
65748
65888
  value: newValue,
65749
- initialValue: previousValue
65889
+ initialValue: previousValue,
65750
65890
  });
65751
65891
  };
65752
65892
  OptionsLineComponent.prototype.updateValue = function (valueString) {
@@ -65811,19 +65951,19 @@ var Popup = /** @class */ (function () {
65811
65951
  width: width,
65812
65952
  height: height,
65813
65953
  top: (window.innerHeight - width) / 2 + window.screenY,
65814
- left: (window.innerWidth - height) / 2 + window.screenX
65954
+ left: (window.innerWidth - height) / 2 + window.screenX,
65815
65955
  };
65816
65956
  var windowCreationOptions = Object.keys(windowCreationOptionsList)
65817
- .map(function (key) { return key + '=' + windowCreationOptionsList[key]; })
65818
- .join(',');
65957
+ .map(function (key) { return key + "=" + windowCreationOptionsList[key]; })
65958
+ .join(",");
65819
65959
  var popupWindow = window.open("", title, windowCreationOptions);
65820
65960
  if (!popupWindow) {
65821
65961
  return null;
65822
65962
  }
65823
65963
  var parentDocument = popupWindow.document;
65824
65964
  // Font
65825
- var newLinkEl = parentDocument.createElement('link');
65826
- newLinkEl.rel = 'stylesheet';
65965
+ var newLinkEl = parentDocument.createElement("link");
65966
+ newLinkEl.rel = "stylesheet";
65827
65967
  newLinkEl.href = "https://use.typekit.net/cta4xsb.css";
65828
65968
  parentDocument.head.appendChild(newLinkEl);
65829
65969
  parentDocument.title = title;
@@ -65839,6 +65979,7 @@ var Popup = /** @class */ (function () {
65839
65979
  popupWindow.document.body.appendChild(parentControl);
65840
65980
  this._CopyStyles(window.document, parentDocument);
65841
65981
  setTimeout(function () {
65982
+ // need this for late bindings
65842
65983
  _this._CopyStyles(window.document, parentDocument);
65843
65984
  }, 0);
65844
65985
  this[windowVariableName] = popupWindow;
@@ -65848,8 +65989,9 @@ var Popup = /** @class */ (function () {
65848
65989
  for (var index = 0; index < sourceDoc.styleSheets.length; index++) {
65849
65990
  var styleSheet = sourceDoc.styleSheets[index];
65850
65991
  try {
65851
- if (styleSheet.cssRules) { // for <style> elements
65852
- var newStyleEl = sourceDoc.createElement('style');
65992
+ if (styleSheet.cssRules) {
65993
+ // for <style> elements
65994
+ var newStyleEl = sourceDoc.createElement("style");
65853
65995
  for (var _i = 0, _a = styleSheet.cssRules; _i < _a.length; _i++) {
65854
65996
  var cssRule = _a[_i];
65855
65997
  // write the text of each rule into the body of the style element
@@ -65857,15 +65999,15 @@ var Popup = /** @class */ (function () {
65857
65999
  }
65858
66000
  targetDoc.head.appendChild(newStyleEl);
65859
66001
  }
65860
- else if (styleSheet.href) { // for <link> elements loading CSS from a URL
65861
- var newLinkEl = sourceDoc.createElement('link');
65862
- 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";
65863
66006
  newLinkEl.href = styleSheet.href;
65864
66007
  targetDoc.head.appendChild(newLinkEl);
65865
66008
  }
65866
66009
  }
65867
- catch (e) {
65868
- }
66010
+ catch (e) { }
65869
66011
  }
65870
66012
  };
65871
66013
  return Popup;
@@ -65902,7 +66044,7 @@ var SliderLineComponent = /** @class */ (function (_super) {
65902
66044
  _this._localChange = false;
65903
66045
  if (_this.props.directValue !== undefined) {
65904
66046
  _this.state = {
65905
- value: _this.props.directValue
66047
+ value: _this.props.directValue,
65906
66048
  };
65907
66049
  }
65908
66050
  else {
@@ -65942,7 +66084,7 @@ var SliderLineComponent = /** @class */ (function (_super) {
65942
66084
  object: this.props.target,
65943
66085
  property: this.props.propertyName,
65944
66086
  value: newValue,
65945
- initialValue: this.state.value
66087
+ initialValue: this.state.value,
65946
66088
  });
65947
66089
  }
65948
66090
  this.props.target[this.props.propertyName] = newValue;
@@ -66034,7 +66176,7 @@ var TextInputLineComponent = /** @class */ (function (_super) {
66034
66176
  object: this.props.target,
66035
66177
  property: this.props.propertyName,
66036
66178
  value: newValue,
66037
- initialValue: previousValue
66179
+ initialValue: previousValue,
66038
66180
  });
66039
66181
  };
66040
66182
  TextInputLineComponent.prototype.updateValue = function (value, raisePropertyChanged) {
@@ -66058,7 +66200,7 @@ var TextInputLineComponent = /** @class */ (function (_super) {
66058
66200
  return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: this.props.multilines ? "textInputArea" : "textInputLine" },
66059
66201
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "label", title: this.props.label }, this.props.label),
66060
66202
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "value" },
66061
- 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,
66062
66204
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("textarea", { value: this.state.value, onFocus: function () {
66063
66205
  _this.props.globalState.blockKeyboardEvents = true;
66064
66206
  _this._onFocus = true;
@@ -66071,8 +66213,8 @@ var TextInputLineComponent = /** @class */ (function (_super) {
66071
66213
  _this.updateValue(evt.target.value, true);
66072
66214
  _this.props.globalState.blockKeyboardEvents = false;
66073
66215
  _this._onFocus = false;
66074
- } })),
66075
- !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,
66076
66218
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("input", { value: this.state.value, onFocus: function () {
66077
66219
  _this.props.globalState.blockKeyboardEvents = true;
66078
66220
  _this._onFocus = true;
@@ -66085,7 +66227,7 @@ var TextInputLineComponent = /** @class */ (function (_super) {
66085
66227
  _this.updateValue(evt.target.value, true);
66086
66228
  _this.props.globalState.blockKeyboardEvents = false;
66087
66229
  _this._onFocus = false;
66088
- } })))));
66230
+ } }))))));
66089
66231
  };
66090
66232
  return TextInputLineComponent;
66091
66233
  }(react__WEBPACK_IMPORTED_MODULE_1__["Component"]));
@@ -66169,7 +66311,7 @@ var TextureLineComponent = /** @class */ (function (_super) {
66169
66311
  displayGreen: true,
66170
66312
  displayBlue: true,
66171
66313
  displayAlpha: true,
66172
- face: 0
66314
+ face: 0,
66173
66315
  };
66174
66316
  _this.canvasRef = react__WEBPACK_IMPORTED_MODULE_1__["createRef"]();
66175
66317
  return _this;
@@ -66270,7 +66412,7 @@ var TextureLineComponent = /** @class */ (function (_super) {
66270
66412
  }
66271
66413
  previewCanvas.width = width;
66272
66414
  previewCanvas.height = height;
66273
- context = previewCanvas.getContext('2d');
66415
+ context = previewCanvas.getContext("2d");
66274
66416
  if (context) {
66275
66417
  imageData = context.createImageData(width, height);
66276
66418
  castData = imageData.data;
@@ -66299,21 +66441,19 @@ var TextureLineComponent = /** @class */ (function (_super) {
66299
66441
  var _this = this;
66300
66442
  var texture = this.props.texture;
66301
66443
  return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "textureLine" },
66302
- !this.props.hideChannelSelect && texture.isCube &&
66303
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "control3D" },
66304
- 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"),
66305
- 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"),
66306
- 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"),
66307
- 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"),
66308
- 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"),
66309
- 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")),
66310
- !this.props.hideChannelSelect && !texture.isCube &&
66311
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "control" },
66312
- 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"),
66313
- 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"),
66314
- 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"),
66315
- 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"),
66316
- 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"))),
66317
66457
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("canvas", { ref: this.canvasRef, className: "preview" })));
66318
66458
  };
66319
66459
  return TextureLineComponent;
@@ -66376,7 +66516,7 @@ var Vector2LineComponent = /** @class */ (function (_super) {
66376
66516
  object: this.props.target,
66377
66517
  property: this.props.propertyName,
66378
66518
  value: this.state.value,
66379
- initialValue: previousValue
66519
+ initialValue: previousValue,
66380
66520
  });
66381
66521
  };
66382
66522
  Vector2LineComponent.prototype.updateStateX = function (value) {
@@ -66403,10 +66543,9 @@ var Vector2LineComponent = /** @class */ (function (_super) {
66403
66543
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "label", title: this.props.label }, this.props.label),
66404
66544
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "vector" }, "X: " + this.state.value.x.toFixed(2) + ", Y: " + this.state.value.y.toFixed(2)),
66405
66545
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "expand hoverIcon", onClick: function () { return _this.switchExpandState(); }, title: "Expand" }, chevron)),
66406
- this.state.isExpanded &&
66407
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "secondLine" },
66408
- 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); } }),
66409
- 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); } })))));
66410
66549
  };
66411
66550
  Vector2LineComponent.defaultProps = {
66412
66551
  step: 0.001, // cm
@@ -66471,7 +66610,7 @@ var Vector3LineComponent = /** @class */ (function (_super) {
66471
66610
  object: this.props.target,
66472
66611
  property: this.props.propertyName,
66473
66612
  value: this.state.value,
66474
- initialValue: previousValue
66613
+ initialValue: previousValue,
66475
66614
  });
66476
66615
  };
66477
66616
  Vector3LineComponent.prototype.updateVector3 = function () {
@@ -66503,11 +66642,10 @@ var Vector3LineComponent = /** @class */ (function (_super) {
66503
66642
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "label", title: this.props.label }, this.props.label),
66504
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)),
66505
66644
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "expand hoverIcon", onClick: function () { return _this.switchExpandState(); }, title: "Expand" }, chevron)),
66506
- this.state.isExpanded &&
66507
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "secondLine" },
66508
- 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); } }),
66509
- 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); } }),
66510
- 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); } })))));
66511
66649
  };
66512
66650
  Vector3LineComponent.defaultProps = {
66513
66651
  step: 0.001, // cm
@@ -66572,7 +66710,7 @@ var Vector4LineComponent = /** @class */ (function (_super) {
66572
66710
  object: this.props.target,
66573
66711
  property: this.props.propertyName,
66574
66712
  value: this.state.value,
66575
- initialValue: previousValue
66713
+ initialValue: previousValue,
66576
66714
  });
66577
66715
  };
66578
66716
  Vector4LineComponent.prototype.updateVector4 = function () {
@@ -66614,12 +66752,11 @@ var Vector4LineComponent = /** @class */ (function (_super) {
66614
66752
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "label", title: this.props.label }, this.props.label),
66615
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)),
66616
66754
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "expand hoverIcon", onClick: function () { return _this.switchExpandState(); }, title: "Expand" }, chevron)),
66617
- this.state.isExpanded &&
66618
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "secondLine" },
66619
- 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); } }),
66620
- 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); } }),
66621
- 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); } }),
66622
- 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); } })))));
66623
66760
  };
66624
66761
  Vector4LineComponent.defaultProps = {
66625
66762
  step: 0.001, // cm
@@ -66659,10 +66796,10 @@ var ColorComponentEntry = /** @class */ (function (_super) {
66659
66796
  if (isNaN(valueAsNumber)) {
66660
66797
  return;
66661
66798
  }
66662
- if (this.props.max != undefined && (valueAsNumber > this.props.max)) {
66799
+ if (this.props.max != undefined && valueAsNumber > this.props.max) {
66663
66800
  valueAsNumber = this.props.max;
66664
66801
  }
66665
- if (this.props.min != undefined && (valueAsNumber < this.props.min)) {
66802
+ if (this.props.min != undefined && valueAsNumber < this.props.min) {
66666
66803
  valueAsNumber = this.props.min;
66667
66804
  }
66668
66805
  this.props.onChange(valueAsNumber);
@@ -66751,8 +66888,7 @@ var ColorPicker = /** @class */ (function (_super) {
66751
66888
  return _this;
66752
66889
  }
66753
66890
  ColorPicker.prototype.shouldComponentUpdate = function (nextProps, nextState) {
66754
- return (nextProps.color.toHexString() !== this.props.color.toHexString() ||
66755
- nextState.color.toHexString() !== this.props.color.toHexString());
66891
+ return nextProps.color.toHexString() !== this.props.color.toHexString() || nextState.color.toHexString() !== this.props.color.toHexString();
66756
66892
  };
66757
66893
  ColorPicker.prototype.onSaturationPointerDown = function (evt) {
66758
66894
  this._evaluateSaturation(evt);
@@ -66788,7 +66924,7 @@ var ColorPicker = /** @class */ (function (_super) {
66788
66924
  var left = evt.nativeEvent.offsetX;
66789
66925
  var top = evt.nativeEvent.offsetY;
66790
66926
  var saturation = Math.min(1, Math.max(0.0001, left / this._saturationRef.current.clientWidth));
66791
- 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));
66792
66928
  if (this.props.debugMode) {
66793
66929
  console.log("Saturation: " + saturation);
66794
66930
  console.log("Value: " + value);
@@ -66831,7 +66967,7 @@ var ColorPicker = /** @class */ (function (_super) {
66831
66967
  var hasAlpha = this.props.color instanceof _babylonjs_core_Maths_math_color__WEBPACK_IMPORTED_MODULE_2__["Color4"];
66832
66968
  return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "color-picker-container" + (this.props.linearhint ? " with-hints" : "") },
66833
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: {
66834
- background: colorHexRef
66970
+ background: colorHexRef,
66835
66971
  } },
66836
66972
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "color-picker-saturation-white" }),
66837
66973
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "color-picker-saturation-black" }),
@@ -66841,12 +66977,12 @@ var ColorPicker = /** @class */ (function (_super) {
66841
66977
  } })),
66842
66978
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "color-picker-hue" },
66843
66979
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "color-picker-hue-color", style: {
66844
- background: colorHex
66980
+ background: colorHex,
66845
66981
  } }),
66846
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); } },
66847
66983
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "color-picker-hue-cursor", style: {
66848
66984
  left: (hsv.r / 360.0) * 100 + "%",
66849
- border: "1px solid " + colorHexRef
66985
+ border: "1px solid " + colorHexRef,
66850
66986
  } }))),
66851
66987
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "color-picker-rgb" },
66852
66988
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "red" },
@@ -66875,8 +67011,7 @@ var ColorPicker = /** @class */ (function (_super) {
66875
67011
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_hexColor__WEBPACK_IMPORTED_MODULE_4__["HexColor"], { expectedLength: 6, value: colorHex, onChange: function (value) {
66876
67012
  _this.setState({ color: _babylonjs_core_Maths_math_color__WEBPACK_IMPORTED_MODULE_2__["Color3"].FromHexString(value) });
66877
67013
  } }))),
66878
- this.props.linearhint &&
66879
- 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()))"))));
66880
67015
  };
66881
67016
  return ColorPicker;
66882
67017
  }(react__WEBPACK_IMPORTED_MODULE_1__["Component"]));
@@ -66925,7 +67060,7 @@ var HexColor = /** @class */ (function (_super) {
66925
67060
  };
66926
67061
  HexColor.prototype.render = function () {
66927
67062
  var _this = this;
66928
- 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); } });
66929
67064
  };
66930
67065
  return HexColor;
66931
67066
  }(react__WEBPACK_IMPORTED_MODULE_1__["Component"]));