x_ite 9.3.1 → 9.3.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.
Files changed (47) hide show
  1. package/dist/assets/components/Annotation.js +13 -13
  2. package/dist/assets/components/Annotation.min.js +1 -1
  3. package/dist/assets/components/CADGeometry.js +14 -14
  4. package/dist/assets/components/CADGeometry.min.js +1 -1
  5. package/dist/assets/components/CubeMapTexturing.js +25 -25
  6. package/dist/assets/components/CubeMapTexturing.min.js +1 -1
  7. package/dist/assets/components/DIS.js +13 -13
  8. package/dist/assets/components/DIS.min.js +1 -1
  9. package/dist/assets/components/EventUtilities.js +9 -9
  10. package/dist/assets/components/EventUtilities.min.js +1 -1
  11. package/dist/assets/components/Geometry2D.js +31 -23
  12. package/dist/assets/components/Geometry2D.min.js +1 -1
  13. package/dist/assets/components/Geospatial.js +33 -33
  14. package/dist/assets/components/Geospatial.min.js +1 -1
  15. package/dist/assets/components/HAnim.js +23 -23
  16. package/dist/assets/components/HAnim.min.js +1 -1
  17. package/dist/assets/components/KeyDeviceSensor.js +8 -8
  18. package/dist/assets/components/KeyDeviceSensor.min.js +1 -1
  19. package/dist/assets/components/Layout.js +27 -27
  20. package/dist/assets/components/Layout.min.js +1 -1
  21. package/dist/assets/components/NURBS.js +23 -23
  22. package/dist/assets/components/NURBS.min.js +1 -1
  23. package/dist/assets/components/ParticleSystems.js +27 -24
  24. package/dist/assets/components/ParticleSystems.min.js +1 -1
  25. package/dist/assets/components/Picking.js +18 -18
  26. package/dist/assets/components/Picking.min.js +1 -1
  27. package/dist/assets/components/RigidBodyPhysics.js +17 -17
  28. package/dist/assets/components/RigidBodyPhysics.min.js +1 -1
  29. package/dist/assets/components/Scripting.js +38 -38
  30. package/dist/assets/components/Scripting.min.js +1 -1
  31. package/dist/assets/components/Text.js +28 -26
  32. package/dist/assets/components/Text.min.js +1 -1
  33. package/dist/assets/components/TextureProjection.js +15 -15
  34. package/dist/assets/components/TextureProjection.min.js +1 -1
  35. package/dist/assets/components/Texturing3D.js +30 -30
  36. package/dist/assets/components/Texturing3D.min.js +1 -1
  37. package/dist/assets/components/VolumeRendering.js +36 -28
  38. package/dist/assets/components/VolumeRendering.min.js +1 -1
  39. package/dist/assets/components/X_ITE.js +8 -8
  40. package/dist/assets/components/X_ITE.min.js +1 -1
  41. package/dist/x_ite.css +1 -1
  42. package/dist/x_ite.js +725 -417
  43. package/dist/x_ite.min.js +1 -1
  44. package/dist/x_ite.min.mjs +1 -1
  45. package/dist/x_ite.mjs +725 -417
  46. package/dist/x_ite.zip +0 -0
  47. package/package.json +1 -1
package/dist/x_ite.mjs CHANGED
@@ -1,9 +1,9 @@
1
- /* X_ITE v9.3.1 */var __webpack_modules__ = ({
1
+ /* X_ITE v9.3.2 */var __webpack_modules__ = ({
2
2
 
3
- /***/ 773:
3
+ /***/ 403:
4
4
  /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
5
5
 
6
- /* provided dependency */ var jQuery = __webpack_require__(37);
6
+ /* provided dependency */ var jQuery = __webpack_require__(183);
7
7
  /**
8
8
  * @preserve jquery.fullscreen 1.1.5
9
9
  * https://github.com/code-lts/jquery-fullscreen-plugin
@@ -199,7 +199,7 @@ installFullScreenHandlers();
199
199
 
200
200
  /***/ }),
201
201
 
202
- /***/ 693:
202
+ /***/ 287:
203
203
  /***/ ((module, exports, __webpack_require__) => {
204
204
 
205
205
  var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
@@ -213,7 +213,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
213
213
  (function (factory) {
214
214
  if ( true ) {
215
215
  // AMD. Register as an anonymous module.
216
- !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(37)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
216
+ !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(183)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
217
217
  __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
218
218
  (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
219
219
  __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
@@ -424,7 +424,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
424
424
 
425
425
  /***/ }),
426
426
 
427
- /***/ 37:
427
+ /***/ 183:
428
428
  /***/ (function(module, exports) {
429
429
 
430
430
  var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
@@ -11148,7 +11148,7 @@ return jQuery;
11148
11148
 
11149
11149
  /***/ }),
11150
11150
 
11151
- /***/ 214:
11151
+ /***/ 972:
11152
11152
  /***/ ((module) => {
11153
11153
 
11154
11154
  /**
@@ -15927,7 +15927,7 @@ if (true) {
15927
15927
 
15928
15928
  /***/ }),
15929
15929
 
15930
- /***/ 465:
15930
+ /***/ 935:
15931
15931
  /***/ (function(__unused_webpack_module, exports) {
15932
15932
 
15933
15933
 
@@ -19172,7 +19172,7 @@ if (true) {
19172
19172
 
19173
19173
  /***/ }),
19174
19174
 
19175
- /***/ 790:
19175
+ /***/ 432:
19176
19176
  /***/ (function(module, exports) {
19177
19177
 
19178
19178
  var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*
@@ -20299,7 +20299,7 @@ Object .defineProperty (Namespace, "add",
20299
20299
  }
20300
20300
  else
20301
20301
  {
20302
- const X3D = window [Symbol .for ("X_ITE.X3D-9.3.1")];
20302
+ const X3D = window [Symbol .for ("X_ITE.X3D-9.3.2")];
20303
20303
 
20304
20304
  if (X3D)
20305
20305
  X3D [name] = module;
@@ -34234,7 +34234,7 @@ const X3DBaseNode_default_ = X3DBaseNode;
34234
34234
  x_ite_Namespace .add ("X3DBaseNode", "x_ite/Base/X3DBaseNode", X3DBaseNode_default_);
34235
34235
  /* harmony default export */ const Base_X3DBaseNode = (X3DBaseNode_default_);
34236
34236
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Legacy.js
34237
- /* provided dependency */ var $ = __webpack_require__(37);
34237
+ /* provided dependency */ var $ = __webpack_require__(183);
34238
34238
  /*******************************************************************************
34239
34239
  *
34240
34240
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -34371,7 +34371,7 @@ x_ite_Namespace .add ("Legacy", "x_ite/Browser/Legacy", Legacy_default_);
34371
34371
  *
34372
34372
  ******************************************************************************/
34373
34373
 
34374
- const BROWSER_VERSION_default_ = "9.3.1";
34374
+ const BROWSER_VERSION_default_ = "9.3.2";
34375
34375
  ;
34376
34376
 
34377
34377
  x_ite_Namespace .add ("BROWSER_VERSION", "x_ite/BROWSER_VERSION", BROWSER_VERSION_default_);
@@ -37157,9 +37157,14 @@ Object .assign (Object .setPrototypeOf (X3DChildNode .prototype, Core_X3DNode .p
37157
37157
  {
37158
37158
  return this ._isPickableObject .getValue ();
37159
37159
  },
37160
- getMustDisplay ()
37160
+ /**
37161
+ * You will normally overload this function in your derived classes.
37162
+ * @returns {boolean} A boolean value indicating, whether this node
37163
+ * can be visually displayed and therefor should render.
37164
+ */
37165
+ isRenderingRequired ()
37161
37166
  {
37162
- return false
37167
+ return false;
37163
37168
  },
37164
37169
  });
37165
37170
 
@@ -38947,7 +38952,7 @@ const X3DProtoDeclaration_default_ = X3DProtoDeclaration;
38947
38952
  x_ite_Namespace .add ("X3DProtoDeclaration", "x_ite/Prototype/X3DProtoDeclaration", X3DProtoDeclaration_default_);
38948
38953
  /* harmony default export */ const Prototype_X3DProtoDeclaration = (X3DProtoDeclaration_default_);
38949
38954
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/X3DParser.js
38950
- /* provided dependency */ var X3DParser_$ = __webpack_require__(37);
38955
+ /* provided dependency */ var X3DParser_$ = __webpack_require__(183);
38951
38956
  /*******************************************************************************
38952
38957
  *
38953
38958
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -39209,7 +39214,7 @@ const Expressions_default_ = Expressions;
39209
39214
  x_ite_Namespace .add ("Expressions", "x_ite/Parser/Expressions", Expressions_default_);
39210
39215
  /* harmony default export */ const Parser_Expressions = (Expressions_default_);
39211
39216
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/VRMLParser.js
39212
- /* provided dependency */ var VRMLParser_$ = __webpack_require__(37);
39217
+ /* provided dependency */ var VRMLParser_$ = __webpack_require__(183);
39213
39218
  /*******************************************************************************
39214
39219
  *
39215
39220
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -41895,7 +41900,7 @@ const VRMLParser_default_ = VRMLParser;
41895
41900
  x_ite_Namespace .add ("VRMLParser", "x_ite/Parser/VRMLParser", VRMLParser_default_);
41896
41901
  /* harmony default export */ const Parser_VRMLParser = (VRMLParser_default_);
41897
41902
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/XMLParser.js
41898
- /* provided dependency */ var XMLParser_$ = __webpack_require__(37);
41903
+ /* provided dependency */ var XMLParser_$ = __webpack_require__(183);
41899
41904
  /*******************************************************************************
41900
41905
  *
41901
41906
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -44004,7 +44009,7 @@ const URLs_default_ = URLs;
44004
44009
  x_ite_Namespace .add ("URLs", "x_ite/Browser/Networking/URLs", URLs_default_);
44005
44010
  /* harmony default export */ const Networking_URLs = (URLs_default_);
44006
44011
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/GLTF2Parser.js
44007
- /* provided dependency */ var GLTF2Parser_$ = __webpack_require__(37);
44012
+ /* provided dependency */ var GLTF2Parser_$ = __webpack_require__(183);
44008
44013
  /*******************************************************************************
44009
44014
  *
44010
44015
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -47305,7 +47310,7 @@ const GLTF2Parser_default_ = GLTF2Parser;
47305
47310
  x_ite_Namespace .add ("GLTF2Parser", "x_ite/Parser/GLTF2Parser", GLTF2Parser_default_);
47306
47311
  /* harmony default export */ const Parser_GLTF2Parser = (GLTF2Parser_default_);
47307
47312
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/GLB2Parser.js
47308
- /* provided dependency */ var GLB2Parser_$ = __webpack_require__(37);
47313
+ /* provided dependency */ var GLB2Parser_$ = __webpack_require__(183);
47309
47314
  /*******************************************************************************
47310
47315
  *
47311
47316
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -47457,7 +47462,7 @@ const GLB2Parser_default_ = GLB2Parser;
47457
47462
  x_ite_Namespace .add ("GLB2Parser", "x_ite/Parser/GLB2Parser", GLB2Parser_default_);
47458
47463
  /* harmony default export */ const Parser_GLB2Parser = (GLB2Parser_default_);
47459
47464
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/OBJParser.js
47460
- /* provided dependency */ var OBJParser_$ = __webpack_require__(37);
47465
+ /* provided dependency */ var OBJParser_$ = __webpack_require__(183);
47461
47466
  /*******************************************************************************
47462
47467
  *
47463
47468
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -50812,8 +50817,8 @@ const MatrixStack_default_ = MatrixStack;
50812
50817
  x_ite_Namespace .add ("MatrixStack", "standard/Math/Utility/MatrixStack", MatrixStack_default_);
50813
50818
  /* harmony default export */ const Utility_MatrixStack = (MatrixStack_default_);
50814
50819
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/SVGParser.js
50815
- /* provided dependency */ var SVGParser_$ = __webpack_require__(37);
50816
- /* provided dependency */ var libtess = __webpack_require__(214);
50820
+ /* provided dependency */ var SVGParser_$ = __webpack_require__(183);
50821
+ /* provided dependency */ var libtess = __webpack_require__(972);
50817
50822
  /*******************************************************************************
50818
50823
  *
50819
50824
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -53581,7 +53586,7 @@ const SVGParser_default_ = SVGParser;
53581
53586
  x_ite_Namespace .add ("SVGParser", "x_ite/Parser/SVGParser", SVGParser_default_);
53582
53587
  /* harmony default export */ const Parser_SVGParser = (SVGParser_default_);
53583
53588
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/GoldenGate.js
53584
- /* provided dependency */ var GoldenGate_$ = __webpack_require__(37);
53589
+ /* provided dependency */ var GoldenGate_$ = __webpack_require__(183);
53585
53590
  /*******************************************************************************
53586
53591
  *
53587
53592
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -53931,7 +53936,7 @@ const Plane3_default_ = Plane3;
53931
53936
  x_ite_Namespace .add ("Plane3", "standard/Math/Geometry/Plane3", Plane3_default_);
53932
53937
  /* harmony default export */ const Geometry_Plane3 = (Plane3_default_);
53933
53938
  ;// CONCATENATED MODULE: ./src/standard/Math/Geometry/Triangle3.js
53934
- /* provided dependency */ var Triangle3_libtess = __webpack_require__(214);
53939
+ /* provided dependency */ var Triangle3_libtess = __webpack_require__(972);
53935
53940
  /*******************************************************************************
53936
53941
  *
53937
53942
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -58146,19 +58151,18 @@ function X3DGroupingNode (executionContext)
58146
58151
  this .addType (Base_X3DConstants .X3DGroupingNode);
58147
58152
 
58148
58153
  this .allowedTypes = new Set ();
58149
- this .clipPlaneNodes = [ ];
58150
- this .localFogNodes = [ ];
58151
- this .lightNodes = [ ];
58152
- this .pointingDeviceSensorNodes = [ ];
58153
- this .maybeCameraObjects = [ ];
58154
- this .cameraObjects = [ ];
58155
- this .maybePickableSensorNodes = [ ];
58156
- this .pickableSensorNodes = [ ];
58157
- this .pickableObjects = [ ];
58158
- this .childNodes = [ ];
58159
- this .displayNodes = [ ];
58160
- this .visibleNodes = [ ];
58161
- this .boundedObjects = [ ];
58154
+ this .children = new Set ();
58155
+ this .pointingDeviceSensorNodes = new Set ();
58156
+ this .clipPlaneNodes = new Set ();
58157
+ this .displayNodes = new Set ();
58158
+ this .maybeCameraObjects = new Set ();
58159
+ this .cameraObjects = new Set ();
58160
+ this .maybePickableSensorNodes = new Set ();
58161
+ this .pickableSensorNodes = new Set ();
58162
+ this .pickableObjects = new Set ();
58163
+ this .childNodes = new Set ();
58164
+ this .visibleNodes = new Set ();
58165
+ this .boundedObjects = new Set ();
58162
58166
  this .sensors = [ ];
58163
58167
  }
58164
58168
 
@@ -58191,12 +58195,10 @@ Object .assign (Object .setPrototypeOf (X3DGroupingNode .prototype, Core_X3DChil
58191
58195
  },
58192
58196
  setAllowedTypes (/* type, ... */)
58193
58197
  {
58194
- const allowedTypes = this .allowedTypes;
58195
-
58196
- allowedTypes .clear ();
58198
+ this .allowedTypes .clear ();
58197
58199
 
58198
58200
  for (const type of arguments)
58199
- allowedTypes .add (type);
58201
+ this .allowedTypes .add (type);
58200
58202
  },
58201
58203
  set_addChildren__ ()
58202
58204
  {
@@ -58204,7 +58206,13 @@ Object .assign (Object .setPrototypeOf (X3DGroupingNode .prototype, Core_X3DChil
58204
58206
  return;
58205
58207
 
58206
58208
  this ._addChildren .setTainted (true);
58207
- this ._addChildren .assign (filter (this ._addChildren, this ._children));
58209
+
58210
+ const addChildren = new Set (this ._addChildren);
58211
+
58212
+ for (const node of this .children)
58213
+ addChildren .delete (node);
58214
+
58215
+ this .add (addChildren);
58208
58216
 
58209
58217
  if (!this ._children .isTainted ())
58210
58218
  {
@@ -58212,8 +58220,8 @@ Object .assign (Object .setPrototypeOf (X3DGroupingNode .prototype, Core_X3DChil
58212
58220
  this ._children .addInterest ("connectChildren", this);
58213
58221
  }
58214
58222
 
58215
- this ._children .splice (this ._children .length, 0, ... this ._addChildren);
58216
- this .add (this ._addChildren);
58223
+ for (const child of addChildren)
58224
+ this ._children .push (child);
58217
58225
 
58218
58226
  this ._addChildren .length = 0;
58219
58227
  this ._addChildren .setTainted (false);
@@ -58227,14 +58235,15 @@ Object .assign (Object .setPrototypeOf (X3DGroupingNode .prototype, Core_X3DChil
58227
58235
 
58228
58236
  if (this ._children .length > 0)
58229
58237
  {
58238
+ this .remove (this ._removeChildren);
58239
+
58230
58240
  if (!this ._children .isTainted ())
58231
58241
  {
58232
58242
  this ._children .removeInterest ("set_children__", this);
58233
58243
  this ._children .addInterest ("connectChildren", this);
58234
58244
  }
58235
58245
 
58236
- this ._children .assign (filter (this ._children, this ._removeChildren));
58237
- this .remove (this ._removeChildren);
58246
+ this ._children = Array .from (this ._children) .filter (child => this .children .has (child));
58238
58247
  }
58239
58248
 
58240
58249
  this ._removeChildren .length = 0;
@@ -58262,23 +58271,30 @@ Object .assign (Object .setPrototypeOf (X3DGroupingNode .prototype, Core_X3DChil
58262
58271
 
58263
58272
  if (Base_X3DCast (Base_X3DConstants .X3DBoundedObject, childNode))
58264
58273
  {
58265
- childNode ._display .removeInterest ("set_displays_", this);
58274
+ childNode ._display .removeInterest ("set_displays__", this);
58266
58275
  childNode ._bboxDisplay .removeInterest ("set_bboxDisplays__", this);
58267
58276
  }
58268
58277
  }
58269
58278
 
58270
- this .clipPlaneNodes .length = 0;
58271
- this .localFogNodes .length = 0;
58272
- this .lightNodes .length = 0;
58273
- this .pointingDeviceSensorNodes .length = 0;
58274
- this .maybeCameraObjects .length = 0;
58275
- this .maybePickableSensorNodes .length = 0;
58276
- this .childNodes .length = 0;
58279
+ this .children .clear ();
58280
+ this .pointingDeviceSensorNodes .clear ();
58281
+ this .clipPlaneNodes .clear ();
58282
+ this .displayNodes .clear ();
58283
+ this .maybeCameraObjects .clear ();
58284
+ this .cameraObjects .clear ();
58285
+ this .maybePickableSensorNodes .clear ();
58286
+ this .pickableSensorNodes .clear ();
58287
+ this .pickableObjects .clear ();
58288
+ this .childNodes .clear ();
58289
+ this .visibleNodes .clear ();
58290
+ this .boundedObjects .clear ();
58277
58291
  },
58278
58292
  add (children)
58279
58293
  {
58280
58294
  for (const child of children)
58281
58295
  {
58296
+ this .children .add (child);
58297
+
58282
58298
  const childNode = Base_X3DCast (Base_X3DConstants .X3DChildNode, child);
58283
58299
 
58284
58300
  if (!childNode)
@@ -58298,27 +58314,30 @@ Object .assign (Object .setPrototypeOf (X3DGroupingNode .prototype, Core_X3DChil
58298
58314
  {
58299
58315
  case Base_X3DConstants .X3DPointingDeviceSensorNode:
58300
58316
  {
58301
- this .pointingDeviceSensorNodes .push (childNode);
58317
+ this .pointingDeviceSensorNodes .add (childNode);
58302
58318
  break;
58303
58319
  }
58304
58320
  case Base_X3DConstants .ClipPlane:
58305
58321
  {
58306
- this .clipPlaneNodes .push (childNode);
58322
+ this .clipPlaneNodes .add (childNode);
58323
+ this .displayNodes .add (childNode);
58307
58324
  break;
58308
58325
  }
58309
58326
  case Base_X3DConstants .LocalFog:
58310
58327
  {
58311
- this .localFogNodes .push (childNode);
58328
+ this .displayNodes .add (childNode);
58312
58329
  break;
58313
58330
  }
58314
58331
  case Base_X3DConstants .X3DLightNode:
58315
58332
  {
58316
- this .lightNodes .push (childNode);
58333
+ this .displayNodes .add (childNode);
58317
58334
  break;
58318
58335
  }
58319
58336
  case Base_X3DConstants .X3DBindableNode:
58320
58337
  {
58321
- this .maybeCameraObjects .push (childNode);
58338
+ this .maybeCameraObjects .add (childNode);
58339
+
58340
+ this .addCameraObject (childNode);
58322
58341
  break;
58323
58342
  }
58324
58343
  case Base_X3DConstants .TransformSensor:
@@ -58326,7 +58345,9 @@ Object .assign (Object .setPrototypeOf (X3DGroupingNode .prototype, Core_X3DChil
58326
58345
  {
58327
58346
  childNode ._isPickableObject .addInterest ("set_pickableObjects__", this);
58328
58347
 
58329
- this .maybePickableSensorNodes .push (childNode);
58348
+ this .maybePickableSensorNodes .add (childNode);
58349
+
58350
+ this .addPickableSensorNode (childNode);
58330
58351
  break;
58331
58352
  }
58332
58353
  case Base_X3DConstants .Sound:
@@ -58339,12 +58360,17 @@ Object .assign (Object .setPrototypeOf (X3DGroupingNode .prototype, Core_X3DChil
58339
58360
 
58340
58361
  if (Base_X3DCast (Base_X3DConstants .X3DBoundedObject, childNode))
58341
58362
  {
58342
- childNode ._display .addInterest ("set_displays_", this);
58363
+ childNode ._display .addInterest ("set_displays__", this);
58343
58364
  childNode ._bboxDisplay .addInterest ("set_bboxDisplays__", this);
58344
58365
  }
58345
58366
 
58346
- this .maybeCameraObjects .push (childNode);
58347
- this .childNodes .push (childNode);
58367
+ this .maybeCameraObjects .add (childNode);
58368
+ this .childNodes .add (childNode);
58369
+
58370
+ this .addCameraObject (childNode);
58371
+ this .addPickableObject (childNode);
58372
+ this .addVisibleNode (childNode);
58373
+ this .addBoundedObject (childNode);
58348
58374
  break;
58349
58375
  }
58350
58376
  case Base_X3DConstants .BooleanFilter:
@@ -58370,38 +58396,27 @@ Object .assign (Object .setPrototypeOf (X3DGroupingNode .prototype, Core_X3DChil
58370
58396
  continue;
58371
58397
  }
58372
58398
 
58373
- break;
58374
- }
58399
+ if (childNode .isRenderingRequired ())
58400
+ continue;
58375
58401
 
58376
- if (childNode .getMustDisplay ())
58377
- {
58378
- if (!this .childNodes .includes (childNode))
58379
- this .childNodes .push (childNode);
58402
+ break;
58380
58403
  }
58381
58404
  }
58382
58405
 
58383
- this .set_pickableObjects__ ()
58384
- this .set_displayNodes__ ()
58385
- this .set_displays_ ()
58386
- this .set_bboxDisplays__ ();
58406
+ this .setCameraObject (this .cameraObjects .size);
58407
+ this .set_transformSensors__ ();
58387
58408
  },
58388
58409
  remove (children)
58389
58410
  {
58390
58411
  for (const child of children)
58391
58412
  {
58413
+ this .children .delete (child);
58414
+
58392
58415
  const childNode = Base_X3DCast (Base_X3DConstants .X3DChildNode, child);
58393
58416
 
58394
58417
  if (!childNode)
58395
58418
  continue;
58396
58419
 
58397
- if (childNode .getMustDisplay ())
58398
- {
58399
- const index = this .childNodes .indexOf (childNode);
58400
-
58401
- if (index >= 0)
58402
- this .childNodes .splice (index, 1);
58403
- }
58404
-
58405
58420
  const type = childNode .getType ();
58406
58421
 
58407
58422
  for (let t = type .length - 1; t >= 0; -- t)
@@ -58410,47 +58425,29 @@ Object .assign (Object .setPrototypeOf (X3DGroupingNode .prototype, Core_X3DChil
58410
58425
  {
58411
58426
  case Base_X3DConstants .X3DPointingDeviceSensorNode:
58412
58427
  {
58413
- const index = this .pointingDeviceSensorNodes .indexOf (childNode);
58414
-
58415
- if (index >= 0)
58416
- this .pointingDeviceSensorNodes .splice (index, 1);
58417
-
58428
+ this .pointingDeviceSensorNodes .delete (childNode);
58418
58429
  break;
58419
58430
  }
58420
58431
  case Base_X3DConstants .ClipPlane:
58421
58432
  {
58422
- const index = this .clipPlaneNodes .indexOf (childNode);
58423
-
58424
- if (index >= 0)
58425
- this .clipPlaneNodes .splice (index, 1);
58426
-
58433
+ this .clipPlaneNodes .delete (childNode);
58434
+ this .displayNodes .delete (childNode);
58427
58435
  break;
58428
58436
  }
58429
58437
  case Base_X3DConstants .LocalFog:
58430
58438
  {
58431
- const index = this .localFogNodes .indexOf (childNode);
58432
-
58433
- if (index >= 0)
58434
- this .localFogNodes .splice (index, 1);
58435
-
58439
+ this .displayNodes .delete (childNode);
58436
58440
  break;
58437
58441
  }
58438
58442
  case Base_X3DConstants .X3DLightNode:
58439
58443
  {
58440
- const index = this .lightNodes .indexOf (childNode);
58441
-
58442
- if (index >= 0)
58443
- this .lightNodes .splice (index, 1);
58444
-
58444
+ this .displayNodes .delete (childNode);
58445
58445
  break;
58446
58446
  }
58447
58447
  case Base_X3DConstants .X3DBindableNode:
58448
58448
  {
58449
- const index = this .maybeCameraObjects .indexOf (childNode);
58450
-
58451
- if (index >= 0)
58452
- this .maybeCameraObjects .splice (index, 1);
58453
-
58449
+ this .maybeCameraObjects .delete (childNode);
58450
+ this .cameraObjects .delete (childNode);
58454
58451
  break;
58455
58452
  }
58456
58453
  case Base_X3DConstants .TransformSensor:
@@ -58458,11 +58455,8 @@ Object .assign (Object .setPrototypeOf (X3DGroupingNode .prototype, Core_X3DChil
58458
58455
  {
58459
58456
  childNode ._isPickableObject .removeInterest ("set_pickableObjects__", this);
58460
58457
 
58461
- const index = this .maybePickableSensorNodes .indexOf (childNode);
58462
-
58463
- if (index >= 0)
58464
- this .maybePickableSensorNodes .splice (index, 1);
58465
-
58458
+ this .maybePickableSensorNodes .delete (childNode);
58459
+ this .pickableSensorNodes .delete (childNode);
58466
58460
  break;
58467
58461
  }
58468
58462
  case Base_X3DConstants .Sound:
@@ -58475,20 +58469,16 @@ Object .assign (Object .setPrototypeOf (X3DGroupingNode .prototype, Core_X3DChil
58475
58469
 
58476
58470
  if (Base_X3DCast (Base_X3DConstants .X3DBoundedObject, childNode))
58477
58471
  {
58478
- childNode ._display .removeInterest ("set_displays_", this);
58472
+ childNode ._display .removeInterest ("set_displays__", this);
58479
58473
  childNode ._bboxDisplay .removeInterest ("set_bboxDisplays__", this);
58480
58474
  }
58481
58475
 
58482
- var index = this .maybeCameraObjects .indexOf (childNode);
58483
-
58484
- if (index >= 0)
58485
- this .maybeCameraObjects .splice (index, 1);
58486
-
58487
- var index = this .childNodes .indexOf (childNode);
58488
-
58489
- if (index >= 0)
58490
- this .childNodes .splice (index, 1);
58491
-
58476
+ this .maybeCameraObjects .delete (childNode);
58477
+ this .cameraObjects .delete (childNode);
58478
+ this .pickableObjects .delete (childNode);
58479
+ this .childNodes .delete (childNode);
58480
+ this .visibleNodes .delete (childNode);
58481
+ this .boundedObjects .delete (childNode);
58492
58482
  break;
58493
58483
  }
58494
58484
  case Base_X3DConstants .BooleanFilter:
@@ -58514,117 +58504,115 @@ Object .assign (Object .setPrototypeOf (X3DGroupingNode .prototype, Core_X3DChil
58514
58504
  continue;
58515
58505
  }
58516
58506
 
58507
+ if (childNode .isRenderingRequired ())
58508
+ continue;
58509
+
58517
58510
  break;
58518
58511
  }
58519
58512
  }
58520
58513
 
58521
- this .set_displayNodes__ ();
58522
- this .set_displays_ ();
58523
- this .set_bboxDisplays__ ();
58514
+ this .setCameraObject (this .cameraObjects .size);
58515
+ this .set_transformSensors__ ();
58516
+ },
58517
+ set_displays__ ()
58518
+ {
58519
+ this .set_cameraObjects__ ();
58520
+ this .set_pickableObjects__ ();
58521
+ this .set_visibleNodes__ ();
58524
58522
  },
58525
58523
  set_cameraObjects__ ()
58526
58524
  {
58527
- const cameraObjects = this .cameraObjects;
58528
-
58529
- cameraObjects .length = 0;
58525
+ this .cameraObjects .clear ();
58530
58526
 
58531
58527
  for (const childNode of this .maybeCameraObjects)
58532
- {
58533
- if (!childNode .isCameraObject ())
58534
- continue;
58528
+ this .addCameraObject (childNode);
58535
58529
 
58536
- if (Base_X3DCast (Base_X3DConstants .X3DBoundedObject, childNode))
58537
- {
58538
- if (childNode ._display .getValue ())
58539
- cameraObjects .push (childNode);
58540
- }
58541
- else
58542
- {
58543
- cameraObjects .push (childNode);
58544
- }
58545
- }
58546
-
58547
- this .setCameraObject (cameraObjects .length);
58530
+ this .setCameraObject (this .cameraObjects .size);
58548
58531
  },
58549
- set_pickableObjects__ ()
58532
+ addCameraObject (childNode)
58550
58533
  {
58551
- const
58552
- pickableSensorNodes = this .pickableSensorNodes,
58553
- pickableObjects = this .pickableObjects;
58554
-
58555
- pickableSensorNodes .length = 0;
58556
- pickableObjects .length = 0;
58534
+ if (!childNode .isCameraObject ())
58535
+ return;
58557
58536
 
58558
- for (const sensorNode of this .maybePickableSensorNodes)
58537
+ if (Base_X3DCast (Base_X3DConstants .X3DBoundedObject, childNode))
58559
58538
  {
58560
- if (sensorNode .isPickableObject ())
58561
- pickableSensorNodes .push (sensorNode);
58539
+ if (childNode ._display .getValue ())
58540
+ this .cameraObjects .add (childNode);
58562
58541
  }
58563
-
58564
- for (const childNode of this .visibleNodes)
58542
+ else
58565
58543
  {
58566
- if (childNode .isPickableObject ())
58567
- pickableObjects .push (childNode);
58544
+ this .cameraObjects .add (childNode);
58568
58545
  }
58546
+ },
58547
+ set_pickableObjects__ ()
58548
+ {
58549
+ this .pickableSensorNodes .clear ();
58550
+ this .pickableObjects .clear ();
58551
+
58552
+ for (const childNode of this .maybePickableSensorNodes)
58553
+ this .addPickableSensorNode (childNode);
58554
+
58555
+ for (const childNode of this .childNodes)
58556
+ this .addPickableObject (childNode);
58569
58557
 
58570
- this .set_transformSensors__ ()
58558
+ this .set_transformSensors__ ();
58571
58559
  },
58572
58560
  set_transformSensors__ ()
58573
58561
  {
58574
- this .setPickableObject (this .getTransformSensors () .size || this .pickableSensorNodes .length || this .pickableObjects .length);
58562
+ this .setPickableObject (this .getTransformSensors () .size || this .pickableSensorNodes .size || this .pickableObjects .size);
58575
58563
  },
58576
- set_displayNodes__ ()
58564
+ addPickableSensorNode (childNode)
58577
58565
  {
58578
- const displayNodes = this .displayNodes;
58579
-
58580
- displayNodes .length = 0;
58581
-
58582
- for (const node of this .clipPlaneNodes)
58583
- displayNodes .push (node);
58584
-
58585
- for (const node of this .localFogNodes)
58586
- displayNodes .push (node);
58587
-
58588
- for (const node of this .lightNodes)
58589
- displayNodes .push (node);
58566
+ if (childNode .isPickableObject ())
58567
+ this .pickableSensorNodes .add (childNode);
58590
58568
  },
58591
- set_displays_ ()
58569
+ addPickableObject (childNode)
58592
58570
  {
58593
- const visibleNodes = this .visibleNodes;
58571
+ if (!childNode .isPickableObject ())
58572
+ return;
58594
58573
 
58595
- visibleNodes .length = 0;
58574
+ if (Base_X3DCast (Base_X3DConstants .X3DBoundedObject, childNode))
58575
+ {
58576
+ if (childNode ._display .getValue ())
58577
+ this .pickableObjects .add (childNode);
58578
+ }
58579
+ else
58580
+ {
58581
+ this .pickableObjects .add (childNode);
58582
+ }
58583
+ },
58584
+ set_visibleNodes__ ()
58585
+ {
58586
+ this .visibleNodes .clear ();
58596
58587
 
58597
58588
  for (const childNode of this .childNodes)
58589
+ this .addVisibleNode (childNode);
58590
+ },
58591
+ addVisibleNode (childNode)
58592
+ {
58593
+ if (Base_X3DCast (Base_X3DConstants .X3DBoundedObject, childNode))
58598
58594
  {
58599
- if (Base_X3DCast (Base_X3DConstants .X3DBoundedObject, childNode))
58600
- {
58601
- if (childNode ._display .getValue ())
58602
- visibleNodes .push (childNode);
58603
- }
58604
- else
58605
- {
58606
- visibleNodes .push (childNode);
58607
- }
58595
+ if (childNode ._display .getValue ())
58596
+ this .visibleNodes .add (childNode);
58597
+ }
58598
+ else
58599
+ {
58600
+ this .visibleNodes .add (childNode);
58608
58601
  }
58609
-
58610
- this .set_cameraObjects__ ();
58611
- this .set_pickableObjects__ ();
58612
58602
  },
58613
58603
  set_bboxDisplays__ ()
58614
58604
  {
58615
- const boundedObjects = this .boundedObjects;
58616
-
58617
- boundedObjects .length = 0;
58605
+ this .boundedObjects .clear ();
58618
58606
 
58619
58607
  for (const childNode of this .childNodes)
58608
+ this .addBoundedObject (childNode);
58609
+ },
58610
+ addBoundedObject (childNode)
58611
+ {
58612
+ if (Base_X3DCast (Base_X3DConstants .X3DBoundedObject, childNode))
58620
58613
  {
58621
- if (Base_X3DCast (Base_X3DConstants .X3DBoundedObject, childNode))
58622
- {
58623
- if (childNode ._bboxDisplay .getValue ())
58624
- {
58625
- boundedObjects .push (childNode);
58626
- }
58627
- }
58614
+ if (childNode ._bboxDisplay .getValue ())
58615
+ this .boundedObjects .add (childNode);
58628
58616
  }
58629
58617
  },
58630
58618
  traverse (type, renderObject)
@@ -58640,7 +58628,7 @@ Object .assign (Object .setPrototypeOf (X3DGroupingNode .prototype, Core_X3DChil
58640
58628
 
58641
58629
  sensors .length = 0;
58642
58630
 
58643
- if (pointingDeviceSensorNodes .length)
58631
+ if (pointingDeviceSensorNodes .size)
58644
58632
  {
58645
58633
  for (const pointingDeviceSensorNode of pointingDeviceSensorNodes)
58646
58634
  pointingDeviceSensorNode .push (renderObject, sensors);
@@ -58762,13 +58750,6 @@ Object .assign (Object .setPrototypeOf (X3DGroupingNode .prototype, Core_X3DChil
58762
58750
  },
58763
58751
  });
58764
58752
 
58765
- function filter (array, remove)
58766
- {
58767
- const set = new Set (remove);
58768
-
58769
- return array .filter (value => !set .has (value));
58770
- }
58771
-
58772
58753
  Object .defineProperties (X3DGroupingNode,
58773
58754
  {
58774
58755
  typeName:
@@ -60502,7 +60483,9 @@ Object .assign (Object .setPrototypeOf (X3DGeometryNode .prototype, Core_X3DNode
60502
60483
  })(),
60503
60484
  set_live__ ()
60504
60485
  {
60505
- if (this .getLive () .getValue ())
60486
+ const alwaysUpdate = this .isLive () && this .getBrowser () .getBrowserOption ("AlwaysUpdateGeometries");
60487
+
60488
+ if (this .getLive () .getValue () || alwaysUpdate)
60506
60489
  this .getBrowser () .getBrowserOptions () ._Shading .addInterest ("set_shading__", this);
60507
60490
  else
60508
60491
  this .getBrowser () .getBrowserOptions () ._Shading .removeInterest ("set_shading__", this);
@@ -62444,7 +62427,7 @@ const X3DTexture2DNode_default_ = X3DTexture2DNode;
62444
62427
  x_ite_Namespace .add ("X3DTexture2DNode", "x_ite/Components/Texturing/X3DTexture2DNode", X3DTexture2DNode_default_);
62445
62428
  /* harmony default export */ const Texturing_X3DTexture2DNode = (X3DTexture2DNode_default_);
62446
62429
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Texturing/ImageTexture.js
62447
- /* provided dependency */ var ImageTexture_$ = __webpack_require__(37);
62430
+ /* provided dependency */ var ImageTexture_$ = __webpack_require__(183);
62448
62431
  /*******************************************************************************
62449
62432
  *
62450
62433
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -66045,7 +66028,7 @@ const X3DWorld_default_ = X3DWorld;
66045
66028
  x_ite_Namespace .add ("X3DWorld", "x_ite/Execution/X3DWorld", X3DWorld_default_);
66046
66029
  /* harmony default export */ const Execution_X3DWorld = (X3DWorld_default_);
66047
66030
  ;// CONCATENATED MODULE: ./src/x_ite/InputOutput/FileLoader.js
66048
- /* provided dependency */ var FileLoader_$ = __webpack_require__(37);
66031
+ /* provided dependency */ var FileLoader_$ = __webpack_require__(183);
66049
66032
  /*******************************************************************************
66050
66033
  *
66051
66034
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -66972,7 +66955,7 @@ const ProtoDeclarationArray_default_ = ProtoDeclarationArray;
66972
66955
  x_ite_Namespace .add ("ProtoDeclarationArray", "x_ite/Prototype/ProtoDeclarationArray", ProtoDeclarationArray_default_);
66973
66956
  /* harmony default export */ const Prototype_ProtoDeclarationArray = (ProtoDeclarationArray_default_);
66974
66957
  ;// CONCATENATED MODULE: ./src/x_ite/Routing/X3DRoute.js
66975
- /* provided dependency */ var X3DRoute_$ = __webpack_require__(37);
66958
+ /* provided dependency */ var X3DRoute_$ = __webpack_require__(183);
66976
66959
  /*******************************************************************************
66977
66960
  *
66978
66961
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -74178,7 +74161,9 @@ Object .assign (Object .setPrototypeOf (Cone .prototype, Rendering_X3DGeometryNo
74178
74161
  {
74179
74162
  Rendering_X3DGeometryNode .prototype .set_live__ .call (this);
74180
74163
 
74181
- if (this .getLive () .getValue ())
74164
+ const alwaysUpdate = this .isLive () && this .getBrowser () .getBrowserOption ("AlwaysUpdateGeometries");
74165
+
74166
+ if (this .getLive () .getValue () || alwaysUpdate)
74182
74167
  this .getBrowser () .getConeOptions () .addInterest ("requestRebuild", this);
74183
74168
  else
74184
74169
  this .getBrowser () .getConeOptions () .removeInterest ("requestRebuild", this);
@@ -74389,7 +74374,9 @@ Object .assign (Object .setPrototypeOf (Cylinder .prototype, Rendering_X3DGeomet
74389
74374
  {
74390
74375
  Rendering_X3DGeometryNode .prototype .set_live__ .call (this);
74391
74376
 
74392
- if (this .getLive () .getValue ())
74377
+ const alwaysUpdate = this .isLive () && this .getBrowser () .getBrowserOption ("AlwaysUpdateGeometries");
74378
+
74379
+ if (this .getLive () .getValue () || alwaysUpdate)
74393
74380
  this .getBrowser () .getCylinderOptions () .addInterest ("requestRebuild", this);
74394
74381
  else
74395
74382
  this .getBrowser () .getCylinderOptions () .removeInterest ("requestRebuild", this);
@@ -76631,7 +76618,9 @@ Object .assign (Object .setPrototypeOf (Sphere .prototype, Rendering_X3DGeometry
76631
76618
  {
76632
76619
  Rendering_X3DGeometryNode .prototype .set_live__ .call (this);
76633
76620
 
76634
- if (this .getLive () .getValue ())
76621
+ const alwaysUpdate = this .isLive () && this .getBrowser () .getBrowserOption ("AlwaysUpdateGeometries");
76622
+
76623
+ if (this .getLive () .getValue () || alwaysUpdate)
76635
76624
  this .getBrowser () .getSphereOptions () .addInterest ("requestRebuild", this);
76636
76625
  else
76637
76626
  this .getBrowser () .getSphereOptions () .removeInterest ("requestRebuild", this);
@@ -89852,7 +89841,7 @@ const X3DShaderNode_default_ = X3DShaderNode;
89852
89841
  x_ite_Namespace .add ("X3DShaderNode", "x_ite/Components/Shaders/X3DShaderNode", X3DShaderNode_default_);
89853
89842
  /* harmony default export */ const Shaders_X3DShaderNode = (X3DShaderNode_default_);
89854
89843
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Shaders/X3DProgrammableShaderObject.js
89855
- /* provided dependency */ var X3DProgrammableShaderObject_$ = __webpack_require__(37);
89844
+ /* provided dependency */ var X3DProgrammableShaderObject_$ = __webpack_require__(183);
89856
89845
  /*******************************************************************************
89857
89846
  *
89858
89847
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -95493,7 +95482,7 @@ const ShaderCompiler_default_ = ShaderCompiler;
95493
95482
  x_ite_Namespace .add ("ShaderCompiler", "x_ite/Browser/Shaders/ShaderCompiler", ShaderCompiler_default_);
95494
95483
  /* harmony default export */ const Shaders_ShaderCompiler = (ShaderCompiler_default_);
95495
95484
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Shaders/ShaderPart.js
95496
- /* provided dependency */ var ShaderPart_$ = __webpack_require__(37);
95485
+ /* provided dependency */ var ShaderPart_$ = __webpack_require__(183);
95497
95486
  /*******************************************************************************
95498
95487
  *
95499
95488
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -96150,7 +96139,7 @@ const X3DAppearanceNode_default_ = X3DAppearanceNode;
96150
96139
  x_ite_Namespace .add ("X3DAppearanceNode", "x_ite/Components/Shape/X3DAppearanceNode", X3DAppearanceNode_default_);
96151
96140
  /* harmony default export */ const Shape_X3DAppearanceNode = (X3DAppearanceNode_default_);
96152
96141
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Shape/Appearance.js
96153
- /* provided dependency */ var Appearance_$ = __webpack_require__(37);
96142
+ /* provided dependency */ var Appearance_$ = __webpack_require__(183);
96154
96143
  /*******************************************************************************
96155
96144
  *
96156
96145
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -98901,7 +98890,9 @@ Object .assign (Object .setPrototypeOf (Shape .prototype, Shape_X3DShapeNode .pr
98901
98890
  {
98902
98891
  case Rendering_TraverseType .POINTER:
98903
98892
  {
98904
- renderObject .addPointingShape (this);
98893
+ if (this ._pointerEvents .getValue ())
98894
+ renderObject .addPointingShape (this);
98895
+
98905
98896
  break;
98906
98897
  }
98907
98898
  case Rendering_TraverseType .PICKING:
@@ -98991,14 +98982,15 @@ Object .defineProperties (Shape,
98991
98982
  fieldDefinitions:
98992
98983
  {
98993
98984
  value: new Base_FieldDefinitionArray ([
98994
- new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "metadata", new x_ite_Fields .SFNode ()),
98995
- new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "castShadow", new x_ite_Fields .SFBool (true)),
98996
- new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "visible", new x_ite_Fields .SFBool (true)),
98997
- new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "bboxDisplay", new x_ite_Fields .SFBool ()),
98998
- new Base_X3DFieldDefinition (Base_X3DConstants .initializeOnly, "bboxSize", new x_ite_Fields .SFVec3f (-1, -1, -1)),
98999
- new Base_X3DFieldDefinition (Base_X3DConstants .initializeOnly, "bboxCenter", new x_ite_Fields .SFVec3f ()),
99000
- new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "appearance", new x_ite_Fields .SFNode ()),
99001
- new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "geometry", new x_ite_Fields .SFNode ()),
98985
+ new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "metadata", new x_ite_Fields .SFNode ()),
98986
+ new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "pointerEvents", new x_ite_Fields .SFBool (true)), // skip test
98987
+ new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "castShadow", new x_ite_Fields .SFBool (true)),
98988
+ new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "visible", new x_ite_Fields .SFBool (true)),
98989
+ new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "bboxDisplay", new x_ite_Fields .SFBool ()),
98990
+ new Base_X3DFieldDefinition (Base_X3DConstants .initializeOnly, "bboxSize", new x_ite_Fields .SFVec3f (-1, -1, -1)),
98991
+ new Base_X3DFieldDefinition (Base_X3DConstants .initializeOnly, "bboxCenter", new x_ite_Fields .SFVec3f ()),
98992
+ new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "appearance", new x_ite_Fields .SFNode ()),
98993
+ new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "geometry", new x_ite_Fields .SFNode ()),
99002
98994
  ]),
99003
98995
  enumerable: true,
99004
98996
  },
@@ -99567,7 +99559,6 @@ const Components_Shape_default_ = {
99567
99559
  x_ite_Namespace .add ("Shape", "x_ite/Components/Shape", Components_Shape_default_);
99568
99560
  /* harmony default export */ const Components_Shape = (Components_Shape_default_);
99569
99561
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Sound/X3DSoundProcessingNode.js
99570
- /* provided dependency */ var X3DSoundProcessingNode_$ = __webpack_require__(37);
99571
99562
  /*******************************************************************************
99572
99563
  *
99573
99564
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -99621,6 +99612,7 @@ x_ite_Namespace .add ("Shape", "x_ite/Components/Shape", Components_Shape_defaul
99621
99612
 
99622
99613
 
99623
99614
 
99615
+
99624
99616
  function X3DSoundProcessingNode (executionContext)
99625
99617
  {
99626
99618
  Core_X3DChildNode .call (this, executionContext);
@@ -99628,13 +99620,13 @@ function X3DSoundProcessingNode (executionContext)
99628
99620
 
99629
99621
  this .addType (Base_X3DConstants .X3DSoundProcessingNode);
99630
99622
 
99631
- this .addChildObjects (Base_X3DConstants .inputOutput, "loop", new x_ite_Fields .SFBool (true),
99632
- Base_X3DConstants .inputOutput, "active", new x_ite_Fields .SFBool ());
99623
+ this .addChildObjects (Base_X3DConstants .inputOutput, "loop", new x_ite_Fields .SFBool (true));
99633
99624
 
99634
99625
  const audioContext = this .getBrowser () .getAudioContext ();
99635
99626
 
99636
- this .childNodes = [ ];
99637
- this .gainNode = new GainNode (audioContext);
99627
+ this .childNodes = [ ];
99628
+ this .audioDestination = new GainNode (audioContext, { gain: 0 });
99629
+ this .audioSource = new GainNode (audioContext, { gain: 1 });
99638
99630
  }
99639
99631
 
99640
99632
  Object .assign (Object .setPrototypeOf (X3DSoundProcessingNode .prototype, Core_X3DChildNode .prototype),
@@ -99645,35 +99637,63 @@ Object .assign (Object .setPrototypeOf (X3DSoundProcessingNode .prototype, Core_
99645
99637
  Core_X3DChildNode .prototype .initialize .call (this);
99646
99638
  Time_X3DTimeDependentNode .prototype .initialize .call (this);
99647
99639
 
99648
- this ._active .addInterest ("set_gain__", this);
99640
+ this ._enabled .addInterest ("set_enabled__", this);
99649
99641
  this ._gain .addInterest ("set_gain__", this);
99650
99642
  this ._channelCount .addInterest ("set_channelCount__", this);
99651
99643
  this ._channelCountMode .addInterest ("set_channelCountMode__", this);
99652
99644
  this ._channelInterpretation .addInterest ("set_channelInterpretation__", this);
99653
99645
  this ._children .addInterest ("set_children__", this);
99654
- this ._active .addInterest ("set_active__", this);
99655
99646
 
99647
+ this .set_enabled__ ();
99656
99648
  this .set_gain__ ();
99657
99649
  this .set_channelCount__ ();
99658
99650
  this .set_channelCountMode__ ();
99659
99651
  this .set_channelInterpretation__ ();
99660
99652
  this .set_children__ ();
99661
99653
  },
99654
+ getAudioDestination ()
99655
+ {
99656
+ return this .audioDestination;
99657
+ },
99662
99658
  getAudioSource ()
99663
99659
  {
99664
- return this .gainNode;
99660
+ return this .audioSource;
99665
99661
  },
99666
99662
  getSoundProcessor ()
99667
99663
  {
99668
- return this .gainNode;
99664
+ return this .audioSource;
99665
+ },
99666
+ set_enabled__ ()
99667
+ {
99668
+ this .audioDestination .disconnect ();
99669
+
99670
+ if (this ._enabled .getValue ())
99671
+ {
99672
+ this .set_gain__ ();
99673
+ this .set_channelCountMode__ ();
99674
+ this .set_channelInterpretation__ ();
99675
+
99676
+ this .audioDestination .connect (this .getSoundProcessor ());
99677
+ }
99678
+ else
99679
+ {
99680
+ this .audioDestination .gain .value = 1;
99681
+ this .audioDestination .channelCountMode = "max";
99682
+ this .audioDestination .channelInterpretation = "speakers";
99683
+
99684
+ this .audioDestination .connect (this .audioSource);
99685
+ }
99669
99686
  },
99670
99687
  set_gain__ ()
99671
99688
  {
99672
- this .gainNode .gain .value = this ._active .getValue () ? this ._gain .getValue () : 1;
99689
+ if (!this ._enabled .getValue ())
99690
+ return;
99691
+
99692
+ this .audioDestination .gain .value = this ._gain .getValue ();
99673
99693
  },
99674
99694
  set_channelCount__ ()
99675
99695
  {
99676
- this .getSoundProcessor () .channelCount = Math .max (this ._channelCount .getValue (), 1);
99696
+ this .audioDestination .channelCount = Math_Algorithm .clamp (this ._channelCount .getValue (), 1, 32);
99677
99697
  },
99678
99698
  set_channelCountMode__: (function ()
99679
99699
  {
@@ -99681,9 +99701,12 @@ Object .assign (Object .setPrototypeOf (X3DSoundProcessingNode .prototype, Core_
99681
99701
 
99682
99702
  return function ()
99683
99703
  {
99704
+ if (!this ._enabled .getValue ())
99705
+ return;
99706
+
99684
99707
  const channelCountMode = this ._channelCountMode .getValue () .toLowerCase () .replaceAll ("_", "-");
99685
99708
 
99686
- this .getSoundProcessor () .channelCountMode = channelCountModes .has (channelCountMode) ? channelCountMode : "max";
99709
+ this .audioDestination .channelCountMode = channelCountModes .has (channelCountMode) ? channelCountMode : "max";
99687
99710
  };
99688
99711
  })(),
99689
99712
  set_channelInterpretation__: (function ()
@@ -99692,14 +99715,18 @@ Object .assign (Object .setPrototypeOf (X3DSoundProcessingNode .prototype, Core_
99692
99715
 
99693
99716
  return function ()
99694
99717
  {
99718
+ if (!this ._enabled .getValue ())
99719
+ return;
99720
+
99695
99721
  const channelInterpretation = this ._channelInterpretation .getValue () .toLowerCase ();
99696
99722
 
99697
- this .getSoundProcessor () .channelInterpretation = channelInterpretations .has (channelInterpretation) ? channelInterpretation : "speakers";
99723
+ this .audioDestination .channelInterpretation = channelInterpretations .has (channelInterpretation) ? channelInterpretation : "speakers";
99698
99724
  };
99699
99725
  })(),
99700
99726
  set_children__ ()
99701
99727
  {
99702
- this .set_disconnect__ ();
99728
+ for (const childNode of this .childNodes)
99729
+ childNode .getAudioSource () .disconnect (this .audioDestination);
99703
99730
 
99704
99731
  this .childNodes .length = 0;
99705
99732
 
@@ -99729,50 +99756,8 @@ Object .assign (Object .setPrototypeOf (X3DSoundProcessingNode .prototype, Core_
99729
99756
  }
99730
99757
  }
99731
99758
 
99732
- this .set_active__ ();
99733
- },
99734
- set_disconnect__ ()
99735
- {
99736
- for (const childNode of this .childNodes)
99737
- X3DSoundProcessingNode_$.try (() => childNode .getAudioSource () .disconnect (this .gainNode));
99738
-
99739
99759
  for (const childNode of this .childNodes)
99740
- X3DSoundProcessingNode_$.try (() => childNode .getAudioSource () .disconnect (this .getSoundProcessor ()));
99741
- },
99742
- set_active__ ()
99743
- {
99744
- this .set_disconnect__ ();
99745
-
99746
- if (this ._active .getValue ())
99747
- {
99748
- for (const childNode of this .childNodes)
99749
- X3DSoundProcessingNode_$.try (() => childNode .getAudioSource () .connect (this .getSoundProcessor ()), true);
99750
- }
99751
- else
99752
- {
99753
- for (const childNode of this .childNodes)
99754
- X3DSoundProcessingNode_$.try (() => childNode .getAudioSource () .connect (this .gainNode), true);
99755
- }
99756
- },
99757
- set_start ()
99758
- {
99759
- if (!this ._active .getValue ())
99760
- this ._active = true;
99761
- },
99762
- set_pause ()
99763
- {
99764
- if (this ._active .getValue ())
99765
- this ._active = false;
99766
- },
99767
- set_resume ()
99768
- {
99769
- if (!this ._active .getValue ())
99770
- this ._active = true;
99771
- },
99772
- set_stop ()
99773
- {
99774
- if (this ._active .getValue ())
99775
- this ._active = false;
99760
+ childNode .getAudioSource () .connect (this .audioDestination);
99776
99761
  },
99777
99762
  set_time ()
99778
99763
  {
@@ -99867,11 +99852,12 @@ function Analyser (executionContext)
99867
99852
 
99868
99853
  const audioContext = this .getBrowser () .getAudioContext ();
99869
99854
 
99870
- this .analyzerNode = new AnalyserNode (audioContext);
99871
- this .byteFrequencyData = new Uint8Array (this .analyzerNode .frequencyBinCount);
99872
- this .byteTimeDomainData = new Uint8Array (this .analyzerNode .frequencyBinCount);
99855
+ this .analyserNode = new AnalyserNode (audioContext);
99856
+ this .byteFrequencyData = new Uint8Array (this .analyserNode .frequencyBinCount);
99857
+ this .byteTimeDomainData = new Uint8Array (this .analyserNode .frequencyBinCount);
99873
99858
 
99874
- this .analyzerNode .connect (this .getAudioSource ());
99859
+ this .getAudioDestination () .connect (this .analyserNode);
99860
+ this .analyserNode .connect (this .getAudioSource ());
99875
99861
  }
99876
99862
 
99877
99863
  Object .assign (Object .setPrototypeOf (Analyser .prototype, Sound_X3DSoundProcessingNode .prototype),
@@ -99891,13 +99877,13 @@ Object .assign (Object .setPrototypeOf (Analyser .prototype, Sound_X3DSoundProce
99891
99877
  },
99892
99878
  getSoundProcessor ()
99893
99879
  {
99894
- return this .analyzerNode;
99880
+ return this .analyserNode;
99895
99881
  },
99896
99882
  set_fftSize__ ()
99897
99883
  {
99898
- this .analyzerNode .fftSize = Math_Algorithm .clamp (Math_Algorithm .nextPowerOfTwo (this ._fftSize .getValue ()), 32, 32768);
99884
+ this .analyserNode .fftSize = Math_Algorithm .clamp (Math_Algorithm .nextPowerOfTwo (this ._fftSize .getValue ()), 32, 32768);
99899
99885
 
99900
- this ._frequencyBinCount = this .analyzerNode .frequencyBinCount;
99886
+ this ._frequencyBinCount = this .analyserNode .frequencyBinCount;
99901
99887
  },
99902
99888
  set_decibels__ ()
99903
99889
  {
@@ -99905,20 +99891,20 @@ Object .assign (Object .setPrototypeOf (Analyser .prototype, Sound_X3DSoundProce
99905
99891
  minDecibels = Math .min (this ._minDecibels .getValue (), 0),
99906
99892
  maxDecibels = Math .min (this ._maxDecibels .getValue (), 0);
99907
99893
 
99908
- this .analyzerNode .minDecibels = Math .min (minDecibels, maxDecibels);
99909
- this .analyzerNode .maxDecibels = Math .max (minDecibels, maxDecibels);
99894
+ this .analyserNode .minDecibels = Math .min (minDecibels, maxDecibels);
99895
+ this .analyserNode .maxDecibels = Math .max (minDecibels, maxDecibels);
99910
99896
  },
99911
99897
  set_smoothingTimeConstant__ ()
99912
99898
  {
99913
- this .analyzerNode .smoothingTimeConstant = Math_Algorithm .clamp (this ._smoothingTimeConstant .getValue (), 0, 1);
99899
+ this .analyserNode .smoothingTimeConstant = Math_Algorithm .clamp (this ._smoothingTimeConstant .getValue (), 0, 1);
99914
99900
  },
99915
99901
  set_time ()
99916
99902
  {
99917
99903
  Sound_X3DSoundProcessingNode .prototype .set_time .call (this);
99918
99904
 
99919
99905
  const
99920
- analyzerNode = this .analyzerNode,
99921
- frequencyBinCount = analyzerNode .frequencyBinCount;
99906
+ analyserNode = this .analyserNode,
99907
+ frequencyBinCount = analyserNode .frequencyBinCount;
99922
99908
 
99923
99909
  if (this .byteFrequencyData .length !== frequencyBinCount)
99924
99910
  {
@@ -99931,14 +99917,14 @@ Object .assign (Object .setPrototypeOf (Analyser .prototype, Sound_X3DSoundProce
99931
99917
  this ._floatFrequencyData .length = frequencyBinCount;
99932
99918
  this ._floatTimeDomainData .length = frequencyBinCount;
99933
99919
 
99934
- analyzerNode .getByteFrequencyData (this .byteFrequencyData);
99935
- analyzerNode .getByteTimeDomainData (this .byteTimeDomainData);
99920
+ analyserNode .getByteFrequencyData (this .byteFrequencyData);
99921
+ analyserNode .getByteTimeDomainData (this .byteTimeDomainData);
99936
99922
 
99937
99923
  this ._byteFrequencyData .getValue () .set (this .byteFrequencyData);
99938
99924
  this ._byteTimeDomainData .getValue () .set (this .byteTimeDomainData);
99939
99925
 
99940
- analyzerNode .getFloatFrequencyData (this ._floatFrequencyData .shrinkToFit ());
99941
- analyzerNode .getFloatTimeDomainData (this ._floatTimeDomainData .shrinkToFit ());
99926
+ analyserNode .getFloatFrequencyData (this ._floatFrequencyData .shrinkToFit ());
99927
+ analyserNode .getFloatTimeDomainData (this ._floatTimeDomainData .shrinkToFit ());
99942
99928
 
99943
99929
  this ._byteFrequencyData .addEvent ();
99944
99930
  this ._byteTimeDomainData .addEvent ();
@@ -100072,7 +100058,7 @@ function X3DSoundSourceNode (executionContext)
100072
100058
 
100073
100059
  const audioContext = this .getBrowser () .getAudioContext ();
100074
100060
 
100075
- this .gainNode = new GainNode (audioContext);
100061
+ this .audioSource = new GainNode (audioContext, { gain: 0 });
100076
100062
  this .mediaElement = null;
100077
100063
  }
100078
100064
 
@@ -100090,7 +100076,7 @@ Object .assign (Object .setPrototypeOf (X3DSoundSourceNode .prototype, Core_X3DC
100090
100076
  },
100091
100077
  getAudioSource ()
100092
100078
  {
100093
- return this .gainNode;
100079
+ return this .audioSource;
100094
100080
  },
100095
100081
  setMediaElement (value)
100096
100082
  {
@@ -100132,7 +100118,7 @@ Object .assign (Object .setPrototypeOf (X3DSoundSourceNode .prototype, Core_X3DC
100132
100118
  },
100133
100119
  set_gain__ ()
100134
100120
  {
100135
- this .gainNode .gain .value = this ._gain .getValue ();
100121
+ this .audioSource .gain .value = this ._gain .getValue ();
100136
100122
  },
100137
100123
  set_pitch ()
100138
100124
  { },
@@ -100207,7 +100193,7 @@ const X3DSoundSourceNode_default_ = X3DSoundSourceNode;
100207
100193
  x_ite_Namespace .add ("X3DSoundSourceNode", "x_ite/Components/Sound/X3DSoundSourceNode", X3DSoundSourceNode_default_);
100208
100194
  /* harmony default export */ const Sound_X3DSoundSourceNode = (X3DSoundSourceNode_default_);
100209
100195
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Sound/AudioClip.js
100210
- /* provided dependency */ var AudioClip_$ = __webpack_require__(37);
100196
+ /* provided dependency */ var AudioClip_$ = __webpack_require__(183);
100211
100197
  /*******************************************************************************
100212
100198
  *
100213
100199
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -100509,7 +100495,6 @@ const X3DSoundNode_default_ = X3DSoundNode;
100509
100495
  x_ite_Namespace .add ("X3DSoundNode", "x_ite/Components/Sound/X3DSoundNode", X3DSoundNode_default_);
100510
100496
  /* harmony default export */ const Sound_X3DSoundNode = (X3DSoundNode_default_);
100511
100497
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Sound/X3DSoundDestinationNode.js
100512
- /* provided dependency */ var X3DSoundDestinationNode_$ = __webpack_require__(37);
100513
100498
  /*******************************************************************************
100514
100499
  *
100515
100500
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -100561,6 +100546,7 @@ x_ite_Namespace .add ("X3DSoundNode", "x_ite/Components/Sound/X3DSoundNode", X3D
100561
100546
 
100562
100547
 
100563
100548
 
100549
+
100564
100550
  function X3DSoundDestinationNode (executionContext)
100565
100551
  {
100566
100552
  Sound_X3DSoundNode .call (this, executionContext);
@@ -100569,8 +100555,8 @@ function X3DSoundDestinationNode (executionContext)
100569
100555
 
100570
100556
  const audioContext = this .getBrowser () .getAudioContext ();
100571
100557
 
100572
- this .childNodes = [ ];
100573
- this .gainNode = new GainNode (audioContext);
100558
+ this .childNodes = [ ];
100559
+ this .audioDestination = new GainNode (audioContext, { gain: 0 });
100574
100560
  }
100575
100561
 
100576
100562
  Object .assign (Object .setPrototypeOf (X3DSoundDestinationNode .prototype, Sound_X3DSoundNode .prototype),
@@ -100581,50 +100567,40 @@ Object .assign (Object .setPrototypeOf (X3DSoundDestinationNode .prototype, Soun
100581
100567
 
100582
100568
  this .getLive () .addInterest ("set_enabled__", this);
100583
100569
 
100584
- this ._enabled .addInterest ("set_enabled__", this);
100585
- this ._gain .addInterest ("set_gain__", this);
100586
- this ._children .addInterest ("set_children__", this);
100570
+ this ._enabled .addInterest ("set_enabled__", this);
100571
+ this ._gain .addInterest ("set_gain__", this);
100572
+ this ._channelCount .addInterest ("set_channelCount__", this);
100573
+ this ._channelCountMode .addInterest ("set_channelCountMode__", this);
100574
+ this ._channelInterpretation .addInterest ("set_channelInterpretation__", this);
100575
+ this ._children .addInterest ("set_children__", this);
100587
100576
 
100588
100577
  this .set_enabled__ ();
100589
100578
  this .set_gain__ ();
100579
+ this .set_channelCount__ ();
100580
+ this .set_channelCountMode__ ();
100581
+ this .set_channelInterpretation__ ();
100590
100582
  this .set_children__ ();
100591
100583
  },
100592
- getAudioSource ()
100584
+ getAudioDestination ()
100593
100585
  {
100594
- return this .gainNode;
100586
+ return this .audioDestination;
100595
100587
  },
100596
100588
  set_enabled__ ()
100597
100589
  {
100598
100590
  if (this ._enabled .getValue () && this .getLive () .getValue ())
100599
- {
100600
- this ._channelCount .addInterest ("set_channelCount__", this);
100601
- this ._channelCountMode .addInterest ("set_channelCountMode__", this);
100602
- this ._channelInterpretation .addInterest ("set_channelInterpretation__", this);
100603
-
100604
- this .gainNode .connect (this .getSoundDestination ());
100605
-
100606
- this .set_channelCount__ ();
100607
- this .set_channelCountMode__ ();
100608
- this .set_channelInterpretation__ ();
100609
- }
100591
+ this .audioDestination .connect (this .getSoundDestination ());
100610
100592
  else
100611
- {
100612
- this ._channelCount .removeInterest ("set_channelCount__", this);
100613
- this ._channelCountMode .removeInterest ("set_channelCountMode__", this);
100614
- this ._channelInterpretation .removeInterest ("set_channelInterpretation__", this);
100615
-
100616
- this .gainNode .disconnect ();
100617
- }
100593
+ this .audioDestination .disconnect ();
100618
100594
 
100619
100595
  this ._isActive = this ._enabled;
100620
100596
  },
100621
100597
  set_gain__ ()
100622
100598
  {
100623
- this .gainNode .gain .value = this ._gain .getValue ();
100599
+ this .audioDestination .gain .value = this ._gain .getValue ();
100624
100600
  },
100625
100601
  set_channelCount__ ()
100626
100602
  {
100627
- this .getSoundDestination () .channelCount = Math .max (this ._channelCount .getValue (), 1);
100603
+ this .audioDestination .channelCount = Math_Algorithm .clamp (this ._channelCount .getValue (), 1, 32);
100628
100604
  },
100629
100605
  set_channelCountMode__: (function ()
100630
100606
  {
@@ -100634,7 +100610,7 @@ Object .assign (Object .setPrototypeOf (X3DSoundDestinationNode .prototype, Soun
100634
100610
  {
100635
100611
  const channelCountMode = this ._channelCountMode .getValue () .toLowerCase () .replaceAll ("_", "-");
100636
100612
 
100637
- this .getSoundDestination () .channelCountMode = channelCountModes .has (channelCountMode) ? channelCountMode : "max";
100613
+ this .audioDestination .channelCountMode = channelCountModes .has (channelCountMode) ? channelCountMode : "max";
100638
100614
  };
100639
100615
  })(),
100640
100616
  set_channelInterpretation__: (function ()
@@ -100645,13 +100621,13 @@ Object .assign (Object .setPrototypeOf (X3DSoundDestinationNode .prototype, Soun
100645
100621
  {
100646
100622
  const channelInterpretation = this ._channelInterpretation .getValue () .toLowerCase ();
100647
100623
 
100648
- this .getSoundDestination () .channelInterpretation = channelInterpretations .has (channelInterpretation) ? channelInterpretation : "speakers";
100624
+ this .audioDestination .channelInterpretation = channelInterpretations .has (channelInterpretation) ? channelInterpretation : "speakers";
100649
100625
  };
100650
100626
  })(),
100651
100627
  set_children__ ()
100652
100628
  {
100653
100629
  for (const childNode of this .childNodes)
100654
- X3DSoundDestinationNode_$.try (() => childNode .getAudioSource () .disconnect (this .gainNode));
100630
+ childNode .getAudioSource () .disconnect (this .audioDestination);
100655
100631
 
100656
100632
  this .childNodes .length = 0;
100657
100633
 
@@ -100682,7 +100658,7 @@ Object .assign (Object .setPrototypeOf (X3DSoundDestinationNode .prototype, Soun
100682
100658
  }
100683
100659
 
100684
100660
  for (const childNode of this .childNodes)
100685
- X3DSoundDestinationNode_$.try (() => childNode .getAudioSource () .connect (this .gainNode), true);
100661
+ childNode .getAudioSource () .connect (this .audioDestination);
100686
100662
  },
100687
100663
  });
100688
100664
 
@@ -101199,14 +101175,162 @@ x_ite_Namespace .add ("BufferAudioSource", "x_ite/Components/Sound/BufferAudioSo
101199
101175
 
101200
101176
 
101201
101177
 
101178
+
101179
+
101202
101180
  function X3DSoundChannelNode (executionContext)
101203
101181
  {
101204
101182
  Sound_X3DSoundNode .call (this, executionContext);
101205
101183
 
101206
101184
  this .addType (Base_X3DConstants .X3DSoundChannelNode);
101185
+
101186
+ const audioContext = this .getBrowser () .getAudioContext ();
101187
+
101188
+ this .childNodes = [ ];
101189
+ this .audioDestination = new GainNode (audioContext, { gain: 0 });
101190
+ this .audioSource = new GainNode (audioContext, { gain: 1 });
101207
101191
  }
101208
101192
 
101209
- Object .setPrototypeOf (X3DSoundChannelNode .prototype, Sound_X3DSoundNode .prototype);
101193
+ Object .assign (Object .setPrototypeOf (X3DSoundChannelNode .prototype, Sound_X3DSoundNode .prototype),
101194
+ {
101195
+ initialize ()
101196
+ {
101197
+ Sound_X3DSoundNode .prototype .initialize .call (this);
101198
+
101199
+ this ._enabled .addInterest ("set_enabled__", this);
101200
+ this ._gain .addInterest ("set_gain__", this);
101201
+ this ._channelCount .addInterest ("set_channelCount__", this);
101202
+ this ._channelCountMode .addInterest ("set_channelCountMode__", this);
101203
+ this ._channelInterpretation .addInterest ("set_channelInterpretation__", this);
101204
+ this ._children .addInterest ("set_children__", this);
101205
+
101206
+ this .set_enabled__ ();
101207
+ this .set_gain__ ();
101208
+ this .set_channelCount__ ();
101209
+ this .set_channelCountMode__ ();
101210
+ this .set_channelInterpretation__ ();
101211
+ this .set_children__ ();
101212
+ },
101213
+ getAudioDestination ()
101214
+ {
101215
+ return this .audioDestination;
101216
+ },
101217
+ getAudioSource ()
101218
+ {
101219
+ return this .audioSource;
101220
+ },
101221
+ getSoundProcessor ()
101222
+ {
101223
+ return this .audioSource;
101224
+ },
101225
+ set_enabled__ ()
101226
+ {
101227
+ this .audioDestination .disconnect ();
101228
+
101229
+ if (this ._enabled .getValue ())
101230
+ {
101231
+ this .set_gain__ ();
101232
+ this .set_channelCountMode__ ();
101233
+ this .set_channelInterpretation__ ();
101234
+
101235
+ this .audioDestination .connect (this .getSoundProcessor ());
101236
+ }
101237
+ else
101238
+ {
101239
+ this .audioDestination .gain .value = 1;
101240
+ this .audioDestination .channelCountMode = "max";
101241
+ this .audioDestination .channelInterpretation = "speakers";
101242
+
101243
+ this .audioDestination .connect (this .audioSource);
101244
+ }
101245
+ },
101246
+ set_gain__ ()
101247
+ {
101248
+ if (!this ._enabled .getValue ())
101249
+ return;
101250
+
101251
+ this .audioDestination .gain .value = this ._gain .getValue ();
101252
+ },
101253
+ set_channelCount__ ()
101254
+ {
101255
+ this .audioDestination .channelCount = Math_Algorithm .clamp (this ._channelCount .getValue (), 1, 32);
101256
+ },
101257
+ set_channelCountMode__: (function ()
101258
+ {
101259
+ const channelCountModes = new Set (["max", "clamped-max", "explicit"]);
101260
+
101261
+ return function ()
101262
+ {
101263
+ if (!this ._enabled .getValue ())
101264
+ return;
101265
+
101266
+ const channelCountMode = this ._channelCountMode .getValue () .toLowerCase () .replaceAll ("_", "-");
101267
+
101268
+ this .audioDestination .channelCountMode = channelCountModes .has (channelCountMode) ? channelCountMode : "max";
101269
+ };
101270
+ })(),
101271
+ set_channelInterpretation__: (function ()
101272
+ {
101273
+ const channelInterpretations = new Set (["speakers", "discrete"]);
101274
+
101275
+ return function ()
101276
+ {
101277
+ if (!this ._enabled .getValue ())
101278
+ return;
101279
+
101280
+ const channelInterpretation = this ._channelInterpretation .getValue () .toLowerCase ();
101281
+
101282
+ this .audioDestination .channelInterpretation = channelInterpretations .has (channelInterpretation) ? channelInterpretation : "speakers";
101283
+ };
101284
+ })(),
101285
+ set_children__ ()
101286
+ {
101287
+ for (const [i, childNode] of this .childNodes .entries ())
101288
+ this .disconnectChildNode (i, childNode);
101289
+
101290
+ this .childNodes .length = 0;
101291
+
101292
+ for (const child of this ._children)
101293
+ {
101294
+ const childNode = Base_X3DCast (Base_X3DConstants .X3DChildNode, child);
101295
+
101296
+ if (!childNode)
101297
+ continue;
101298
+
101299
+ const type = childNode .getType ();
101300
+
101301
+ for (let t = type .length - 1; t >= 0; -- t)
101302
+ {
101303
+ switch (type [t])
101304
+ {
101305
+ case Base_X3DConstants .X3DSoundChannelNode:
101306
+ case Base_X3DConstants .X3DSoundProcessingNode:
101307
+ case Base_X3DConstants .X3DSoundSourceNode:
101308
+ this .childNodes .push (childNode);
101309
+ break;
101310
+ default:
101311
+ continue;
101312
+ }
101313
+
101314
+ break;
101315
+ }
101316
+ }
101317
+
101318
+ this .setChildNodes (this .childNodes);
101319
+
101320
+ for (const [i, childNode] of this .childNodes .entries ())
101321
+ this .connectChildNode (i, childNode);
101322
+ },
101323
+ setChildNodes (childNodes)
101324
+ { },
101325
+ connectChildNode (i, childNode)
101326
+ {
101327
+ childNode .getAudioSource () .connect (this .audioDestination);
101328
+ },
101329
+ disconnectChildNode (i, childNode)
101330
+ {
101331
+ childNode .getAudioSource () .disconnect (this .audioDestination);
101332
+ },
101333
+ });
101210
101334
 
101211
101335
  Object .defineProperties (X3DSoundChannelNode,
101212
101336
  {
@@ -101281,6 +101405,7 @@ x_ite_Namespace .add ("X3DSoundChannelNode", "x_ite/Components/Sound/X3DSoundCha
101281
101405
 
101282
101406
 
101283
101407
 
101408
+
101284
101409
  function ChannelMerger (executionContext)
101285
101410
  {
101286
101411
  Sound_X3DSoundChannelNode .call (this, executionContext);
@@ -101288,7 +101413,59 @@ function ChannelMerger (executionContext)
101288
101413
  this .addType (Base_X3DConstants .ChannelMerger);
101289
101414
  }
101290
101415
 
101291
- Object .setPrototypeOf (ChannelMerger .prototype, Sound_X3DSoundChannelNode .prototype);
101416
+ Object .assign (Object .setPrototypeOf (ChannelMerger .prototype, Sound_X3DSoundChannelNode .prototype),
101417
+ {
101418
+ initialize ()
101419
+ {
101420
+ Sound_X3DSoundChannelNode .prototype .initialize .call (this);
101421
+
101422
+ this ._enabled .addInterest ("set_children__", this);
101423
+ },
101424
+ setChildNodes (childNodes)
101425
+ {
101426
+ this .channelMergerNode ?.disconnect ();
101427
+
101428
+ if (this ._enabled .getValue ())
101429
+ {
101430
+ const
101431
+ audioContext = this .getBrowser () .getAudioContext (),
101432
+ numberOfInputs = Math_Algorithm .clamp (childNodes .length, 1, 32);
101433
+
101434
+ if (this .channelMergerNode ?.numberOfInputs !== numberOfInputs)
101435
+ this .channelMergerNode = new ChannelMergerNode (audioContext, { numberOfInputs });
101436
+
101437
+ this .channelMergerNode .connect (this .getAudioDestination ());
101438
+ }
101439
+ else
101440
+ {
101441
+ this .channelMergerNode = null;
101442
+ }
101443
+ },
101444
+ connectChildNode (i, childNode)
101445
+ {
101446
+ if (this .channelMergerNode)
101447
+ {
101448
+ if (i < 32)
101449
+ childNode .getAudioSource () .connect (this .channelMergerNode, 0, i);
101450
+ }
101451
+ else
101452
+ {
101453
+ childNode .getAudioSource () .connect (this .getAudioDestination ());
101454
+ }
101455
+ },
101456
+ disconnectChildNode (i, childNode)
101457
+ {
101458
+ if (this .channelMergerNode)
101459
+ {
101460
+ if (i < 32)
101461
+ childNode .getAudioSource () .disconnect (this .channelMergerNode, 0, i);
101462
+ }
101463
+ else
101464
+ {
101465
+ childNode .getAudioSource () .disconnect (this .getAudioDestination ());
101466
+ }
101467
+ },
101468
+ });
101292
101469
 
101293
101470
  Object .defineProperties (ChannelMerger,
101294
101471
  {
@@ -101315,9 +101492,9 @@ Object .defineProperties (ChannelMerger,
101315
101492
  fieldDefinitions:
101316
101493
  {
101317
101494
  value: new Base_FieldDefinitionArray ([
101318
- new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "metadata", new x_ite_Fields .SFNode ()),
101319
- new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "description", new x_ite_Fields .SFString ()),
101320
- new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "enabled", new x_ite_Fields .SFBool (true)),
101495
+ new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "metadata", new x_ite_Fields .SFNode ()),
101496
+ new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "description", new x_ite_Fields .SFString ()),
101497
+ new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "enabled", new x_ite_Fields .SFBool (true)),
101321
101498
 
101322
101499
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "gain", new x_ite_Fields .SFFloat (1)),
101323
101500
 
@@ -101390,14 +101567,49 @@ x_ite_Namespace .add ("ChannelMerger", "x_ite/Components/Sound/ChannelMerger", C
101390
101567
 
101391
101568
 
101392
101569
 
101570
+
101393
101571
  function ChannelSelector (executionContext)
101394
101572
  {
101395
101573
  Sound_X3DSoundChannelNode .call (this, executionContext);
101396
101574
 
101397
101575
  this .addType (Base_X3DConstants .ChannelSelector);
101576
+
101577
+ const audioContext = this .getBrowser () .getAudioContext ();
101578
+
101579
+ this .channelSplitterNode = new ChannelSplitterNode (audioContext);
101398
101580
  }
101399
101581
 
101400
- Object .setPrototypeOf (ChannelSelector .prototype, Sound_X3DSoundChannelNode .prototype);
101582
+ Object .assign (Object .setPrototypeOf (ChannelSelector .prototype, Sound_X3DSoundChannelNode .prototype),
101583
+ {
101584
+ initialize ()
101585
+ {
101586
+ Sound_X3DSoundChannelNode .prototype .initialize .call (this);
101587
+
101588
+ this ._channelSelection .addInterest ("set_channelSelection__", this);
101589
+
101590
+ this .set_channelSelection__ ();
101591
+ },
101592
+ getSoundProcessor ()
101593
+ {
101594
+ return this .channelSplitterNode;
101595
+ },
101596
+ set_channelSelection__ ()
101597
+ {
101598
+ const
101599
+ audioContext = this .getBrowser () .getAudioContext (),
101600
+ channelSelection = Math_Algorithm .clamp (this ._channelSelection .getValue (), 0, 31),
101601
+ numberOfOutputs = channelSelection + 1;
101602
+
101603
+ this .channelSplitterNode .disconnect ();
101604
+
101605
+ if (this .channelSplitterNode .numberOfOutputs !== numberOfOutputs)
101606
+ this .channelSplitterNode = new ChannelSplitterNode (audioContext, { numberOfOutputs });
101607
+
101608
+ this .channelSplitterNode .connect (this .getAudioSource (), channelSelection);
101609
+
101610
+ this .set_enabled__ ();
101611
+ },
101612
+ });
101401
101613
 
101402
101614
  Object .defineProperties (ChannelSelector,
101403
101615
  {
@@ -101424,9 +101636,9 @@ Object .defineProperties (ChannelSelector,
101424
101636
  fieldDefinitions:
101425
101637
  {
101426
101638
  value: new Base_FieldDefinitionArray ([
101427
- new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "metadata", new x_ite_Fields .SFNode ()),
101428
- new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "description", new x_ite_Fields .SFString ()),
101429
- new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "enabled", new x_ite_Fields .SFBool (true)),
101639
+ new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "metadata", new x_ite_Fields .SFNode ()),
101640
+ new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "description", new x_ite_Fields .SFString ()),
101641
+ new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "enabled", new x_ite_Fields .SFBool (true)),
101430
101642
 
101431
101643
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "gain", new x_ite_Fields .SFFloat (1)),
101432
101644
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "channelSelection", new x_ite_Fields .SFInt32 (0)),
@@ -101500,14 +101712,101 @@ x_ite_Namespace .add ("ChannelSelector", "x_ite/Components/Sound/ChannelSelector
101500
101712
 
101501
101713
 
101502
101714
 
101715
+
101716
+
101503
101717
  function ChannelSplitter (executionContext)
101504
101718
  {
101505
101719
  Sound_X3DSoundChannelNode .call (this, executionContext);
101506
101720
 
101507
101721
  this .addType (Base_X3DConstants .ChannelSplitter);
101722
+
101723
+ this .outputNodes = [ ];
101508
101724
  }
101509
101725
 
101510
- Object .setPrototypeOf (ChannelSplitter .prototype, Sound_X3DSoundChannelNode .prototype);
101726
+ Object .assign (Object .setPrototypeOf (ChannelSplitter .prototype, Sound_X3DSoundChannelNode .prototype),
101727
+ {
101728
+ initialize ()
101729
+ {
101730
+ Sound_X3DSoundChannelNode .prototype .initialize .call (this);
101731
+
101732
+ this ._enabled .addInterest ("set_outputs__", this);
101733
+ this ._outputs .addInterest ("set_outputs__", this);
101734
+
101735
+ this .set_outputs__ ();
101736
+ },
101737
+ set_outputs__ ()
101738
+ {
101739
+ if (this .channelSplitterNode)
101740
+ {
101741
+ this .channelSplitterNode .disconnect ();
101742
+ }
101743
+ else
101744
+ {
101745
+ for (const outputNode of this .outputNodes)
101746
+ this .getAudioSource () .disconnect (outputNode .getAudioDestination ());
101747
+ }
101748
+
101749
+ this .outputNodes .length = 0;
101750
+
101751
+ for (const child of this ._outputs)
101752
+ {
101753
+ const outputNode = Base_X3DCast (Base_X3DConstants .X3DChildNode, child);
101754
+
101755
+ if (!outputNode)
101756
+ continue;
101757
+
101758
+ const type = outputNode .getType ();
101759
+
101760
+ for (let t = type .length - 1; t >= 0; -- t)
101761
+ {
101762
+ switch (type [t])
101763
+ {
101764
+ case Base_X3DConstants .X3DSoundChannelNode:
101765
+ case Base_X3DConstants .X3DSoundDestinationNode:
101766
+ case Base_X3DConstants .X3DSoundProcessingNode:
101767
+ this .outputNodes .push (outputNode);
101768
+ break;
101769
+ default:
101770
+ continue;
101771
+ }
101772
+
101773
+ break;
101774
+ }
101775
+ }
101776
+
101777
+ if (this .channelSplitterNode)
101778
+ this .getAudioSource () .disconnect (this .channelSplitterNode);
101779
+
101780
+ if (this ._enabled .getValue ())
101781
+ {
101782
+ const
101783
+ audioContext = this .getBrowser () .getAudioContext (),
101784
+ numberOfOutputs = Math_Algorithm .clamp (this .outputNodes .length, 1, 32);
101785
+
101786
+ if (this .channelSplitterNode ?.numberOfOutputs !== numberOfOutputs)
101787
+ this .channelSplitterNode = new ChannelSplitterNode (audioContext, { numberOfOutputs });
101788
+
101789
+ this .getAudioSource () .connect (this .channelSplitterNode);
101790
+ }
101791
+ else
101792
+ {
101793
+ this .channelSplitterNode = null;
101794
+ }
101795
+
101796
+ if (this .channelSplitterNode)
101797
+ {
101798
+ const length = Math .min (this .outputNodes .length, 32);
101799
+
101800
+ for (let i = 0; i < length; ++ i)
101801
+ this .channelSplitterNode .connect (this .outputNodes [i] .getAudioDestination (), i);
101802
+ }
101803
+ else
101804
+ {
101805
+ for (const outputNode of this .outputNodes)
101806
+ this .getAudioSource () .connect (outputNode .getAudioDestination ());
101807
+ }
101808
+ },
101809
+ });
101511
101810
 
101512
101811
  Object .defineProperties (ChannelSplitter,
101513
101812
  {
@@ -101534,9 +101833,9 @@ Object .defineProperties (ChannelSplitter,
101534
101833
  fieldDefinitions:
101535
101834
  {
101536
101835
  value: new Base_FieldDefinitionArray ([
101537
- new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "metadata", new x_ite_Fields .SFNode ()),
101538
- new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "description", new x_ite_Fields .SFString ()),
101539
- new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "enabled", new x_ite_Fields .SFBool (true)),
101836
+ new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "metadata", new x_ite_Fields .SFNode ()),
101837
+ new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "description", new x_ite_Fields .SFString ()),
101838
+ new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "enabled", new x_ite_Fields .SFBool (true)),
101540
101839
 
101541
101840
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "gain", new x_ite_Fields .SFFloat (1)),
101542
101841
 
@@ -102159,7 +102458,7 @@ const ListenerPointSource_default_ = ListenerPointSource;
102159
102458
  x_ite_Namespace .add ("ListenerPointSource", "x_ite/Components/Sound/ListenerPointSource", ListenerPointSource_default_);
102160
102459
  /* harmony default export */ const Sound_ListenerPointSource = (ListenerPointSource_default_);
102161
102460
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Sound/MicrophoneSource.js
102162
- /* provided dependency */ var MicrophoneSource_$ = __webpack_require__(37);
102461
+ /* provided dependency */ var MicrophoneSource_$ = __webpack_require__(183);
102163
102462
  /*******************************************************************************
102164
102463
  *
102165
102464
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -102442,7 +102741,6 @@ function OscillatorSource (executionContext)
102442
102741
  const audioContext = this .getBrowser () .getAudioContext ();
102443
102742
 
102444
102743
  this .oscillatorNode = new OscillatorNode (audioContext);
102445
- this .mergerNode = new ChannelMergerNode (audioContext, { numberOfInputs: 2 });
102446
102744
  }
102447
102745
 
102448
102746
  Object .assign (Object .setPrototypeOf (OscillatorSource .prototype, Sound_X3DSoundSourceNode .prototype),
@@ -102488,11 +102786,11 @@ Object .assign (Object .setPrototypeOf (OscillatorSource .prototype, Sound_X3DSo
102488
102786
  })(),
102489
102787
  set_frequency__ ()
102490
102788
  {
102491
- this .oscillatorNode .frequency .value = this ._frequency .getValue ();
102789
+ this .oscillatorNode .frequency .value = Math .max (this ._frequency .getValue (), 0);
102492
102790
  },
102493
102791
  set_detune__ ()
102494
102792
  {
102495
- this .oscillatorNode .detune .value = this ._detune .getValue ();
102793
+ this .oscillatorNode .detune .value = Math .max (this ._detune .getValue (), 0);
102496
102794
  },
102497
102795
  set_periodicWave__ ()
102498
102796
  {
@@ -102519,19 +102817,16 @@ Object .assign (Object .setPrototypeOf (OscillatorSource .prototype, Sound_X3DSo
102519
102817
  this .set_frequency__ ();
102520
102818
  this .set_detune__ ();
102521
102819
 
102522
- this .oscillatorNode .connect (this .mergerNode, 0, 0);
102523
- this .oscillatorNode .connect (this .mergerNode, 0, 1);
102524
- this .mergerNode .connect (this .getAudioSource ());
102525
-
102820
+ this .oscillatorNode .connect (this .getAudioSource ());
102526
102821
  this .oscillatorNode .start ();
102527
102822
  },
102528
102823
  set_pause ()
102529
102824
  {
102530
- this .mergerNode .disconnect ();
102825
+ this .oscillatorNode .disconnect ();
102531
102826
  },
102532
102827
  set_resume ()
102533
102828
  {
102534
- this .mergerNode .connect (this .getAudioSource ());
102829
+ this .oscillatorNode .connect (this .getAudioSource ());
102535
102830
  },
102536
102831
  set_stop ()
102537
102832
  {
@@ -102807,28 +103102,37 @@ Object .assign (Object .setPrototypeOf (Sound .prototype, Sound_X3DSoundNode .pr
102807
103102
 
102808
103103
  const
102809
103104
  audioContext = this .getBrowser () .getAudioContext (),
103105
+ gainNode = new GainNode (audioContext, { gain: 0 }),
102810
103106
  splitterNode = new ChannelSplitterNode (audioContext, { numberOfOutputs: 2 }),
102811
103107
  mergerNode = new ChannelMergerNode (audioContext, { numberOfInputs: 2 }),
102812
103108
  gainLeftNode = new GainNode (audioContext, { gain: 0 }),
102813
103109
  gainRightNode = new GainNode (audioContext, { gain: 0 });
102814
103110
 
102815
- splitterNode .connect (gainLeftNode, 0);
103111
+ gainNode .channelCount = 2;
103112
+ gainNode .channelCountMode = "explicit";
103113
+ gainNode .channelInterpretation = "speakers";
103114
+
103115
+ gainNode .connect (splitterNode);
103116
+ splitterNode .connect (gainLeftNode, 0);
102816
103117
  splitterNode .connect (gainRightNode, 1);
102817
103118
  gainLeftNode .connect (mergerNode, 0, 0);
102818
103119
  gainRightNode .connect (mergerNode, 0, 1);
102819
103120
  mergerNode .connect (audioContext .destination);
102820
103121
 
103122
+ this .gainNode = gainNode;
102821
103123
  this .splitterNode = splitterNode;
102822
103124
  this .gainLeftNode = gainLeftNode;
102823
103125
  this .gainRightNode = gainRightNode;
102824
103126
 
102825
- this .getLive () .addInterest ("set_live__", this);
103127
+ this .getLive () .addInterest ("set_live__", this);
102826
103128
  this ._traversed .addInterest ("set_live__", this);
102827
103129
 
102828
- this ._source .addInterest ("set_children__", this);
102829
- this ._children .addInterest ("set_children__", this);
103130
+ this ._intensity .addInterest ("set_intensity__", this);
103131
+ this ._source .addInterest ("set_children__", this);
103132
+ this ._children .addInterest ("set_children__", this);
102830
103133
 
102831
103134
  this .set_live__ ();
103135
+ this .set_intensity__ ();
102832
103136
  this .set_children__ ();
102833
103137
  },
102834
103138
  setTraversed (value)
@@ -102850,10 +103154,10 @@ Object .assign (Object .setPrototypeOf (Sound .prototype, Sound_X3DSoundNode .pr
102850
103154
  {
102851
103155
  return this .currentTraversed;
102852
103156
  },
102853
- setVolume (volume, pan = 0.5)
103157
+ setGain (gain, pan = 0.5)
102854
103158
  {
102855
- this .gainLeftNode .gain .value = volume * (1 - pan ** 2);
102856
- this .gainRightNode .gain .value = volume * (1 - (1 - pan) ** 2);
103159
+ this .gainLeftNode .gain .value = gain * (1 - pan ** 2);
103160
+ this .gainRightNode .gain .value = gain * (1 - (1 - pan) ** 2);
102857
103161
  },
102858
103162
  set_live__ ()
102859
103163
  {
@@ -102864,13 +103168,17 @@ Object .assign (Object .setPrototypeOf (Sound .prototype, Sound_X3DSoundNode .pr
102864
103168
  else
102865
103169
  {
102866
103170
  this .getBrowser () .sensorEvents () .removeInterest ("update", this);
102867
- this .setVolume (0);
103171
+ this .setGain (0);
102868
103172
  }
102869
103173
  },
103174
+ set_intensity__ ()
103175
+ {
103176
+ this .gainNode .gain .value = Math_Algorithm .clamp (this ._intensity .getValue (), 0, 1);
103177
+ },
102870
103178
  set_children__ ()
102871
103179
  {
102872
103180
  for (const childNode of this .childNodes)
102873
- childNode .getAudioSource () .disconnect (this .splitterNode);
103181
+ childNode .getAudioSource () .disconnect (this .gainNode);
102874
103182
 
102875
103183
  this .childNodes .length = 0;
102876
103184
 
@@ -102906,12 +103214,12 @@ Object .assign (Object .setPrototypeOf (Sound .prototype, Sound_X3DSoundNode .pr
102906
103214
  }
102907
103215
 
102908
103216
  for (const childNode of this .childNodes)
102909
- childNode .getAudioSource () .connect (this .splitterNode);
103217
+ childNode .getAudioSource () .connect (this .gainNode);
102910
103218
  },
102911
103219
  update ()
102912
103220
  {
102913
103221
  if (!this .getTraversed ())
102914
- this .setVolume (0);
103222
+ this .setGain (0);
102915
103223
 
102916
103224
  this .setTraversed (false);
102917
103225
  },
@@ -102952,23 +103260,21 @@ Object .assign (Object .setPrototypeOf (Sound .prototype, Sound_X3DSoundNode .pr
102952
103260
 
102953
103261
  if (min .distance < 1) // Radius of normalized sphere is 1.
102954
103262
  {
102955
- this .setVolume (Math_Algorithm .clamp (this ._intensity .getValue (), 0, 1), pan);
103263
+ this .setGain (1, pan);
102956
103264
  }
102957
103265
  else
102958
103266
  {
102959
103267
  const
102960
- d1 = max .intersection .magnitude (), // Viewer is here at (0, 0, 0)
102961
- d2 = max .intersection .distance (min .intersection),
102962
- d = Math .min (d1 / d2, 1),
102963
- intensity = Math_Algorithm .clamp (this ._intensity .getValue (), 0, 1),
102964
- volume = intensity * d;
103268
+ d1 = max .intersection .magnitude (), // Viewer is here at (0, 0, 0)
103269
+ d2 = max .intersection .distance (min .intersection),
103270
+ d = Math .min (d1 / d2, 1);
102965
103271
 
102966
- this .setVolume (volume, pan);
103272
+ this .setGain (d, pan);
102967
103273
  }
102968
103274
  }
102969
103275
  else
102970
103276
  {
102971
- this .setVolume (0);
103277
+ this .setGain (0);
102972
103278
  }
102973
103279
  };
102974
103280
  })(),
@@ -103828,8 +104134,8 @@ const GifMedia_default_ = GifMedia;
103828
104134
  x_ite_Namespace .add ("GifMedia", "x_ite/Browser/Texturing/GifMedia", GifMedia_default_);
103829
104135
  /* harmony default export */ const Texturing_GifMedia = (GifMedia_default_);
103830
104136
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Texturing/MovieTexture.js
103831
- /* provided dependency */ var MovieTexture_$ = __webpack_require__(37);
103832
- /* provided dependency */ var SuperGif = __webpack_require__(790);
104137
+ /* provided dependency */ var MovieTexture_$ = __webpack_require__(183);
104138
+ /* provided dependency */ var SuperGif = __webpack_require__(432);
103833
104139
  /*******************************************************************************
103834
104140
  *
103835
104141
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -107108,7 +107414,7 @@ const gettext_default_ = gettext;
107108
107414
  x_ite_Namespace .add ("gettext", "locale/gettext", gettext_default_);
107109
107415
  /* harmony default export */ const locale_gettext = (gettext_default_);
107110
107416
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/BrowserTimings.js
107111
- /* provided dependency */ var BrowserTimings_$ = __webpack_require__(37);
107417
+ /* provided dependency */ var BrowserTimings_$ = __webpack_require__(183);
107112
107418
  /*******************************************************************************
107113
107419
  *
107114
107420
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -107538,7 +107844,7 @@ const TextureQuality_default_ = TextureQuality;
107538
107844
  x_ite_Namespace .add ("TextureQuality", "x_ite/Browser/Core/TextureQuality", TextureQuality_default_);
107539
107845
  /* harmony default export */ const Core_TextureQuality = (TextureQuality_default_);
107540
107846
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/BrowserOptions.js
107541
- /* provided dependency */ var BrowserOptions_$ = __webpack_require__(37);
107847
+ /* provided dependency */ var BrowserOptions_$ = __webpack_require__(183);
107542
107848
  /*******************************************************************************
107543
107849
  *
107544
107850
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -107906,6 +108212,8 @@ Object .defineProperties (BrowserOptions,
107906
108212
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "QualityWhenMoving", new x_ite_Fields .SFString ("SAME")),
107907
108213
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "Shading", new x_ite_Fields .SFString ("GOURAUD")),
107908
108214
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "MotionBlur", new x_ite_Fields .SFBool ()),
108215
+ // Always update geometries, even if browser is not live.
108216
+ new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "AlwaysUpdateGeometries", new x_ite_Fields .SFBool ()),
107909
108217
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "AutoUpdate", new x_ite_Fields .SFBool ()),
107910
108218
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "Cache", new x_ite_Fields .SFBool (true)),
107911
108219
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "ContentScale", new x_ite_Fields .SFDouble (1)),
@@ -107914,6 +108222,7 @@ Object .defineProperties (BrowserOptions,
107914
108222
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "Gravity", new x_ite_Fields .SFDouble (9.80665)),
107915
108223
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "LoadUrlObjects", new x_ite_Fields .SFBool (true)),
107916
108224
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "LogarithmicDepthBuffer", new x_ite_Fields .SFBool ()),
108225
+ // A string, which is set to the *reference* field of metadata nodes, when they are created.
107917
108226
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "MetadataReference", new x_ite_Fields .SFString ()),
107918
108227
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "Multisampling", new x_ite_Fields .SFInt32 (4)),
107919
108228
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "Notifications", new x_ite_Fields .SFBool (true)),
@@ -108129,7 +108438,7 @@ const RenderingProperties_default_ = RenderingProperties;
108129
108438
  x_ite_Namespace .add ("RenderingProperties", "x_ite/Browser/Core/RenderingProperties", RenderingProperties_default_);
108130
108439
  /* harmony default export */ const Core_RenderingProperties = (RenderingProperties_default_);
108131
108440
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/Notification.js
108132
- /* provided dependency */ var Notification_$ = __webpack_require__(37);
108441
+ /* provided dependency */ var Notification_$ = __webpack_require__(183);
108133
108442
  /*******************************************************************************
108134
108443
  *
108135
108444
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -108252,8 +108561,8 @@ const Notification_default_ = Notification;
108252
108561
  x_ite_Namespace .add ("Notification", "x_ite/Browser/Core/Notification", Notification_default_);
108253
108562
  /* harmony default export */ const Core_Notification = (Notification_default_);
108254
108563
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/ContextMenu.js
108255
- /* provided dependency */ var jquery_fullscreen = __webpack_require__(773);
108256
- /* provided dependency */ var ContextMenu_$ = __webpack_require__(37);
108564
+ /* provided dependency */ var jquery_fullscreen = __webpack_require__(403);
108565
+ /* provided dependency */ var ContextMenu_$ = __webpack_require__(183);
108257
108566
  /*******************************************************************************
108258
108567
  *
108259
108568
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -110934,14 +111243,12 @@ const DataStorage_handler =
110934
111243
  if (property !== undefined)
110935
111244
  return property;
110936
111245
 
110937
- const string = target .getStorage () [target .getNameSpace () + key];
111246
+ const value = target .getStorage () [target .getNameSpace () + key];
110938
111247
 
110939
- if (string === undefined || string === "undefined" || string === null)
111248
+ if (String (value) .match (/^(?:undefined|null)$/))
110940
111249
  return target .getDefaultValue (key);
110941
111250
 
110942
- const value = JSON .parse (string);
110943
-
110944
- return value;
111251
+ return JSON .parse (value);
110945
111252
  },
110946
111253
  set (target, key, value)
110947
111254
  {
@@ -111010,7 +111317,7 @@ const DataStorage_default_ = DataStorage;
111010
111317
  x_ite_Namespace .add ("DataStorage", "standard/Utility/DataStorage", DataStorage_default_);
111011
111318
  /* harmony default export */ const Utility_DataStorage = (DataStorage_default_);
111012
111319
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/X3DCoreContext.js
111013
- /* provided dependency */ var X3DCoreContext_$ = __webpack_require__(37);
111320
+ /* provided dependency */ var X3DCoreContext_$ = __webpack_require__(183);
111014
111321
  /*******************************************************************************
111015
111322
  *
111016
111323
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -113533,8 +113840,8 @@ const X3DViewer_default_ = X3DViewer;
113533
113840
  x_ite_Namespace .add ("X3DViewer", "x_ite/Browser/Navigation/X3DViewer", X3DViewer_default_);
113534
113841
  /* harmony default export */ const Navigation_X3DViewer = (X3DViewer_default_);
113535
113842
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Navigation/ExamineViewer.js
113536
- /* provided dependency */ var jquery_mousewheel = __webpack_require__(693);
113537
- /* provided dependency */ var ExamineViewer_$ = __webpack_require__(37);
113843
+ /* provided dependency */ var jquery_mousewheel = __webpack_require__(287);
113844
+ /* provided dependency */ var ExamineViewer_$ = __webpack_require__(183);
113538
113845
  /*******************************************************************************
113539
113846
  *
113540
113847
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -114406,8 +114713,8 @@ const ExamineViewer_default_ = ExamineViewer;
114406
114713
  x_ite_Namespace .add ("ExamineViewer", "x_ite/Browser/Navigation/ExamineViewer", ExamineViewer_default_);
114407
114714
  /* harmony default export */ const Navigation_ExamineViewer = (ExamineViewer_default_);
114408
114715
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Navigation/X3DFlyViewer.js
114409
- /* provided dependency */ var X3DFlyViewer_jquery_mousewheel = __webpack_require__(693);
114410
- /* provided dependency */ var X3DFlyViewer_$ = __webpack_require__(37);
114716
+ /* provided dependency */ var X3DFlyViewer_jquery_mousewheel = __webpack_require__(287);
114717
+ /* provided dependency */ var X3DFlyViewer_$ = __webpack_require__(183);
114411
114718
  /*******************************************************************************
114412
114719
  *
114413
114720
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -115416,8 +115723,8 @@ const FlyViewer_default_ = FlyViewer;
115416
115723
  x_ite_Namespace .add ("FlyViewer", "x_ite/Browser/Navigation/FlyViewer", FlyViewer_default_);
115417
115724
  /* harmony default export */ const Navigation_FlyViewer = (FlyViewer_default_);
115418
115725
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Navigation/PlaneViewer.js
115419
- /* provided dependency */ var PlaneViewer_jquery_mousewheel = __webpack_require__(693);
115420
- /* provided dependency */ var PlaneViewer_$ = __webpack_require__(37);
115726
+ /* provided dependency */ var PlaneViewer_jquery_mousewheel = __webpack_require__(287);
115727
+ /* provided dependency */ var PlaneViewer_$ = __webpack_require__(183);
115421
115728
  /*******************************************************************************
115422
115729
  *
115423
115730
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -115748,8 +116055,8 @@ const NoneViewer_default_ = NoneViewer;
115748
116055
  x_ite_Namespace .add ("NoneViewer", "x_ite/Browser/Navigation/NoneViewer", NoneViewer_default_);
115749
116056
  /* harmony default export */ const Navigation_NoneViewer = (NoneViewer_default_);
115750
116057
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Navigation/LookAtViewer.js
115751
- /* provided dependency */ var LookAtViewer_jquery_mousewheel = __webpack_require__(693);
115752
- /* provided dependency */ var LookAtViewer_$ = __webpack_require__(37);
116058
+ /* provided dependency */ var LookAtViewer_jquery_mousewheel = __webpack_require__(287);
116059
+ /* provided dependency */ var LookAtViewer_$ = __webpack_require__(183);
115753
116060
  /*******************************************************************************
115754
116061
  *
115755
116062
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -116888,8 +117195,8 @@ const X3DPickingContext_default_ = X3DPickingContext;
116888
117195
  x_ite_Namespace .add ("X3DPickingContext", "x_ite/Browser/Picking/X3DPickingContext", X3DPickingContext_default_);
116889
117196
  /* harmony default export */ const Picking_X3DPickingContext = (X3DPickingContext_default_);
116890
117197
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/PointingDeviceSensor/PointingDevice.js
116891
- /* provided dependency */ var PointingDevice_jquery_mousewheel = __webpack_require__(693);
116892
- /* provided dependency */ var PointingDevice_$ = __webpack_require__(37);
117198
+ /* provided dependency */ var PointingDevice_jquery_mousewheel = __webpack_require__(287);
117199
+ /* provided dependency */ var PointingDevice_$ = __webpack_require__(183);
116893
117200
  /*******************************************************************************
116894
117201
  *
116895
117202
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -117548,11 +117855,11 @@ Object .assign (X3DPointingDeviceSensorContext .prototype,
117548
117855
  {
117549
117856
  return this [_hit];
117550
117857
  },
117551
- addPointingShape (pickingContext)
117858
+ addPointingShape (pointingContext)
117552
117859
  {
117553
117860
  const id = ++ this [_id];
117554
117861
 
117555
- this [_pointingContexts] [id] = pickingContext;
117862
+ this [_pointingContexts] [id] = pointingContext;
117556
117863
 
117557
117864
  return id;
117558
117865
  },
@@ -117629,18 +117936,18 @@ Object .assign (X3DPointingDeviceSensorContext .prototype,
117629
117936
  if (Number .isInteger (hit .id) && hit .id > 0 && hit .id <= this [_id])
117630
117937
  {
117631
117938
  const
117632
- pickingContext = this [_pointingContexts] [hit .id],
117633
- shapeNode = pickingContext .shapeNode,
117939
+ pointingContext = this [_pointingContexts] [hit .id],
117940
+ shapeNode = pointingContext .shapeNode,
117634
117941
  appearanceNode = shapeNode .getAppearance (),
117635
117942
  geometryContext = shapeNode .getGeometryContext ();
117636
117943
 
117637
- hit .hitRay = pickingContext .renderObject .getHitRay ();
117638
- hit .sensors = pickingContext .sensors .slice ();
117639
- hit .layerNode = pickingContext .renderObject;
117944
+ hit .hitRay = pointingContext .renderObject .getHitRay ();
117945
+ hit .sensors = pointingContext .sensors .slice ();
117946
+ hit .layerNode = pointingContext .renderObject;
117640
117947
  hit .shapeNode = shapeNode;
117641
117948
 
117642
- hit .viewMatrix .assign (pickingContext .renderObject .getViewpoint () .getViewMatrix ());
117643
- hit .modelViewMatrix .assign (pickingContext .modelViewMatrix);
117949
+ hit .viewMatrix .assign (pointingContext .renderObject .getViewpoint () .getViewMatrix ());
117950
+ hit .modelViewMatrix .assign (pointingContext .modelViewMatrix);
117644
117951
 
117645
117952
  // A ParticleSystem has only a geometry context.
117646
117953
 
@@ -118180,7 +118487,7 @@ const MultiSampleFrameBuffer_default_ = MultiSampleFrameBuffer;
118180
118487
  x_ite_Namespace .add ("MultiSampleFrameBuffer", "x_ite/Rendering/MultiSampleFrameBuffer", MultiSampleFrameBuffer_default_);
118181
118488
  /* harmony default export */ const Rendering_MultiSampleFrameBuffer = (MultiSampleFrameBuffer_default_);
118182
118489
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Rendering/X3DRenderingContext.js
118183
- /* provided dependency */ var X3DRenderingContext_$ = __webpack_require__(37);
118490
+ /* provided dependency */ var X3DRenderingContext_$ = __webpack_require__(183);
118184
118491
  /*******************************************************************************
118185
118492
  *
118186
118493
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -119082,7 +119389,7 @@ const X3DSoundContext_default_ = X3DSoundContext;
119082
119389
  x_ite_Namespace .add ("X3DSoundContext", "x_ite/Browser/Sound/X3DSoundContext", X3DSoundContext_default_);
119083
119390
  /* harmony default export */ const Sound_X3DSoundContext = (X3DSoundContext_default_);
119084
119391
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Texturing/KTXDecoder.js
119085
- /* provided dependency */ var KTXDecoder_$ = __webpack_require__(37);
119392
+ /* provided dependency */ var KTXDecoder_$ = __webpack_require__(183);
119086
119393
  const KTXDecoder_default_ = class KTXDecoder
119087
119394
  {
119088
119395
  constructor (gl, externalKtxlib, scriptDir)
@@ -120635,7 +120942,7 @@ const Components_default_ = Components;
120635
120942
  x_ite_Namespace .add ("Components", "x_ite/Components", Components_default_);
120636
120943
  /* harmony default export */ const x_ite_Components = ((/* unused pure expression or super */ null && (Components_default_)));
120637
120944
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/DOMIntegration.js
120638
- /* provided dependency */ var DOMIntegration_$ = __webpack_require__(37);
120945
+ /* provided dependency */ var DOMIntegration_$ = __webpack_require__(183);
120639
120946
  /*******************************************************************************
120640
120947
  * MIT License
120641
120948
  *
@@ -121766,7 +122073,7 @@ const SupportedProfiles_default_ = SupportedProfiles;
121766
122073
  x_ite_Namespace .add ("SupportedProfiles", "x_ite/Configuration/SupportedProfiles", SupportedProfiles_default_);
121767
122074
  /* harmony default export */ const Configuration_SupportedProfiles = (SupportedProfiles_default_);
121768
122075
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/X3DBrowser.js
121769
- /* provided dependency */ var X3DBrowser_$ = __webpack_require__(37);
122076
+ /* provided dependency */ var X3DBrowser_$ = __webpack_require__(183);
121770
122077
  /*******************************************************************************
121771
122078
  *
121772
122079
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -122219,6 +122526,7 @@ Object .assign (Object .setPrototypeOf (X3DBrowser .prototype, Browser_X3DBrowse
122219
122526
  return;
122220
122527
 
122221
122528
  loadCount .removeInterest ("checkLoadCount", this);
122529
+ this .touch (0, 0);
122222
122530
  this .setBrowserLoading (false);
122223
122531
  this .initialized () .set (this .getCurrentTime ());
122224
122532
  this .initialized () .processInterests ();
@@ -122857,7 +123165,7 @@ const X3DBrowser_default_ = X3DBrowser;
122857
123165
  x_ite_Namespace .add ("X3DBrowser", "x_ite/Browser/X3DBrowser", X3DBrowser_default_);
122858
123166
  /* harmony default export */ const Browser_X3DBrowser = (X3DBrowser_default_);
122859
123167
  ;// CONCATENATED MODULE: ./src/x_ite/X3DCanvasElement.js
122860
- /* provided dependency */ var X3DCanvasElement_$ = __webpack_require__(37);
123168
+ /* provided dependency */ var X3DCanvasElement_$ = __webpack_require__(183);
122861
123169
  /*******************************************************************************
122862
123170
  *
122863
123171
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -122994,8 +123302,8 @@ const X3DCanvasElement_default_ = X3DCanvasElement;
122994
123302
  x_ite_Namespace .add ("X3DCanvasElement", "x_ite/X3DCanvasElement", X3DCanvasElement_default_);
122995
123303
  /* harmony default export */ const x_ite_X3DCanvasElement = (X3DCanvasElement_default_);
122996
123304
  ;// CONCATENATED MODULE: ./src/lib/jquery.js
122997
- /* provided dependency */ var jquery_$ = __webpack_require__(37);
122998
- /* provided dependency */ var pako = __webpack_require__(465);
123305
+ /* provided dependency */ var jquery_$ = __webpack_require__(183);
123306
+ /* provided dependency */ var pako = __webpack_require__(935);
122999
123307
  Object .assign (jquery_$,
123000
123308
  {
123001
123309
  decodeText (input)
@@ -123072,14 +123380,14 @@ const jquery_default_ = jquery_$;
123072
123380
  x_ite_Namespace .add ("jquery", "lib/jquery", jquery_default_);
123073
123381
  /* harmony default export */ const jquery = ((/* unused pure expression or super */ null && (jquery_default_)));
123074
123382
  ;// CONCATENATED MODULE: ./src/lib/libtess.js
123075
- /* provided dependency */ var libtess_libtess = __webpack_require__(214);
123383
+ /* provided dependency */ var libtess_libtess = __webpack_require__(972);
123076
123384
  const libtess_default_ = libtess_libtess;
123077
123385
  ;
123078
123386
 
123079
123387
  x_ite_Namespace .add ("libtess", "lib/libtess", libtess_default_);
123080
123388
  /* harmony default export */ const lib_libtess = ((/* unused pure expression or super */ null && (libtess_default_)));
123081
123389
  ;// CONCATENATED MODULE: ./src/x_ite/X3D.js
123082
- /* provided dependency */ var X3D_$ = __webpack_require__(37);
123390
+ /* provided dependency */ var X3D_$ = __webpack_require__(183);
123083
123391
  /*******************************************************************************
123084
123392
  *
123085
123393
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -123387,7 +123695,7 @@ Object .assign (X3D,
123387
123695
 
123388
123696
  // Assign X3D to global namespace.
123389
123697
 
123390
- window [Symbol .for ("X_ITE.X3D-9.3.1")] = x_ite_X3D;
123698
+ window [Symbol .for ("X_ITE.X3D-9.3.2")] = x_ite_X3D;
123391
123699
 
123392
123700
  customElements .define ("x3d-canvas", x_ite_X3DCanvasElement);
123393
123701