@babylonjs/node-editor 6.16.0 → 6.16.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1495,6 +1495,8 @@ ___CSS_LOADER_EXPORT___.push([module.id, `#node-editor-graph-root {
1495
1495
  grid-column: 1;
1496
1496
  width: 100%;
1497
1497
  display: grid;
1498
+ grid-template-columns: 100%;
1499
+ grid-template-rows: 100%;
1498
1500
  outline: 0 !important;
1499
1501
  padding: 0 !important;
1500
1502
  user-select: none;
@@ -1553,7 +1555,7 @@ ___CSS_LOADER_EXPORT___.push([module.id, `#node-editor-graph-root {
1553
1555
  }
1554
1556
  #node-editor-graph-root .InputBlock {
1555
1557
  width: 250px;
1556
- }`, "",{"version":3,"sources":["webpack://./../../../tools/nodeEditor/dist/main.scss"],"names":[],"mappings":"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","sourcesContent":["#node-editor-graph-root {\r\n display: grid;\r\n grid-template-rows: calc(100% - 120px) 120px;\r\n height: 100%;\r\n width: 100%;\r\n background: #464646;\r\n font: 14px \"acumin-pro\";\r\n\r\n &.popup {\r\n grid-template-columns: 100%;\r\n overflow: hidden;\r\n }\r\n\r\n .wait-screen {\r\n display: grid;\r\n justify-content: center;\r\n align-content: center;\r\n height: 100%;\r\n width: 100%;\r\n background: #464646;\r\n opacity: 0.95;\r\n color: white;\r\n font: 24px \"acumin-pro\";\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n\r\n &.hidden {\r\n visibility: hidden;\r\n }\r\n }\r\n\r\n #nodeList {\r\n grid-row: 1 / span 2;\r\n grid-column: 1;\r\n }\r\n\r\n #leftGrab {\r\n grid-row: 1 / span 2;\r\n grid-column: 2;\r\n cursor: ew-resize;\r\n }\r\n\r\n #rightGrab {\r\n grid-row: 1 / span 2;\r\n grid-column: 4;\r\n cursor: ew-resize;\r\n }\r\n\r\n .diagram-container {\r\n grid-row: 1;\r\n grid-column: 3;\r\n background: #5f5b60;\r\n width: 100%;\r\n height: 100%;\r\n\r\n .diagram {\r\n display: none;\r\n width: 100%;\r\n height: 100%;\r\n }\r\n }\r\n\r\n .right-panel {\r\n grid-row: 1 / span 2;\r\n grid-column: 5;\r\n display: grid;\r\n grid-template-rows: 1fr 40px auto 40px;\r\n grid-template-columns: 100%;\r\n height: 100%;\r\n overflow-y: auto;\r\n }\r\n\r\n #propertyTab {\r\n grid-row: 1;\r\n grid-column: 1;\r\n }\r\n\r\n .button {\r\n display: grid;\r\n justify-content: center;\r\n align-content: center;\r\n height: auto;\r\n width: calc(100% / 7);\r\n cursor: pointer;\r\n\r\n &:hover {\r\n background: rgb(51, 122, 183);\r\n color: white;\r\n opacity: 0.8;\r\n }\r\n\r\n &.selected {\r\n background: rgb(51, 122, 183);\r\n color: white;\r\n }\r\n\r\n &.align {\r\n justify-content: stretch;\r\n text-align: center;\r\n }\r\n }\r\n\r\n #preview-mesh-bar {\r\n grid-row: 2;\r\n grid-column: 1;\r\n display: grid;\r\n grid-template-columns: auto 1fr 40px 40px 40px;\r\n align-items: center;\r\n font-size: 18px;\r\n background-color: #555555;\r\n\r\n #file-picker {\r\n display: none;\r\n }\r\n\r\n .listLine {\r\n grid-column: 1;\r\n height: 40px;\r\n display: grid;\r\n grid-template-columns: 0px 1fr;\r\n\r\n .label {\r\n grid-column: 1;\r\n display: flex;\r\n align-items: center;\r\n font-size: 14px;\r\n }\r\n\r\n .options {\r\n grid-column: 2;\r\n\r\n display: flex;\r\n align-items: center;\r\n margin-left: 5px;\r\n\r\n select {\r\n width: 115px;\r\n }\r\n }\r\n }\r\n\r\n .button {\r\n color: #ffffff;\r\n width: 40px;\r\n height: 40px;\r\n transform-origin: 50% 50%;\r\n\r\n &:active {\r\n transform: scale(0.9);\r\n }\r\n\r\n &:hover {\r\n background: #3f3461;\r\n }\r\n\r\n &.selected {\r\n background: #9379e6;\r\n }\r\n\r\n img {\r\n height: 24px;\r\n width: 24px;\r\n }\r\n }\r\n\r\n #play-button {\r\n grid-column: 3;\r\n }\r\n\r\n #color-picker-button {\r\n grid-column: 4;\r\n display: grid;\r\n grid-template-columns: 100%;\r\n grid-template-rows: 100%;\r\n\r\n img {\r\n height: 24px;\r\n width: 24px;\r\n }\r\n #color-picker-image {\r\n padding-left: 7px;\r\n padding-bottom: 38px;\r\n }\r\n\r\n #color-picker {\r\n transform: scale(0);\r\n grid-column: 1;\r\n grid-row: 1;\r\n }\r\n\r\n #color-picker-label {\r\n width: 100%;\r\n background: transparent;\r\n cursor: pointer;\r\n }\r\n }\r\n\r\n #preview-new-window {\r\n grid-column: 5;\r\n }\r\n\r\n select {\r\n background-color: #a3a3a3;\r\n color: #333333;\r\n }\r\n }\r\n\r\n #preview-config-bar {\r\n grid-row: 4;\r\n grid-column: 1;\r\n display: grid;\r\n grid-template-columns: 40px 40px 40px 1fr 40px 40px;\r\n color: white;\r\n align-items: center;\r\n font-size: 18px;\r\n\r\n &.extended {\r\n grid-template-columns: 1fr;\r\n }\r\n\r\n .listLine {\r\n padding-left: 5px;\r\n height: 30px;\r\n display: grid;\r\n grid-template-columns: 1fr auto;\r\n\r\n .label {\r\n grid-column: 1;\r\n display: flex;\r\n align-items: center;\r\n font-size: 14px;\r\n }\r\n\r\n .options {\r\n grid-column: 2;\r\n\r\n display: flex;\r\n align-items: center;\r\n margin-right: 5px;\r\n\r\n select {\r\n width: 115px;\r\n }\r\n }\r\n }\r\n\r\n .button {\r\n width: 40px;\r\n grid-row: 1;\r\n height: 40px;\r\n transform-origin: 50% 50%;\r\n\r\n &:hover {\r\n background: #3f3461;\r\n }\r\n\r\n &.selected {\r\n background: #9379e6;\r\n }\r\n\r\n &:active {\r\n transform: scale(0.9);\r\n }\r\n\r\n img {\r\n height: auto;\r\n width: 100%;\r\n }\r\n\r\n &.back-face {\r\n grid-column: 6;\r\n }\r\n\r\n &.depth-pass {\r\n grid-column: 5 / 6;\r\n }\r\n\r\n &.hemispheric-light {\r\n grid-column: 3 / 4;\r\n }\r\n &.direction-light-1 {\r\n grid-column: 2 / 3;\r\n }\r\n &.direction-light-0 {\r\n grid-column: 1 / 2;\r\n }\r\n }\r\n }\r\n\r\n #preview {\r\n border-top: 1px solid rgb(85, 85, 85);\r\n grid-row: 3;\r\n grid-column: 1;\r\n width: 100%;\r\n display: grid;\r\n outline: 0 !important;\r\n padding: 0 !important;\r\n user-select: none;\r\n overflow: hidden;\r\n\r\n #preview-canvas {\r\n width: 100%;\r\n height: 100%;\r\n outline: 0 !important;\r\n padding: 0 !important;\r\n grid-row: 1;\r\n grid-column: 1;\r\n }\r\n\r\n .waitPanel {\r\n width: 100%;\r\n height: 100%;\r\n grid-row: 1;\r\n grid-column: 1;\r\n color: white;\r\n font-size: 18px;\r\n align-content: center;\r\n justify-content: center;\r\n background: rgba(20, 20, 20, 0.95);\r\n z-index: 10;\r\n display: grid;\r\n transition: opacity 250ms;\r\n\r\n &.hidden {\r\n opacity: 0;\r\n pointer-events: none;\r\n }\r\n }\r\n }\r\n\r\n .blocker {\r\n visibility: hidden;\r\n position: absolute;\r\n width: calc(100% - 40px);\r\n height: 100%;\r\n top: 0;\r\n left: 0;\r\n\r\n background: rgba(20, 20, 20, 0.95);\r\n font-family: \"acumin-pro\";\r\n color: white;\r\n font-size: 24px;\r\n\r\n display: grid;\r\n align-content: center;\r\n justify-content: center;\r\n\r\n user-select: none;\r\n\r\n padding: 20px;\r\n text-align: center;\r\n }\r\n\r\n #log-console {\r\n grid-row: 2;\r\n grid-column: 3;\r\n }\r\n\r\n .LightInformationBlock {\r\n width: 280px;\r\n }\r\n\r\n .InputBlock {\r\n width: 250px;\r\n }\r\n}\r\n"],"sourceRoot":""}]);
1558
+ }`, "",{"version":3,"sources":["webpack://./../../../tools/nodeEditor/dist/main.scss"],"names":[],"mappings":"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","sourcesContent":["#node-editor-graph-root {\r\n display: grid;\r\n grid-template-rows: calc(100% - 120px) 120px;\r\n height: 100%;\r\n width: 100%;\r\n background: #464646;\r\n font: 14px \"acumin-pro\";\r\n\r\n &.popup {\r\n grid-template-columns: 100%;\r\n overflow: hidden;\r\n }\r\n\r\n .wait-screen {\r\n display: grid;\r\n justify-content: center;\r\n align-content: center;\r\n height: 100%;\r\n width: 100%;\r\n background: #464646;\r\n opacity: 0.95;\r\n color: white;\r\n font: 24px \"acumin-pro\";\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n\r\n &.hidden {\r\n visibility: hidden;\r\n }\r\n }\r\n\r\n #nodeList {\r\n grid-row: 1 / span 2;\r\n grid-column: 1;\r\n }\r\n\r\n #leftGrab {\r\n grid-row: 1 / span 2;\r\n grid-column: 2;\r\n cursor: ew-resize;\r\n }\r\n\r\n #rightGrab {\r\n grid-row: 1 / span 2;\r\n grid-column: 4;\r\n cursor: ew-resize;\r\n }\r\n\r\n .diagram-container {\r\n grid-row: 1;\r\n grid-column: 3;\r\n background: #5f5b60;\r\n width: 100%;\r\n height: 100%;\r\n\r\n .diagram {\r\n display: none;\r\n width: 100%;\r\n height: 100%;\r\n }\r\n }\r\n\r\n .right-panel {\r\n grid-row: 1 / span 2;\r\n grid-column: 5;\r\n display: grid;\r\n grid-template-rows: 1fr 40px auto 40px;\r\n grid-template-columns: 100%;\r\n height: 100%;\r\n overflow-y: auto;\r\n }\r\n\r\n #propertyTab {\r\n grid-row: 1;\r\n grid-column: 1;\r\n }\r\n\r\n .button {\r\n display: grid;\r\n justify-content: center;\r\n align-content: center;\r\n height: auto;\r\n width: calc(100% / 7);\r\n cursor: pointer;\r\n\r\n &:hover {\r\n background: rgb(51, 122, 183);\r\n color: white;\r\n opacity: 0.8;\r\n }\r\n\r\n &.selected {\r\n background: rgb(51, 122, 183);\r\n color: white;\r\n }\r\n\r\n &.align {\r\n justify-content: stretch;\r\n text-align: center;\r\n }\r\n }\r\n\r\n #preview-mesh-bar {\r\n grid-row: 2;\r\n grid-column: 1;\r\n display: grid;\r\n grid-template-columns: auto 1fr 40px 40px 40px;\r\n align-items: center;\r\n font-size: 18px;\r\n background-color: #555555;\r\n\r\n #file-picker {\r\n display: none;\r\n }\r\n\r\n .listLine {\r\n grid-column: 1;\r\n height: 40px;\r\n display: grid;\r\n grid-template-columns: 0px 1fr;\r\n\r\n .label {\r\n grid-column: 1;\r\n display: flex;\r\n align-items: center;\r\n font-size: 14px;\r\n }\r\n\r\n .options {\r\n grid-column: 2;\r\n\r\n display: flex;\r\n align-items: center;\r\n margin-left: 5px;\r\n\r\n select {\r\n width: 115px;\r\n }\r\n }\r\n }\r\n\r\n .button {\r\n color: #ffffff;\r\n width: 40px;\r\n height: 40px;\r\n transform-origin: 50% 50%;\r\n\r\n &:active {\r\n transform: scale(0.9);\r\n }\r\n\r\n &:hover {\r\n background: #3f3461;\r\n }\r\n\r\n &.selected {\r\n background: #9379e6;\r\n }\r\n\r\n img {\r\n height: 24px;\r\n width: 24px;\r\n }\r\n }\r\n\r\n #play-button {\r\n grid-column: 3;\r\n }\r\n\r\n #color-picker-button {\r\n grid-column: 4;\r\n display: grid;\r\n grid-template-columns: 100%;\r\n grid-template-rows: 100%;\r\n\r\n img {\r\n height: 24px;\r\n width: 24px;\r\n }\r\n #color-picker-image {\r\n padding-left: 7px;\r\n padding-bottom: 38px;\r\n }\r\n\r\n #color-picker {\r\n transform: scale(0);\r\n grid-column: 1;\r\n grid-row: 1;\r\n }\r\n\r\n #color-picker-label {\r\n width: 100%;\r\n background: transparent;\r\n cursor: pointer;\r\n }\r\n }\r\n\r\n #preview-new-window {\r\n grid-column: 5;\r\n }\r\n\r\n select {\r\n background-color: #a3a3a3;\r\n color: #333333;\r\n }\r\n }\r\n\r\n #preview-config-bar {\r\n grid-row: 4;\r\n grid-column: 1;\r\n display: grid;\r\n grid-template-columns: 40px 40px 40px 1fr 40px 40px;\r\n color: white;\r\n align-items: center;\r\n font-size: 18px;\r\n\r\n &.extended {\r\n grid-template-columns: 1fr;\r\n }\r\n\r\n .listLine {\r\n padding-left: 5px;\r\n height: 30px;\r\n display: grid;\r\n grid-template-columns: 1fr auto;\r\n\r\n .label {\r\n grid-column: 1;\r\n display: flex;\r\n align-items: center;\r\n font-size: 14px;\r\n }\r\n\r\n .options {\r\n grid-column: 2;\r\n\r\n display: flex;\r\n align-items: center;\r\n margin-right: 5px;\r\n\r\n select {\r\n width: 115px;\r\n }\r\n }\r\n }\r\n\r\n .button {\r\n width: 40px;\r\n grid-row: 1;\r\n height: 40px;\r\n transform-origin: 50% 50%;\r\n\r\n &:hover {\r\n background: #3f3461;\r\n }\r\n\r\n &.selected {\r\n background: #9379e6;\r\n }\r\n\r\n &:active {\r\n transform: scale(0.9);\r\n }\r\n\r\n img {\r\n height: auto;\r\n width: 100%;\r\n }\r\n\r\n &.back-face {\r\n grid-column: 6;\r\n }\r\n\r\n &.depth-pass {\r\n grid-column: 5 / 6;\r\n }\r\n\r\n &.hemispheric-light {\r\n grid-column: 3 / 4;\r\n }\r\n &.direction-light-1 {\r\n grid-column: 2 / 3;\r\n }\r\n &.direction-light-0 {\r\n grid-column: 1 / 2;\r\n }\r\n }\r\n }\r\n\r\n #preview {\r\n border-top: 1px solid rgb(85, 85, 85);\r\n grid-row: 3;\r\n grid-column: 1;\r\n width: 100%;\r\n display: grid;\r\n grid-template-columns: 100%;\r\n grid-template-rows: 100%;\r\n outline: 0 !important;\r\n padding: 0 !important;\r\n user-select: none;\r\n overflow: hidden;\r\n\r\n #preview-canvas {\r\n width: 100%;\r\n height: 100%;\r\n outline: 0 !important;\r\n padding: 0 !important;\r\n grid-row: 1;\r\n grid-column: 1;\r\n }\r\n\r\n .waitPanel {\r\n width: 100%;\r\n height: 100%;\r\n grid-row: 1;\r\n grid-column: 1;\r\n color: white;\r\n font-size: 18px;\r\n align-content: center;\r\n justify-content: center;\r\n background: rgba(20, 20, 20, 0.95);\r\n z-index: 10;\r\n display: grid;\r\n transition: opacity 250ms;\r\n\r\n &.hidden {\r\n opacity: 0;\r\n pointer-events: none;\r\n }\r\n }\r\n }\r\n\r\n .blocker {\r\n visibility: hidden;\r\n position: absolute;\r\n width: calc(100% - 40px);\r\n height: 100%;\r\n top: 0;\r\n left: 0;\r\n\r\n background: rgba(20, 20, 20, 0.95);\r\n font-family: \"acumin-pro\";\r\n color: white;\r\n font-size: 24px;\r\n\r\n display: grid;\r\n align-content: center;\r\n justify-content: center;\r\n\r\n user-select: none;\r\n\r\n padding: 20px;\r\n text-align: center;\r\n }\r\n\r\n #log-console {\r\n grid-row: 2;\r\n grid-column: 3;\r\n }\r\n\r\n .LightInformationBlock {\r\n width: 280px;\r\n }\r\n\r\n .InputBlock {\r\n width: 250px;\r\n }\r\n}\r\n"],"sourceRoot":""}]);
1557
1559
  // Exports
1558
1560
  ___CSS_LOADER_EXPORT___.locals = {};
1559
1561
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);
@@ -2248,9 +2250,23 @@ ___CSS_LOADER_EXPORT___.push([module.id, `.\\---------dev-sharedUiComponents-dis
2248
2250
  pointer-events: none;
2249
2251
  }
2250
2252
 
2253
+ .\\---------dev-sharedUiComponents-dist-nodeGraphSystem-graphNode-modules__executionTime {
2254
+ position: absolute;
2255
+ bottom: 1px;
2256
+ width: 195px;
2257
+ height: 20px;
2258
+ overflow: hidden;
2259
+ font-size: 11px;
2260
+ opacity: 0.5;
2261
+ display: grid;
2262
+ align-items: flex-end;
2263
+ justify-content: end;
2264
+ pointer-events: none;
2265
+ }
2266
+
2251
2267
  .\\---------dev-sharedUiComponents-dist-nodeGraphSystem-graphNode-modules__selected {
2252
2268
  border-color: white !important;
2253
- }`, "",{"version":3,"sources":["webpack://./../../../dev/sharedUiComponents/dist/nodeGraphSystem/graphNode.modules.scss"],"names":[],"mappings":"AAAA;EACI,UAAA;EACA,YAAA;EACA,kBAAA;EACA,OAAA;EACA,MAAA;EACA,gBAAA;EACA,uBAAA;EACA,mBAAA;EACA,aAAA;EACA,6BAAA;EACA,2BAAA;EACA,YAAA;EACA,0CAAA;AACJ;;AAEA;EAMI,gHAAA;AAJJ;AADI;EACI;IACI,mBAAA;EAGV;AACF;;AAEA;EACI,WAAA;EACA,cAAA;EACA,kBAAA;EACA,uBAAA;EACA,4BAAA;EACA,2BAAA;EACA,iBAAA;EACA,YAAA;EACA,0CAAA;EACA,wBAAA;EACA,aAAA;EACA,+BAAA;EACA,wBAAA;AACJ;;AAKA;EACI,WAAA;EACA,kBAAA;EACA,iBAAA;EACA,oBAAA;EACA,WARO;EASP,aAAA;EACA,gBATS;AAOb;;AAKA;EACI,eAAA;EACA,kBAAA;EACA,mBAAA;EACA,uBAAA;EACA,gBAAA;AAFJ;;AAKA;EACI,6BAAA;AAFJ;;AAKA;EACI,WAAA;EACA,cAAA;EAEA,aAAA;EACA,8BAAA;EACA,mBAAA;AAHJ;;AAMA;EACI,gBAAA;EACA,WAAA;EACA,cAAA;AAHJ;;AAMA;EACI,kBAAA;EACA,UAAA;EACA,YAAA;EACA,YAAA;EACA,gBAAA;EACA,kBAAA;EACA,YAAA;EACA,aAAA;EACA,qBAAA;EACA,oBAAA;AAHJ;;AAMA;EACI,8BAAA;AAHJ","sourcesContent":[".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\r\n.highlighted {\r\n @keyframes glow {\r\n to {\r\n border-color: white;\r\n }\r\n }\r\n animation: glow 0.5s infinite alternate;\r\n}\r\n\r\n.header-container {\r\n grid-row: 1;\r\n grid-column: 1;\r\n position: relative;\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 display: grid;\r\n grid-template-columns: 1fr auto;\r\n grid-template-rows: 100%;\r\n}\r\n\r\n$iconSize: 20px;\r\n$iconMargin: 6px;\r\n\r\n.headerIcon {\r\n z-index: 10;\r\n align-self: center;\r\n user-select: none;\r\n pointer-events: none;\r\n width: $iconSize;\r\n display: grid;\r\n margin-left: $iconMargin;\r\n}\r\n\r\n.header {\r\n font-size: 16px;\r\n text-align: center;\r\n white-space: nowrap;\r\n text-overflow: ellipsis;\r\n overflow: hidden;\r\n}\r\n\r\n.headerWithIcon {\r\n margin-left: calc(#{$iconSize} + #{$iconMargin});\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\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.selected {\r\n border-color: white !important;\r\n}\r\n"],"sourceRoot":""}]);
2269
+ }`, "",{"version":3,"sources":["webpack://./../../../dev/sharedUiComponents/dist/nodeGraphSystem/graphNode.modules.scss"],"names":[],"mappings":"AAAA;EACI,UAAA;EACA,YAAA;EACA,kBAAA;EACA,OAAA;EACA,MAAA;EACA,gBAAA;EACA,uBAAA;EACA,mBAAA;EACA,aAAA;EACA,6BAAA;EACA,2BAAA;EACA,YAAA;EACA,0CAAA;AACJ;;AAEA;EAMI,gHAAA;AAJJ;AADI;EACI;IACI,mBAAA;EAGV;AACF;;AAEA;EACI,WAAA;EACA,cAAA;EACA,kBAAA;EACA,uBAAA;EACA,4BAAA;EACA,2BAAA;EACA,iBAAA;EACA,YAAA;EACA,0CAAA;EACA,wBAAA;EACA,aAAA;EACA,+BAAA;EACA,wBAAA;AACJ;;AAKA;EACI,WAAA;EACA,kBAAA;EACA,iBAAA;EACA,oBAAA;EACA,WARO;EASP,aAAA;EACA,gBATS;AAOb;;AAKA;EACI,eAAA;EACA,kBAAA;EACA,mBAAA;EACA,uBAAA;EACA,gBAAA;AAFJ;;AAKA;EACI,6BAAA;AAFJ;;AAKA;EACI,WAAA;EACA,cAAA;EAEA,aAAA;EACA,8BAAA;EACA,mBAAA;AAHJ;;AAMA;EACI,gBAAA;EACA,WAAA;EACA,cAAA;AAHJ;;AAMA;EACI,kBAAA;EACA,UAAA;EACA,YAAA;EACA,YAAA;EACA,gBAAA;EACA,kBAAA;EACA,YAAA;EACA,aAAA;EACA,qBAAA;EACA,oBAAA;AAHJ;;AAMA;EACI,kBAAA;EACA,WAAA;EACA,YAAA;EACA,YAAA;EACA,gBAAA;EACA,eAAA;EACA,YAAA;EACA,aAAA;EACA,qBAAA;EACA,oBAAA;EACA,oBAAA;AAHJ;;AAMA;EACI,8BAAA;AAHJ","sourcesContent":[".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\r\n.highlighted {\r\n @keyframes glow {\r\n to {\r\n border-color: white;\r\n }\r\n }\r\n animation: glow 0.5s infinite alternate;\r\n}\r\n\r\n.header-container {\r\n grid-row: 1;\r\n grid-column: 1;\r\n position: relative;\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 display: grid;\r\n grid-template-columns: 1fr auto;\r\n grid-template-rows: 100%;\r\n}\r\n\r\n$iconSize: 20px;\r\n$iconMargin: 6px;\r\n\r\n.headerIcon {\r\n z-index: 10;\r\n align-self: center;\r\n user-select: none;\r\n pointer-events: none;\r\n width: $iconSize;\r\n display: grid;\r\n margin-left: $iconMargin;\r\n}\r\n\r\n.header {\r\n font-size: 16px;\r\n text-align: center;\r\n white-space: nowrap;\r\n text-overflow: ellipsis;\r\n overflow: hidden;\r\n}\r\n\r\n.headerWithIcon {\r\n margin-left: calc(#{$iconSize} + #{$iconMargin});\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\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.executionTime {\r\n position: absolute;\r\n bottom: 1px;\r\n width: 195px;\r\n height: 20px;\r\n overflow: hidden;\r\n font-size: 11px;\r\n opacity: 0.5;\r\n display: grid;\r\n align-items: flex-end;\r\n justify-content: end;\r\n pointer-events: none;\r\n}\r\n\r\n.selected {\r\n border-color: white !important;\r\n}\r\n"],"sourceRoot":""}]);
2254
2270
  // Exports
2255
2271
  ___CSS_LOADER_EXPORT___.locals = {
2256
2272
  "visual": `---------dev-sharedUiComponents-dist-nodeGraphSystem-graphNode-modules__visual`,
@@ -2263,6 +2279,7 @@ ___CSS_LOADER_EXPORT___.locals = {
2263
2279
  "connections": `---------dev-sharedUiComponents-dist-nodeGraphSystem-graphNode-modules__connections`,
2264
2280
  "content": `---------dev-sharedUiComponents-dist-nodeGraphSystem-graphNode-modules__content`,
2265
2281
  "comments": `---------dev-sharedUiComponents-dist-nodeGraphSystem-graphNode-modules__comments`,
2282
+ "executionTime": `---------dev-sharedUiComponents-dist-nodeGraphSystem-graphNode-modules__executionTime`,
2266
2283
  "selected": `---------dev-sharedUiComponents-dist-nodeGraphSystem-graphNode-modules__selected`
2267
2284
  };
2268
2285
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);
@@ -49871,6 +49888,9 @@ class HexColor extends react__WEBPACK_IMPORTED_MODULE_1__.Component {
49871
49888
  if (this.props.expectedLength === 8 && valueString.length === 6) {
49872
49889
  valueString = valueString + "FF";
49873
49890
  }
49891
+ else if (this.props.expectedLength === 6 && valueString.length === 8) {
49892
+ valueString = valueString.substring(0, 6);
49893
+ }
49874
49894
  else {
49875
49895
  return;
49876
49896
  }
@@ -50316,22 +50336,22 @@ class FloatLineComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Component {
50316
50336
  super(props);
50317
50337
  this._localChange = false;
50318
50338
  const currentValue = this.props.target[this.props.propertyName];
50319
- this.state = { value: this.getValueString(currentValue), dragging: false };
50339
+ this.state = { value: this.getValueString(currentValue, this.props), dragging: false };
50320
50340
  this._store = currentValue;
50321
50341
  }
50322
50342
  componentWillUnmount() {
50323
50343
  this.unlock();
50324
50344
  }
50325
- getValueString(value) {
50345
+ getValueString(value, props) {
50326
50346
  if (value) {
50327
50347
  if (value === _targetsProxy__WEBPACK_IMPORTED_MODULE_4__.conflictingValuesPlaceholder) {
50328
50348
  return _targetsProxy__WEBPACK_IMPORTED_MODULE_4__.conflictingValuesPlaceholder;
50329
50349
  }
50330
- else if (this.props.isInteger) {
50350
+ else if (props.isInteger) {
50331
50351
  return value.toFixed(0);
50332
50352
  }
50333
50353
  else {
50334
- return value.toFixed(this.props.digits || 4);
50354
+ return value.toFixed(props.digits || 4);
50335
50355
  }
50336
50356
  }
50337
50357
  return "0";
@@ -50342,12 +50362,12 @@ class FloatLineComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Component {
50342
50362
  return true;
50343
50363
  }
50344
50364
  const newValue = nextProps.target[nextProps.propertyName];
50345
- const newValueString = this.getValueString(newValue);
50365
+ const newValueString = this.getValueString(newValue, nextProps);
50346
50366
  if (newValueString !== nextState.value) {
50347
50367
  nextState.value = newValueString;
50348
50368
  return true;
50349
50369
  }
50350
- if (nextState.dragging != this.state.dragging || nextProps.unit !== this.props.unit) {
50370
+ if (nextState.dragging != this.state.dragging || nextProps.unit !== this.props.unit || nextProps.isInteger !== this.props.isInteger) {
50351
50371
  return true;
50352
50372
  }
50353
50373
  return false;
@@ -51370,7 +51390,7 @@ class Vector3LineComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Component
51370
51390
  return this.props.target[this.props.propertyName];
51371
51391
  }
51372
51392
  shouldComponentUpdate(nextProps, nextState) {
51373
- const nextPropsValue = this.getCurrentValue();
51393
+ const nextPropsValue = nextProps.target[nextProps.propertyName];
51374
51394
  if (!nextPropsValue.equals(nextState.value) || this._localChange) {
51375
51395
  nextState.value = nextPropsValue.clone();
51376
51396
  this._localChange = false;
@@ -51462,7 +51482,7 @@ class Vector4LineComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Component
51462
51482
  return this.props.value || this.props.target[this.props.propertyName];
51463
51483
  }
51464
51484
  shouldComponentUpdate(nextProps, nextState) {
51465
- const nextPropsValue = this.getCurrentValue();
51485
+ const nextPropsValue = nextProps.value || nextProps.target[nextProps.propertyName];
51466
51486
  if (!nextPropsValue.equals(nextState.value) || this._localChange) {
51467
51487
  nextState.value = nextPropsValue.clone();
51468
51488
  this._localChange = false;
@@ -51957,7 +51977,7 @@ class GraphCanvasComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Component
51957
51977
  // Reconnect
51958
51978
  this.automaticRewire(inputs, availableNodeInputs, true);
51959
51979
  this.automaticRewire(availableNodeOutputs, outputs, true);
51960
- this.props.stateManager.onRebuildRequiredObservable.notifyObservers(false);
51980
+ this.props.stateManager.onRebuildRequiredObservable.notifyObservers();
51961
51981
  }
51962
51982
  smartAddOverNode(node, source) {
51963
51983
  // Connect the ports
@@ -51968,7 +51988,7 @@ class GraphCanvasComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Component
51968
51988
  inputs.push(...source.content.outputs);
51969
51989
  // Reconnect
51970
51990
  this.automaticRewire(inputs, availableNodeInputs, true);
51971
- this.props.stateManager.onRebuildRequiredObservable.notifyObservers(false);
51991
+ this.props.stateManager.onRebuildRequiredObservable.notifyObservers();
51972
51992
  }
51973
51993
  deleteSelection(onRemove, autoReconnect = false) {
51974
51994
  // Delete
@@ -52016,7 +52036,7 @@ class GraphCanvasComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Component
52016
52036
  // Reconnect if required
52017
52037
  this.automaticRewire(inputs, outputs);
52018
52038
  this.props.stateManager.onSelectionChangedObservable.notifyObservers(null);
52019
- this.props.stateManager.onRebuildRequiredObservable.notifyObservers(false);
52039
+ this.props.stateManager.onRebuildRequiredObservable.notifyObservers();
52020
52040
  }
52021
52041
  handleKeyDown(evt, onRemove, mouseLocationX, mouseLocationY, dataGenerator, rootElement) {
52022
52042
  if (this.stateManager.modalIsDisplayed) {
@@ -52780,7 +52800,9 @@ class GraphCanvasComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Component
52780
52800
  link.onDisposedObservable.notifyObservers(link);
52781
52801
  link.onDisposedObservable.clear();
52782
52802
  });
52783
- this.props.stateManager.onRebuildRequiredObservable.notifyObservers(true);
52803
+ if (!nodeB.content.isConnectedToOutput || nodeB.content.isConnectedToOutput()) {
52804
+ this.props.stateManager.onRebuildRequiredObservable.notifyObservers();
52805
+ }
52784
52806
  }
52785
52807
  connectNodes(nodeA, pointA, nodeB, pointB) {
52786
52808
  pointA.connectTo(pointB);
@@ -54528,6 +54550,7 @@ class GraphNode {
54528
54550
  }
54529
54551
  this._comments.innerHTML = this.content.comments || "";
54530
54552
  this._comments.title = this.content.comments || "";
54553
+ this._executionTime.innerHTML = this.content.executionTime ? `${this.content.executionTime.toFixed(2)} ms` : "";
54531
54554
  this.content.prepareHeaderIcon(this._headerIcon, this._headerIconImg);
54532
54555
  if (this._headerIconImg.src) {
54533
54556
  this._header.classList.add(_graphNode_modules_scss__WEBPACK_IMPORTED_MODULE_4__["default"]["headerWithIcon"]);
@@ -54586,7 +54609,7 @@ class GraphNode {
54586
54609
  // Reconnect
54587
54610
  this._ownerCanvas.automaticRewire(inputs, availableNodeInputs, true);
54588
54611
  this._ownerCanvas.automaticRewire(availableNodeOutputs, outputs, true);
54589
- this._stateManager.onRebuildRequiredObservable.notifyObservers(false);
54612
+ this._stateManager.onRebuildRequiredObservable.notifyObservers();
54590
54613
  }
54591
54614
  _onMove(evt) {
54592
54615
  this._ownerCanvas._targetLinkCandidate = null;
@@ -54681,6 +54704,10 @@ class GraphNode {
54681
54704
  this._comments = root.ownerDocument.createElement("div");
54682
54705
  this._comments.classList.add(_graphNode_modules_scss__WEBPACK_IMPORTED_MODULE_4__["default"].comments);
54683
54706
  this._visual.appendChild(this._comments);
54707
+ // Comments
54708
+ this._executionTime = root.ownerDocument.createElement("div");
54709
+ this._executionTime.classList.add(_graphNode_modules_scss__WEBPACK_IMPORTED_MODULE_4__["default"].executionTime);
54710
+ this._visual.appendChild(this._executionTime);
54684
54711
  // Connections
54685
54712
  for (const input of this.content.inputs) {
54686
54713
  this._inputPorts.push(_nodePort__WEBPACK_IMPORTED_MODULE_1__.NodePort.CreatePortElement(input, this, this._inputsContainer, this._displayManager, this._stateManager));
@@ -54689,6 +54716,9 @@ class GraphNode {
54689
54716
  this._outputPorts.push(_nodePort__WEBPACK_IMPORTED_MODULE_1__.NodePort.CreatePortElement(output, this, this._outputsContainer, this._displayManager, this._stateManager));
54690
54717
  }
54691
54718
  this.refresh();
54719
+ this.content.refreshCallback = () => {
54720
+ this.refresh();
54721
+ };
54692
54722
  }
54693
54723
  dispose() {
54694
54724
  if (this._displayManager && this._displayManager.onDispose) {
@@ -54938,7 +54968,7 @@ class NodeLink {
54938
54968
  // Connect to Elbow block
54939
54969
  this._graphCanvas.connectNodes(nodeA, pointA, newNode, newNode.getPortDataForPortDataContent(newElbowBlock.input));
54940
54970
  this._graphCanvas.connectNodes(newNode, newNode.getPortDataForPortDataContent(newElbowBlock.output), nodeB, pointB);
54941
- stateManager.onRebuildRequiredObservable.notifyObservers(true);
54971
+ stateManager.onRebuildRequiredObservable.notifyObservers();
54942
54972
  });
54943
54973
  stateManager.onNewBlockRequiredObservable.notifyObservers({
54944
54974
  type: "ElbowBlock",
@@ -56224,9 +56254,7 @@ __webpack_require__.r(__webpack_exports__);
56224
56254
  /* harmony export */ });
56225
56255
  /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "../../../../node_modules/react/jsx-runtime.js");
56226
56256
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "../../../../node_modules/react/index.js");
56227
- /* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-dom */ "../../../../node_modules/react-dom/index.js");
56228
- /* harmony import */ var _log_scss__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./log.scss */ "../../../tools/nodeEditor/dist/components/log/log.scss");
56229
-
56257
+ /* harmony import */ var _log_scss__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./log.scss */ "../../../tools/nodeEditor/dist/components/log/log.scss");
56230
56258
 
56231
56259
 
56232
56260
 
@@ -56241,6 +56269,7 @@ class LogComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Component {
56241
56269
  constructor(props) {
56242
56270
  super(props);
56243
56271
  this.state = { logs: [] };
56272
+ this._logConsoleRef = react__WEBPACK_IMPORTED_MODULE_1__.createRef();
56244
56273
  }
56245
56274
  componentDidMount() {
56246
56275
  this.props.globalState.onLogRequiredObservable.add((log) => {
@@ -56250,14 +56279,13 @@ class LogComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Component {
56250
56279
  });
56251
56280
  }
56252
56281
  componentDidUpdate() {
56253
- const logConsole = react_dom__WEBPACK_IMPORTED_MODULE_2__.findDOMNode(this.refs["nme-log-console"]);
56254
- if (!logConsole) {
56282
+ if (!this._logConsoleRef.current) {
56255
56283
  return;
56256
56284
  }
56257
- logConsole.scrollTop = logConsole.scrollHeight;
56285
+ this._logConsoleRef.current.scrollTop = this._logConsoleRef.current.scrollHeight;
56258
56286
  }
56259
56287
  render() {
56260
- return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { id: "nme-log-console", ref: "log-console", children: this.state.logs.map((l, i) => {
56288
+ return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { id: "nme-log-console", ref: this._logConsoleRef, children: this.state.logs.map((l, i) => {
56261
56289
  return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "log" + (l.isError ? " error" : ""), children: l.time.getHours() + ":" + l.time.getMinutes() + ":" + l.time.getSeconds() + ": " + l.message }, i));
56262
56290
  }) }));
56263
56291
  }
@@ -57652,7 +57680,7 @@ class InputsPropertyTabComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Comp
57652
57680
  processInputBlockUpdate(ib) {
57653
57681
  this.props.globalState.stateManager.onUpdateRequiredObservable.notifyObservers(ib);
57654
57682
  if (ib.isConstant) {
57655
- this.props.globalState.stateManager.onRebuildRequiredObservable.notifyObservers(true);
57683
+ this.props.globalState.stateManager.onRebuildRequiredObservable.notifyObservers();
57656
57684
  }
57657
57685
  }
57658
57686
  renderInputBlock(block) {
@@ -57766,7 +57794,7 @@ class FloatPropertyTabComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Compo
57766
57794
  render() {
57767
57795
  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: () => {
57768
57796
  if (this.props.inputBlock.isConstant) {
57769
- this.props.globalState.stateManager.onRebuildRequiredObservable.notifyObservers(true);
57797
+ this.props.globalState.stateManager.onRebuildRequiredObservable.notifyObservers();
57770
57798
  }
57771
57799
  this.props.globalState.stateManager.onUpdateRequiredObservable.notifyObservers(this.props.inputBlock);
57772
57800
  } }));
@@ -58003,7 +58031,7 @@ class PropertyTabComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Component
58003
58031
  processInputBlockUpdate(ib) {
58004
58032
  this.props.globalState.stateManager.onUpdateRequiredObservable.notifyObservers(ib);
58005
58033
  if (ib.isConstant) {
58006
- this.props.globalState.stateManager.onRebuildRequiredObservable.notifyObservers(true);
58034
+ this.props.globalState.stateManager.onRebuildRequiredObservable.notifyObservers();
58007
58035
  }
58008
58036
  }
58009
58037
  renderInputBlock(block) {
@@ -58615,9 +58643,9 @@ class GraphEditor extends react__WEBPACK_IMPORTED_MODULE_1__.Component {
58615
58643
  }
58616
58644
  }
58617
58645
  });
58618
- this.props.globalState.stateManager.onRebuildRequiredObservable.add((autoConfigure) => {
58646
+ this.props.globalState.stateManager.onRebuildRequiredObservable.add(() => {
58619
58647
  if (this.props.globalState.nodeMaterial) {
58620
- this.buildMaterial(autoConfigure);
58648
+ this.buildMaterial();
58621
58649
  }
58622
58650
  });
58623
58651
  this.props.globalState.onResetRequiredObservable.add((isDefault) => {
@@ -58671,13 +58699,13 @@ class GraphEditor extends react__WEBPACK_IMPORTED_MODULE_1__.Component {
58671
58699
  zoomToFit() {
58672
58700
  this._graphCanvas.zoomToFit();
58673
58701
  }
58674
- buildMaterial(autoConfigure = true) {
58702
+ buildMaterial() {
58675
58703
  if (!this.props.globalState.nodeMaterial) {
58676
58704
  return;
58677
58705
  }
58678
58706
  try {
58679
58707
  this.props.globalState.nodeMaterial.options.emitComments = true;
58680
- this.props.globalState.nodeMaterial.build(true, undefined, autoConfigure);
58708
+ this.props.globalState.nodeMaterial.build(true);
58681
58709
  this.props.globalState.onLogRequiredObservable.notifyObservers(new _components_log_logComponent__WEBPACK_IMPORTED_MODULE_6__.LogEntry("Node material build successful", false));
58682
58710
  }
58683
58711
  catch (err) {
@@ -59033,6 +59061,10 @@ class ConnectionPointPortData {
59033
59061
  let otherNode = this._nodeContainer.nodes.find((n) => n.content.data === otherBlock);
59034
59062
  if (!otherNode) {
59035
59063
  otherNode = this._nodeContainer.appendNode(shared_ui_components_nodeGraphSystem_typeLedger__WEBPACK_IMPORTED_MODULE_2__.TypeLedger.NodeDataBuilder(otherBlock, this._nodeContainer));
59064
+ const globalState = this._nodeContainer.stateManager.data;
59065
+ if (globalState.nodeMaterial.attachedBlocks.indexOf(otherBlock) === -1) {
59066
+ globalState.nodeMaterial.attachedBlocks.push(otherBlock);
59067
+ }
59036
59068
  }
59037
59069
  this._connectedPort = otherNode.getPortDataForPortDataContent(this.data.connectedPoint);
59038
59070
  }
@@ -60065,19 +60097,19 @@ class ColorMergerPropertyTabComponent extends react__WEBPACK_IMPORTED_MODULE_1__
60065
60097
  ];
60066
60098
  return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_genericNodePropertyComponent__WEBPACK_IMPORTED_MODULE_3__.GeneralPropertyTabComponent, { stateManager: this.props.stateManager, nodeData: this.props.nodeData }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_2__.LineContainerComponent, { title: "SWIZZLES", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_optionsLineComponent__WEBPACK_IMPORTED_MODULE_4__.OptionsLineComponent, { label: "R", options: targetOptions, target: colorMergerBlock, propertyName: "rSwizzle", valuesAreStrings: true, onSelect: () => {
60067
60099
  this.props.stateManager.onUpdateRequiredObservable.notifyObservers(colorMergerBlock);
60068
- this.props.stateManager.onRebuildRequiredObservable.notifyObservers(true);
60100
+ this.props.stateManager.onRebuildRequiredObservable.notifyObservers();
60069
60101
  this.forceUpdate();
60070
60102
  } }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_optionsLineComponent__WEBPACK_IMPORTED_MODULE_4__.OptionsLineComponent, { label: "G", options: targetOptions, target: colorMergerBlock, propertyName: "gSwizzle", valuesAreStrings: true, onSelect: () => {
60071
60103
  this.props.stateManager.onUpdateRequiredObservable.notifyObservers(colorMergerBlock);
60072
- this.props.stateManager.onRebuildRequiredObservable.notifyObservers(true);
60104
+ this.props.stateManager.onRebuildRequiredObservable.notifyObservers();
60073
60105
  this.forceUpdate();
60074
60106
  } }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_optionsLineComponent__WEBPACK_IMPORTED_MODULE_4__.OptionsLineComponent, { label: "B", options: targetOptions, target: colorMergerBlock, propertyName: "bSwizzle", valuesAreStrings: true, onSelect: () => {
60075
60107
  this.props.stateManager.onUpdateRequiredObservable.notifyObservers(colorMergerBlock);
60076
- this.props.stateManager.onRebuildRequiredObservable.notifyObservers(true);
60108
+ this.props.stateManager.onRebuildRequiredObservable.notifyObservers();
60077
60109
  this.forceUpdate();
60078
60110
  } }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_optionsLineComponent__WEBPACK_IMPORTED_MODULE_4__.OptionsLineComponent, { label: "A", options: targetOptions, target: colorMergerBlock, propertyName: "aSwizzle", valuesAreStrings: true, onSelect: () => {
60079
60111
  this.props.stateManager.onUpdateRequiredObservable.notifyObservers(colorMergerBlock);
60080
- this.props.stateManager.onRebuildRequiredObservable.notifyObservers(true);
60112
+ this.props.stateManager.onRebuildRequiredObservable.notifyObservers();
60081
60113
  this.forceUpdate();
60082
60114
  } })] })] }));
60083
60115
  }
@@ -60132,7 +60164,7 @@ class ConditionalPropertyTabComponent extends react__WEBPACK_IMPORTED_MODULE_1__
60132
60164
  });
60133
60165
  return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_genericNodePropertyComponent__WEBPACK_IMPORTED_MODULE_4__.GeneralPropertyTabComponent, { stateManager: this.props.stateManager, nodeData: this.props.nodeData }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_2__.LineContainerComponent, { title: "PROPERTIES", children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_optionsLineComponent__WEBPACK_IMPORTED_MODULE_5__.OptionsLineComponent, { label: "Condition", options: conditionOptions, target: conditionBlock, propertyName: "condition", onSelect: () => {
60134
60166
  this.props.stateManager.onUpdateRequiredObservable.notifyObservers(conditionBlock);
60135
- this.props.stateManager.onRebuildRequiredObservable.notifyObservers(true);
60167
+ this.props.stateManager.onRebuildRequiredObservable.notifyObservers();
60136
60168
  this.forceUpdate();
60137
60169
  } }) })] }));
60138
60170
  }
@@ -60184,7 +60216,7 @@ class CurvePropertyTabComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Compo
60184
60216
  }
60185
60217
  return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_genericNodePropertyComponent__WEBPACK_IMPORTED_MODULE_3__.GeneralPropertyTabComponent, { stateManager: this.props.stateManager, nodeData: this.props.nodeData }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_2__.LineContainerComponent, { title: "PROPERTIES", children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_optionsLineComponent__WEBPACK_IMPORTED_MODULE_4__.OptionsLineComponent, { label: "Type", options: typeOptions, target: curveBlock, propertyName: "type", onSelect: () => {
60186
60218
  this.props.stateManager.onUpdateRequiredObservable.notifyObservers(curveBlock);
60187
- this.props.stateManager.onRebuildRequiredObservable.notifyObservers(true);
60219
+ this.props.stateManager.onRebuildRequiredObservable.notifyObservers();
60188
60220
  this.forceUpdate();
60189
60221
  } }) })] }));
60190
60222
  }
@@ -60381,7 +60413,7 @@ class GeneralPropertyTabComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Com
60381
60413
  } })), block._originalTargetIsNeutral && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_optionsLineComponent__WEBPACK_IMPORTED_MODULE_7__.OptionsLineComponent, { label: "Target", options: targetOptions, target: block, propertyName: "target", onSelect: () => {
60382
60414
  this.forceUpdate();
60383
60415
  this.props.stateManager.onUpdateRequiredObservable.notifyObservers(block);
60384
- this.props.stateManager.onRebuildRequiredObservable.notifyObservers(true);
60416
+ this.props.stateManager.onRebuildRequiredObservable.notifyObservers();
60385
60417
  } })), !block._originalTargetIsNeutral && (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_textLineComponent__WEBPACK_IMPORTED_MODULE_8__.TextLineComponent, { label: "Target", value: core_Decorators_nodeDecorator__WEBPACK_IMPORTED_MODULE_4__.NodeMaterialBlockTargets[block.target] }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_textLineComponent__WEBPACK_IMPORTED_MODULE_8__.TextLineComponent, { label: "Type", value: block.getClassName() }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_5__.TextInputLineComponent, { label: "Comments", propertyName: "comments", lockObject: this.props.stateManager.lockObject, target: block, onChange: () => this.props.stateManager.onUpdateRequiredObservable.notifyObservers(block), throttlePropertyChangedNotification: true })] }) }));
60386
60418
  }
60387
60419
  }
@@ -60397,14 +60429,14 @@ class GenericPropertyTabComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Com
60397
60429
  this.props.stateManager.onUpdateRequiredObservable.notifyObservers(this.props.nodeData.data);
60398
60430
  }
60399
60431
  if (!notifiers || notifiers.rebuild) {
60400
- this.props.stateManager.onRebuildRequiredObservable.notifyObservers(true);
60432
+ this.props.stateManager.onRebuildRequiredObservable.notifyObservers();
60401
60433
  }
60402
60434
  if (notifiers?.activatePreviewCommand) {
60403
60435
  this.props.stateManager.data.onPreviewCommandActivated.notifyObservers(true);
60404
60436
  }
60405
60437
  const rebuild = notifiers?.callback?.(this.props.stateManager.data.nodeMaterial.getScene(), this.props.nodeData.data) ?? false;
60406
60438
  if (rebuild) {
60407
- this.props.stateManager.onRebuildRequiredObservable.notifyObservers(true);
60439
+ this.props.stateManager.onRebuildRequiredObservable.notifyObservers();
60408
60440
  }
60409
60441
  }
60410
60442
  render() {
@@ -60505,7 +60537,7 @@ class GradientPropertyTabComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Co
60505
60537
  }
60506
60538
  forceRebuild() {
60507
60539
  this.props.stateManager.onUpdateRequiredObservable.notifyObservers(this.props.nodeData.data);
60508
- this.props.stateManager.onRebuildRequiredObservable.notifyObservers(true);
60540
+ this.props.stateManager.onRebuildRequiredObservable.notifyObservers();
60509
60541
  }
60510
60542
  deleteStep(step) {
60511
60543
  const gradientBlock = this.props.nodeData.data;
@@ -60573,7 +60605,7 @@ class GradientPropertyTabComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Co
60573
60605
  }
60574
60606
  this.forceUpdate();
60575
60607
  this.props.stateManager.onUpdateRequiredObservable.notifyObservers(gradientBlock);
60576
- this.props.stateManager.onRebuildRequiredObservable.notifyObservers(true);
60608
+ this.props.stateManager.onRebuildRequiredObservable.notifyObservers();
60577
60609
  }, propertyName: "" }) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_2__.LineContainerComponent, { title: "STEPS", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_buttonLineComponent__WEBPACK_IMPORTED_MODULE_6__.ButtonLineComponent, { label: "Add new step", onClick: () => this.addNewStep() }), gradientBlock.colorSteps.map((c, i) => {
60578
60610
  return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_gradientStepComponent__WEBPACK_IMPORTED_MODULE_4__.GradientStepComponent, { stateManager: this.props.stateManager, onCheckForReOrder: () => this.checkForReOrder(), onUpdateStep: () => this.forceRebuild(), lineIndex: i, step: c, onCopy: () => this.copyStep(c), onDelete: () => this.deleteStep(c) }, "step-" + i));
60579
60611
  })] })] }));
@@ -60707,7 +60739,7 @@ class ImageSourcePropertyTabComponent extends react__WEBPACK_IMPORTED_MODULE_1__
60707
60739
  }
60708
60740
  updateAfterTextureLoad() {
60709
60741
  this.props.stateManager.onUpdateRequiredObservable.notifyObservers(this.props.nodeData.data);
60710
- this.props.stateManager.onRebuildRequiredObservable.notifyObservers(true);
60742
+ this.props.stateManager.onRebuildRequiredObservable.notifyObservers();
60711
60743
  this.forceUpdate();
60712
60744
  }
60713
60745
  removeTexture() {
@@ -60892,14 +60924,14 @@ class InputPropertyTabComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Compo
60892
60924
  }, onSelect: (value) => {
60893
60925
  inputBlock.value = value ? 1 : 0;
60894
60926
  if (inputBlock.isConstant) {
60895
- this.props.stateManager.onRebuildRequiredObservable.notifyObservers(true);
60927
+ this.props.stateManager.onRebuildRequiredObservable.notifyObservers();
60896
60928
  }
60897
60929
  this.props.stateManager.onUpdateRequiredObservable.notifyObservers(inputBlock);
60898
60930
  } })), !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: () => {
60899
60931
  if (inputBlock.value < inputBlock.min) {
60900
60932
  inputBlock.value = inputBlock.min;
60901
60933
  if (inputBlock.isConstant) {
60902
- this.props.stateManager.onRebuildRequiredObservable.notifyObservers(true);
60934
+ this.props.stateManager.onRebuildRequiredObservable.notifyObservers();
60903
60935
  }
60904
60936
  }
60905
60937
  this.forceUpdate();
@@ -60907,13 +60939,13 @@ class InputPropertyTabComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Compo
60907
60939
  if (inputBlock.value > inputBlock.max) {
60908
60940
  inputBlock.value = inputBlock.max;
60909
60941
  if (inputBlock.isConstant) {
60910
- this.props.stateManager.onRebuildRequiredObservable.notifyObservers(true);
60942
+ this.props.stateManager.onRebuildRequiredObservable.notifyObservers();
60911
60943
  }
60912
60944
  }
60913
60945
  this.forceUpdate();
60914
60946
  } })), !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: () => {
60915
60947
  if (inputBlock.isConstant) {
60916
- this.props.stateManager.onRebuildRequiredObservable.notifyObservers(true);
60948
+ this.props.stateManager.onRebuildRequiredObservable.notifyObservers();
60917
60949
  }
60918
60950
  this.props.stateManager.onUpdateRequiredObservable.notifyObservers(inputBlock);
60919
60951
  } }))] }));
@@ -61046,11 +61078,11 @@ class InputPropertyTabComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Compo
61046
61078
  }
61047
61079
  this.forceUpdate();
61048
61080
  this.props.stateManager.onUpdateRequiredObservable.notifyObservers(inputBlock);
61049
- this.props.stateManager.onRebuildRequiredObservable.notifyObservers(true);
61081
+ this.props.stateManager.onRebuildRequiredObservable.notifyObservers();
61050
61082
  }, propertyName: "" })), inputBlock.visibleInInspector && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_13__.TextInputLineComponent, { label: "Group", propertyName: "groupInInspector", target: inputBlock, lockObject: this.props.stateManager.lockObject, onChange: () => {
61051
61083
  this.forceUpdate();
61052
61084
  this.props.stateManager.onUpdateRequiredObservable.notifyObservers(inputBlock);
61053
- this.props.stateManager.onRebuildRequiredObservable.notifyObservers(true);
61085
+ this.props.stateManager.onRebuildRequiredObservable.notifyObservers();
61054
61086
  }, throttlePropertyChangedNotification: true })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_optionsLineComponent__WEBPACK_IMPORTED_MODULE_14__.OptionsLineComponent, { label: "Mode", options: modeOptions, target: inputBlock, noDirectUpdate: true, extractValue: () => {
61055
61087
  if (inputBlock.isAttribute) {
61056
61088
  return 1;
@@ -61075,16 +61107,16 @@ class InputPropertyTabComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Compo
61075
61107
  }
61076
61108
  this.forceUpdate();
61077
61109
  this.props.stateManager.onUpdateRequiredObservable.notifyObservers(inputBlock);
61078
- this.props.stateManager.onRebuildRequiredObservable.notifyObservers(true);
61110
+ this.props.stateManager.onRebuildRequiredObservable.notifyObservers();
61079
61111
  }, propertyName: "" }), inputBlock.isAttribute && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_optionsLineComponent__WEBPACK_IMPORTED_MODULE_14__.OptionsLineComponent, { label: "Attribute", valuesAreStrings: true, options: attributeOptions, target: inputBlock, propertyName: "name", onSelect: (value) => {
61080
61112
  inputBlock.setAsAttribute(value);
61081
61113
  this.forceUpdate();
61082
61114
  this.props.stateManager.onUpdateRequiredObservable.notifyObservers(inputBlock);
61083
- this.props.stateManager.onRebuildRequiredObservable.notifyObservers(true);
61115
+ this.props.stateManager.onRebuildRequiredObservable.notifyObservers();
61084
61116
  } })), inputBlock.isUniform && animationOptions.length > 0 && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_optionsLineComponent__WEBPACK_IMPORTED_MODULE_14__.OptionsLineComponent, { label: "Animation type", options: animationOptions, target: inputBlock, propertyName: "animationType", onSelect: () => {
61085
61117
  this.forceUpdate();
61086
61118
  this.props.stateManager.onUpdateRequiredObservable.notifyObservers(inputBlock);
61087
- this.props.stateManager.onRebuildRequiredObservable.notifyObservers(true);
61119
+ this.props.stateManager.onRebuildRequiredObservable.notifyObservers();
61088
61120
  } })), inputBlock.isUniform &&
61089
61121
  !inputBlock.isSystemValue &&
61090
61122
  inputBlock.animationType === core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_9__.AnimatedInputBlockTypes.None &&
@@ -61092,7 +61124,7 @@ class InputPropertyTabComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Compo
61092
61124
  inputBlock.setAsSystemValue(value);
61093
61125
  this.forceUpdate();
61094
61126
  this.props.stateManager.onUpdateRequiredObservable.notifyObservers(inputBlock);
61095
- this.props.stateManager.onRebuildRequiredObservable.notifyObservers(true);
61127
+ this.props.stateManager.onRebuildRequiredObservable.notifyObservers();
61096
61128
  } })), inputBlock.isUniform && !inputBlock.isSystemValue && inputBlock.animationType === core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_9__.AnimatedInputBlockTypes.None && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_sharedComponents_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_11__.CheckBoxLineComponent, { label: "Visible on frame", target: inputBlock, propertyName: "visibleOnFrame" }))] })] }));
61097
61129
  }
61098
61130
  }
@@ -61131,7 +61163,7 @@ class LightInformationPropertyTabComponent extends react__WEBPACK_IMPORTED_MODUL
61131
61163
  return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_genericNodePropertyComponent__WEBPACK_IMPORTED_MODULE_3__.GeneralPropertyTabComponent, { stateManager: this.props.stateManager, nodeData: this.props.nodeData }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_2__.LineContainerComponent, { title: "PROPERTIES", children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_optionsLineComponent__WEBPACK_IMPORTED_MODULE_4__.OptionsLineComponent, { label: "Light", noDirectUpdate: true, valuesAreStrings: true, options: lightOptions, target: lightInformationBlock, propertyName: "name", extractValue: (target) => target.light?.name ?? "", onSelect: (name) => {
61132
61164
  lightInformationBlock.light = scene.getLightByName(name);
61133
61165
  this.forceUpdate();
61134
- this.props.stateManager.onRebuildRequiredObservable.notifyObservers(true);
61166
+ this.props.stateManager.onRebuildRequiredObservable.notifyObservers();
61135
61167
  } }) })] }));
61136
61168
  }
61137
61169
  }
@@ -61166,9 +61198,6 @@ class NodePortPropertyTabComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Co
61166
61198
  constructor(props) {
61167
61199
  super(props);
61168
61200
  }
61169
- componentWillUnmount() {
61170
- this.props.stateManager.onSelectionChangedObservable.remove(this._onSelectionChangedObserver);
61171
- }
61172
61201
  toggleExposeOnFrame(value) {
61173
61202
  this.props.nodePort.exposedOnFrame = value;
61174
61203
  this.props.stateManager.onExposePortOnFrameObservable.notifyObservers(this.props.nodePort.node);
@@ -61330,7 +61359,7 @@ class TexturePropertyTabComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Com
61330
61359
  }
61331
61360
  updateAfterTextureLoad() {
61332
61361
  this.props.stateManager.onUpdateRequiredObservable.notifyObservers(this.props.nodeData.data);
61333
- this.props.stateManager.onRebuildRequiredObservable.notifyObservers(true);
61362
+ this.props.stateManager.onRebuildRequiredObservable.notifyObservers();
61334
61363
  this.forceUpdate();
61335
61364
  }
61336
61365
  removeTexture() {
@@ -61487,7 +61516,7 @@ class TexturePropertyTabComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Com
61487
61516
  this.props.stateManager.onUpdateRequiredObservable.notifyObservers(block);
61488
61517
  } })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_sharedComponents_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_5__.CheckBoxLineComponent, { label: "Disable multiplying by level", propertyName: "disableLevelMultiplication", target: block, onValueChanged: () => {
61489
61518
  this.props.stateManager.onUpdateRequiredObservable.notifyObservers(block);
61490
- this.props.stateManager.onRebuildRequiredObservable.notifyObservers(true);
61519
+ this.props.stateManager.onRebuildRequiredObservable.notifyObservers();
61491
61520
  } }), texture && texture.updateSamplingMode && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_optionsLineComponent__WEBPACK_IMPORTED_MODULE_9__.OptionsLineComponent, { label: "Sampling", options: samplingMode, target: texture, noDirectUpdate: true, propertyName: "samplingMode", onSelect: (value) => {
61492
61521
  texture.updateSamplingMode(value);
61493
61522
  this.props.stateManager.onUpdateRequiredObservable.notifyObservers(block);
@@ -61498,11 +61527,11 @@ class TexturePropertyTabComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Com
61498
61527
  } })), texture && !isInReflectionMode && !isFrozenTexture && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_sharedComponents_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_5__.CheckBoxLineComponent, { label: "Clamp U", isSelected: () => texture.wrapU === core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__.Texture.CLAMP_ADDRESSMODE, onSelect: (value) => {
61499
61528
  texture.wrapU = value ? core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__.Texture.CLAMP_ADDRESSMODE : core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__.Texture.WRAP_ADDRESSMODE;
61500
61529
  this.props.stateManager.onUpdateRequiredObservable.notifyObservers(block);
61501
- this.props.stateManager.onRebuildRequiredObservable.notifyObservers(true);
61530
+ this.props.stateManager.onRebuildRequiredObservable.notifyObservers();
61502
61531
  } })), 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) => {
61503
61532
  texture.wrapV = value ? core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__.Texture.CLAMP_ADDRESSMODE : core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__.Texture.WRAP_ADDRESSMODE;
61504
61533
  this.props.stateManager.onUpdateRequiredObservable.notifyObservers(block);
61505
- this.props.stateManager.onRebuildRequiredObservable.notifyObservers(true);
61534
+ this.props.stateManager.onRebuildRequiredObservable.notifyObservers();
61506
61535
  } })), 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: () => {
61507
61536
  this.props.stateManager.onUpdateRequiredObservable.notifyObservers(block);
61508
61537
  } })), 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: () => {
@@ -61562,7 +61591,7 @@ class TransformPropertyTabComponent extends react__WEBPACK_IMPORTED_MODULE_1__.C
61562
61591
  else {
61563
61592
  transformBlock.complementW = 1;
61564
61593
  }
61565
- this.props.stateManager.onRebuildRequiredObservable.notifyObservers(true);
61594
+ this.props.stateManager.onRebuildRequiredObservable.notifyObservers();
61566
61595
  }, isSelected: () => this.props.nodeData.data.complementW === 0 }) })] }));
61567
61596
  }
61568
61597
  }
@@ -61625,7 +61654,7 @@ class TrigonometryPropertyTabComponent extends react__WEBPACK_IMPORTED_MODULE_1_
61625
61654
  });
61626
61655
  return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_genericNodePropertyComponent__WEBPACK_IMPORTED_MODULE_4__.GeneralPropertyTabComponent, { stateManager: this.props.stateManager, nodeData: this.props.nodeData }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_2__.LineContainerComponent, { title: "PROPERTIES", children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_optionsLineComponent__WEBPACK_IMPORTED_MODULE_5__.OptionsLineComponent, { label: "Operation", options: operationOptions, target: trigonometryBlock, propertyName: "operation", onSelect: () => {
61627
61656
  this.props.stateManager.onUpdateRequiredObservable.notifyObservers(trigonometryBlock);
61628
- this.props.stateManager.onRebuildRequiredObservable.notifyObservers(true);
61657
+ this.props.stateManager.onRebuildRequiredObservable.notifyObservers();
61629
61658
  this.forceUpdate();
61630
61659
  } }) })] }));
61631
61660
  }
@@ -61669,19 +61698,19 @@ class VectorMergerPropertyTabComponent extends react__WEBPACK_IMPORTED_MODULE_1_
61669
61698
  ];
61670
61699
  return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_genericNodePropertyComponent__WEBPACK_IMPORTED_MODULE_3__.GeneralPropertyTabComponent, { stateManager: this.props.stateManager, nodeData: this.props.nodeData }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_2__.LineContainerComponent, { title: "SWIZZLES", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_optionsLineComponent__WEBPACK_IMPORTED_MODULE_4__.OptionsLineComponent, { label: "X", options: targetOptions, target: vectorMergerBlock, propertyName: "xSwizzle", valuesAreStrings: true, onSelect: () => {
61671
61700
  this.props.stateManager.onUpdateRequiredObservable.notifyObservers(vectorMergerBlock);
61672
- this.props.stateManager.onRebuildRequiredObservable.notifyObservers(true);
61701
+ this.props.stateManager.onRebuildRequiredObservable.notifyObservers();
61673
61702
  this.forceUpdate();
61674
61703
  } }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_optionsLineComponent__WEBPACK_IMPORTED_MODULE_4__.OptionsLineComponent, { label: "Y", options: targetOptions, target: vectorMergerBlock, propertyName: "ySwizzle", valuesAreStrings: true, onSelect: () => {
61675
61704
  this.props.stateManager.onUpdateRequiredObservable.notifyObservers(vectorMergerBlock);
61676
- this.props.stateManager.onRebuildRequiredObservable.notifyObservers(true);
61705
+ this.props.stateManager.onRebuildRequiredObservable.notifyObservers();
61677
61706
  this.forceUpdate();
61678
61707
  } }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_optionsLineComponent__WEBPACK_IMPORTED_MODULE_4__.OptionsLineComponent, { label: "Z", options: targetOptions, target: vectorMergerBlock, propertyName: "zSwizzle", valuesAreStrings: true, onSelect: () => {
61679
61708
  this.props.stateManager.onUpdateRequiredObservable.notifyObservers(vectorMergerBlock);
61680
- this.props.stateManager.onRebuildRequiredObservable.notifyObservers(true);
61709
+ this.props.stateManager.onRebuildRequiredObservable.notifyObservers();
61681
61710
  this.forceUpdate();
61682
61711
  } }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_optionsLineComponent__WEBPACK_IMPORTED_MODULE_4__.OptionsLineComponent, { label: "W", options: targetOptions, target: vectorMergerBlock, propertyName: "wSwizzle", valuesAreStrings: true, onSelect: () => {
61683
61712
  this.props.stateManager.onUpdateRequiredObservable.notifyObservers(vectorMergerBlock);
61684
- this.props.stateManager.onRebuildRequiredObservable.notifyObservers(true);
61713
+ this.props.stateManager.onRebuildRequiredObservable.notifyObservers();
61685
61714
  this.forceUpdate();
61686
61715
  } })] })] }));
61687
61716
  }