@babylonjs/node-geometry-editor 6.16.0 → 6.16.2

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.
@@ -2497,13 +2497,14 @@ ___CSS_LOADER_EXPORT___.push([module.id, `.\\---------tools-nodeGeometryEditor-d
2497
2497
  }
2498
2498
 
2499
2499
  .\\---------tools-nodeGeometryEditor-dist-graphSystem-display-debugDisplayManager-modules__debugContent {
2500
+ width: 20px;
2500
2501
  transform: translate(16px, 10px);
2501
2502
  background: transparent;
2502
2503
  border: none;
2503
2504
  display: block;
2504
2505
  content: "?";
2505
2506
  grid-row: 1;
2506
- }`, "",{"version":3,"sources":["webpack://./../../../tools/nodeGeometryEditor/dist/graphSystem/display/debugDisplayManager.modules.scss"],"names":[],"mappings":"AAAA;EACI,WAAA;EACA,gCAAA;EACA,kBAAA;EACA,2BAAA;AACJ;;AAEA;EACI,aAAA;AACJ;;AAEA;EACI,0BAAA;AACJ;;AAEA;EACI,kBAAA;AACJ;;AAEA;EACI,gCAAA;EACA,uBAAA;EACA,YAAA;EACA,cAAA;EACA,YAAA;EACA,WAAA;AACJ","sourcesContent":[".debugBlock {\r\n width: 40px;\r\n grid-template-rows: 0px 40px 0px;\r\n border-radius: 5px;\r\n transform: translateY(-7px);\r\n}\r\n\r\n.hidden {\r\n display: none;\r\n}\r\n\r\n.translatedConnections {\r\n transform: translateY(7px);\r\n}\r\n\r\n.roundSelectionBorder {\r\n border-radius: 0px;\r\n}\r\n\r\n.debugContent {\r\n transform: translate(16px, 10px);\r\n background: transparent;\r\n border: none;\r\n display: block;\r\n content: \"?\";\r\n grid-row: 1;\r\n}\r\n"],"sourceRoot":""}]);
2507
+ }`, "",{"version":3,"sources":["webpack://./../../../tools/nodeGeometryEditor/dist/graphSystem/display/debugDisplayManager.modules.scss"],"names":[],"mappings":"AAAA;EACI,WAAA;EACA,gCAAA;EACA,kBAAA;EACA,2BAAA;AACJ;;AAEA;EACI,aAAA;AACJ;;AAEA;EACI,0BAAA;AACJ;;AAEA;EACI,kBAAA;AACJ;;AAEA;EACI,WAAA;EACA,gCAAA;EACA,uBAAA;EACA,YAAA;EACA,cAAA;EACA,YAAA;EACA,WAAA;AACJ","sourcesContent":[".debugBlock {\r\n width: 40px;\r\n grid-template-rows: 0px 40px 0px;\r\n border-radius: 5px;\r\n transform: translateY(-7px);\r\n}\r\n\r\n.hidden {\r\n display: none;\r\n}\r\n\r\n.translatedConnections {\r\n transform: translateY(7px);\r\n}\r\n\r\n.roundSelectionBorder {\r\n border-radius: 0px;\r\n}\r\n\r\n.debugContent {\r\n width: 20px;\r\n transform: translate(16px, 10px);\r\n background: transparent;\r\n border: none;\r\n display: block;\r\n content: \"?\";\r\n grid-row: 1;\r\n}\r\n"],"sourceRoot":""}]);
2507
2508
  // Exports
2508
2509
  ___CSS_LOADER_EXPORT___.locals = {
2509
2510
  "debugBlock": `---------tools-nodeGeometryEditor-dist-graphSystem-display-debugDisplayManager-modules__debugBlock`,
@@ -52470,7 +52471,9 @@ class GraphCanvasComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Component
52470
52471
  link.onDisposedObservable.notifyObservers(link);
52471
52472
  link.onDisposedObservable.clear();
52472
52473
  });
52473
- this.props.stateManager.onRebuildRequiredObservable.notifyObservers();
52474
+ if (!nodeB.content.isConnectedToOutput || nodeB.content.isConnectedToOutput()) {
52475
+ this.props.stateManager.onRebuildRequiredObservable.notifyObservers();
52476
+ }
52474
52477
  }
52475
52478
  connectNodes(nodeA, pointA, nodeB, pointB) {
52476
52479
  pointA.connectTo(pointB);
@@ -55250,11 +55253,14 @@ __webpack_require__.r(__webpack_exports__);
55250
55253
 
55251
55254
 
55252
55255
 
55256
+
55253
55257
 
55254
55258
 
55255
55259
  class BlockTools {
55256
55260
  static GetBlockFromString(data) {
55257
55261
  switch (data) {
55262
+ case "OptimizeBlock":
55263
+ return new core_Meshes_Node_Enums_nodeGeometryConnectionPointTypes__WEBPACK_IMPORTED_MODULE_0__.GeometryOptimizeBlock("Optimize");
55258
55264
  case "NullBlock":
55259
55265
  return new core_Meshes_Node_Enums_nodeGeometryConnectionPointTypes__WEBPACK_IMPORTED_MODULE_0__.NullBlock("Null");
55260
55266
  case "TeleportInBlock":
@@ -55835,7 +55841,17 @@ class NodeListComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Component {
55835
55841
  Matrices: ["RotationXBlock", "RotationYBlock", "RotationZBlock", "ScalingBlock", "TranslationBlock", "AlignBlock"],
55836
55842
  Instances: ["InstantiateOnVerticesBlock", "InstantiateOnFacesBlock"],
55837
55843
  Misc: ["ElbowBlock", "DebugBlock", "TeleportInBlock", "TeleportOutBlock"],
55838
- Updates: ["SetColorsBlock", "SetNormalsBlock", "SetPositionsBlock", "SetTangentsBlock", "SetUVsBlock", "SetMaterialIDBlock", "MergeBlock", "ComputeNormalsBlock"],
55844
+ Updates: [
55845
+ "SetColorsBlock",
55846
+ "SetNormalsBlock",
55847
+ "SetPositionsBlock",
55848
+ "SetTangentsBlock",
55849
+ "SetUVsBlock",
55850
+ "SetMaterialIDBlock",
55851
+ "MergeBlock",
55852
+ "ComputeNormalsBlock",
55853
+ "OptimizeBlock",
55854
+ ],
55839
55855
  Noises: ["RandomBlock", "NoiseBlock"],
55840
55856
  Output_Nodes: ["GeometryOutputBlock"],
55841
55857
  };
@@ -55968,6 +55984,7 @@ NodeListComponent._Tooltips = {
55968
55984
  NoiseBlock: "Generate a value using Perlin noise algorithm",
55969
55985
  GeometryOutputBlock: "Output block used to gather the final geometry",
55970
55986
  NullBlock: "Generate an empty geometry",
55987
+ OptimizeBlock: "Eliminate vertices that share positions with another vertex",
55971
55988
  };
55972
55989
 
55973
55990
 
@@ -57505,6 +57522,10 @@ class BlockNodeData {
57505
57522
  }
57506
57523
  return null;
57507
57524
  }
57525
+ isConnectedToOutput() {
57526
+ const block = this.data;
57527
+ return block.isAnAncestorOfType("GeometryOutputBlock");
57528
+ }
57508
57529
  dispose() {
57509
57530
  this.data.dispose();
57510
57531
  this.data.onBuildObservable.remove(this._onBuildObserver);
@@ -57838,6 +57859,36 @@ class InputDisplayManager {
57838
57859
  case core_Meshes_Node_Enums_nodeGeometryConnectionPointTypes__WEBPACK_IMPORTED_MODULE_2__.NodeGeometryContextualSources.Normals:
57839
57860
  value = "Normals";
57840
57861
  break;
57862
+ case core_Meshes_Node_Enums_nodeGeometryConnectionPointTypes__WEBPACK_IMPORTED_MODULE_2__.NodeGeometryContextualSources.VertexID:
57863
+ value = "VertexID";
57864
+ break;
57865
+ case core_Meshes_Node_Enums_nodeGeometryConnectionPointTypes__WEBPACK_IMPORTED_MODULE_2__.NodeGeometryContextualSources.FaceID:
57866
+ value = "FaceID";
57867
+ break;
57868
+ case core_Meshes_Node_Enums_nodeGeometryConnectionPointTypes__WEBPACK_IMPORTED_MODULE_2__.NodeGeometryContextualSources.Tangents:
57869
+ value = "Tangents";
57870
+ break;
57871
+ case core_Meshes_Node_Enums_nodeGeometryConnectionPointTypes__WEBPACK_IMPORTED_MODULE_2__.NodeGeometryContextualSources.UV:
57872
+ value = "UV";
57873
+ break;
57874
+ case core_Meshes_Node_Enums_nodeGeometryConnectionPointTypes__WEBPACK_IMPORTED_MODULE_2__.NodeGeometryContextualSources.UV2:
57875
+ value = "UV2";
57876
+ break;
57877
+ case core_Meshes_Node_Enums_nodeGeometryConnectionPointTypes__WEBPACK_IMPORTED_MODULE_2__.NodeGeometryContextualSources.UV3:
57878
+ value = "UV3";
57879
+ break;
57880
+ case core_Meshes_Node_Enums_nodeGeometryConnectionPointTypes__WEBPACK_IMPORTED_MODULE_2__.NodeGeometryContextualSources.UV4:
57881
+ value = "UV4";
57882
+ break;
57883
+ case core_Meshes_Node_Enums_nodeGeometryConnectionPointTypes__WEBPACK_IMPORTED_MODULE_2__.NodeGeometryContextualSources.UV5:
57884
+ value = "UV5";
57885
+ break;
57886
+ case core_Meshes_Node_Enums_nodeGeometryConnectionPointTypes__WEBPACK_IMPORTED_MODULE_2__.NodeGeometryContextualSources.UV6:
57887
+ value = "UV6";
57888
+ break;
57889
+ case core_Meshes_Node_Enums_nodeGeometryConnectionPointTypes__WEBPACK_IMPORTED_MODULE_2__.NodeGeometryContextualSources.Colors:
57890
+ value = "Colors";
57891
+ break;
57841
57892
  }
57842
57893
  }
57843
57894
  else {
@@ -58514,7 +58565,10 @@ class InputPropertyTabComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Compo
58514
58565
  }
58515
58566
  const modeOptions = [{ label: "User-defined", value: 0 }];
58516
58567
  if (contextualSourcesOptions.length > 0) {
58517
- modeOptions.push({ label: "Contextual value", value: 1 });
58568
+ modeOptions.push({ label: "Contextual value (Integer)", value: core_Meshes_Node_Enums_nodeGeometryConnectionPointTypes__WEBPACK_IMPORTED_MODULE_13__.NodeGeometryBlockConnectionPointTypes.Int });
58569
+ modeOptions.push({ label: "Contextual value (Vector2)", value: core_Meshes_Node_Enums_nodeGeometryConnectionPointTypes__WEBPACK_IMPORTED_MODULE_13__.NodeGeometryBlockConnectionPointTypes.Vector2 });
58570
+ modeOptions.push({ label: "Contextual value (Vector3)", value: core_Meshes_Node_Enums_nodeGeometryConnectionPointTypes__WEBPACK_IMPORTED_MODULE_13__.NodeGeometryBlockConnectionPointTypes.Vector3 });
58571
+ modeOptions.push({ label: "Contextual value (Vector4)", value: core_Meshes_Node_Enums_nodeGeometryConnectionPointTypes__WEBPACK_IMPORTED_MODULE_13__.NodeGeometryBlockConnectionPointTypes.Vector4 });
58518
58572
  }
58519
58573
  const typeOptions = [
58520
58574
  { label: "None", value: 0 },
@@ -58546,7 +58600,7 @@ class InputPropertyTabComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Compo
58546
58600
  this.props.stateManager.onRebuildRequiredObservable.notifyObservers();
58547
58601
  }, throttlePropertyChangedNotification: true })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_optionsLineComponent__WEBPACK_IMPORTED_MODULE_10__.OptionsLineComponent, { label: "Mode", options: modeOptions, target: inputBlock, noDirectUpdate: true, extractValue: () => {
58548
58602
  if (inputBlock.isContextual) {
58549
- return 1;
58603
+ return inputBlock.type;
58550
58604
  }
58551
58605
  return 0;
58552
58606
  }, onSelect: (value) => {
@@ -58554,8 +58608,21 @@ class InputPropertyTabComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Compo
58554
58608
  case 0:
58555
58609
  this.setDefaultValue();
58556
58610
  break;
58557
- case 1:
58558
- inputBlock.contextualValue = contextualSourcesOptions[1].value;
58611
+ default:
58612
+ switch (value) {
58613
+ case core_Meshes_Node_Enums_nodeGeometryConnectionPointTypes__WEBPACK_IMPORTED_MODULE_13__.NodeGeometryBlockConnectionPointTypes.Int:
58614
+ inputBlock.contextualValue = core_Meshes_Node_Enums_nodeGeometryConnectionPointTypes__WEBPACK_IMPORTED_MODULE_13__.NodeGeometryContextualSources.VertexID;
58615
+ break;
58616
+ case core_Meshes_Node_Enums_nodeGeometryConnectionPointTypes__WEBPACK_IMPORTED_MODULE_13__.NodeGeometryBlockConnectionPointTypes.Vector2:
58617
+ inputBlock.contextualValue = core_Meshes_Node_Enums_nodeGeometryConnectionPointTypes__WEBPACK_IMPORTED_MODULE_13__.NodeGeometryContextualSources.UV;
58618
+ break;
58619
+ case core_Meshes_Node_Enums_nodeGeometryConnectionPointTypes__WEBPACK_IMPORTED_MODULE_13__.NodeGeometryBlockConnectionPointTypes.Vector3:
58620
+ inputBlock.contextualValue = core_Meshes_Node_Enums_nodeGeometryConnectionPointTypes__WEBPACK_IMPORTED_MODULE_13__.NodeGeometryContextualSources.Positions;
58621
+ break;
58622
+ case core_Meshes_Node_Enums_nodeGeometryConnectionPointTypes__WEBPACK_IMPORTED_MODULE_13__.NodeGeometryBlockConnectionPointTypes.Vector4:
58623
+ inputBlock.contextualValue = core_Meshes_Node_Enums_nodeGeometryConnectionPointTypes__WEBPACK_IMPORTED_MODULE_13__.NodeGeometryContextualSources.Colors;
58624
+ break;
58625
+ }
58559
58626
  break;
58560
58627
  }
58561
58628
  this.forceUpdate();