@babylonjs/node-geometry-editor 6.16.1 → 6.17.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.
@@ -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`,
@@ -51037,12 +51038,13 @@ __webpack_require__.r(__webpack_exports__);
51037
51038
  /* harmony export */ });
51038
51039
  /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "../../../../node_modules/react/jsx-runtime.js");
51039
51040
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "../../../../node_modules/react/index.js");
51040
- /* harmony import */ var _lines_numericInputComponent__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../lines/numericInputComponent */ "../../../dev/sharedUiComponents/dist/lines/numericInputComponent.js");
51041
- /* harmony import */ var _fortawesome_react_fontawesome__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @fortawesome/react-fontawesome */ "../../../../node_modules/@fortawesome/react-fontawesome/index.es.js");
51041
+ /* harmony import */ var core_Maths_math_vector__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core/Misc/tools */ "core/Misc/observable");
51042
+ /* harmony import */ var core_Maths_math_vector__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_Maths_math_vector__WEBPACK_IMPORTED_MODULE_2__);
51043
+ /* harmony import */ var _lines_numericInputComponent__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../lines/numericInputComponent */ "../../../dev/sharedUiComponents/dist/lines/numericInputComponent.js");
51044
+ /* harmony import */ var _fortawesome_react_fontawesome__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @fortawesome/react-fontawesome */ "../../../../node_modules/@fortawesome/react-fontawesome/index.es.js");
51042
51045
  /* harmony import */ var _fortawesome_free_solid_svg_icons__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @fortawesome/free-solid-svg-icons */ "../../../../node_modules/@fortawesome/free-solid-svg-icons/index.mjs");
51043
- /* harmony import */ var _lines_sliderLineComponent__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../lines/sliderLineComponent */ "../../../dev/sharedUiComponents/dist/lines/sliderLineComponent.js");
51044
- /* harmony import */ var core_Misc_tools__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core/Misc/tools */ "core/Misc/observable");
51045
- /* harmony import */ var core_Misc_tools__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_Misc_tools__WEBPACK_IMPORTED_MODULE_5__);
51046
+ /* harmony import */ var _lines_sliderLineComponent__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../lines/sliderLineComponent */ "../../../dev/sharedUiComponents/dist/lines/sliderLineComponent.js");
51047
+
51046
51048
 
51047
51049
 
51048
51050
 
@@ -51054,7 +51056,8 @@ class Vector3LineComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Component
51054
51056
  constructor(props) {
51055
51057
  super(props);
51056
51058
  this._localChange = false;
51057
- this.state = { isExpanded: false, value: this.getCurrentValue().clone() };
51059
+ const value = this.getCurrentValue();
51060
+ this.state = { isExpanded: false, value: value ? value.clone() : core_Maths_math_vector__WEBPACK_IMPORTED_MODULE_2__.Vector3.Zero() };
51058
51061
  }
51059
51062
  getCurrentValue() {
51060
51063
  return this.props.target[this.props.propertyName];
@@ -51108,9 +51111,9 @@ class Vector3LineComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Component
51108
51111
  this.updateVector3();
51109
51112
  }
51110
51113
  render() {
51111
- 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_6__.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_6__.faPlus });
51114
+ const chevron = this.state.isExpanded ? (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_fortawesome_react_fontawesome__WEBPACK_IMPORTED_MODULE_4__.FontAwesomeIcon, { icon: _fortawesome_free_solid_svg_icons__WEBPACK_IMPORTED_MODULE_6__.faMinus }) : (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_fortawesome_react_fontawesome__WEBPACK_IMPORTED_MODULE_4__.FontAwesomeIcon, { icon: _fortawesome_free_solid_svg_icons__WEBPACK_IMPORTED_MODULE_6__.faPlus });
51112
51115
  return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "vector3Line", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { 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", { className: "label", title: this.props.label, children: this.props.label }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { 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 &&
51113
- `X: ${core_Misc_tools__WEBPACK_IMPORTED_MODULE_5__.Tools.ToDegrees(this.state.value.x).toFixed(2)}, Y: ${core_Misc_tools__WEBPACK_IMPORTED_MODULE_5__.Tools.ToDegrees(this.state.value.y).toFixed(2)}, Z: ${core_Misc_tools__WEBPACK_IMPORTED_MODULE_5__.Tools.ToDegrees(this.state.value.z).toFixed(2)}`] }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { 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", { 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", { className: "secondLine", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_lines_sliderLineComponent__WEBPACK_IMPORTED_MODULE_4__.SliderLineComponent, { lockObject: this.props.lockObject, margin: true, label: "x", minimum: 0, maximum: 360, step: 0.1, directValue: core_Misc_tools__WEBPACK_IMPORTED_MODULE_5__.Tools.ToDegrees(this.state.value.x), onChange: (value) => this.updateStateX(core_Misc_tools__WEBPACK_IMPORTED_MODULE_5__.Tools.ToRadians(value)) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_lines_sliderLineComponent__WEBPACK_IMPORTED_MODULE_4__.SliderLineComponent, { lockObject: this.props.lockObject, margin: true, label: "y", minimum: 0, maximum: 360, step: 0.1, directValue: core_Misc_tools__WEBPACK_IMPORTED_MODULE_5__.Tools.ToDegrees(this.state.value.y), onChange: (value) => this.updateStateY(core_Misc_tools__WEBPACK_IMPORTED_MODULE_5__.Tools.ToRadians(value)) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_lines_sliderLineComponent__WEBPACK_IMPORTED_MODULE_4__.SliderLineComponent, { lockObject: this.props.lockObject, margin: true, label: "z", minimum: 0, maximum: 360, step: 0.1, directValue: core_Misc_tools__WEBPACK_IMPORTED_MODULE_5__.Tools.ToDegrees(this.state.value.z), onChange: (value) => this.updateStateZ(core_Misc_tools__WEBPACK_IMPORTED_MODULE_5__.Tools.ToRadians(value)) })] })), this.state.isExpanded && this.props.useEuler && this.props.noSlider && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { 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_5__.Tools.ToDegrees(this.state.value.x), onChange: (value) => this.updateStateX(core_Misc_tools__WEBPACK_IMPORTED_MODULE_5__.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_5__.Tools.ToDegrees(this.state.value.y), onChange: (value) => this.updateStateY(core_Misc_tools__WEBPACK_IMPORTED_MODULE_5__.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_5__.Tools.ToDegrees(this.state.value.z), onChange: (value) => this.updateStateZ(core_Misc_tools__WEBPACK_IMPORTED_MODULE_5__.Tools.ToRadians(value)) })] }))] }));
51116
+ `X: ${core_Maths_math_vector__WEBPACK_IMPORTED_MODULE_2__.Tools.ToDegrees(this.state.value.x).toFixed(2)}, Y: ${core_Maths_math_vector__WEBPACK_IMPORTED_MODULE_2__.Tools.ToDegrees(this.state.value.y).toFixed(2)}, Z: ${core_Maths_math_vector__WEBPACK_IMPORTED_MODULE_2__.Tools.ToDegrees(this.state.value.z).toFixed(2)}`] }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { 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", { className: "secondLine", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_lines_numericInputComponent__WEBPACK_IMPORTED_MODULE_3__.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_3__.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_3__.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", { 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_Maths_math_vector__WEBPACK_IMPORTED_MODULE_2__.Tools.ToDegrees(this.state.value.x), onChange: (value) => this.updateStateX(core_Maths_math_vector__WEBPACK_IMPORTED_MODULE_2__.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_Maths_math_vector__WEBPACK_IMPORTED_MODULE_2__.Tools.ToDegrees(this.state.value.y), onChange: (value) => this.updateStateY(core_Maths_math_vector__WEBPACK_IMPORTED_MODULE_2__.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_Maths_math_vector__WEBPACK_IMPORTED_MODULE_2__.Tools.ToDegrees(this.state.value.z), onChange: (value) => this.updateStateZ(core_Maths_math_vector__WEBPACK_IMPORTED_MODULE_2__.Tools.ToRadians(value)) })] })), this.state.isExpanded && this.props.useEuler && this.props.noSlider && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "secondLine", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_lines_numericInputComponent__WEBPACK_IMPORTED_MODULE_3__.NumericInputComponent, { lockObject: this.props.lockObject, label: "x", step: this.props.step, value: core_Maths_math_vector__WEBPACK_IMPORTED_MODULE_2__.Tools.ToDegrees(this.state.value.x), onChange: (value) => this.updateStateX(core_Maths_math_vector__WEBPACK_IMPORTED_MODULE_2__.Tools.ToRadians(value)) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_lines_numericInputComponent__WEBPACK_IMPORTED_MODULE_3__.NumericInputComponent, { lockObject: this.props.lockObject, label: "y", step: this.props.step, value: core_Maths_math_vector__WEBPACK_IMPORTED_MODULE_2__.Tools.ToDegrees(this.state.value.y), onChange: (value) => this.updateStateY(core_Maths_math_vector__WEBPACK_IMPORTED_MODULE_2__.Tools.ToRadians(value)) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_lines_numericInputComponent__WEBPACK_IMPORTED_MODULE_3__.NumericInputComponent, { lockObject: this.props.lockObject, label: "z", step: this.props.step, value: core_Maths_math_vector__WEBPACK_IMPORTED_MODULE_2__.Tools.ToDegrees(this.state.value.z), onChange: (value) => this.updateStateZ(core_Maths_math_vector__WEBPACK_IMPORTED_MODULE_2__.Tools.ToRadians(value)) })] }))] }));
51114
51117
  }
51115
51118
  }
51116
51119
  // eslint-disable-next-line @typescript-eslint/naming-convention
@@ -54268,6 +54271,8 @@ class GraphNode {
54268
54271
  const availableNodeOutputs = [];
54269
54272
  const leftNode = this._ownerCanvas._targetLinkCandidate.nodeA;
54270
54273
  const rightNode = this._ownerCanvas._targetLinkCandidate.nodeB;
54274
+ const leftPort = this._ownerCanvas._targetLinkCandidate.portA.portData;
54275
+ const rightPort = this._ownerCanvas._targetLinkCandidate.portB.portData;
54271
54276
  // Delete previous
54272
54277
  this._ownerCanvas._targetLinkCandidate.dispose();
54273
54278
  this._ownerCanvas._targetLinkCandidate = null;
@@ -54276,6 +54281,17 @@ class GraphNode {
54276
54281
  availableNodeOutputs.push(...this.content.outputs);
54277
54282
  inputs.push(...leftNode.content.outputs);
54278
54283
  outputs.push(...rightNode.content.inputs.filter((i) => !i.isConnected));
54284
+ // Prioritize the already connected ports
54285
+ const leftPortIndex = inputs.indexOf(leftPort);
54286
+ const rightPortIndex = outputs.indexOf(rightPort);
54287
+ if (leftPortIndex > 0) {
54288
+ inputs.splice(leftPortIndex, 1);
54289
+ inputs.splice(0, 0, leftPort);
54290
+ }
54291
+ if (rightPortIndex > 0) {
54292
+ outputs.splice(rightPortIndex, 1);
54293
+ outputs.splice(0, 0, rightPort);
54294
+ }
54279
54295
  // Reconnect
54280
54296
  this._ownerCanvas.automaticRewire(inputs, availableNodeInputs, true);
54281
54297
  this._ownerCanvas.automaticRewire(availableNodeOutputs, outputs, true);
@@ -55253,6 +55269,7 @@ __webpack_require__.r(__webpack_exports__);
55253
55269
 
55254
55270
 
55255
55271
 
55272
+
55256
55273
 
55257
55274
 
55258
55275
  class BlockTools {
@@ -55317,6 +55334,8 @@ class BlockTools {
55317
55334
  }
55318
55335
  case "SetMaterialIDBlock":
55319
55336
  return new core_Meshes_Node_Enums_nodeGeometryConnectionPointTypes__WEBPACK_IMPORTED_MODULE_0__.SetMaterialIDBlock("Set material ID");
55337
+ case "InstantiateOnVolumeBlock":
55338
+ return new core_Meshes_Node_Enums_nodeGeometryConnectionPointTypes__WEBPACK_IMPORTED_MODULE_0__.InstantiateOnVolumeBlock("Instantiate on volume");
55320
55339
  case "InstantiateOnFacesBlock":
55321
55340
  return new core_Meshes_Node_Enums_nodeGeometryConnectionPointTypes__WEBPACK_IMPORTED_MODULE_0__.InstantiateOnFacesBlock("Instantiate on faces");
55322
55341
  case "InstantiateOnVerticesBlock":
@@ -55438,6 +55457,11 @@ class BlockTools {
55438
55457
  block.contextualValue = core_Meshes_Node_Enums_nodeGeometryConnectionPointTypes__WEBPACK_IMPORTED_MODULE_0__.NodeGeometryContextualSources.VertexID;
55439
55458
  return block;
55440
55459
  }
55460
+ case "GeometryIDBlock": {
55461
+ const block = new core_Meshes_Node_Enums_nodeGeometryConnectionPointTypes__WEBPACK_IMPORTED_MODULE_0__.GeometryInputBlock("Geometry ID");
55462
+ block.contextualValue = core_Meshes_Node_Enums_nodeGeometryConnectionPointTypes__WEBPACK_IMPORTED_MODULE_0__.NodeGeometryContextualSources.GeometryID;
55463
+ return block;
55464
+ }
55441
55465
  case "FaceIDBlock": {
55442
55466
  const block = new core_Meshes_Node_Enums_nodeGeometryConnectionPointTypes__WEBPACK_IMPORTED_MODULE_0__.GeometryInputBlock("Face ID");
55443
55467
  block.contextualValue = core_Meshes_Node_Enums_nodeGeometryConnectionPointTypes__WEBPACK_IMPORTED_MODULE_0__.NodeGeometryContextualSources.FaceID;
@@ -55803,6 +55827,7 @@ class NodeListComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Component {
55803
55827
  "UV6sBlock",
55804
55828
  "VertexIDBlock",
55805
55829
  "FaceIDBlock",
55830
+ "GeometryIDBlock",
55806
55831
  ],
55807
55832
  Logical: ["EqualBlock", "NotEqualBlock", "LessThanBlock", "LessOrEqualBlock", "GreaterThanBlock", "GreaterOrEqualBlock", "XorBlock", "OrBlock", "AndBlock"],
55808
55833
  Math__Standard: [
@@ -55838,7 +55863,7 @@ class NodeListComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Component {
55838
55863
  ],
55839
55864
  Math__Vector: ["TransformBlock", "VectorConverterBlock", "NormalizeBlock"],
55840
55865
  Matrices: ["RotationXBlock", "RotationYBlock", "RotationZBlock", "ScalingBlock", "TranslationBlock", "AlignBlock"],
55841
- Instances: ["InstantiateOnVerticesBlock", "InstantiateOnFacesBlock"],
55866
+ Instances: ["InstantiateOnVerticesBlock", "InstantiateOnFacesBlock", "InstantiateOnVolumeBlock"],
55842
55867
  Misc: ["ElbowBlock", "DebugBlock", "TeleportInBlock", "TeleportOutBlock"],
55843
55868
  Updates: [
55844
55869
  "SetColorsBlock",
@@ -55920,6 +55945,7 @@ NodeListComponent._Tooltips = {
55920
55945
  UV6sBlock: "Contextual value pointing at the uvs6 array of the active geometry",
55921
55946
  VertexIDBlock: "Contextual value representing the vertex index of the current vertex of the active geometry",
55922
55947
  FaceIDBlock: "Contextual value representing the face index of the current face of the active geometry",
55948
+ GeometryIDBlock: "Contextual value representing the identifier of the current active geometry",
55923
55949
  EqualBlock: "Conditional block set to Equal",
55924
55950
  NotEqualBlock: "Conditional block set to NotEqual",
55925
55951
  LessThanBlock: "Conditional block set to LessThan",
@@ -55967,6 +55993,7 @@ NodeListComponent._Tooltips = {
55967
55993
  AlignBlock: "Create a rotation matrix used to align two vectors",
55968
55994
  InstantiateOnVerticesBlock: "Instantiate a geometry on every vertex of a target geometry",
55969
55995
  InstantiateOnFacesBlock: "Instantiate a geometry on the faces of a target geometry",
55996
+ InstantiateOnVolumeBlock: "Instantiate a geometry inside a target geometry",
55970
55997
  ElbowBlock: "Passthrough block mostly used to organize your graph",
55971
55998
  TeleportInBlock: "Passthrough block mostly used to organize your graph (but without visible lines). It works like a teleportation point for the graph.",
55972
55999
  TeleportOutBlock: "Endpoint for a TeleportInBlock.",
@@ -57858,6 +57885,39 @@ class InputDisplayManager {
57858
57885
  case core_Meshes_Node_Enums_nodeGeometryConnectionPointTypes__WEBPACK_IMPORTED_MODULE_2__.NodeGeometryContextualSources.Normals:
57859
57886
  value = "Normals";
57860
57887
  break;
57888
+ case core_Meshes_Node_Enums_nodeGeometryConnectionPointTypes__WEBPACK_IMPORTED_MODULE_2__.NodeGeometryContextualSources.VertexID:
57889
+ value = "VertexID";
57890
+ break;
57891
+ case core_Meshes_Node_Enums_nodeGeometryConnectionPointTypes__WEBPACK_IMPORTED_MODULE_2__.NodeGeometryContextualSources.GeometryID:
57892
+ value = "GeometryID";
57893
+ break;
57894
+ case core_Meshes_Node_Enums_nodeGeometryConnectionPointTypes__WEBPACK_IMPORTED_MODULE_2__.NodeGeometryContextualSources.FaceID:
57895
+ value = "FaceID";
57896
+ break;
57897
+ case core_Meshes_Node_Enums_nodeGeometryConnectionPointTypes__WEBPACK_IMPORTED_MODULE_2__.NodeGeometryContextualSources.Tangents:
57898
+ value = "Tangents";
57899
+ break;
57900
+ case core_Meshes_Node_Enums_nodeGeometryConnectionPointTypes__WEBPACK_IMPORTED_MODULE_2__.NodeGeometryContextualSources.UV:
57901
+ value = "UV";
57902
+ break;
57903
+ case core_Meshes_Node_Enums_nodeGeometryConnectionPointTypes__WEBPACK_IMPORTED_MODULE_2__.NodeGeometryContextualSources.UV2:
57904
+ value = "UV2";
57905
+ break;
57906
+ case core_Meshes_Node_Enums_nodeGeometryConnectionPointTypes__WEBPACK_IMPORTED_MODULE_2__.NodeGeometryContextualSources.UV3:
57907
+ value = "UV3";
57908
+ break;
57909
+ case core_Meshes_Node_Enums_nodeGeometryConnectionPointTypes__WEBPACK_IMPORTED_MODULE_2__.NodeGeometryContextualSources.UV4:
57910
+ value = "UV4";
57911
+ break;
57912
+ case core_Meshes_Node_Enums_nodeGeometryConnectionPointTypes__WEBPACK_IMPORTED_MODULE_2__.NodeGeometryContextualSources.UV5:
57913
+ value = "UV5";
57914
+ break;
57915
+ case core_Meshes_Node_Enums_nodeGeometryConnectionPointTypes__WEBPACK_IMPORTED_MODULE_2__.NodeGeometryContextualSources.UV6:
57916
+ value = "UV6";
57917
+ break;
57918
+ case core_Meshes_Node_Enums_nodeGeometryConnectionPointTypes__WEBPACK_IMPORTED_MODULE_2__.NodeGeometryContextualSources.Colors:
57919
+ value = "Colors";
57920
+ break;
57861
57921
  }
57862
57922
  }
57863
57923
  else {
@@ -58507,6 +58567,7 @@ class InputPropertyTabComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Compo
58507
58567
  contextualSourcesOptions = [
58508
58568
  { label: "Vertex ID", value: core_Meshes_Node_Enums_nodeGeometryConnectionPointTypes__WEBPACK_IMPORTED_MODULE_13__.NodeGeometryContextualSources.VertexID },
58509
58569
  { label: "Face ID", value: core_Meshes_Node_Enums_nodeGeometryConnectionPointTypes__WEBPACK_IMPORTED_MODULE_13__.NodeGeometryContextualSources.FaceID },
58570
+ { label: "Geometry ID", value: core_Meshes_Node_Enums_nodeGeometryConnectionPointTypes__WEBPACK_IMPORTED_MODULE_13__.NodeGeometryContextualSources.GeometryID },
58510
58571
  ];
58511
58572
  break;
58512
58573
  case core_Meshes_Node_Enums_nodeGeometryConnectionPointTypes__WEBPACK_IMPORTED_MODULE_13__.NodeGeometryBlockConnectionPointTypes.Vector2:
@@ -58534,7 +58595,10 @@ class InputPropertyTabComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Compo
58534
58595
  }
58535
58596
  const modeOptions = [{ label: "User-defined", value: 0 }];
58536
58597
  if (contextualSourcesOptions.length > 0) {
58537
- modeOptions.push({ label: "Contextual value", value: 1 });
58598
+ modeOptions.push({ label: "Contextual value (Integer)", value: core_Meshes_Node_Enums_nodeGeometryConnectionPointTypes__WEBPACK_IMPORTED_MODULE_13__.NodeGeometryBlockConnectionPointTypes.Int });
58599
+ modeOptions.push({ label: "Contextual value (Vector2)", value: core_Meshes_Node_Enums_nodeGeometryConnectionPointTypes__WEBPACK_IMPORTED_MODULE_13__.NodeGeometryBlockConnectionPointTypes.Vector2 });
58600
+ modeOptions.push({ label: "Contextual value (Vector3)", value: core_Meshes_Node_Enums_nodeGeometryConnectionPointTypes__WEBPACK_IMPORTED_MODULE_13__.NodeGeometryBlockConnectionPointTypes.Vector3 });
58601
+ modeOptions.push({ label: "Contextual value (Vector4)", value: core_Meshes_Node_Enums_nodeGeometryConnectionPointTypes__WEBPACK_IMPORTED_MODULE_13__.NodeGeometryBlockConnectionPointTypes.Vector4 });
58538
58602
  }
58539
58603
  const typeOptions = [
58540
58604
  { label: "None", value: 0 },
@@ -58566,7 +58630,7 @@ class InputPropertyTabComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Compo
58566
58630
  this.props.stateManager.onRebuildRequiredObservable.notifyObservers();
58567
58631
  }, 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: () => {
58568
58632
  if (inputBlock.isContextual) {
58569
- return 1;
58633
+ return inputBlock.type;
58570
58634
  }
58571
58635
  return 0;
58572
58636
  }, onSelect: (value) => {
@@ -58574,8 +58638,21 @@ class InputPropertyTabComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Compo
58574
58638
  case 0:
58575
58639
  this.setDefaultValue();
58576
58640
  break;
58577
- case 1:
58578
- inputBlock.contextualValue = contextualSourcesOptions[1].value;
58641
+ default:
58642
+ switch (value) {
58643
+ case core_Meshes_Node_Enums_nodeGeometryConnectionPointTypes__WEBPACK_IMPORTED_MODULE_13__.NodeGeometryBlockConnectionPointTypes.Int:
58644
+ inputBlock.contextualValue = core_Meshes_Node_Enums_nodeGeometryConnectionPointTypes__WEBPACK_IMPORTED_MODULE_13__.NodeGeometryContextualSources.VertexID;
58645
+ break;
58646
+ case core_Meshes_Node_Enums_nodeGeometryConnectionPointTypes__WEBPACK_IMPORTED_MODULE_13__.NodeGeometryBlockConnectionPointTypes.Vector2:
58647
+ inputBlock.contextualValue = core_Meshes_Node_Enums_nodeGeometryConnectionPointTypes__WEBPACK_IMPORTED_MODULE_13__.NodeGeometryContextualSources.UV;
58648
+ break;
58649
+ case core_Meshes_Node_Enums_nodeGeometryConnectionPointTypes__WEBPACK_IMPORTED_MODULE_13__.NodeGeometryBlockConnectionPointTypes.Vector3:
58650
+ inputBlock.contextualValue = core_Meshes_Node_Enums_nodeGeometryConnectionPointTypes__WEBPACK_IMPORTED_MODULE_13__.NodeGeometryContextualSources.Positions;
58651
+ break;
58652
+ case core_Meshes_Node_Enums_nodeGeometryConnectionPointTypes__WEBPACK_IMPORTED_MODULE_13__.NodeGeometryBlockConnectionPointTypes.Vector4:
58653
+ inputBlock.contextualValue = core_Meshes_Node_Enums_nodeGeometryConnectionPointTypes__WEBPACK_IMPORTED_MODULE_13__.NodeGeometryContextualSources.Colors;
58654
+ break;
58655
+ }
58579
58656
  break;
58580
58657
  }
58581
58658
  this.forceUpdate();