@babylonjs/node-editor 5.14.1 → 5.15.0

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.
@@ -59,7 +59,7 @@ __webpack_require__.r(__webpack_exports__);
59
59
 
60
60
  var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));
61
61
  // Module
62
- ___CSS_LOADER_EXPORT___.push([module.id, "#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,\n #graph-canvas #graph-container .frame-box.collapsed .top-right-corner-handle,\n #graph-canvas #graph-container .frame-box.collapsed .right-handle,\n #graph-canvas #graph-container .frame-box.collapsed .bottom-right-corner-handle,\n #graph-canvas #graph-container .frame-box.collapsed .bottom-handle,\n #graph-canvas #graph-container .frame-box.collapsed .bottom-left-corner-handle,\n #graph-canvas #graph-container .frame-box.collapsed .left-handle,\n #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,\n #graph-canvas #graph-container .frame-box.collapsed .bottom-handle::after,\n #graph-canvas #graph-container .frame-box.collapsed .top-right-corner-handle::after,\n #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,\n #graph-canvas #graph-container .frame-box.collapsed .top-handle::before,\n #graph-canvas #graph-container .frame-box.collapsed .top-left-corner-handle::before,\n #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.elbow-block {\n width: 40px;\n grid-template-rows: 0px 40px 0px;\n border: 0;\n border-radius: 40px;\n transform: translateY(-7px); }\n #graph-canvas #graph-container #graph-canvas-container .visual.elbow-block .selection-border {\n border-radius: 40px; }\n #graph-canvas #graph-container #graph-canvas-container .visual.elbow-block .header-container {\n display: none; }\n #graph-canvas #graph-container #graph-canvas-container .visual.elbow-block .connections {\n transform: translateY(7px); }\n #graph-canvas #graph-container #graph-canvas-container .visual.elbow-block .content {\n display: none; }\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: 4px solid 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 .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 .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", "",{"version":3,"sources":["webpack://./../../../dev/sharedUiComponents/dist/nodeGraphSystem/scss/graphCanvas.scss"],"names":[],"mappings":"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","sourcesContent":["#graph-canvas {\r\n width: 100%;\r\n height: 100%;\r\n margin: 0;\r\n padding: 0;\r\n font: 14px \"acumin-pro\";\r\n user-select: none;\r\n overflow: hidden;\r\n cursor: move;\r\n background-image: linear-gradient(to right, #4f4e4f 1px, transparent 1px), linear-gradient(to bottom, #4f4e4f 1px, transparent 1px);\r\n\r\n #selection-container {\r\n pointer-events: none;\r\n\r\n .selection-box {\r\n z-index: 10;\r\n position: absolute;\r\n background: rgba(72, 72, 196, 0.5);\r\n border: blue solid 2px;\r\n }\r\n }\r\n\r\n .port {\r\n border-radius: 20px;\r\n width: 20px;\r\n height: 20px;\r\n align-self: center;\r\n\r\n .img {\r\n width: 100%;\r\n }\r\n\r\n img.selected {\r\n box-shadow: 0 0 0 2px;\r\n border-radius: 50%;\r\n }\r\n\r\n &:hover,\r\n &.selected {\r\n filter: brightness(2);\r\n }\r\n }\r\n\r\n .portLine {\r\n height: 24px;\r\n display: grid;\r\n grid-template-rows: 100%;\r\n }\r\n\r\n .port-label {\r\n align-items: center;\r\n }\r\n\r\n .inputsContainer {\r\n grid-row: 1;\r\n grid-column: 1;\r\n\r\n .portLine {\r\n grid-template-columns: 12px calc(100% - 15px);\r\n\r\n .port-label {\r\n grid-row: 1;\r\n grid-column: 2;\r\n }\r\n\r\n .port {\r\n grid-row: 1;\r\n grid-column: 1;\r\n transform: translateX(-12px);\r\n }\r\n }\r\n }\r\n\r\n .outputsContainer {\r\n grid-row: 1;\r\n grid-column: 2;\r\n\r\n .portLine {\r\n grid-template-columns: calc(100% - 10px) 12px;\r\n\r\n .port-label {\r\n grid-row: 1;\r\n grid-column: 1;\r\n text-align: right;\r\n }\r\n\r\n .port {\r\n grid-row: 1;\r\n grid-column: 2;\r\n transform: translateX(2px);\r\n }\r\n }\r\n }\r\n\r\n #graph-container {\r\n width: 100%;\r\n height: 100%;\r\n left: 0;\r\n top: 0;\r\n transform-origin: left top;\r\n display: grid;\r\n grid-template-rows: 100%;\r\n grid-template-columns: 100%;\r\n\r\n #frame-container {\r\n overflow: visible;\r\n grid-row: 1;\r\n grid-column: 1;\r\n position: relative;\r\n width: 100%;\r\n height: 100%;\r\n }\r\n\r\n .frame-box {\r\n position: absolute;\r\n background: rgba(72, 72, 72, 0.7);\r\n display: grid;\r\n grid-template-rows: 40px calc(100% - 40px);\r\n grid-template-columns: 100%;\r\n box-sizing: border-box;\r\n\r\n &.collapsed {\r\n height: auto !important;\r\n width: 200px !important;\r\n z-index: 3;\r\n\r\n .frame-box-header {\r\n font-size: 16px;\r\n grid-template-columns: calc(100% - 37px) 30px 7px;\r\n\r\n .frame-box-header-collapse {\r\n margin-top: -2px;\r\n }\r\n\r\n .frame-box-header-close {\r\n display: none;\r\n }\r\n }\r\n\r\n .frame-comments.has-comments {\r\n .frame-comment-span {\r\n white-space: nowrap;\r\n text-overflow: ellipsis;\r\n overflow: hidden;\r\n }\r\n }\r\n }\r\n\r\n .frame-box-border {\r\n grid-row: 1 / span 2;\r\n grid-column: 1;\r\n width: 100%;\r\n height: 100%;\r\n border: transparent solid 4px;\r\n pointer-events: none;\r\n box-sizing: border-box;\r\n }\r\n\r\n .frame-box-header {\r\n grid-row: 1;\r\n grid-column: 1;\r\n background: rgba(72, 72, 72, 1);\r\n color: white;\r\n font-size: 24px;\r\n text-align: center;\r\n display: grid;\r\n grid-template-rows: 100%;\r\n grid-template-columns: calc(100% - 74px) 30px 7px 30px 7px;\r\n align-content: center;\r\n overflow: hidden;\r\n\r\n .frame-box-header-button {\r\n cursor: pointer;\r\n align-self: center;\r\n transform-origin: 50% 50%;\r\n transform: scale(1);\r\n stroke: transparent;\r\n fill: white;\r\n display: grid;\r\n\r\n &.down {\r\n transform: scale(0.9);\r\n }\r\n }\r\n\r\n .frame-box-header-collapse {\r\n grid-column: 2;\r\n grid-row: 1;\r\n }\r\n\r\n .frame-box-header-close {\r\n grid-column: 4;\r\n grid-row: 1;\r\n }\r\n\r\n .frame-box-header-title {\r\n grid-column: 1;\r\n grid-row: 1;\r\n display: grid;\r\n height: 100%;\r\n width: 100%;\r\n align-self: stretch;\r\n align-items: center;\r\n margin-top: -2px;\r\n }\r\n }\r\n\r\n .port-container {\r\n margin-top: 6px;\r\n margin-bottom: 6px;\r\n margin-left: 4px;\r\n margin-right: 4px;\r\n color: white;\r\n grid-row: 2;\r\n grid-column: 1;\r\n display: grid;\r\n grid-template-rows: 100%;\r\n grid-template-columns: 50% 50%;\r\n z-index: 2;\r\n }\r\n\r\n .frame-comments.has-comments {\r\n display: grid;\r\n grid-row: 2;\r\n grid-column: 1;\r\n padding: 0 10px;\r\n font-style: italic;\r\n word-wrap: break-word;\r\n }\r\n\r\n &.selected {\r\n .frame-box-border {\r\n border-color: white;\r\n }\r\n }\r\n\r\n .right-handle {\r\n grid-area: 1 / 2 / 3 / 2;\r\n width: 4px;\r\n background-color: transparent;\r\n cursor: ew-resize;\r\n\r\n &::after {\r\n content: \"\";\r\n width: 8px;\r\n position: absolute;\r\n top: 0;\r\n bottom: 0;\r\n margin-left: -4px;\r\n cursor: ew-resize;\r\n }\r\n\r\n &.collapsed {\r\n cursor: pointer;\r\n }\r\n }\r\n\r\n .top-right-corner-handle {\r\n background-color: transparent;\r\n height: 4px;\r\n z-index: 21;\r\n cursor: ne-resize;\r\n width: 4px;\r\n margin-left: -6px;\r\n\r\n &::after {\r\n background-color: transparent;\r\n cursor: ne-resize;\r\n margin-left: unset;\r\n top: -4px;\r\n height: 10px;\r\n width: 10px;\r\n }\r\n }\r\n\r\n .bottom-right-corner-handle {\r\n background-color: transparent;\r\n height: 0px;\r\n z-index: 21;\r\n cursor: nw-resize;\r\n grid-area: 4 / 2 / 4 / 2;\r\n margin-left: -2px;\r\n\r\n &::after {\r\n background-color: transparent;\r\n height: 10px;\r\n cursor: nw-resize;\r\n top: unset;\r\n bottom: -4px;\r\n width: 10px;\r\n }\r\n }\r\n\r\n .left-handle {\r\n grid-area: 1 / 1 / 3 / 1;\r\n width: 4px;\r\n background-color: transparent;\r\n cursor: ew-resize;\r\n\r\n &::before {\r\n content: \"\";\r\n width: 8px;\r\n position: absolute;\r\n top: 0;\r\n bottom: 0;\r\n margin-left: -4px;\r\n }\r\n }\r\n\r\n .top-left-corner-handle {\r\n background-color: transparent;\r\n height: 4px;\r\n z-index: 21;\r\n cursor: nw-resize;\r\n width: 4px;\r\n margin-left: -4px;\r\n\r\n &::before {\r\n background-color: transparent;\r\n cursor: nw-resize;\r\n margin-left: unset;\r\n top: -4px;\r\n height: 10px;\r\n width: 10px;\r\n }\r\n }\r\n\r\n .bottom-left-corner-handle {\r\n background-color: transparent;\r\n height: 0px;\r\n z-index: 21;\r\n cursor: sw-resize;\r\n grid-area: 4 / 1 / 4 / 1;\r\n\r\n &::before {\r\n background-color: transparent;\r\n height: 10px;\r\n cursor: sw-resize;\r\n top: unset;\r\n bottom: -4px;\r\n width: 10px;\r\n }\r\n }\r\n\r\n .top-handle {\r\n grid-area: 1 / 1 / 1 / 1;\r\n background-color: transparent;\r\n height: 4px;\r\n cursor: ns-resize;\r\n\r\n &::before {\r\n content: \"\";\r\n width: 100%;\r\n position: absolute;\r\n top: -4px;\r\n bottom: 100%;\r\n right: 0;\r\n left: 0;\r\n margin-bottom: -8px;\r\n cursor: ns-resize;\r\n height: 8px;\r\n }\r\n }\r\n\r\n .bottom-handle {\r\n grid-area: 3 / 1 / 3 / 1;\r\n background-color: transparent;\r\n height: 4px;\r\n cursor: ns-resize;\r\n\r\n &::after {\r\n content: \"\";\r\n width: 100%;\r\n position: absolute;\r\n top: 100%;\r\n bottom: 0;\r\n right: 0;\r\n left: 0;\r\n margin-top: -8px;\r\n cursor: ns-resize;\r\n height: 12px;\r\n }\r\n }\r\n\r\n &.collapsed {\r\n .top-handle,\r\n .top-right-corner-handle,\r\n .right-handle,\r\n .bottom-right-corner-handle,\r\n .bottom-handle,\r\n .bottom-left-corner-handle,\r\n .left-handle,\r\n .top-left-corner-handle {\r\n cursor: default;\r\n }\r\n\r\n .right-handle,\r\n .bottom-handle,\r\n .top-right-corner-handle,\r\n .bottom-right-corner-handle {\r\n &::after {\r\n cursor: default;\r\n }\r\n }\r\n\r\n .left-handle,\r\n .top-handle,\r\n .top-left-corner-handle,\r\n .bottom-left-corner-handle {\r\n &::before {\r\n cursor: default;\r\n }\r\n }\r\n }\r\n }\r\n\r\n #graph-svg-container {\r\n grid-row: 1;\r\n grid-column: 1;\r\n position: relative;\r\n width: 100%;\r\n height: 100%;\r\n overflow: visible;\r\n pointer-events: none;\r\n z-index: 2;\r\n\r\n .link {\r\n stroke-width: 4px;\r\n &.selected {\r\n stroke: white !important;\r\n stroke-dasharray: 10, 2;\r\n }\r\n\r\n &.hidden {\r\n display: none;\r\n }\r\n }\r\n\r\n .selection-link {\r\n pointer-events: all;\r\n stroke-width: 16px;\r\n opacity: 0;\r\n transition: opacity 75ms;\r\n stroke: transparent;\r\n cursor: pointer;\r\n\r\n &.hidden {\r\n display: none;\r\n }\r\n\r\n &:hover,\r\n &.selected {\r\n stroke: white !important;\r\n opacity: 0.4;\r\n }\r\n }\r\n }\r\n\r\n #graph-canvas-container {\r\n grid-row: 1;\r\n grid-column: 1;\r\n position: relative;\r\n width: 100%;\r\n height: 100%;\r\n\r\n .visual {\r\n z-index: 4;\r\n width: 200px;\r\n position: absolute;\r\n left: 0;\r\n top: 0;\r\n background: gray;\r\n border: 4px solid black;\r\n border-radius: 12px;\r\n display: grid;\r\n grid-template-rows: 30px auto;\r\n grid-template-columns: 100%;\r\n color: white;\r\n\r\n &.elbow-block {\r\n width: 40px;\r\n grid-template-rows: 0px 40px 0px;\r\n border: 0;\r\n border-radius: 40px;\r\n transform: translateY(-7px);\r\n\r\n .selection-border {\r\n border-radius: 40px;\r\n }\r\n\r\n .header-container {\r\n display: none;\r\n }\r\n\r\n .connections {\r\n transform: translateY(7px);\r\n }\r\n\r\n .content {\r\n display: none;\r\n }\r\n }\r\n\r\n &.hidden {\r\n display: none;\r\n }\r\n\r\n .comments {\r\n position: absolute;\r\n top: -50px;\r\n width: 200px;\r\n height: 45px;\r\n overflow: hidden;\r\n font-style: italic;\r\n opacity: 0.8;\r\n display: grid;\r\n align-items: flex-end;\r\n pointer-events: none;\r\n }\r\n\r\n .selection-border {\r\n grid-row: 1 / span 3;\r\n grid-column: 1;\r\n margin: -4px;\r\n\r\n transition: border-color 100ms;\r\n\r\n border: 4px solid black;\r\n border-radius: 12px;\r\n transform: scale(1);\r\n }\r\n\r\n &.selected {\r\n .selection-border {\r\n border: 4px solid white;\r\n }\r\n }\r\n\r\n .header-container {\r\n grid-row: 1;\r\n grid-column: 1;\r\n display: grid;\r\n grid-template-columns: 1fr auto;\r\n grid-template-rows: 100%;\r\n border: 4px solid black;\r\n border-top-right-radius: 7px;\r\n border-top-left-radius: 7px;\r\n background: black;\r\n color: white;\r\n transform: scaleX(1.01) translateY(-0.5px);\r\n transform-origin: center;\r\n\r\n &.constant {\r\n border-color: #464348;\r\n background: #464348;\r\n }\r\n\r\n &.inspector {\r\n border-color: #66491b;\r\n background: #66491b;\r\n }\r\n }\r\n\r\n .warning {\r\n grid-row: 1;\r\n grid-column: 1;\r\n display: none;\r\n z-index: 10;\r\n justify-self: end;\r\n align-self: center;\r\n margin-right: 5px;\r\n\r\n &.visible {\r\n display: grid;\r\n width: 20px;\r\n }\r\n }\r\n\r\n .header {\r\n grid-row: 1;\r\n grid-column: 1;\r\n font-size: 16px;\r\n text-align: center;\r\n margin-top: -1px;\r\n margin-left: -1px;\r\n margin-right: -1px;\r\n white-space: nowrap;\r\n text-overflow: ellipsis;\r\n overflow: hidden;\r\n }\r\n\r\n .connections {\r\n grid-row: 2;\r\n grid-column: 1;\r\n\r\n display: grid;\r\n grid-template-columns: 50% 50%;\r\n transform: scale(1);\r\n }\r\n\r\n .content {\r\n min-height: 20px;\r\n grid-row: 3;\r\n grid-column: 1;\r\n\r\n &.input-block {\r\n grid-row: 2;\r\n min-height: 34px;\r\n text-align: center;\r\n font-size: 18px;\r\n font-weight: bold;\r\n margin: 0 10px 5px;\r\n display: grid;\r\n align-content: center;\r\n\r\n &.small-font {\r\n font-size: 17px;\r\n }\r\n }\r\n\r\n &.output-block {\r\n min-height: 0px;\r\n height: 5px;\r\n }\r\n\r\n &.clamp-block {\r\n grid-row: 2;\r\n height: 34px;\r\n text-align: center;\r\n font-size: 18px;\r\n font-weight: bold;\r\n margin: 0 10px;\r\n }\r\n\r\n &.gradient-block {\r\n grid-row: 2;\r\n height: 34px;\r\n }\r\n\r\n &.texture-block {\r\n grid-row: 2;\r\n height: 140px;\r\n width: 140px;\r\n overflow: hidden;\r\n border-bottom-left-radius: 7px;\r\n border: black 4px solid;\r\n border-left: 0px;\r\n border-bottom: 0px;\r\n\r\n img {\r\n width: 100%;\r\n height: 100%;\r\n pointer-events: none;\r\n\r\n &.empty {\r\n display: none;\r\n }\r\n }\r\n }\r\n\r\n &.image-source-block {\r\n margin-top: 5px;\r\n }\r\n\r\n &.regular-texture-block {\r\n margin-top: 60px;\r\n }\r\n\r\n &.reduced-texture-block {\r\n margin-top: 30px;\r\n }\r\n\r\n &.reflection-block {\r\n grid-row: 3;\r\n }\r\n\r\n &.remap-block {\r\n height: 34px;\r\n text-align: center;\r\n font-size: 18px;\r\n font-weight: bold;\r\n margin: 0 10px;\r\n }\r\n\r\n &.trigonometry-block {\r\n grid-row: 2;\r\n height: 34px;\r\n text-align: center;\r\n font-size: 18px;\r\n font-weight: bold;\r\n margin: 0 10px;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}\r\n"],"sourceRoot":""}]);
62
+ ___CSS_LOADER_EXPORT___.push([module.id, "#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,\n #graph-canvas #graph-container .frame-box.collapsed .top-right-corner-handle,\n #graph-canvas #graph-container .frame-box.collapsed .right-handle,\n #graph-canvas #graph-container .frame-box.collapsed .bottom-right-corner-handle,\n #graph-canvas #graph-container .frame-box.collapsed .bottom-handle,\n #graph-canvas #graph-container .frame-box.collapsed .bottom-left-corner-handle,\n #graph-canvas #graph-container .frame-box.collapsed .left-handle,\n #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,\n #graph-canvas #graph-container .frame-box.collapsed .bottom-handle::after,\n #graph-canvas #graph-container .frame-box.collapsed .top-right-corner-handle::after,\n #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,\n #graph-canvas #graph-container .frame-box.collapsed .top-handle::before,\n #graph-canvas #graph-container .frame-box.collapsed .top-left-corner-handle::before,\n #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 filter: drop-shadow(7px 6px 2px rgba(0, 0, 0, 0.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 box-shadow: 7px 6px 2px rgba(0, 0, 0, 0.2); }\n #graph-canvas #graph-container #graph-canvas-container .visual.elbow-block {\n width: 40px;\n grid-template-rows: 0px 40px 0px;\n border: 0;\n border-radius: 40px;\n transform: translateY(-7px); }\n #graph-canvas #graph-container #graph-canvas-container .visual.elbow-block .selection-border {\n border-radius: 40px; }\n #graph-canvas #graph-container #graph-canvas-container .visual.elbow-block .header-container {\n display: none; }\n #graph-canvas #graph-container #graph-canvas-container .visual.elbow-block .connections {\n transform: translateY(7px); }\n #graph-canvas #graph-container #graph-canvas-container .visual.elbow-block .content {\n display: none; }\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: 4px solid 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 .headerIcon {\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 .headerIcon.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: 20px;\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", "",{"version":3,"sources":["webpack://./../../../dev/sharedUiComponents/dist/nodeGraphSystem/scss/graphCanvas.scss"],"names":[],"mappings":"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","sourcesContent":["#graph-canvas {\r\n width: 100%;\r\n height: 100%;\r\n margin: 0;\r\n padding: 0;\r\n font: 14px \"acumin-pro\";\r\n user-select: none;\r\n overflow: hidden;\r\n cursor: move;\r\n background-image: linear-gradient(to right, #4f4e4f 1px, transparent 1px), linear-gradient(to bottom, #4f4e4f 1px, transparent 1px);\r\n\r\n #selection-container {\r\n pointer-events: none;\r\n\r\n .selection-box {\r\n z-index: 10;\r\n position: absolute;\r\n background: rgba(72, 72, 196, 0.5);\r\n border: blue solid 2px;\r\n }\r\n }\r\n\r\n .port {\r\n border-radius: 20px;\r\n width: 20px;\r\n height: 20px;\r\n align-self: center;\r\n\r\n .img {\r\n width: 100%;\r\n }\r\n\r\n img.selected {\r\n box-shadow: 0 0 0 2px;\r\n border-radius: 50%;\r\n }\r\n\r\n &:hover,\r\n &.selected {\r\n filter: brightness(2);\r\n }\r\n }\r\n\r\n .portLine {\r\n height: 24px;\r\n display: grid;\r\n grid-template-rows: 100%;\r\n }\r\n\r\n .port-label {\r\n align-items: center;\r\n }\r\n\r\n .inputsContainer {\r\n grid-row: 1;\r\n grid-column: 1;\r\n\r\n .portLine {\r\n grid-template-columns: 12px calc(100% - 15px);\r\n\r\n .port-label {\r\n grid-row: 1;\r\n grid-column: 2;\r\n }\r\n\r\n .port {\r\n grid-row: 1;\r\n grid-column: 1;\r\n transform: translateX(-12px);\r\n }\r\n }\r\n }\r\n\r\n .outputsContainer {\r\n grid-row: 1;\r\n grid-column: 2;\r\n\r\n .portLine {\r\n grid-template-columns: calc(100% - 10px) 12px;\r\n\r\n .port-label {\r\n grid-row: 1;\r\n grid-column: 1;\r\n text-align: right;\r\n }\r\n\r\n .port {\r\n grid-row: 1;\r\n grid-column: 2;\r\n transform: translateX(2px);\r\n }\r\n }\r\n }\r\n\r\n #graph-container {\r\n width: 100%;\r\n height: 100%;\r\n left: 0;\r\n top: 0;\r\n transform-origin: left top;\r\n display: grid;\r\n grid-template-rows: 100%;\r\n grid-template-columns: 100%;\r\n\r\n #frame-container {\r\n overflow: visible;\r\n grid-row: 1;\r\n grid-column: 1;\r\n position: relative;\r\n width: 100%;\r\n height: 100%;\r\n }\r\n\r\n .frame-box {\r\n position: absolute;\r\n background: rgba(72, 72, 72, 0.7);\r\n display: grid;\r\n grid-template-rows: 40px calc(100% - 40px);\r\n grid-template-columns: 100%;\r\n box-sizing: border-box;\r\n\r\n &.collapsed {\r\n height: auto !important;\r\n width: 200px !important;\r\n z-index: 3;\r\n\r\n .frame-box-header {\r\n font-size: 16px;\r\n grid-template-columns: calc(100% - 37px) 30px 7px;\r\n\r\n .frame-box-header-collapse {\r\n margin-top: -2px;\r\n }\r\n\r\n .frame-box-header-close {\r\n display: none;\r\n }\r\n }\r\n\r\n .frame-comments.has-comments {\r\n .frame-comment-span {\r\n white-space: nowrap;\r\n text-overflow: ellipsis;\r\n overflow: hidden;\r\n }\r\n }\r\n }\r\n\r\n .frame-box-border {\r\n grid-row: 1 / span 2;\r\n grid-column: 1;\r\n width: 100%;\r\n height: 100%;\r\n border: transparent solid 4px;\r\n pointer-events: none;\r\n box-sizing: border-box;\r\n }\r\n\r\n .frame-box-header {\r\n grid-row: 1;\r\n grid-column: 1;\r\n background: rgba(72, 72, 72, 1);\r\n color: white;\r\n font-size: 24px;\r\n text-align: center;\r\n display: grid;\r\n grid-template-rows: 100%;\r\n grid-template-columns: calc(100% - 74px) 30px 7px 30px 7px;\r\n align-content: center;\r\n overflow: hidden;\r\n\r\n .frame-box-header-button {\r\n cursor: pointer;\r\n align-self: center;\r\n transform-origin: 50% 50%;\r\n transform: scale(1);\r\n stroke: transparent;\r\n fill: white;\r\n display: grid;\r\n\r\n &.down {\r\n transform: scale(0.9);\r\n }\r\n }\r\n\r\n .frame-box-header-collapse {\r\n grid-column: 2;\r\n grid-row: 1;\r\n }\r\n\r\n .frame-box-header-close {\r\n grid-column: 4;\r\n grid-row: 1;\r\n }\r\n\r\n .frame-box-header-title {\r\n grid-column: 1;\r\n grid-row: 1;\r\n display: grid;\r\n height: 100%;\r\n width: 100%;\r\n align-self: stretch;\r\n align-items: center;\r\n margin-top: -2px;\r\n }\r\n }\r\n\r\n .port-container {\r\n margin-top: 6px;\r\n margin-bottom: 6px;\r\n margin-left: 4px;\r\n margin-right: 4px;\r\n color: white;\r\n grid-row: 2;\r\n grid-column: 1;\r\n display: grid;\r\n grid-template-rows: 100%;\r\n grid-template-columns: 50% 50%;\r\n z-index: 2;\r\n }\r\n\r\n .frame-comments.has-comments {\r\n display: grid;\r\n grid-row: 2;\r\n grid-column: 1;\r\n padding: 0 10px;\r\n font-style: italic;\r\n word-wrap: break-word;\r\n }\r\n\r\n &.selected {\r\n .frame-box-border {\r\n border-color: white;\r\n }\r\n }\r\n\r\n .right-handle {\r\n grid-area: 1 / 2 / 3 / 2;\r\n width: 4px;\r\n background-color: transparent;\r\n cursor: ew-resize;\r\n\r\n &::after {\r\n content: \"\";\r\n width: 8px;\r\n position: absolute;\r\n top: 0;\r\n bottom: 0;\r\n margin-left: -4px;\r\n cursor: ew-resize;\r\n }\r\n\r\n &.collapsed {\r\n cursor: pointer;\r\n }\r\n }\r\n\r\n .top-right-corner-handle {\r\n background-color: transparent;\r\n height: 4px;\r\n z-index: 21;\r\n cursor: ne-resize;\r\n width: 4px;\r\n margin-left: -6px;\r\n\r\n &::after {\r\n background-color: transparent;\r\n cursor: ne-resize;\r\n margin-left: unset;\r\n top: -4px;\r\n height: 10px;\r\n width: 10px;\r\n }\r\n }\r\n\r\n .bottom-right-corner-handle {\r\n background-color: transparent;\r\n height: 0px;\r\n z-index: 21;\r\n cursor: nw-resize;\r\n grid-area: 4 / 2 / 4 / 2;\r\n margin-left: -2px;\r\n\r\n &::after {\r\n background-color: transparent;\r\n height: 10px;\r\n cursor: nw-resize;\r\n top: unset;\r\n bottom: -4px;\r\n width: 10px;\r\n }\r\n }\r\n\r\n .left-handle {\r\n grid-area: 1 / 1 / 3 / 1;\r\n width: 4px;\r\n background-color: transparent;\r\n cursor: ew-resize;\r\n\r\n &::before {\r\n content: \"\";\r\n width: 8px;\r\n position: absolute;\r\n top: 0;\r\n bottom: 0;\r\n margin-left: -4px;\r\n }\r\n }\r\n\r\n .top-left-corner-handle {\r\n background-color: transparent;\r\n height: 4px;\r\n z-index: 21;\r\n cursor: nw-resize;\r\n width: 4px;\r\n margin-left: -4px;\r\n\r\n &::before {\r\n background-color: transparent;\r\n cursor: nw-resize;\r\n margin-left: unset;\r\n top: -4px;\r\n height: 10px;\r\n width: 10px;\r\n }\r\n }\r\n\r\n .bottom-left-corner-handle {\r\n background-color: transparent;\r\n height: 0px;\r\n z-index: 21;\r\n cursor: sw-resize;\r\n grid-area: 4 / 1 / 4 / 1;\r\n\r\n &::before {\r\n background-color: transparent;\r\n height: 10px;\r\n cursor: sw-resize;\r\n top: unset;\r\n bottom: -4px;\r\n width: 10px;\r\n }\r\n }\r\n\r\n .top-handle {\r\n grid-area: 1 / 1 / 1 / 1;\r\n background-color: transparent;\r\n height: 4px;\r\n cursor: ns-resize;\r\n\r\n &::before {\r\n content: \"\";\r\n width: 100%;\r\n position: absolute;\r\n top: -4px;\r\n bottom: 100%;\r\n right: 0;\r\n left: 0;\r\n margin-bottom: -8px;\r\n cursor: ns-resize;\r\n height: 8px;\r\n }\r\n }\r\n\r\n .bottom-handle {\r\n grid-area: 3 / 1 / 3 / 1;\r\n background-color: transparent;\r\n height: 4px;\r\n cursor: ns-resize;\r\n\r\n &::after {\r\n content: \"\";\r\n width: 100%;\r\n position: absolute;\r\n top: 100%;\r\n bottom: 0;\r\n right: 0;\r\n left: 0;\r\n margin-top: -8px;\r\n cursor: ns-resize;\r\n height: 12px;\r\n }\r\n }\r\n\r\n &.collapsed {\r\n .top-handle,\r\n .top-right-corner-handle,\r\n .right-handle,\r\n .bottom-right-corner-handle,\r\n .bottom-handle,\r\n .bottom-left-corner-handle,\r\n .left-handle,\r\n .top-left-corner-handle {\r\n cursor: default;\r\n }\r\n\r\n .right-handle,\r\n .bottom-handle,\r\n .top-right-corner-handle,\r\n .bottom-right-corner-handle {\r\n &::after {\r\n cursor: default;\r\n }\r\n }\r\n\r\n .left-handle,\r\n .top-handle,\r\n .top-left-corner-handle,\r\n .bottom-left-corner-handle {\r\n &::before {\r\n cursor: default;\r\n }\r\n }\r\n }\r\n }\r\n\r\n #graph-svg-container {\r\n grid-row: 1;\r\n grid-column: 1;\r\n position: relative;\r\n width: 100%;\r\n height: 100%;\r\n overflow: visible;\r\n pointer-events: none;\r\n z-index: 2;\r\n filter: drop-shadow(7px 6px 2px rgba(0, 0, 0, 0.2));\r\n\r\n .link {\r\n stroke-width: 4px;\r\n &.selected {\r\n stroke: white !important;\r\n stroke-dasharray: 10, 2;\r\n }\r\n\r\n &.hidden {\r\n display: none;\r\n }\r\n }\r\n\r\n .selection-link {\r\n pointer-events: all;\r\n stroke-width: 16px;\r\n opacity: 0;\r\n transition: opacity 75ms;\r\n stroke: transparent;\r\n cursor: pointer;\r\n\r\n &.hidden {\r\n display: none;\r\n }\r\n\r\n &:hover,\r\n &.selected {\r\n stroke: white !important;\r\n opacity: 0.4;\r\n }\r\n }\r\n }\r\n\r\n #graph-canvas-container {\r\n grid-row: 1;\r\n grid-column: 1;\r\n position: relative;\r\n width: 100%;\r\n height: 100%;\r\n\r\n .visual {\r\n z-index: 4;\r\n width: 200px;\r\n position: absolute;\r\n left: 0;\r\n top: 0;\r\n background: gray;\r\n border: 4px solid black;\r\n border-radius: 12px;\r\n display: grid;\r\n grid-template-rows: 30px auto;\r\n grid-template-columns: 100%;\r\n color: white;\r\n box-shadow: 7px 6px 2px rgba(0, 0, 0, 0.2);\r\n\r\n &.elbow-block {\r\n width: 40px;\r\n grid-template-rows: 0px 40px 0px;\r\n border: 0;\r\n border-radius: 40px;\r\n transform: translateY(-7px);\r\n\r\n .selection-border {\r\n border-radius: 40px;\r\n }\r\n\r\n .header-container {\r\n display: none;\r\n }\r\n\r\n .connections {\r\n transform: translateY(7px);\r\n }\r\n\r\n .content {\r\n display: none;\r\n }\r\n }\r\n\r\n &.hidden {\r\n display: none;\r\n }\r\n\r\n .comments {\r\n position: absolute;\r\n top: -50px;\r\n width: 200px;\r\n height: 45px;\r\n overflow: hidden;\r\n font-style: italic;\r\n opacity: 0.8;\r\n display: grid;\r\n align-items: flex-end;\r\n pointer-events: none;\r\n }\r\n\r\n .selection-border {\r\n grid-row: 1 / span 3;\r\n grid-column: 1;\r\n margin: -4px;\r\n\r\n transition: border-color 100ms;\r\n\r\n border: 4px solid black;\r\n border-radius: 12px;\r\n transform: scale(1);\r\n }\r\n\r\n &.selected {\r\n .selection-border {\r\n border: 4px solid white;\r\n }\r\n }\r\n\r\n .header-container {\r\n grid-row: 1;\r\n grid-column: 1;\r\n display: grid;\r\n grid-template-columns: 1fr auto;\r\n grid-template-rows: 100%;\r\n border: 4px solid black;\r\n border-top-right-radius: 7px;\r\n border-top-left-radius: 7px;\r\n background: black;\r\n color: white;\r\n transform: scaleX(1.01) translateY(-0.5px);\r\n transform-origin: center;\r\n\r\n &.constant {\r\n border-color: #464348;\r\n background: #464348;\r\n }\r\n\r\n &.inspector {\r\n border-color: #66491b;\r\n background: #66491b;\r\n }\r\n }\r\n\r\n .headerIcon {\r\n grid-row: 1;\r\n grid-column: 1;\r\n display: none;\r\n z-index: 10;\r\n justify-self: end;\r\n align-self: center;\r\n margin-right: 5px;\r\n\r\n &.visible {\r\n display: grid;\r\n width: 20px;\r\n }\r\n }\r\n\r\n .header {\r\n grid-row: 1;\r\n grid-column: 1;\r\n font-size: 16px;\r\n text-align: center;\r\n margin-top: -1px;\r\n margin-left: -1px;\r\n margin-right: 20px;\r\n white-space: nowrap;\r\n text-overflow: ellipsis;\r\n overflow: hidden;\r\n }\r\n\r\n .connections {\r\n grid-row: 2;\r\n grid-column: 1;\r\n\r\n display: grid;\r\n grid-template-columns: 50% 50%;\r\n transform: scale(1);\r\n }\r\n\r\n .content {\r\n min-height: 20px;\r\n grid-row: 3;\r\n grid-column: 1;\r\n\r\n &.input-block {\r\n grid-row: 2;\r\n min-height: 34px;\r\n text-align: center;\r\n font-size: 18px;\r\n font-weight: bold;\r\n margin: 0 10px 5px;\r\n display: grid;\r\n align-content: center;\r\n\r\n &.small-font {\r\n font-size: 17px;\r\n }\r\n }\r\n\r\n &.output-block {\r\n min-height: 0px;\r\n height: 5px;\r\n }\r\n\r\n &.clamp-block {\r\n grid-row: 2;\r\n height: 34px;\r\n text-align: center;\r\n font-size: 18px;\r\n font-weight: bold;\r\n margin: 0 10px;\r\n }\r\n\r\n &.gradient-block {\r\n grid-row: 2;\r\n height: 34px;\r\n }\r\n\r\n &.texture-block {\r\n grid-row: 2;\r\n height: 140px;\r\n width: 140px;\r\n overflow: hidden;\r\n border-bottom-left-radius: 7px;\r\n border: black 4px solid;\r\n border-left: 0px;\r\n border-bottom: 0px;\r\n\r\n img {\r\n width: 100%;\r\n height: 100%;\r\n pointer-events: none;\r\n\r\n &.empty {\r\n display: none;\r\n }\r\n }\r\n }\r\n\r\n &.image-source-block {\r\n margin-top: 5px;\r\n }\r\n\r\n &.regular-texture-block {\r\n margin-top: 60px;\r\n }\r\n\r\n &.reduced-texture-block {\r\n margin-top: 30px;\r\n }\r\n\r\n &.reflection-block {\r\n grid-row: 3;\r\n }\r\n\r\n &.remap-block {\r\n height: 34px;\r\n text-align: center;\r\n font-size: 18px;\r\n font-weight: bold;\r\n margin: 0 10px;\r\n }\r\n\r\n &.trigonometry-block {\r\n grid-row: 2;\r\n height: 34px;\r\n text-align: center;\r\n font-size: 18px;\r\n font-weight: bold;\r\n margin: 0 10px;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}\r\n"],"sourceRoot":""}]);
63
63
  // Exports
64
64
  ___CSS_LOADER_EXPORT___.locals = {};
65
65
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);
@@ -62208,7 +62208,7 @@ class FloatLineComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Component {
62208
62208
  this.props.onDragStop(valueAsNumber);
62209
62209
  }
62210
62210
  this.setState({ dragging: newDragging });
62211
- } }))] })), this.props.unit] }))), this.props.useEuler && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_sliderLineComponent__WEBPACK_IMPORTED_MODULE_2__.SliderLineComponent, { label: this.props.label, minimum: 0, maximum: 360, step: 0.1, directValue: core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__.Tools.ToDegrees(valueAsNumber), onChange: (value) => this.updateValue(core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__.Tools.ToRadians(value).toString()) }))] }));
62211
+ } }))] })), this.props.unit] }))), this.props.useEuler && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_sliderLineComponent__WEBPACK_IMPORTED_MODULE_2__.SliderLineComponent, { lockObject: this.props.lockObject, label: this.props.label, minimum: 0, maximum: 360, step: 0.1, directValue: core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__.Tools.ToDegrees(valueAsNumber), onChange: (value) => this.updateValue(core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__.Tools.ToRadians(value).toString()) }))] }));
62212
62212
  }
62213
62213
  }
62214
62214
 
@@ -62388,7 +62388,7 @@ class MatrixLineComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Component {
62388
62388
  if (this.props.onModeChange) {
62389
62389
  this.props.onModeChange(value);
62390
62390
  }
62391
- } }) })), this.state.mode === 0 && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ className: "secondLine" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_vector4LineComponent__WEBPACK_IMPORTED_MODULE_3__.Vector4LineComponent, { lockObject: this.props.lockObject, label: "Row #0", value: this.state.value.getRow(0), onChange: (value) => this.updateRow(value, 0) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_vector4LineComponent__WEBPACK_IMPORTED_MODULE_3__.Vector4LineComponent, { lockObject: this.props.lockObject, label: "Row #1", value: this.state.value.getRow(1), onChange: (value) => this.updateRow(value, 1) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_vector4LineComponent__WEBPACK_IMPORTED_MODULE_3__.Vector4LineComponent, { lockObject: this.props.lockObject, label: "Row #2", value: this.state.value.getRow(2), onChange: (value) => this.updateRow(value, 2) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_vector4LineComponent__WEBPACK_IMPORTED_MODULE_3__.Vector4LineComponent, { lockObject: this.props.lockObject, label: "Row #3", value: this.state.value.getRow(3), onChange: (value) => this.updateRow(value, 3) })] }))), this.state.mode !== 0 && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ className: "secondLine" }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_sliderLineComponent__WEBPACK_IMPORTED_MODULE_5__.SliderLineComponent, { label: "Angle", minimum: 0, maximum: 2 * Math.PI, useEuler: true, step: 0.1, directValue: this.state.angle, onChange: (value) => this.updateBasedOnMode(value) }) })))] })));
62391
+ } }) })), this.state.mode === 0 && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ className: "secondLine" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_vector4LineComponent__WEBPACK_IMPORTED_MODULE_3__.Vector4LineComponent, { lockObject: this.props.lockObject, label: "Row #0", value: this.state.value.getRow(0), onChange: (value) => this.updateRow(value, 0) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_vector4LineComponent__WEBPACK_IMPORTED_MODULE_3__.Vector4LineComponent, { lockObject: this.props.lockObject, label: "Row #1", value: this.state.value.getRow(1), onChange: (value) => this.updateRow(value, 1) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_vector4LineComponent__WEBPACK_IMPORTED_MODULE_3__.Vector4LineComponent, { lockObject: this.props.lockObject, label: "Row #2", value: this.state.value.getRow(2), onChange: (value) => this.updateRow(value, 2) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_vector4LineComponent__WEBPACK_IMPORTED_MODULE_3__.Vector4LineComponent, { lockObject: this.props.lockObject, label: "Row #3", value: this.state.value.getRow(3), onChange: (value) => this.updateRow(value, 3) })] }))), this.state.mode !== 0 && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ className: "secondLine" }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_sliderLineComponent__WEBPACK_IMPORTED_MODULE_5__.SliderLineComponent, { label: "Angle", lockObject: this.props.lockObject, minimum: 0, maximum: 2 * Math.PI, useEuler: true, step: 0.1, directValue: this.state.angle, onChange: (value) => this.updateBasedOnMode(value) }) })))] })));
62392
62392
  }
62393
62393
  }
62394
62394
 
@@ -63116,7 +63116,7 @@ class Vector3LineComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Component
63116
63116
  render() {
63117
63117
  const chevron = this.state.isExpanded ? (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_fortawesome_react_fontawesome__WEBPACK_IMPORTED_MODULE_3__.FontAwesomeIcon, { icon: _fortawesome_free_solid_svg_icons__WEBPACK_IMPORTED_MODULE_4__.faMinus }) : (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_fortawesome_react_fontawesome__WEBPACK_IMPORTED_MODULE_3__.FontAwesomeIcon, { icon: _fortawesome_free_solid_svg_icons__WEBPACK_IMPORTED_MODULE_4__.faPlus });
63118
63118
  return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ className: "vector3Line" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ className: "firstLine" }, { children: [this.props.icon && (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("img", { src: this.props.icon, title: this.props.iconLabel, alt: this.props.iconLabel, className: "icon" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ className: "label", title: this.props.label }, { children: this.props.label })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ className: "vector" }, { children: [!this.props.useEuler && `X: ${this.state.value.x.toFixed(2)}, Y: ${this.state.value.y.toFixed(2)}, Z: ${this.state.value.z.toFixed(2)}`, this.props.useEuler &&
63119
- `X: ${core_Misc_tools__WEBPACK_IMPORTED_MODULE_6__.Tools.ToDegrees(this.state.value.x).toFixed(2)}, Y: ${core_Misc_tools__WEBPACK_IMPORTED_MODULE_6__.Tools.ToDegrees(this.state.value.y).toFixed(2)}, Z: ${core_Misc_tools__WEBPACK_IMPORTED_MODULE_6__.Tools.ToDegrees(this.state.value.z).toFixed(2)}`] })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ className: "expand hoverIcon", onClick: () => this.switchExpandState(), title: "Expand" }, { children: chevron }))] })), this.state.isExpanded && !this.props.useEuler && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ className: "secondLine" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_lines_numericInputComponent__WEBPACK_IMPORTED_MODULE_2__.NumericInputComponent, { label: "x", lockObject: this.props.lockObject, step: this.props.step, value: this.state.value.x, onChange: (value) => this.updateStateX(value) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_lines_numericInputComponent__WEBPACK_IMPORTED_MODULE_2__.NumericInputComponent, { label: "y", lockObject: this.props.lockObject, step: this.props.step, value: this.state.value.y, onChange: (value) => this.updateStateY(value) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_lines_numericInputComponent__WEBPACK_IMPORTED_MODULE_2__.NumericInputComponent, { label: "z", lockObject: this.props.lockObject, step: this.props.step, value: this.state.value.z, onChange: (value) => this.updateStateZ(value) })] }))), this.state.isExpanded && this.props.useEuler && !this.props.noSlider && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ className: "secondLine" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_lines_sliderLineComponent__WEBPACK_IMPORTED_MODULE_5__.SliderLineComponent, { margin: true, label: "x", minimum: 0, maximum: 360, step: 0.1, directValue: core_Misc_tools__WEBPACK_IMPORTED_MODULE_6__.Tools.ToDegrees(this.state.value.x), onChange: (value) => this.updateStateX(core_Misc_tools__WEBPACK_IMPORTED_MODULE_6__.Tools.ToRadians(value)) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_lines_sliderLineComponent__WEBPACK_IMPORTED_MODULE_5__.SliderLineComponent, { margin: true, label: "y", minimum: 0, maximum: 360, step: 0.1, directValue: core_Misc_tools__WEBPACK_IMPORTED_MODULE_6__.Tools.ToDegrees(this.state.value.y), onChange: (value) => this.updateStateY(core_Misc_tools__WEBPACK_IMPORTED_MODULE_6__.Tools.ToRadians(value)) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_lines_sliderLineComponent__WEBPACK_IMPORTED_MODULE_5__.SliderLineComponent, { margin: true, label: "z", minimum: 0, maximum: 360, step: 0.1, directValue: core_Misc_tools__WEBPACK_IMPORTED_MODULE_6__.Tools.ToDegrees(this.state.value.z), onChange: (value) => this.updateStateZ(core_Misc_tools__WEBPACK_IMPORTED_MODULE_6__.Tools.ToRadians(value)) })] }))), this.state.isExpanded && this.props.useEuler && this.props.noSlider && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ className: "secondLine" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_lines_numericInputComponent__WEBPACK_IMPORTED_MODULE_2__.NumericInputComponent, { lockObject: this.props.lockObject, label: "x", step: this.props.step, value: core_Misc_tools__WEBPACK_IMPORTED_MODULE_6__.Tools.ToDegrees(this.state.value.x), onChange: (value) => this.updateStateX(core_Misc_tools__WEBPACK_IMPORTED_MODULE_6__.Tools.ToRadians(value)) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_lines_numericInputComponent__WEBPACK_IMPORTED_MODULE_2__.NumericInputComponent, { lockObject: this.props.lockObject, label: "y", step: this.props.step, value: core_Misc_tools__WEBPACK_IMPORTED_MODULE_6__.Tools.ToDegrees(this.state.value.y), onChange: (value) => this.updateStateY(core_Misc_tools__WEBPACK_IMPORTED_MODULE_6__.Tools.ToRadians(value)) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_lines_numericInputComponent__WEBPACK_IMPORTED_MODULE_2__.NumericInputComponent, { lockObject: this.props.lockObject, label: "z", step: this.props.step, value: core_Misc_tools__WEBPACK_IMPORTED_MODULE_6__.Tools.ToDegrees(this.state.value.z), onChange: (value) => this.updateStateZ(core_Misc_tools__WEBPACK_IMPORTED_MODULE_6__.Tools.ToRadians(value)) })] })))] })));
63119
+ `X: ${core_Misc_tools__WEBPACK_IMPORTED_MODULE_6__.Tools.ToDegrees(this.state.value.x).toFixed(2)}, Y: ${core_Misc_tools__WEBPACK_IMPORTED_MODULE_6__.Tools.ToDegrees(this.state.value.y).toFixed(2)}, Z: ${core_Misc_tools__WEBPACK_IMPORTED_MODULE_6__.Tools.ToDegrees(this.state.value.z).toFixed(2)}`] })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ className: "expand hoverIcon", onClick: () => this.switchExpandState(), title: "Expand" }, { children: chevron }))] })), this.state.isExpanded && !this.props.useEuler && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ className: "secondLine" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_lines_numericInputComponent__WEBPACK_IMPORTED_MODULE_2__.NumericInputComponent, { label: "x", lockObject: this.props.lockObject, step: this.props.step, value: this.state.value.x, onChange: (value) => this.updateStateX(value) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_lines_numericInputComponent__WEBPACK_IMPORTED_MODULE_2__.NumericInputComponent, { label: "y", lockObject: this.props.lockObject, step: this.props.step, value: this.state.value.y, onChange: (value) => this.updateStateY(value) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_lines_numericInputComponent__WEBPACK_IMPORTED_MODULE_2__.NumericInputComponent, { label: "z", lockObject: this.props.lockObject, step: this.props.step, value: this.state.value.z, onChange: (value) => this.updateStateZ(value) })] }))), this.state.isExpanded && this.props.useEuler && !this.props.noSlider && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ className: "secondLine" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_lines_sliderLineComponent__WEBPACK_IMPORTED_MODULE_5__.SliderLineComponent, { lockObject: this.props.lockObject, margin: true, label: "x", minimum: 0, maximum: 360, step: 0.1, directValue: core_Misc_tools__WEBPACK_IMPORTED_MODULE_6__.Tools.ToDegrees(this.state.value.x), onChange: (value) => this.updateStateX(core_Misc_tools__WEBPACK_IMPORTED_MODULE_6__.Tools.ToRadians(value)) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_lines_sliderLineComponent__WEBPACK_IMPORTED_MODULE_5__.SliderLineComponent, { lockObject: this.props.lockObject, margin: true, label: "y", minimum: 0, maximum: 360, step: 0.1, directValue: core_Misc_tools__WEBPACK_IMPORTED_MODULE_6__.Tools.ToDegrees(this.state.value.y), onChange: (value) => this.updateStateY(core_Misc_tools__WEBPACK_IMPORTED_MODULE_6__.Tools.ToRadians(value)) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_lines_sliderLineComponent__WEBPACK_IMPORTED_MODULE_5__.SliderLineComponent, { lockObject: this.props.lockObject, margin: true, label: "z", minimum: 0, maximum: 360, step: 0.1, directValue: core_Misc_tools__WEBPACK_IMPORTED_MODULE_6__.Tools.ToDegrees(this.state.value.z), onChange: (value) => this.updateStateZ(core_Misc_tools__WEBPACK_IMPORTED_MODULE_6__.Tools.ToRadians(value)) })] }))), this.state.isExpanded && this.props.useEuler && this.props.noSlider && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ className: "secondLine" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_lines_numericInputComponent__WEBPACK_IMPORTED_MODULE_2__.NumericInputComponent, { lockObject: this.props.lockObject, label: "x", step: this.props.step, value: core_Misc_tools__WEBPACK_IMPORTED_MODULE_6__.Tools.ToDegrees(this.state.value.x), onChange: (value) => this.updateStateX(core_Misc_tools__WEBPACK_IMPORTED_MODULE_6__.Tools.ToRadians(value)) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_lines_numericInputComponent__WEBPACK_IMPORTED_MODULE_2__.NumericInputComponent, { lockObject: this.props.lockObject, label: "y", step: this.props.step, value: core_Misc_tools__WEBPACK_IMPORTED_MODULE_6__.Tools.ToDegrees(this.state.value.y), onChange: (value) => this.updateStateY(core_Misc_tools__WEBPACK_IMPORTED_MODULE_6__.Tools.ToRadians(value)) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_lines_numericInputComponent__WEBPACK_IMPORTED_MODULE_2__.NumericInputComponent, { lockObject: this.props.lockObject, label: "z", step: this.props.step, value: core_Misc_tools__WEBPACK_IMPORTED_MODULE_6__.Tools.ToDegrees(this.state.value.z), onChange: (value) => this.updateStateZ(core_Misc_tools__WEBPACK_IMPORTED_MODULE_6__.Tools.ToRadians(value)) })] })))] })));
63120
63120
  }
63121
63121
  }
63122
63122
  // eslint-disable-next-line @typescript-eslint/naming-convention
@@ -63590,14 +63590,45 @@ class GraphCanvasComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Component
63590
63590
  }
63591
63591
  return false;
63592
63592
  }
63593
+ populateConnectedEntriesBeforeRemoval(item, items, inputs, outputs) {
63594
+ inputs.push(...item.content.inputs.filter((i) => i.isConnected && items.every((selected) => { var _a; return selected.content.data !== ((_a = i.connectedPort) === null || _a === void 0 ? void 0 : _a.ownerData); })).map((i) => i.connectedPort));
63595
+ outputs.push(...item.content.outputs
63596
+ .filter((i) => i.isConnected)
63597
+ .map((i) => i.endpoints)
63598
+ .flat()
63599
+ .filter((i) => i && items.every((selected) => selected.content.data !== i.ownerData)));
63600
+ }
63601
+ automaticRewire(inputs, outputs) {
63602
+ if (outputs.length && inputs.length) {
63603
+ inputs.forEach((input) => {
63604
+ if (!input) {
63605
+ return;
63606
+ }
63607
+ const output = outputs[0];
63608
+ if (output && input.canConnectTo(output)) {
63609
+ const nodeInput = this.findNodeFromData(input.ownerData);
63610
+ const nodeOutput = this.findNodeFromData(output.ownerData);
63611
+ this.connectNodes(nodeInput, input, nodeOutput, output);
63612
+ outputs.shift();
63613
+ }
63614
+ });
63615
+ }
63616
+ }
63593
63617
  handleKeyDown(evt, onRemove, mouseLocationX, mouseLocationY, dataGenerator, rootElement) {
63594
63618
  if ((evt.keyCode === 46 || evt.keyCode === 8) && !this.props.stateManager.lockObject.lock) {
63595
63619
  // Delete
63596
63620
  const selectedItems = this.selectedNodes;
63597
- for (const selectedItem of selectedItems) {
63598
- selectedItem.dispose();
63599
- onRemove(selectedItem.content);
63600
- this.removeDataFromCache(selectedItem.content.data);
63621
+ const inputs = [];
63622
+ const outputs = [];
63623
+ if (selectedItems.length > 0) {
63624
+ for (const selectedItem of selectedItems) {
63625
+ if (evt.altKey) {
63626
+ this.populateConnectedEntriesBeforeRemoval(selectedItem, selectedItems, inputs, outputs);
63627
+ }
63628
+ selectedItem.dispose();
63629
+ onRemove(selectedItem.content);
63630
+ this.removeDataFromCache(selectedItem.content.data);
63631
+ }
63601
63632
  }
63602
63633
  if (this.selectedLink) {
63603
63634
  this.selectedLink.dispose();
@@ -63620,6 +63651,8 @@ class GraphCanvasComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Component
63620
63651
  frame.dispose();
63621
63652
  }
63622
63653
  }
63654
+ // Reconnect if required
63655
+ this.automaticRewire(inputs, outputs);
63623
63656
  this.props.stateManager.onSelectionChangedObservable.notifyObservers(null);
63624
63657
  this.props.stateManager.onRebuildRequiredObservable.notifyObservers(false);
63625
63658
  return;
@@ -63778,6 +63811,14 @@ class GraphCanvasComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Component
63778
63811
  }
63779
63812
  createNodeFromObject(nodeData, onNodeCreated, recursion = true) {
63780
63813
  if (this._nodeDataContentList.indexOf(nodeData.data) !== -1) {
63814
+ // Links
63815
+ if (nodeData.inputs.length && recursion) {
63816
+ for (const input of nodeData.inputs) {
63817
+ if (input.isConnected) {
63818
+ this.connectPorts(input.connectedPort, input);
63819
+ }
63820
+ }
63821
+ }
63781
63822
  return this.nodes.filter((n) => n.content.data === nodeData.data)[0];
63782
63823
  }
63783
63824
  onNodeCreated(nodeData.data);
@@ -65675,7 +65716,7 @@ class GraphFrame {
65675
65716
  }
65676
65717
  export() {
65677
65718
  const state = this._ownerCanvas.stateManager;
65678
- const json = state.exportData(state.data);
65719
+ const json = state.exportData(state.data, this);
65679
65720
  _stringTools__WEBPACK_IMPORTED_MODULE_2__.StringTools.DownloadAsFile(state.hostDocument, json, this._name + ".json");
65680
65721
  }
65681
65722
  adjustPorts() {
@@ -65756,14 +65797,12 @@ __webpack_require__.r(__webpack_exports__);
65756
65797
  /* harmony export */ });
65757
65798
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "../../../../node_modules/react/index.js");
65758
65799
  /* harmony import */ var _nodePort__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./nodePort */ "../../../dev/sharedUiComponents/dist/nodeGraphSystem/nodePort.js");
65759
- /* harmony import */ var _imgs_triangle_svg__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../imgs/triangle.svg */ "../../../dev/sharedUiComponents/dist/imgs/triangle.svg");
65760
65800
  /* harmony import */ var _propertyLedger__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./propertyLedger */ "../../../dev/sharedUiComponents/dist/nodeGraphSystem/propertyLedger.js");
65761
65801
  /* harmony import */ var _displayLedger__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./displayLedger */ "../../../dev/sharedUiComponents/dist/nodeGraphSystem/displayLedger.js");
65762
65802
 
65763
65803
 
65764
65804
 
65765
65805
 
65766
-
65767
65806
  class GraphNode {
65768
65807
  constructor(content, stateManager) {
65769
65808
  this.content = content;
@@ -66012,14 +66051,7 @@ class GraphNode {
66012
66051
  }
66013
66052
  this._comments.innerHTML = this.content.comments || "";
66014
66053
  this._comments.title = this.content.comments || "";
66015
- const warningMessage = this.content.getWarningMessage();
66016
- if (warningMessage) {
66017
- this._warning.classList.add("visible");
66018
- this._warning.title = warningMessage;
66019
- }
66020
- else {
66021
- this._warning.classList.remove("visible");
66022
- }
66054
+ this.content.prepareHeaderIcon(this._headerIcon, this._headerIconImg);
66023
66055
  }
66024
66056
  _onDown(evt) {
66025
66057
  // Check if this is coming from the port
@@ -66100,12 +66132,11 @@ class GraphNode {
66100
66132
  this._header = root.ownerDocument.createElement("div");
66101
66133
  this._header.classList.add("header");
66102
66134
  this._headerContainer.appendChild(this._header);
66103
- this._warning = root.ownerDocument.createElement("div");
66104
- this._warning.classList.add("warning");
66105
- const img = root.ownerDocument.createElement("img");
66106
- img.src = _imgs_triangle_svg__WEBPACK_IMPORTED_MODULE_4__;
66107
- this._warning.appendChild(img);
66108
- this._visual.appendChild(this._warning);
66135
+ this._headerIcon = root.ownerDocument.createElement("div");
66136
+ this._headerIcon.classList.add("headerIcon");
66137
+ this._headerIconImg = root.ownerDocument.createElement("img");
66138
+ this._headerIcon.appendChild(this._headerIconImg);
66139
+ this._visual.appendChild(this._headerIcon);
66109
66140
  const selectionBorder = root.ownerDocument.createElement("div");
66110
66141
  selectionBorder.classList.add("selection-border");
66111
66142
  this._visual.appendChild(selectionBorder);
@@ -67989,6 +68020,12 @@ __webpack_require__.r(__webpack_exports__);
67989
68020
  class PreviewAreaComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Component {
67990
68021
  constructor(props) {
67991
68022
  super(props);
68023
+ this._onPointerOverCanvas = () => {
68024
+ this.props.globalState.pointerOverCanvas = true;
68025
+ };
68026
+ this._onPointerOutCanvas = () => {
68027
+ this.props.globalState.pointerOverCanvas = false;
68028
+ };
67992
68029
  this.state = { isLoading: true };
67993
68030
  this._onIsLoadingChangedObserver = this.props.globalState.onIsLoadingChanged.add((state) => this.setState({ isLoading: state }));
67994
68031
  this._onResetRequiredObserver = this.props.globalState.onResetRequiredObservable.add(() => {
@@ -68028,7 +68065,7 @@ class PreviewAreaComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Component
68028
68065
  { label: "OneOne", value: core_Misc_dataStorage__WEBPACK_IMPORTED_MODULE_2__.ParticleSystem.BLENDMODE_ONEONE },
68029
68066
  { label: "Standard", value: core_Misc_dataStorage__WEBPACK_IMPORTED_MODULE_2__.ParticleSystem.BLENDMODE_STANDARD },
68030
68067
  ];
68031
- return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ id: "preview", style: { height: this.props.width + "px" } }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("canvas", { id: "preview-canvas" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ className: "waitPanel" + (this.state.isLoading ? "" : " hidden") }, { children: "Please wait, loading..." }))] })), this.props.globalState.mode === core_Misc_dataStorage__WEBPACK_IMPORTED_MODULE_2__.NodeMaterialModes.Particle && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ id: "preview-config-bar", className: "extended" }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_optionsLineComponent__WEBPACK_IMPORTED_MODULE_8__.OptionsLineComponent, { label: "Blend mode", options: blendModeOptions, target: this.props.globalState, propertyName: "particleSystemBlendMode", noDirectUpdate: true, onSelect: (value) => {
68068
+ return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ id: "preview", style: { height: this.props.width + "px" } }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("canvas", { onPointerOver: this._onPointerOverCanvas, onPointerOut: this._onPointerOutCanvas, id: "preview-canvas" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ className: "waitPanel" + (this.state.isLoading ? "" : " hidden") }, { children: "Please wait, loading..." }))] })), this.props.globalState.mode === core_Misc_dataStorage__WEBPACK_IMPORTED_MODULE_2__.NodeMaterialModes.Particle && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ id: "preview-config-bar", className: "extended" }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_optionsLineComponent__WEBPACK_IMPORTED_MODULE_8__.OptionsLineComponent, { label: "Blend mode", options: blendModeOptions, target: this.props.globalState, propertyName: "particleSystemBlendMode", noDirectUpdate: true, onSelect: (value) => {
68032
68069
  this.changeParticleSystemBlendMode(value);
68033
68070
  } }) }))), this.props.globalState.mode === core_Misc_dataStorage__WEBPACK_IMPORTED_MODULE_2__.NodeMaterialModes.Material && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ id: "preview-config-bar" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ title: "Render without back face culling", onClick: () => this.changeBackFaceCulling(!this.props.globalState.backFaceCulling), className: "button back-face" + (!this.props.globalState.backFaceCulling ? " selected" : "") }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("img", { src: _svgs_doubleSided_svg__WEBPACK_IMPORTED_MODULE_3__, alt: "" }) })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ title: "Render with depth pre-pass", onClick: () => this.changeDepthPrePass(!this.props.globalState.depthPrePass), className: "button depth-pass" + (this.props.globalState.depthPrePass ? " selected" : "") }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("img", { src: _svgs_depthPass_svg__WEBPACK_IMPORTED_MODULE_4__, alt: "" }) })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ title: "Turn on/off hemispheric light", onClick: () => {
68034
68071
  this.props.globalState.hemisphericLight = !this.props.globalState.hemisphericLight;
@@ -68750,7 +68787,7 @@ class InputsPropertyTabComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Comp
68750
68787
  const cantDisplaySlider = isNaN(block.min) || isNaN(block.max) || block.min === block.max;
68751
68788
  return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { children: [block.isBoolean && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_sharedComponents_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_3__.CheckBoxLineComponent, { label: block.name, target: block, propertyName: "value", onValueChanged: () => {
68752
68789
  this.processInputBlockUpdate(block);
68753
- } }, block.uniqueId)), !block.isBoolean && cantDisplaySlider && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_11__.FloatLineComponent, { label: block.name, target: block, propertyName: "value", onChange: () => this.processInputBlockUpdate(block) }, block.uniqueId)), !block.isBoolean && !cantDisplaySlider && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_sliderLineComponent__WEBPACK_IMPORTED_MODULE_12__.SliderLineComponent, { label: block.name, target: block, propertyName: "value", step: (block.max - block.min) / 100.0, minimum: block.min, maximum: block.max, onChange: () => this.processInputBlockUpdate(block) }, block.uniqueId))] }, block.uniqueId));
68790
+ } }, block.uniqueId)), !block.isBoolean && cantDisplaySlider && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_11__.FloatLineComponent, { lockObject: this.props.lockObject, label: block.name, target: block, propertyName: "value", onChange: () => this.processInputBlockUpdate(block) }, block.uniqueId)), !block.isBoolean && !cantDisplaySlider && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_sliderLineComponent__WEBPACK_IMPORTED_MODULE_12__.SliderLineComponent, { lockObject: this.props.lockObject, label: block.name, target: block, propertyName: "value", step: (block.max - block.min) / 100.0, minimum: block.min, maximum: block.max, onChange: () => this.processInputBlockUpdate(block) }, block.uniqueId))] }, block.uniqueId));
68754
68791
  }
68755
68792
  case core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_4__.NodeMaterialBlockConnectionPointTypes.Color3:
68756
68793
  return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_color3LineComponent__WEBPACK_IMPORTED_MODULE_9__.Color3LineComponent, { lockObject: this.props.lockObject, label: block.name, target: block, propertyName: "value", onChange: () => this.processInputBlockUpdate(block) }, block.uniqueId));
@@ -68853,7 +68890,7 @@ __webpack_require__.r(__webpack_exports__);
68853
68890
 
68854
68891
  class FloatPropertyTabComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Component {
68855
68892
  render() {
68856
- return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_2__.FloatLineComponent, { label: "Value", target: this.props.inputBlock, propertyName: "value", onChange: () => {
68893
+ return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_2__.FloatLineComponent, { lockObject: this.props.globalState.lockObject, label: "Value", target: this.props.inputBlock, propertyName: "value", onChange: () => {
68857
68894
  if (this.props.inputBlock.isConstant) {
68858
68895
  this.props.globalState.stateManager.onRebuildRequiredObservable.notifyObservers(true);
68859
68896
  }
@@ -69101,7 +69138,7 @@ class PropertyTabComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Component
69101
69138
  const cantDisplaySlider = isNaN(block.min) || isNaN(block.max) || block.min === block.max;
69102
69139
  return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { children: [block.isBoolean && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_sharedComponents_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_7__.CheckBoxLineComponent, { label: block.name, target: block, propertyName: "value", onValueChanged: () => {
69103
69140
  this.processInputBlockUpdate(block);
69104
- } }, block.uniqueId)), !block.isBoolean && cantDisplaySlider && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_28__.FloatLineComponent, { label: block.name, target: block, propertyName: "value", onChange: () => this.processInputBlockUpdate(block) }, block.uniqueId)), !block.isBoolean && !cantDisplaySlider && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_sliderLineComponent__WEBPACK_IMPORTED_MODULE_29__.SliderLineComponent, { label: block.name, target: block, propertyName: "value", step: (block.max - block.min) / 100.0, minimum: block.min, maximum: block.max, onChange: () => this.processInputBlockUpdate(block) }, block.uniqueId))] }, block.uniqueId));
69141
+ } }, block.uniqueId)), !block.isBoolean && cantDisplaySlider && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_28__.FloatLineComponent, { lockObject: this.props.lockObject, label: block.name, target: block, propertyName: "value", onChange: () => this.processInputBlockUpdate(block) }, block.uniqueId)), !block.isBoolean && !cantDisplaySlider && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_sliderLineComponent__WEBPACK_IMPORTED_MODULE_29__.SliderLineComponent, { lockObject: this.props.lockObject, label: block.name, target: block, propertyName: "value", step: (block.max - block.min) / 100.0, minimum: block.min, maximum: block.max, onChange: () => this.processInputBlockUpdate(block) }, block.uniqueId))] }, block.uniqueId));
69105
69142
  }
69106
69143
  case core_Misc_tools__WEBPACK_IMPORTED_MODULE_5__.NodeMaterialBlockConnectionPointTypes.Color3:
69107
69144
  return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_color3LineComponent__WEBPACK_IMPORTED_MODULE_23__.Color3LineComponent, { lockObject: this.props.lockObject, label: block.name, target: block, propertyName: "value", onChange: () => this.processInputBlockUpdate(block) }, block.uniqueId));
@@ -69309,7 +69346,7 @@ class PropertyTabComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Component
69309
69346
  this.props.globalState.onReOrganizedRequiredObservable.notifyObservers();
69310
69347
  } })] })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_2__.LineContainerComponent, Object.assign({ title: "OPTIONS" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_sharedComponents_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_7__.CheckBoxLineComponent, { label: "Embed textures when saving", isSelected: () => core_Misc_tools__WEBPACK_IMPORTED_MODULE_5__.DataStorage.ReadBoolean("EmbedTextures", true), onSelect: (value) => {
69311
69348
  core_Misc_tools__WEBPACK_IMPORTED_MODULE_5__.DataStorage.WriteBoolean("EmbedTextures", value);
69312
- } }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_sliderLineComponent__WEBPACK_IMPORTED_MODULE_29__.SliderLineComponent, { label: "Grid size", minimum: 0, maximum: 100, step: 5, decimalCount: 0, directValue: gridSize, onChange: (value) => {
69349
+ } }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_sliderLineComponent__WEBPACK_IMPORTED_MODULE_29__.SliderLineComponent, { lockObject: this.props.lockObject, label: "Grid size", minimum: 0, maximum: 100, step: 5, decimalCount: 0, directValue: gridSize, onChange: (value) => {
69313
69350
  core_Misc_tools__WEBPACK_IMPORTED_MODULE_5__.DataStorage.WriteNumber("GridSize", value);
69314
69351
  this.props.globalState.stateManager.onGridSizeChanged.notifyObservers();
69315
69352
  this.forceUpdate();
@@ -69385,6 +69422,7 @@ class GlobalState {
69385
69422
  this.particleSystemBlendMode = core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__.ParticleSystem.BLENDMODE_ONEONE;
69386
69423
  this.listOfCustomPreviewFiles = [];
69387
69424
  this.lockObject = new shared_ui_components_tabs_propertyGrids_lockObject__WEBPACK_IMPORTED_MODULE_4__.LockObject();
69425
+ this.pointerOverCanvas = false;
69388
69426
  this.previewType = core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__.DataStorage.ReadNumber("PreviewType", _components_preview_previewType__WEBPACK_IMPORTED_MODULE_1__.PreviewType.Box);
69389
69427
  this.backFaceCulling = core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__.DataStorage.ReadBoolean("BackFaceCulling", true);
69390
69428
  this.depthPrePass = core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__.DataStorage.ReadBoolean("DepthPrePass", false);
@@ -69481,6 +69519,22 @@ class GraphEditor extends react__WEBPACK_IMPORTED_MODULE_1__.Component {
69481
69519
  this._rightWidth = core_Materials_Node_nodeMaterialBlock__WEBPACK_IMPORTED_MODULE_2__.DataStorage.ReadNumber("RightWidth", 300);
69482
69520
  this._mouseLocationX = 0;
69483
69521
  this._mouseLocationY = 0;
69522
+ this.onWheel = (evt) => {
69523
+ if (this.props.globalState.pointerOverCanvas) {
69524
+ return evt.preventDefault();
69525
+ }
69526
+ if (evt.ctrlKey) {
69527
+ return evt.preventDefault();
69528
+ }
69529
+ if (Math.abs(evt.deltaX) < Math.abs(evt.deltaY)) {
69530
+ return;
69531
+ }
69532
+ const targetElem = evt.currentTarget;
69533
+ const scrollLeftMax = targetElem.scrollWidth - targetElem.offsetWidth;
69534
+ if (targetElem.scrollLeft + evt.deltaX < 0 || targetElem.scrollLeft + evt.deltaX > scrollLeftMax) {
69535
+ return evt.preventDefault();
69536
+ }
69537
+ };
69484
69538
  this.handlePopUp = () => {
69485
69539
  this.setState({
69486
69540
  showPreviewPopUp: true,
@@ -69804,18 +69858,6 @@ class GraphEditor extends react__WEBPACK_IMPORTED_MODULE_1__.Component {
69804
69858
  this._moveInProgress = false;
69805
69859
  evt.currentTarget.releasePointerCapture(evt.pointerId);
69806
69860
  }
69807
- onWheel(evt) {
69808
- if (evt.ctrlKey) {
69809
- return evt.preventDefault();
69810
- }
69811
- if (Math.abs(evt.deltaX) < Math.abs(evt.deltaY)) {
69812
- return;
69813
- }
69814
- const scrollLeftMax = this.scrollWidth - this.offsetWidth;
69815
- if (this.scrollLeft + evt.deltaX < 0 || this.scrollLeft + evt.deltaX > scrollLeftMax) {
69816
- return evt.preventDefault();
69817
- }
69818
- }
69819
69861
  resizeColumns(evt, forLeft = true) {
69820
69862
  if (!this._moveInProgress) {
69821
69863
  return;
@@ -69949,7 +69991,14 @@ __webpack_require__.r(__webpack_exports__);
69949
69991
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
69950
69992
  /* harmony export */ "BlockNodeData": () => (/* binding */ BlockNodeData)
69951
69993
  /* harmony export */ });
69952
- /* harmony import */ var _connectionPointPortData__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./connectionPointPortData */ "../../../tools/nodeEditor/dist/graphSystem/connectionPointPortData.js");
69994
+ /* harmony import */ var core_Materials_Node_Enums_nodeMaterialBlockTargets__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/Materials/Node/Enums/nodeMaterialBlockTargets */ "core/Misc/dataStorage");
69995
+ /* harmony import */ var core_Materials_Node_Enums_nodeMaterialBlockTargets__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_Materials_Node_Enums_nodeMaterialBlockTargets__WEBPACK_IMPORTED_MODULE_0__);
69996
+ /* harmony import */ var _connectionPointPortData__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./connectionPointPortData */ "../../../tools/nodeEditor/dist/graphSystem/connectionPointPortData.js");
69997
+ /* harmony import */ var _imgs_triangle_svg__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../imgs/triangle.svg */ "../../../tools/nodeEditor/dist/imgs/triangle.svg");
69998
+ /* harmony import */ var _imgs_square_svg__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../imgs/square.svg */ "../../../tools/nodeEditor/dist/imgs/square.svg");
69999
+
70000
+
70001
+
69953
70002
 
69954
70003
  class BlockNodeData {
69955
70004
  constructor(data, nodeContainer) {
@@ -69958,12 +70007,12 @@ class BlockNodeData {
69958
70007
  this._outputs = [];
69959
70008
  if (data.inputs) {
69960
70009
  this.data.inputs.forEach((input) => {
69961
- this._inputs.push(new _connectionPointPortData__WEBPACK_IMPORTED_MODULE_0__.ConnectionPointPortData(input, nodeContainer));
70010
+ this._inputs.push(new _connectionPointPortData__WEBPACK_IMPORTED_MODULE_1__.ConnectionPointPortData(input, nodeContainer));
69962
70011
  });
69963
70012
  }
69964
70013
  if (data.outputs) {
69965
70014
  this.data.outputs.forEach((output) => {
69966
- this._outputs.push(new _connectionPointPortData__WEBPACK_IMPORTED_MODULE_0__.ConnectionPointPortData(output, nodeContainer));
70015
+ this._outputs.push(new _connectionPointPortData__WEBPACK_IMPORTED_MODULE_1__.ConnectionPointPortData(output, nodeContainer));
69967
70016
  });
69968
70017
  }
69969
70018
  }
@@ -70007,11 +70056,24 @@ class BlockNodeData {
70007
70056
  dispose() {
70008
70057
  this.data.dispose();
70009
70058
  }
70010
- getWarningMessage() {
70011
- if (this.data.getClassName() !== "ElbowBlock" && this.data.willBeGeneratedIntoVertexShaderFromFragmentShader) {
70012
- return "For optimization reasons, this block will be promoted to the vertex shader. You can force it to render in the fragment shader by setting its target to Fragment";
70059
+ prepareHeaderIcon(iconDiv, img) {
70060
+ if (this.data.getClassName() === "ElbowBlock") {
70061
+ iconDiv.classList.remove("visible");
70062
+ return;
70013
70063
  }
70014
- return "";
70064
+ if (this.data.target === core_Materials_Node_Enums_nodeMaterialBlockTargets__WEBPACK_IMPORTED_MODULE_0__.NodeMaterialBlockTargets.Fragment) {
70065
+ iconDiv.classList.add("visible");
70066
+ iconDiv.title = "In the fragment shader";
70067
+ img.src = _imgs_square_svg__WEBPACK_IMPORTED_MODULE_3__;
70068
+ return;
70069
+ }
70070
+ if (this.data.target === core_Materials_Node_Enums_nodeMaterialBlockTargets__WEBPACK_IMPORTED_MODULE_0__.NodeMaterialBlockTargets.Vertex) {
70071
+ iconDiv.classList.add("visible");
70072
+ iconDiv.title = "In the vertex shader";
70073
+ img.src = _imgs_triangle_svg__WEBPACK_IMPORTED_MODULE_2__;
70074
+ return;
70075
+ }
70076
+ iconDiv.classList.remove("visible");
70015
70077
  }
70016
70078
  }
70017
70079
 
@@ -70118,6 +70180,9 @@ class ConnectionPointPortData {
70118
70180
  this.data.connectTo(port.data);
70119
70181
  this._connectedPort = port;
70120
70182
  }
70183
+ canConnectTo(port) {
70184
+ return this.data.canConnectTo(port.data);
70185
+ }
70121
70186
  disconnectFrom(port) {
70122
70187
  this.data.disconnectFrom(port.data);
70123
70188
  port.connectedPort = null;
@@ -71136,15 +71201,15 @@ class GenericPropertyTabComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Com
71136
71201
  case core_Materials_Node_nodeMaterialDecorator__WEBPACK_IMPORTED_MODULE_4__.PropertyTypeForEdition.Float: {
71137
71202
  const cantDisplaySlider = isNaN(options.min) || isNaN(options.max) || options.min === options.max;
71138
71203
  if (cantDisplaySlider) {
71139
- components.push((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_9__.FloatLineComponent, { label: displayName, propertyName: propertyName, target: block, onChange: () => this.forceRebuild(options.notifiers) }));
71204
+ components.push((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_9__.FloatLineComponent, { lockObject: this.props.stateManager.lockObject, label: displayName, propertyName: propertyName, target: block, onChange: () => this.forceRebuild(options.notifiers) }));
71140
71205
  }
71141
71206
  else {
71142
- components.push((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_sliderLineComponent__WEBPACK_IMPORTED_MODULE_10__.SliderLineComponent, { label: displayName, target: block, propertyName: propertyName, step: Math.abs(options.max - options.min) / 100.0, minimum: Math.min(options.min, options.max), maximum: options.max, onChange: () => this.forceRebuild(options.notifiers) }));
71207
+ components.push((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_sliderLineComponent__WEBPACK_IMPORTED_MODULE_10__.SliderLineComponent, { lockObject: this.props.stateManager.lockObject, label: displayName, target: block, propertyName: propertyName, step: Math.abs(options.max - options.min) / 100.0, minimum: Math.min(options.min, options.max), maximum: options.max, onChange: () => this.forceRebuild(options.notifiers) }));
71143
71208
  }
71144
71209
  break;
71145
71210
  }
71146
71211
  case core_Materials_Node_nodeMaterialDecorator__WEBPACK_IMPORTED_MODULE_4__.PropertyTypeForEdition.Int: {
71147
- components.push((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_9__.FloatLineComponent, { digits: 0, step: "1", isInteger: true, label: displayName, propertyName: propertyName, target: block, onChange: () => this.forceRebuild(options.notifiers) }));
71212
+ components.push((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_9__.FloatLineComponent, { lockObject: this.props.stateManager.lockObject, digits: 0, step: "1", isInteger: true, label: displayName, propertyName: propertyName, target: block, onChange: () => this.forceRebuild(options.notifiers) }));
71148
71213
  break;
71149
71214
  }
71150
71215
  case core_Materials_Node_nodeMaterialDecorator__WEBPACK_IMPORTED_MODULE_4__.PropertyTypeForEdition.Vector2: {
@@ -71339,7 +71404,7 @@ class GradientStepComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Component
71339
71404
  const step = this.props.step;
71340
71405
  return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ className: "gradient-step" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ className: "step" }, { children: `#${this.props.lineIndex}` })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ className: "color" }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_colorPickerComponent__WEBPACK_IMPORTED_MODULE_6__.ColorPickerLineComponent, { lockObject: this.props.stateManager.lockObject, value: step.color, onColorChanged: (color) => {
71341
71406
  this.updateColor(color);
71342
- } }) })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ className: "step-value" }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_5__.FloatLineComponent, { smallUI: true, label: "", target: step, propertyName: "step", min: 0, max: 1, onEnter: () => {
71407
+ } }) })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ className: "step-value" }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_5__.FloatLineComponent, { lockObject: this.props.stateManager.lockObject, smallUI: true, label: "", target: step, propertyName: "step", min: 0, max: 1, onEnter: () => {
71343
71408
  this.props.onUpdateStep();
71344
71409
  this.props.onCheckForReOrder();
71345
71410
  this.forceUpdate();
@@ -71499,19 +71564,19 @@ class ImageSourcePropertyTabComponent extends react__WEBPACK_IMPORTED_MODULE_1__
71499
71564
  } })), texture && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_sharedComponents_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_5__.CheckBoxLineComponent, { label: "Clamp V", isSelected: () => texture.wrapV === core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__.Texture.CLAMP_ADDRESSMODE, onSelect: (value) => {
71500
71565
  texture.wrapV = value ? core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__.Texture.CLAMP_ADDRESSMODE : core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__.Texture.WRAP_ADDRESSMODE;
71501
71566
  this.props.stateManager.onUpdateRequiredObservable.notifyObservers(block);
71502
- } })), texture && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_10__.FloatLineComponent, { label: "Offset U", target: texture, propertyName: "uOffset", onChange: () => {
71567
+ } })), texture && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_10__.FloatLineComponent, { lockObject: this.props.stateManager.lockObject, label: "Offset U", target: texture, propertyName: "uOffset", onChange: () => {
71503
71568
  this.props.stateManager.onUpdateRequiredObservable.notifyObservers(block);
71504
- } })), texture && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_10__.FloatLineComponent, { label: "Offset V", target: texture, propertyName: "vOffset", onChange: () => {
71569
+ } })), texture && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_10__.FloatLineComponent, { lockObject: this.props.stateManager.lockObject, label: "Offset V", target: texture, propertyName: "vOffset", onChange: () => {
71505
71570
  this.props.stateManager.onUpdateRequiredObservable.notifyObservers(block);
71506
- } })), texture && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_10__.FloatLineComponent, { label: "Scale U", target: texture, propertyName: "uScale", onChange: () => {
71571
+ } })), texture && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_10__.FloatLineComponent, { lockObject: this.props.stateManager.lockObject, label: "Scale U", target: texture, propertyName: "uScale", onChange: () => {
71507
71572
  this.props.stateManager.onUpdateRequiredObservable.notifyObservers(block);
71508
- } })), texture && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_10__.FloatLineComponent, { label: "Scale V", target: texture, propertyName: "vScale", onChange: () => {
71573
+ } })), texture && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_10__.FloatLineComponent, { lockObject: this.props.stateManager.lockObject, label: "Scale V", target: texture, propertyName: "vScale", onChange: () => {
71509
71574
  this.props.stateManager.onUpdateRequiredObservable.notifyObservers(block);
71510
- } })), texture && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_sliderLineComponent__WEBPACK_IMPORTED_MODULE_11__.SliderLineComponent, { label: "Rotation U", target: texture, propertyName: "uAng", minimum: 0, maximum: Math.PI * 2, useEuler: true, step: 0.1, onChange: () => {
71575
+ } })), texture && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_sliderLineComponent__WEBPACK_IMPORTED_MODULE_11__.SliderLineComponent, { lockObject: this.props.stateManager.lockObject, label: "Rotation U", target: texture, propertyName: "uAng", minimum: 0, maximum: Math.PI * 2, useEuler: true, step: 0.1, onChange: () => {
71511
71576
  this.props.stateManager.onUpdateRequiredObservable.notifyObservers(block);
71512
- } })), texture && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_sliderLineComponent__WEBPACK_IMPORTED_MODULE_11__.SliderLineComponent, { label: "Rotation V", target: texture, propertyName: "vAng", minimum: 0, maximum: Math.PI * 2, useEuler: true, step: 0.1, onChange: () => {
71577
+ } })), texture && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_sliderLineComponent__WEBPACK_IMPORTED_MODULE_11__.SliderLineComponent, { lockObject: this.props.stateManager.lockObject, label: "Rotation V", target: texture, propertyName: "vAng", minimum: 0, maximum: Math.PI * 2, useEuler: true, step: 0.1, onChange: () => {
71513
71578
  this.props.stateManager.onUpdateRequiredObservable.notifyObservers(block);
71514
- } })), texture && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_sliderLineComponent__WEBPACK_IMPORTED_MODULE_11__.SliderLineComponent, { label: "Rotation W", target: texture, propertyName: "wAng", minimum: 0, maximum: Math.PI * 2, useEuler: true, step: 0.1, onChange: () => {
71579
+ } })), texture && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_sliderLineComponent__WEBPACK_IMPORTED_MODULE_11__.SliderLineComponent, { lockObject: this.props.stateManager.lockObject, label: "Rotation W", target: texture, propertyName: "wAng", minimum: 0, maximum: Math.PI * 2, useEuler: true, step: 0.1, onChange: () => {
71515
71580
  this.props.stateManager.onUpdateRequiredObservable.notifyObservers(block);
71516
71581
  } }))] })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_4__.LineContainerComponent, Object.assign({ title: "SOURCE" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_sharedComponents_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_5__.CheckBoxLineComponent, { label: "Embed static texture", isSelected: () => this.state.isEmbedded, onSelect: (value) => {
71517
71582
  this.setState({ isEmbedded: value });
@@ -71603,7 +71668,7 @@ class InputPropertyTabComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Compo
71603
71668
  this.props.stateManager.onRebuildRequiredObservable.notifyObservers(true);
71604
71669
  }
71605
71670
  this.props.stateManager.onUpdateRequiredObservable.notifyObservers(inputBlock);
71606
- } })), !inputBlock.isBoolean && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_15__.FloatLineComponent, { label: "Min", target: inputBlock, propertyName: "min", onChange: () => {
71671
+ } })), !inputBlock.isBoolean && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_15__.FloatLineComponent, { lockObject: this.props.stateManager.lockObject, label: "Min", target: inputBlock, propertyName: "min", onChange: () => {
71607
71672
  if (inputBlock.value < inputBlock.min) {
71608
71673
  inputBlock.value = inputBlock.min;
71609
71674
  if (inputBlock.isConstant) {
@@ -71611,7 +71676,7 @@ class InputPropertyTabComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Compo
71611
71676
  }
71612
71677
  }
71613
71678
  this.forceUpdate();
71614
- } })), !inputBlock.isBoolean && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_15__.FloatLineComponent, { label: "Max", target: inputBlock, propertyName: "max", onChange: () => {
71679
+ } })), !inputBlock.isBoolean && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_15__.FloatLineComponent, { lockObject: this.props.stateManager.lockObject, label: "Max", target: inputBlock, propertyName: "max", onChange: () => {
71615
71680
  if (inputBlock.value > inputBlock.max) {
71616
71681
  inputBlock.value = inputBlock.max;
71617
71682
  if (inputBlock.isConstant) {
@@ -71619,7 +71684,7 @@ class InputPropertyTabComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Compo
71619
71684
  }
71620
71685
  }
71621
71686
  this.forceUpdate();
71622
- } })), !inputBlock.isBoolean && cantDisplaySlider && (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components_propertyTab_properties_floatPropertyTabComponent__WEBPACK_IMPORTED_MODULE_2__.FloatPropertyTabComponent, { globalState: globalState, inputBlock: inputBlock }), !inputBlock.isBoolean && !cantDisplaySlider && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_sliderLineComponent__WEBPACK_IMPORTED_MODULE_16__.SliderLineComponent, { label: "Value", target: inputBlock, propertyName: "value", step: Math.abs(inputBlock.max - inputBlock.min) / 100.0, minimum: Math.min(inputBlock.min, inputBlock.max), maximum: inputBlock.max, onChange: () => {
71687
+ } })), !inputBlock.isBoolean && cantDisplaySlider && (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components_propertyTab_properties_floatPropertyTabComponent__WEBPACK_IMPORTED_MODULE_2__.FloatPropertyTabComponent, { globalState: globalState, inputBlock: inputBlock }), !inputBlock.isBoolean && !cantDisplaySlider && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_sliderLineComponent__WEBPACK_IMPORTED_MODULE_16__.SliderLineComponent, { lockObject: this.props.stateManager.lockObject, label: "Value", target: inputBlock, propertyName: "value", step: Math.abs(inputBlock.max - inputBlock.min) / 100.0, minimum: Math.min(inputBlock.min, inputBlock.max), maximum: inputBlock.max, onChange: () => {
71623
71688
  if (inputBlock.isConstant) {
71624
71689
  this.props.stateManager.onRebuildRequiredObservable.notifyObservers(true);
71625
71690
  }
@@ -72172,19 +72237,19 @@ class TexturePropertyTabComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Com
72172
72237
  } })), texture && !isInReflectionMode && !isFrozenTexture && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_sharedComponents_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_5__.CheckBoxLineComponent, { label: "Clamp V", isSelected: () => texture.wrapV === core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__.Texture.CLAMP_ADDRESSMODE, onSelect: (value) => {
72173
72238
  texture.wrapV = value ? core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__.Texture.CLAMP_ADDRESSMODE : core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__.Texture.WRAP_ADDRESSMODE;
72174
72239
  this.props.stateManager.onUpdateRequiredObservable.notifyObservers(block);
72175
- } })), texture && !isInReflectionMode && !isFrozenTexture && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_10__.FloatLineComponent, { label: "Offset U", target: texture, propertyName: "uOffset", onChange: () => {
72240
+ } })), texture && !isInReflectionMode && !isFrozenTexture && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_10__.FloatLineComponent, { lockObject: this.props.stateManager.lockObject, label: "Offset U", target: texture, propertyName: "uOffset", onChange: () => {
72176
72241
  this.props.stateManager.onUpdateRequiredObservable.notifyObservers(block);
72177
- } })), texture && !isInReflectionMode && !isFrozenTexture && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_10__.FloatLineComponent, { label: "Offset V", target: texture, propertyName: "vOffset", onChange: () => {
72242
+ } })), texture && !isInReflectionMode && !isFrozenTexture && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_10__.FloatLineComponent, { lockObject: this.props.stateManager.lockObject, label: "Offset V", target: texture, propertyName: "vOffset", onChange: () => {
72178
72243
  this.props.stateManager.onUpdateRequiredObservable.notifyObservers(block);
72179
- } })), texture && !isInReflectionMode && !isFrozenTexture && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_10__.FloatLineComponent, { label: "Scale U", target: texture, propertyName: "uScale", onChange: () => {
72244
+ } })), texture && !isInReflectionMode && !isFrozenTexture && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_10__.FloatLineComponent, { lockObject: this.props.stateManager.lockObject, label: "Scale U", target: texture, propertyName: "uScale", onChange: () => {
72180
72245
  this.props.stateManager.onUpdateRequiredObservable.notifyObservers(block);
72181
- } })), texture && !isInReflectionMode && !isFrozenTexture && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_10__.FloatLineComponent, { label: "Scale V", target: texture, propertyName: "vScale", onChange: () => {
72246
+ } })), texture && !isInReflectionMode && !isFrozenTexture && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_10__.FloatLineComponent, { lockObject: this.props.stateManager.lockObject, label: "Scale V", target: texture, propertyName: "vScale", onChange: () => {
72182
72247
  this.props.stateManager.onUpdateRequiredObservable.notifyObservers(block);
72183
- } })), texture && !isInReflectionMode && !isFrozenTexture && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_sliderLineComponent__WEBPACK_IMPORTED_MODULE_11__.SliderLineComponent, { label: "Rotation U", target: texture, propertyName: "uAng", minimum: 0, maximum: Math.PI * 2, useEuler: true, step: 0.1, onChange: () => {
72248
+ } })), texture && !isInReflectionMode && !isFrozenTexture && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_sliderLineComponent__WEBPACK_IMPORTED_MODULE_11__.SliderLineComponent, { lockObject: this.props.stateManager.lockObject, label: "Rotation U", target: texture, propertyName: "uAng", minimum: 0, maximum: Math.PI * 2, useEuler: true, step: 0.1, onChange: () => {
72184
72249
  this.props.stateManager.onUpdateRequiredObservable.notifyObservers(block);
72185
- } })), texture && !isInReflectionMode && !isFrozenTexture && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_sliderLineComponent__WEBPACK_IMPORTED_MODULE_11__.SliderLineComponent, { label: "Rotation V", target: texture, propertyName: "vAng", minimum: 0, maximum: Math.PI * 2, useEuler: true, step: 0.1, onChange: () => {
72250
+ } })), texture && !isInReflectionMode && !isFrozenTexture && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_sliderLineComponent__WEBPACK_IMPORTED_MODULE_11__.SliderLineComponent, { lockObject: this.props.stateManager.lockObject, label: "Rotation V", target: texture, propertyName: "vAng", minimum: 0, maximum: Math.PI * 2, useEuler: true, step: 0.1, onChange: () => {
72186
72251
  this.props.stateManager.onUpdateRequiredObservable.notifyObservers(block);
72187
- } })), texture && !isInReflectionMode && !isFrozenTexture && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_sliderLineComponent__WEBPACK_IMPORTED_MODULE_11__.SliderLineComponent, { label: "Rotation W", target: texture, propertyName: "wAng", minimum: 0, maximum: Math.PI * 2, useEuler: true, step: 0.1, onChange: () => {
72252
+ } })), texture && !isInReflectionMode && !isFrozenTexture && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_sliderLineComponent__WEBPACK_IMPORTED_MODULE_11__.SliderLineComponent, { lockObject: this.props.stateManager.lockObject, label: "Rotation W", target: texture, propertyName: "wAng", minimum: 0, maximum: Math.PI * 2, useEuler: true, step: 0.1, onChange: () => {
72188
72253
  this.props.stateManager.onUpdateRequiredObservable.notifyObservers(block);
72189
72254
  } }))] })), !this.textureBlock.hasImageSource && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_4__.LineContainerComponent, Object.assign({ title: "SOURCE" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_sharedComponents_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_5__.CheckBoxLineComponent, { label: "Embed static texture", isSelected: () => this.state.isEmbedded, onSelect: (value) => {
72190
72255
  this.setState({ isEmbedded: value });
@@ -72445,9 +72510,9 @@ __webpack_require__.r(__webpack_exports__);
72445
72510
  /* harmony import */ var _serializationTools__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../serializationTools */ "../../../tools/nodeEditor/dist/serializationTools.js");
72446
72511
 
72447
72512
  const RegisterExportData = (stateManager) => {
72448
- stateManager.exportData = (data) => {
72513
+ stateManager.exportData = (data, frame) => {
72449
72514
  const nodeMaterial = data.nodeMaterial;
72450
- return _serializationTools__WEBPACK_IMPORTED_MODULE_0__.SerializationTools.Serialize(nodeMaterial, stateManager.data, undefined);
72515
+ return _serializationTools__WEBPACK_IMPORTED_MODULE_0__.SerializationTools.Serialize(nodeMaterial, stateManager.data, frame);
72451
72516
  };
72452
72517
  stateManager.getEditorDataMap = () => {
72453
72518
  return stateManager.data.nodeMaterial.editorData.map;
@@ -73759,17 +73824,6 @@ var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js
73759
73824
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_3_use_1_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_3_use_2_main_scss__WEBPACK_IMPORTED_MODULE_6__["default"] && _node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_3_use_1_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_3_use_2_main_scss__WEBPACK_IMPORTED_MODULE_6__["default"].locals ? _node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_3_use_1_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_3_use_2_main_scss__WEBPACK_IMPORTED_MODULE_6__["default"].locals : undefined);
73760
73825
 
73761
73826
 
73762
- /***/ }),
73763
-
73764
- /***/ "../../../dev/sharedUiComponents/dist/imgs/triangle.svg":
73765
- /*!**************************************************************!*\
73766
- !*** ../../../dev/sharedUiComponents/dist/imgs/triangle.svg ***!
73767
- \**************************************************************/
73768
- /***/ ((module) => {
73769
-
73770
- "use strict";
73771
- module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyNS40LjEsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAzMiAzMiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMzIgMzI7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+DQoJLnN0MHtmaWxsOiNGRkZGRkY7fQ0KPC9zdHlsZT4NCjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0xOC44LDQuN2MtMS4yLTIuMi00LjUtMi4yLTUuNywwTDIuNCwyNC4yQzEuMiwyNi4zLDIuOCwyOSw1LjIsMjloMjEuNWMyLjUsMCw0LTIuNywyLjgtNC44TDE4LjgsNC43eiIvPg0KPC9zdmc+DQo=";
73772
-
73773
73827
  /***/ }),
73774
73828
 
73775
73829
  /***/ "../../../dev/sharedUiComponents/dist/lines/copy.svg":
@@ -73937,6 +73991,28 @@ module.exports = "data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZp
73937
73991
 
73938
73992
  /***/ }),
73939
73993
 
73994
+ /***/ "../../../tools/nodeEditor/dist/imgs/square.svg":
73995
+ /*!******************************************************!*\
73996
+ !*** ../../../tools/nodeEditor/dist/imgs/square.svg ***!
73997
+ \******************************************************/
73998
+ /***/ ((module) => {
73999
+
74000
+ "use strict";
74001
+ module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIGlkPSJMYXllcl81IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgdmlld0JveD0iMCAwIDIwIDIwIj48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGw6I2ZmZjt9PC9zdHlsZT48L2RlZnM+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMy4xMiw1LjYxYzAtMS4zNywxLjExLTIuNDgsMi40OC0yLjQ4SDE0LjM5YzEuMzcsMCwyLjQ4LDEuMTEsMi40OCwyLjQ4VjE0LjM5YzAsMS4zNy0xLjExLDIuNDgtMi40OCwyLjQ4SDUuNjFjLTEuMzcsMC0yLjQ4LTEuMTEtMi40OC0yLjQ4VjUuNjFaIi8+PC9zdmc+";
74002
+
74003
+ /***/ }),
74004
+
74005
+ /***/ "../../../tools/nodeEditor/dist/imgs/triangle.svg":
74006
+ /*!********************************************************!*\
74007
+ !*** ../../../tools/nodeEditor/dist/imgs/triangle.svg ***!
74008
+ \********************************************************/
74009
+ /***/ ((module) => {
74010
+
74011
+ "use strict";
74012
+ module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIGlkPSJMYXllcl81IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgdmlld0JveD0iMCAwIDIwIDIwIj48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGw6I2ZmZjt9PC9zdHlsZT48L2RlZnM+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMi42MywxNS4yNmMtLjQ0LC44MywuMTYsMS44NCwxLjExLDEuODRoMTIuNTJjLjk1LDAsMS41NS0xLjAyLDEuMS0xLjg1TDExLjAyLDMuNTZjLS40OC0uODgtMS43NC0uODctMi4yMSwuMDFMMi42MywxNS4yNloiLz48L3N2Zz4=";
74013
+
74014
+ /***/ }),
74015
+
73940
74016
  /***/ "../../../tools/nodeEditor/dist/sharedComponents/copy.svg":
73941
74017
  /*!****************************************************************!*\
73942
74018
  !*** ../../../tools/nodeEditor/dist/sharedComponents/copy.svg ***!