x_ite 8.6.17 → 8.6.19

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 (123) 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 +13 -13
  4. package/dist/assets/components/CADGeometry.min.js +1 -1
  5. package/dist/assets/components/CubeMapTexturing.js +28 -28
  6. package/dist/assets/components/CubeMapTexturing.min.js +1 -1
  7. package/dist/assets/components/DIS.js +13 -21
  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 +19 -19
  12. package/dist/assets/components/Geometry2D.min.js +1 -1
  13. package/dist/assets/components/Geospatial.js +33 -39
  14. package/dist/assets/components/Geospatial.min.js +1 -1
  15. package/dist/assets/components/HAnim.js +18 -18
  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 +24 -24
  22. package/dist/assets/components/NURBS.min.js +1 -1
  23. package/dist/assets/components/ParticleSystems.js +23 -25
  24. package/dist/assets/components/ParticleSystems.min.js +1 -1
  25. package/dist/assets/components/Picking.js +25 -26
  26. package/dist/assets/components/Picking.min.js +1 -1
  27. package/dist/assets/components/RigidBodyPhysics.js +20 -20
  28. package/dist/assets/components/RigidBodyPhysics.min.js +1 -1
  29. package/dist/assets/components/Scripting.js +121 -195
  30. package/dist/assets/components/Scripting.min.js +1 -1
  31. package/dist/assets/components/Text.js +30 -31
  32. package/dist/assets/components/Text.min.js +1 -1
  33. package/dist/assets/components/TextureProjector.js +14 -14
  34. package/dist/assets/components/TextureProjector.min.js +1 -1
  35. package/dist/assets/components/Texturing3D.js +174 -174
  36. package/dist/assets/components/Texturing3D.min.js +1 -1
  37. package/dist/assets/components/VolumeRendering.js +35 -33
  38. package/dist/assets/components/VolumeRendering.min.js +1 -1
  39. package/dist/assets/components/X_ITE.js +9 -9
  40. package/dist/assets/components/X_ITE.min.js +1 -1
  41. package/dist/example.html +1 -1
  42. package/dist/x_ite.css +1 -1
  43. package/dist/x_ite.js +512 -519
  44. package/dist/x_ite.min.js +1 -1
  45. package/dist/x_ite.zip +0 -0
  46. package/docs/_config.yml +1 -1
  47. package/docs/_posts/getting-started.md +1 -1
  48. package/docs/_posts/reference/prototype-services.md +2 -2
  49. package/docs/_posts/setup-a-localhost-server.md +2 -2
  50. package/package.json +4 -4
  51. package/src/example.html +1 -1
  52. package/src/standard/Math/Algorithm.js +1 -1
  53. package/src/standard/Math/Algorithms/MergeSort.js +7 -5
  54. package/src/standard/Math/Algorithms/PartialSort.js +3 -1
  55. package/src/standard/Math/Algorithms/QuickSort.js +1 -3
  56. package/src/standard/Math/Geometry/Box2.js +1 -1
  57. package/src/standard/Math/Geometry/Box3.js +1 -1
  58. package/src/standard/Math/Numbers/Quaternion.js +4 -3
  59. package/src/standard/Math/Numbers/Rotation4.js +4 -3
  60. package/src/x_ite/Base/X3DBaseNode.js +9 -24
  61. package/src/x_ite/Base/X3DEventObject.js +4 -3
  62. package/src/x_ite/Base/X3DField.js +19 -20
  63. package/src/x_ite/Base/X3DObject.js +5 -1
  64. package/src/x_ite/Base/X3DObjectArrayField.js +12 -11
  65. package/src/x_ite/Base/X3DTypedArrayField.js +3 -3
  66. package/src/x_ite/Browser/Core/Context.js +1 -1
  67. package/src/x_ite/Browser/Navigation/ExamineViewer.js +1 -1
  68. package/src/x_ite/Browser/Networking/X3DNetworkingContext.js +14 -9
  69. package/src/x_ite/Browser/PointingDeviceSensor/X3DPointingDeviceSensorContext.js +2 -2
  70. package/src/x_ite/Browser/VERSION.js +1 -1
  71. package/src/x_ite/Browser/VolumeRendering/X3DVolumeRenderingContext.js +2 -2
  72. package/src/x_ite/Browser/X3DBrowser.js +44 -77
  73. package/src/x_ite/Browser/X3DBrowserContext.js +3 -3
  74. package/src/x_ite/Components/Core/X3DNode.js +2 -2
  75. package/src/x_ite/Components/Core/X3DPrototypeInstance.js +3 -8
  76. package/src/x_ite/Components/CubeMapTexturing/ImageCubeMapTexture.js +3 -3
  77. package/src/x_ite/Components/DIS/DISEntityTypeMapping.js +0 -8
  78. package/src/x_ite/Components/EnvironmentalSensor/ProximitySensor.js +14 -12
  79. package/src/x_ite/Components/EnvironmentalSensor/TransformSensor.js +3 -3
  80. package/src/x_ite/Components/EnvironmentalSensor/VisibilitySensor.js +1 -1
  81. package/src/x_ite/Components/EnvironmentalSensor/X3DEnvironmentalSensorNode.js +1 -1
  82. package/src/x_ite/Components/Geospatial/GeoMetadata.js +0 -6
  83. package/src/x_ite/Components/Networking/Anchor.js +36 -33
  84. package/src/x_ite/Components/Networking/Inline.js +3 -3
  85. package/src/x_ite/Components/Networking/X3DUrlObject.js +74 -23
  86. package/src/x_ite/Components/Picking/X3DPickSensorNode.js +6 -5
  87. package/src/x_ite/Components/RigidBodyPhysics/CollisionSensor.js +2 -2
  88. package/src/x_ite/Components/Scripting/Script.js +93 -167
  89. package/src/x_ite/Components/Shaders/ComposedShader.js +3 -18
  90. package/src/x_ite/Components/Shaders/PackagedShader.js +0 -2
  91. package/src/x_ite/Components/Shaders/ShaderPart.js +4 -4
  92. package/src/x_ite/Components/Shaders/ShaderProgram.js +0 -2
  93. package/src/x_ite/Components/Shaders/X3DProgrammableShaderObject.js +4 -5
  94. package/src/x_ite/Components/Sound/AudioClip.js +6 -6
  95. package/src/x_ite/Components/Sound/DynamicsCompressor.js +4 -4
  96. package/src/x_ite/Components/Text/Text.js +2 -3
  97. package/src/x_ite/Components/Text/X3DFontStyleNode.js +4 -4
  98. package/src/x_ite/Components/Texturing/ImageTexture.js +3 -3
  99. package/src/x_ite/Components/Texturing/MovieTexture.js +6 -6
  100. package/src/x_ite/Components/Texturing3D/ImageTexture3D.js +3 -3
  101. package/src/x_ite/Components/Texturing3D/ImageTextureAtlas.js +3 -3
  102. package/src/x_ite/Components/Time/X3DTimeDependentNode.js +31 -25
  103. package/src/x_ite/Components/VolumeRendering/IsoSurfaceVolumeData.js +1 -1
  104. package/src/x_ite/Components/VolumeRendering/SegmentedVolumeData.js +1 -1
  105. package/src/x_ite/Components/VolumeRendering/VolumeData.js +1 -1
  106. package/src/x_ite/Components/VolumeRendering/X3DVolumeDataNode.js +11 -9
  107. package/src/x_ite/Execution/Scene.js +1 -1
  108. package/src/x_ite/Execution/X3DExecutionContext.js +30 -32
  109. package/src/x_ite/Execution/X3DScene.js +6 -6
  110. package/src/x_ite/Fields/ArrayFields.js +2 -1
  111. package/src/x_ite/Fields/SFImage.js +0 -1
  112. package/src/x_ite/Fields/SFNode.js +9 -8
  113. package/src/x_ite/Fields/SFRotation.js +2 -4
  114. package/src/x_ite/Fields/SFVecPrototypeTemplate.js +3 -3
  115. package/src/x_ite/InputOutput/FileLoader.js +3 -4
  116. package/src/x_ite/InputOutput/Generator.js +1 -1
  117. package/src/x_ite/Parser/GLTF2Parser.js +45 -45
  118. package/src/x_ite/Parser/VRMLParser.js +2 -2
  119. package/src/x_ite/Parser/X3DParser.js +4 -4
  120. package/src/x_ite/Parser/XMLParser.js +16 -22
  121. package/src/x_ite/Prototype/X3DExternProtoDeclaration.js +2 -2
  122. package/src/x_ite/Prototype/X3DProtoDeclarationNode.js +1 -1
  123. package/docs/_tabs/imprint.md +0 -52
package/dist/x_ite.js CHANGED
@@ -1,4 +1,4 @@
1
- /* X_ITE v8.6.17 */(function webpackUniversalModuleDefinition(root, factory) {
1
+ /* X_ITE v8.6.19 */(function webpackUniversalModuleDefinition(root, factory) {
2
2
  if(typeof exports === 'object' && typeof module === 'object')
3
3
  module.exports = factory();
4
4
  else if(typeof define === 'function' && define.amd)
@@ -11,11 +11,11 @@
11
11
  return /******/ (() => { // webpackBootstrap
12
12
  /******/ var __webpack_modules__ = ({
13
13
 
14
- /***/ 186:
14
+ /***/ 544:
15
15
  /***/ (function(module, exports, __webpack_require__) {
16
16
 
17
17
  "use strict";
18
- /* provided dependency */ var jQuery = __webpack_require__(67);
18
+ /* provided dependency */ var jQuery = __webpack_require__(849);
19
19
  var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;
20
20
 
21
21
  /**
@@ -387,10 +387,10 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;
387
387
 
388
388
  /***/ }),
389
389
 
390
- /***/ 664:
390
+ /***/ 865:
391
391
  /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
392
392
 
393
- /* provided dependency */ var jQuery = __webpack_require__(67);
393
+ /* provided dependency */ var jQuery = __webpack_require__(849);
394
394
  /**
395
395
  * @preserve jquery.fullscreen 1.1.5
396
396
  * https://github.com/code-lts/jquery-fullscreen-plugin
@@ -586,7 +586,7 @@ installFullScreenHandlers();
586
586
 
587
587
  /***/ }),
588
588
 
589
- /***/ 473:
589
+ /***/ 242:
590
590
  /***/ ((module, exports, __webpack_require__) => {
591
591
 
592
592
  var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
@@ -600,7 +600,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
600
600
  (function (factory) {
601
601
  if ( true ) {
602
602
  // AMD. Register as an anonymous module.
603
- !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(67)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
603
+ !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(849)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
604
604
  __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
605
605
  (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
606
606
  __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
@@ -811,7 +811,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
811
811
 
812
812
  /***/ }),
813
813
 
814
- /***/ 67:
814
+ /***/ 849:
815
815
  /***/ (function(module, exports) {
816
816
 
817
817
  var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
@@ -11784,7 +11784,7 @@ return jQuery;
11784
11784
 
11785
11785
  /***/ }),
11786
11786
 
11787
- /***/ 695:
11787
+ /***/ 625:
11788
11788
  /***/ ((module) => {
11789
11789
 
11790
11790
  /**
@@ -16563,7 +16563,7 @@ if (true) {
16563
16563
 
16564
16564
  /***/ }),
16565
16565
 
16566
- /***/ 528:
16566
+ /***/ 494:
16567
16567
  /***/ (function(__unused_webpack_module, exports) {
16568
16568
 
16569
16569
 
@@ -19808,7 +19808,7 @@ if (true) {
19808
19808
 
19809
19809
  /***/ }),
19810
19810
 
19811
- /***/ 436:
19811
+ /***/ 339:
19812
19812
  /***/ (function(module, exports) {
19813
19813
 
19814
19814
  var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*
@@ -21227,7 +21227,7 @@ function Generator ({ style = "TIDY", precision = 7, doublePrecision = 15 })
21227
21227
  this .units = true;
21228
21228
  this .unitCategories = [ ];
21229
21229
 
21230
- this .names .set (null, new Set ());
21230
+ this .names .set (null, Object .assign (new Set (), { index: 0 }));
21231
21231
  }
21232
21232
 
21233
21233
  Generator .prototype =
@@ -21953,7 +21953,11 @@ X3DObject .prototype =
21953
21953
  {
21954
21954
  generator .string = "[object " + this .getTypeName () + "]";
21955
21955
  },
21956
- dispose: function () { },
21956
+ dispose: function ()
21957
+ {
21958
+ this [_interests] .clear ();
21959
+ this [_userData] .clear ();
21960
+ },
21957
21961
  };
21958
21962
 
21959
21963
  for (const key of Reflect .ownKeys (X3DObject .prototype))
@@ -22288,7 +22292,7 @@ x_ite_Namespace.set ("x_ite/Base/Events", Events_default_);
22288
22292
 
22289
22293
 
22290
22294
 
22291
- const _browser = Symbol .for ("X3DEventObject.browser");
22295
+ const _browser = Symbol .for ("X_ITE.X3DEventObject.browser");
22292
22296
 
22293
22297
  function X3DEventObject (browser)
22294
22298
  {
@@ -22306,6 +22310,7 @@ X3DEventObject .prototype = Object .assign (Object .create (Base_X3DChildObject.
22306
22310
  },
22307
22311
  getExtendedEventHandling: function ()
22308
22312
  {
22313
+ // Whether initializeOnly field are treated like inputOnly and inputOutput fields.
22309
22314
  return true;
22310
22315
  },
22311
22316
  addEvent: function (field)
@@ -22323,15 +22328,15 @@ X3DEventObject .prototype = Object .assign (Object .create (Base_X3DChildObject.
22323
22328
 
22324
22329
  // Register for processEvent
22325
22330
 
22326
- browser .addBrowserEvent ();
22327
22331
  browser .addTaintedField (field, event);
22332
+ browser .addBrowserEvent ();
22328
22333
 
22329
22334
  // Register for eventsProcessed
22330
22335
 
22331
22336
  if (this .isTainted ())
22332
22337
  return;
22333
22338
 
22334
- if (field .isInput () || (this .getExtendedEventHandling () && ! field .isOutput ()))
22339
+ if (field .isInput () || (this .getExtendedEventHandling () && field .isInitializable ()))
22335
22340
  {
22336
22341
  this .addNodeEvent ();
22337
22342
  }
@@ -22964,15 +22969,13 @@ const
22964
22969
  _inputRoutes = Symbol (),
22965
22970
  _outputRoutes = Symbol (),
22966
22971
  _routeCallbacks = Symbol (),
22967
- _uniformLocation = Symbol .for ("X3DField.uniformLocation");
22972
+ _uniformLocation = Symbol .for ("X_ITE.X3DField.uniformLocation");
22968
22973
 
22969
22974
  function X3DField (value)
22970
22975
  {
22971
22976
  Base_X3DChildObject.call (this);
22972
22977
 
22973
22978
  this [_value] = value;
22974
-
22975
- return this;
22976
22979
  }
22977
22980
 
22978
22981
  X3DField .prototype = Object .assign (Object .create (Base_X3DChildObject.prototype),
@@ -22981,7 +22984,6 @@ X3DField .prototype = Object .assign (Object .create (Base_X3DChildObject.protot
22981
22984
  [_value]: null,
22982
22985
  [_accessType]: Base_X3DConstants.initializeOnly,
22983
22986
  [_unit]: null,
22984
- [_uniformLocation]: null,
22985
22987
  [_references]: new Set (),
22986
22988
  [_referencesCallbacks]: new Map (),
22987
22989
  [_fieldInterests]: new Set (),
@@ -22989,6 +22991,7 @@ X3DField .prototype = Object .assign (Object .create (Base_X3DChildObject.protot
22989
22991
  [_inputRoutes]: new Set (),
22990
22992
  [_outputRoutes]: new Set (),
22991
22993
  [_routeCallbacks]: new Map (),
22994
+ [_uniformLocation]: null,
22992
22995
  create: function ()
22993
22996
  {
22994
22997
  return new (this .constructor) ();
@@ -23270,32 +23273,31 @@ X3DField .prototype = Object .assign (Object .create (Base_X3DChildObject.protot
23270
23273
  if (field !== this)
23271
23274
  this .set (field .getValue (), field .length);
23272
23275
 
23273
- // Process interests
23276
+ // Process interests.
23274
23277
 
23275
23278
  this .processInterests ();
23276
23279
 
23277
- // Process routes
23280
+ // Process routes.
23278
23281
 
23279
23282
  let first = true;
23280
23283
 
23281
- if (this [_fieldInterests] .size)
23284
+ for (const fieldInterest of this [_fieldInterests])
23282
23285
  {
23283
- for (const fieldInterest of this [_fieldInterests] .values ())
23286
+ if (first)
23284
23287
  {
23285
- if (first)
23286
- {
23287
- first = false;
23288
- fieldInterest .addEventObject (this, event);
23289
- }
23290
- else
23291
- fieldInterest .addEventObject (this, Base_Events.copy (event));
23288
+ first = false;
23289
+ fieldInterest .addEventObject (this, event);
23290
+ }
23291
+ else
23292
+ {
23293
+ fieldInterest .addEventObject (this, Base_Events.copy (event));
23292
23294
  }
23293
23295
  }
23294
23296
 
23295
23297
  if (first)
23296
23298
  Base_Events.push (event);
23297
23299
 
23298
- // Process field callbacks
23300
+ // Process field callbacks.
23299
23301
 
23300
23302
  if (this [_fieldCallbacks] .size)
23301
23303
  {
@@ -23306,16 +23308,18 @@ X3DField .prototype = Object .assign (Object .create (Base_X3DChildObject.protot
23306
23308
  })(),
23307
23309
  addCloneCount: Function .prototype,
23308
23310
  removeCloneCount: Function .prototype,
23309
- valueOf: function ()
23310
- {
23311
- return this;
23312
- },
23313
23311
  fromString: function (string, scene)
23314
23312
  {
23315
23313
  // Function will be overridden in VRMLParser.
23316
23314
  },
23317
23315
  dispose: function ()
23318
23316
  {
23317
+ this [_references] .clear ();
23318
+ this [_referencesCallbacks] .clear ();
23319
+ this [_fieldInterests] .clear ();
23320
+ this [_fieldCallbacks] .clear ();
23321
+ this [_routeCallbacks] .clear ();
23322
+
23319
23323
  for (const route of new Set (this [_inputRoutes]))
23320
23324
  route .dispose ();
23321
23325
 
@@ -23681,7 +23685,7 @@ const Algorithm_default_ = class Algorithm
23681
23685
 
23682
23686
  return first;
23683
23687
  }
23684
- };
23688
+ }
23685
23689
  ;
23686
23690
 
23687
23691
  x_ite_Namespace.set ("standard/Math/Algorithm", Algorithm_default_);
@@ -25330,9 +25334,9 @@ function SFVecPrototypeTemplate (TypeName, Type, ValueType, double)
25330
25334
  toJSONStreamValue: function (generator)
25331
25335
  {
25332
25336
  const
25333
- value = this .getValue (),
25334
- last = value .length - 1,
25335
- category = generator .Unit (this .getUnit ());
25337
+ value = this .getValue (),
25338
+ last = value .length - 1,
25339
+ category = generator .Unit (this .getUnit ());
25336
25340
 
25337
25341
  for (let i = 0; i < last; ++ i)
25338
25342
  {
@@ -28099,6 +28103,7 @@ x_ite_Namespace.set ("standard/Math/Numbers/Vector4", Vector4_default_);
28099
28103
 
28100
28104
 
28101
28105
 
28106
+
28102
28107
  function Quaternion (x, y, z, w)
28103
28108
  {
28104
28109
  this .x = x;
@@ -28188,7 +28193,7 @@ Quaternion .prototype =
28188
28193
 
28189
28194
  return this;
28190
28195
  },
28191
- getMatrix: function (matrix)
28196
+ getMatrix: function (matrix = new Numbers_Matrix3 ())
28192
28197
  {
28193
28198
  const { x, y, z, w } = this;
28194
28199
 
@@ -28219,11 +28224,11 @@ Quaternion .prototype =
28219
28224
  },
28220
28225
  isReal: function ()
28221
28226
  {
28222
- return ! (this .x || this .y || this .z);
28227
+ return !(this .x || this .y || this .z);
28223
28228
  },
28224
28229
  isImag: function ()
28225
28230
  {
28226
- return ! this .w;
28231
+ return !this .w;
28227
28232
  },
28228
28233
  equals: function (quat)
28229
28234
  {
@@ -28655,6 +28660,7 @@ x_ite_Namespace.set ("standard/Math/Numbers/Quaternion", Quaternion_default_);
28655
28660
 
28656
28661
 
28657
28662
 
28663
+
28658
28664
  const
28659
28665
  _x = Symbol (),
28660
28666
  _y = Symbol (),
@@ -28885,7 +28891,7 @@ Rotation4 .prototype =
28885
28891
  {
28886
28892
  this .set (vector .x, vector .y, vector .z, this [_angle]);
28887
28893
  },
28888
- getAxis: function (axis)
28894
+ getAxis: function (axis = new Numbers_Vector3 (0, 0, 0))
28889
28895
  {
28890
28896
  return axis .set (this [_x], this [_y], this [_z]);
28891
28897
  },
@@ -28895,7 +28901,7 @@ Rotation4 .prototype =
28895
28901
  this .update ();
28896
28902
  return this;
28897
28903
  },
28898
- getQuaternion: function (quaternion)
28904
+ getQuaternion: function (quaternion = new Numbers_Quaternion (0, 0, 0, 1))
28899
28905
  {
28900
28906
  return quaternion .assign (this [_quaternion]);
28901
28907
  },
@@ -28905,7 +28911,7 @@ Rotation4 .prototype =
28905
28911
  this .update ();
28906
28912
  return this;
28907
28913
  },
28908
- getMatrix: function (matrix)
28914
+ getMatrix: function (matrix = new Numbers_Matrix3 ())
28909
28915
  {
28910
28916
  return this [_quaternion] .getMatrix (matrix);
28911
28917
  },
@@ -30232,7 +30238,8 @@ const SFNode_handler =
30232
30238
  return value;
30233
30239
 
30234
30240
  const
30235
- field = target .getValue () .getField (key),
30241
+ node = target .getValue (),
30242
+ field = node .getField (key),
30236
30243
  accessType = field .getAccessType ();
30237
30244
 
30238
30245
  // Specification conform would be: accessType & X3DConstants .outputOnly.
@@ -30258,13 +30265,14 @@ const SFNode_handler =
30258
30265
  try
30259
30266
  {
30260
30267
  const
30261
- field = target .getValue () .getField (key),
30268
+ node = target .getValue (),
30269
+ field = node .getField (key),
30262
30270
  accessType = field .getAccessType ();
30263
30271
 
30264
30272
  if (accessType !== Base_X3DConstants.outputOnly)
30265
30273
  field .setValue (value);
30266
30274
 
30267
- return true;
30275
+ return true;
30268
30276
  }
30269
30277
  catch (error)
30270
30278
  {
@@ -30512,8 +30520,7 @@ SFNode .prototype = Object .assign (Object .create (Base_X3DField.prototype),
30512
30520
 
30513
30521
  target [_cloneCount] += count;
30514
30522
 
30515
- if (value)
30516
- value .addCloneCount (count);
30523
+ value ?.addCloneCount (count);
30517
30524
  },
30518
30525
  removeCloneCount: function (count)
30519
30526
  {
@@ -30523,8 +30530,7 @@ SFNode .prototype = Object .assign (Object .create (Base_X3DField.prototype),
30523
30530
 
30524
30531
  target [_cloneCount] -= count;
30525
30532
 
30526
- if (value)
30527
- value .removeCloneCount (count);
30533
+ value ?.removeCloneCount (count);
30528
30534
  },
30529
30535
  getNodeUserData: function (key)
30530
30536
  {
@@ -30636,7 +30642,8 @@ SFNode .prototype = Object .assign (Object .create (Base_X3DField.prototype),
30636
30642
  {
30637
30643
  const target = this [SFNode_target];
30638
30644
 
30639
- target .setValue (null);
30645
+ target .set (null);
30646
+ target .processInterests ();
30640
30647
 
30641
30648
  Base_X3DField.prototype.dispose.call (target);
30642
30649
  },
@@ -30704,8 +30711,6 @@ x_ite_Namespace.set ("x_ite/Fields/SFNode", SFNode_default_);
30704
30711
 
30705
30712
 
30706
30713
 
30707
-
30708
-
30709
30714
  const
30710
30715
  SFVec3f = Fields_SFVec3.SFVec3f,
30711
30716
  SFMatrix3f = Fields_SFMatrix3.SFMatrix3f;
@@ -30779,7 +30784,7 @@ SFRotation .prototype = Object .assign (Object .create (Base_X3DField.prototype)
30779
30784
  },
30780
30785
  getAxis: function ()
30781
30786
  {
30782
- return new SFVec3f (this .getValue () .getAxis (new Numbers_Vector3 (0, 0, 0)));
30787
+ return new SFVec3f (this .getValue () .getAxis ());
30783
30788
  },
30784
30789
  setMatrix: function (matrix)
30785
30790
  {
@@ -30788,7 +30793,7 @@ SFRotation .prototype = Object .assign (Object .create (Base_X3DField.prototype)
30788
30793
  },
30789
30794
  getMatrix: function ()
30790
30795
  {
30791
- return new SFMatrix3f (this .getValue () .getMatrix (new Numbers_Matrix3 ()));
30796
+ return new SFMatrix3f (this .getValue () .getMatrix ());
30792
30797
  },
30793
30798
  inverse: function ()
30794
30799
  {
@@ -31629,7 +31634,7 @@ X3DObjectArrayField .prototype = Object .assign (Object .create (Base_X3DArrayFi
31629
31634
 
31630
31635
  for (let i = 0; i < length; ++ i)
31631
31636
  {
31632
- if (! a [i] .equals (b [i]))
31637
+ if (!a [i] .equals (b [i]))
31633
31638
  return false;
31634
31639
  }
31635
31640
 
@@ -31802,7 +31807,7 @@ X3DObjectArrayField .prototype = Object .assign (Object .create (Base_X3DArrayFi
31802
31807
  {
31803
31808
  const current = values [i];
31804
31809
 
31805
- if (! value (current .valueOf ()))
31810
+ if (!value (current .valueOf ()))
31806
31811
  {
31807
31812
  const tmp = values [first];
31808
31813
 
@@ -31826,7 +31831,7 @@ X3DObjectArrayField .prototype = Object .assign (Object .create (Base_X3DArrayFi
31826
31831
  {
31827
31832
  const current = values [i];
31828
31833
 
31829
- if (! current .equals (value))
31834
+ if (!current .equals (value))
31830
31835
  {
31831
31836
  const tmp = values [first];
31832
31837
 
@@ -31854,25 +31859,26 @@ X3DObjectArrayField .prototype = Object .assign (Object .create (Base_X3DArrayFi
31854
31859
 
31855
31860
  return values .map (function (value) { return value .valueOf () });
31856
31861
  },
31857
- resize: function (size, value, silent)
31862
+ resize: function (size, value, silently)
31858
31863
  {
31859
31864
  const
31860
31865
  target = this [X3DObjectArrayField_target],
31861
- array = target .getValue ();
31866
+ array = target .getValue (),
31867
+ length = array .length;
31862
31868
 
31863
- if (size < array .length)
31869
+ if (size < length)
31864
31870
  {
31865
- for (let i = size, length = array .length; i < length; ++ i)
31871
+ for (let i = size; i < length; ++ i)
31866
31872
  target .removeChildObject (array [i]);
31867
31873
 
31868
31874
  array .length = size;
31869
31875
 
31870
- if (! silent)
31876
+ if (!silently)
31871
31877
  target .addEvent ();
31872
31878
  }
31873
- else if (size > array .length)
31879
+ else if (size > length)
31874
31880
  {
31875
- for (let i = array .length; i < size; ++ i)
31881
+ for (let i = length; i < size; ++ i)
31876
31882
  {
31877
31883
  const field = new (target .getSingleType ()) ();
31878
31884
 
@@ -31883,7 +31889,7 @@ X3DObjectArrayField .prototype = Object .assign (Object .create (Base_X3DArrayFi
31883
31889
  array .push (field);
31884
31890
  }
31885
31891
 
31886
- if (! silent)
31892
+ if (!silently)
31887
31893
  target .addEvent ();
31888
31894
  }
31889
31895
  },
@@ -32675,7 +32681,7 @@ X3DTypedArrayField .prototype = Object .assign (Object .create (Base_X3DArrayFie
32675
32681
 
32676
32682
  return values .slice ();
32677
32683
  },
32678
- resize: function (newLength, value, silent)
32684
+ resize: function (newLength, value, silently)
32679
32685
  {
32680
32686
  const
32681
32687
  target = this [X3DTypedArrayField_target],
@@ -32691,7 +32697,7 @@ X3DTypedArrayField .prototype = Object .assign (Object .create (Base_X3DArrayFie
32691
32697
  if (components > 1)
32692
32698
  target [_cache] .length = newLength;
32693
32699
 
32694
- if (!silent)
32700
+ if (!silently)
32695
32701
  target .addEvent ();
32696
32702
  }
32697
32703
  else if (newLength > length)
@@ -32716,7 +32722,7 @@ X3DTypedArrayField .prototype = Object .assign (Object .create (Base_X3DArrayFie
32716
32722
  }
32717
32723
  }
32718
32724
 
32719
- if (!silent)
32725
+ if (!silently)
32720
32726
  target .addEvent ();
32721
32727
  }
32722
32728
 
@@ -33591,7 +33597,8 @@ MFNode .prototype = Object .assign (Object .create (Base_X3DObjectArrayField.pro
33591
33597
  {
33592
33598
  const target = this .getTarget ();
33593
33599
 
33594
- target .resize (0);
33600
+ target .resize (0, undefined, true);
33601
+ target .processInterests ();
33595
33602
 
33596
33603
  Base_X3DObjectArrayField.prototype.dispose.call (target);
33597
33604
  },
@@ -33927,7 +33934,6 @@ function SFImage (width, height, comp, array)
33927
33934
 
33928
33935
  this .getValue () .getArray () .addParent (this);
33929
33936
  this .addInterest ("set_size__", this);
33930
- return this;
33931
33937
  }
33932
33938
 
33933
33939
  SFImage .prototype = Object .assign (Object .create (Base_X3DField.prototype),
@@ -34372,7 +34378,7 @@ const
34372
34378
  _childObjects = Symbol (),
34373
34379
  _initialized = Symbol (),
34374
34380
  _live = Symbol (),
34375
- _set_live__ = Symbol ("X3DBaseNode.set_live__"),
34381
+ _set_live__ = Symbol (),
34376
34382
  X3DBaseNode_cloneCount = Symbol ();
34377
34383
 
34378
34384
  function X3DBaseNode (executionContext)
@@ -34553,22 +34559,15 @@ X3DBaseNode .prototype = Object .assign (Object .create (Base_X3DEventObject.pro
34553
34559
  {
34554
34560
  return new (this .constructor) (executionContext || this [_executionContext]);
34555
34561
  },
34556
- setup: (function ()
34562
+ setup: function ()
34557
34563
  {
34558
- const attributes = { value: Function .prototype, enumerable: false };
34559
-
34560
- return function ()
34561
- {
34562
- Object .defineProperty (this, "setup", attributes);
34563
-
34564
- for (const field of this [_fields])
34565
- field .setTainted (false);
34564
+ for (const field of this [_fields])
34565
+ field .setTainted (false);
34566
34566
 
34567
- this .initialize ();
34567
+ this .initialize ();
34568
34568
 
34569
- this [_initialized] = true;
34570
- };
34571
- })(),
34569
+ this [_initialized] = true;
34570
+ },
34572
34571
  initialize: function ()
34573
34572
  { },
34574
34573
  isInitialized: function ()
@@ -34621,10 +34620,6 @@ X3DBaseNode .prototype = Object .assign (Object .create (Base_X3DEventObject.pro
34621
34620
  {
34622
34621
  return this [_fieldDefinitions];
34623
34622
  },
34624
- getFieldsAreEnumerable: function ()
34625
- {
34626
- return false;
34627
- },
34628
34623
  addField: function (fieldDefinition)
34629
34624
  {
34630
34625
  const
@@ -34644,7 +34639,7 @@ X3DBaseNode .prototype = Object .assign (Object .create (Base_X3DEventObject.pro
34644
34639
  {
34645
34640
  get: function () { return field; },
34646
34641
  set: function (value) { field .setValue (value); },
34647
- enumerable: this .getFieldsAreEnumerable (),
34642
+ enumerable: false,
34648
34643
  configurable: true, // false : non deletable
34649
34644
  });
34650
34645
 
@@ -34828,10 +34823,6 @@ X3DBaseNode .prototype = Object .assign (Object .create (Base_X3DEventObject.pro
34828
34823
  {
34829
34824
  return this [_fields];
34830
34825
  },
34831
- getSourceText: function ()
34832
- {
34833
- return null;
34834
- },
34835
34826
  hasRoutes: function ()
34836
34827
  {
34837
34828
  /// Returns true if there are any routes from or to fields of this node otherwise false.
@@ -34913,7 +34904,7 @@ X3DBaseNode .prototype = Object .assign (Object .create (Base_X3DEventObject.pro
34913
34904
  for (const field of this [_childObjects])
34914
34905
  field .dispose ();
34915
34906
 
34916
- for (const field of this .getFields ())
34907
+ for (const field of this [_fields])
34917
34908
  field .dispose ();
34918
34909
 
34919
34910
  Base_X3DEventObject.prototype.dispose.call (this);
@@ -34976,7 +34967,7 @@ x_ite_Namespace.set ("x_ite/Base/X3DBaseNode", X3DBaseNode_default_);
34976
34967
  *
34977
34968
  ******************************************************************************/
34978
34969
 
34979
- const VERSION_default_ = "8.6.17";
34970
+ const VERSION_default_ = "8.6.19";
34980
34971
  ;
34981
34972
 
34982
34973
  x_ite_Namespace.set ("x_ite/Browser/VERSION", VERSION_default_);
@@ -35266,7 +35257,7 @@ const Context =
35266
35257
  }
35267
35258
  };
35268
35259
 
35269
- setTimeout (check, 0);
35260
+ setTimeout (check);
35270
35261
  });
35271
35262
  },
35272
35263
  getBufferSubDataAsync: async function (target, buffer, srcByteOffset, dstBuffer, /* optional */ dstOffset, /* optional */ length)
@@ -35880,7 +35871,7 @@ const gettext_default_ = gettext;
35880
35871
  x_ite_Namespace.set ("locale/gettext", gettext_default_);
35881
35872
  /* harmony default export */ const locale_gettext = (gettext_default_);
35882
35873
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/BrowserTimings.js
35883
- /* provided dependency */ var $ = __webpack_require__(67);
35874
+ /* provided dependency */ var $ = __webpack_require__(849);
35884
35875
  /*******************************************************************************
35885
35876
  *
35886
35877
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -36298,7 +36289,7 @@ const TextureQuality_default_ = TextureQuality;
36298
36289
  x_ite_Namespace.set ("x_ite/Browser/Core/TextureQuality", TextureQuality_default_);
36299
36290
  /* harmony default export */ const Core_TextureQuality = (TextureQuality_default_);
36300
36291
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/BrowserOptions.js
36301
- /* provided dependency */ var BrowserOptions_$ = __webpack_require__(67);
36292
+ /* provided dependency */ var BrowserOptions_$ = __webpack_require__(849);
36302
36293
  /*******************************************************************************
36303
36294
  *
36304
36295
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -36834,7 +36825,7 @@ const RenderingProperties_default_ = RenderingProperties;
36834
36825
  x_ite_Namespace.set ("x_ite/Browser/Core/RenderingProperties", RenderingProperties_default_);
36835
36826
  /* harmony default export */ const Core_RenderingProperties = (RenderingProperties_default_);
36836
36827
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/Notification.js
36837
- /* provided dependency */ var Notification_$ = __webpack_require__(67);
36828
+ /* provided dependency */ var Notification_$ = __webpack_require__(849);
36838
36829
  /*******************************************************************************
36839
36830
  *
36840
36831
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -36956,8 +36947,8 @@ const Notification_default_ = Notification;
36956
36947
  x_ite_Namespace.set ("x_ite/Browser/Core/Notification", Notification_default_);
36957
36948
  /* harmony default export */ const Core_Notification = (Notification_default_);
36958
36949
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/ContextMenu.js
36959
- /* provided dependency */ var jquery_fullscreen = __webpack_require__(664);
36960
- /* provided dependency */ var ContextMenu_$ = __webpack_require__(67);
36950
+ /* provided dependency */ var jquery_fullscreen = __webpack_require__(865);
36951
+ /* provided dependency */ var ContextMenu_$ = __webpack_require__(849);
36961
36952
  /*******************************************************************************
36962
36953
  *
36963
36954
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -38102,9 +38093,9 @@ X3DNode .prototype = Object .assign (Object .create (Base_X3DBaseNode.prototype)
38102
38093
 
38103
38094
  return false;
38104
38095
  },
38105
- getFieldsAreEnumerable: function ()
38096
+ getSourceText: function ()
38106
38097
  {
38107
- return true;
38098
+ return null;
38108
38099
  },
38109
38100
  traverse: function () { },
38110
38101
  toStream: function (generator)
@@ -40273,11 +40264,6 @@ X3DPrototypeInstance .prototype = Object .assign (Object .create (Core_X3DNode.p
40273
40264
 
40274
40265
  protoNode ._name_changed .addFieldInterest (this ._typeName_changed);
40275
40266
 
40276
- const outerNode = this .getExecutionContext () .getOuterNode ();
40277
-
40278
- if (outerNode ?.getType () .includes (Base_X3DConstants.X3DProtoDeclaration))
40279
- return;
40280
-
40281
40267
  if (protoNode .isExternProto)
40282
40268
  {
40283
40269
  if (this [_protoNode] .checkLoadState () === Base_X3DConstants.COMPLETE_STATE)
@@ -40287,7 +40273,7 @@ X3DPrototypeInstance .prototype = Object .assign (Object .create (Core_X3DNode.p
40287
40273
  else
40288
40274
  {
40289
40275
  protoNode ._updateInstances .addInterest ("construct", this);
40290
- protoNode .requestImmediateLoad ();
40276
+ protoNode .requestImmediateLoad () .catch (Function .prototype);
40291
40277
  }
40292
40278
  }
40293
40279
  else
@@ -41014,11 +41000,11 @@ X3DPrototypeInstance .prototype = Object .assign (Object .create (Core_X3DNode.p
41014
41000
  },
41015
41001
  dispose: function ()
41016
41002
  {
41003
+ this [_protoNode] ._name_changed .removeFieldInterest (this ._typeName_changed);
41017
41004
  this [_protoNode] ._updateInstances .removeInterest ("construct", this);
41018
41005
  this [_protoNode] ._updateInstances .removeInterest ("update", this);
41019
41006
 
41020
- if (this [_body])
41021
- this [_body] .dispose ();
41007
+ this [_body] ?.dispose ();
41022
41008
 
41023
41009
  Core_X3DNode.prototype.dispose.call (this);
41024
41010
  },
@@ -41102,7 +41088,7 @@ X3DProtoDeclarationNode .prototype = Object .assign (Object .create (Base_X3DBas
41102
41088
  {
41103
41089
  return true;
41104
41090
  },
41105
- createInstance: function (executionContext, { setup = true } = { })
41091
+ createInstance: function (executionContext, setup = true /* non-public argument */)
41106
41092
  {
41107
41093
  if (setup === false)
41108
41094
  {
@@ -41761,6 +41747,7 @@ x_ite_Namespace.set ("x_ite/Prototype/X3DProtoDeclaration", X3DProtoDeclaration_
41761
41747
 
41762
41748
 
41763
41749
 
41750
+
41764
41751
  const
41765
41752
  X3DUrlObject_cache = Symbol (),
41766
41753
  _autoRefreshStartTime = Symbol (),
@@ -41772,7 +41759,7 @@ function X3DUrlObject (executionContext)
41772
41759
  this .addType (Base_X3DConstants.X3DUrlObject);
41773
41760
 
41774
41761
  this .addChildObjects ("loadState", new x_ite_Fields.SFInt32 (Base_X3DConstants.NOT_STARTED_STATE),
41775
- "loadNow", new x_ite_Fields.SFTime ());
41762
+ "loadData", new x_ite_Fields.SFTime ());
41776
41763
 
41777
41764
  this [X3DUrlObject_cache] = true;
41778
41765
  this [_autoRefreshStartTime] = Date .now ();
@@ -41787,7 +41774,7 @@ X3DUrlObject .prototype =
41787
41774
 
41788
41775
  this ._load .addInterest ("set_load__", this);
41789
41776
  this ._url .addInterest ("set_url__", this);
41790
- this ._loadNow .addInterest ("loadNow", this);
41777
+ this ._loadData .addInterest ("loadData", this);
41791
41778
  this ._autoRefresh .addInterest ("set_autoRefresh__", this);
41792
41779
  this ._autoRefreshTimeLimit .addInterest ("set_autoRefresh__", this);
41793
41780
  },
@@ -41839,27 +41826,73 @@ X3DUrlObject .prototype =
41839
41826
  },
41840
41827
  requestImmediateLoad: function (cache = true)
41841
41828
  {
41842
- const loadState = this .checkLoadState ();
41829
+ return new Promise ((resolve, reject) =>
41830
+ {
41831
+ const loading = () =>
41832
+ {
41833
+ const _loading = Symbol ();
41843
41834
 
41844
- if (loadState === Base_X3DConstants.COMPLETE_STATE || loadState === Base_X3DConstants.IN_PROGRESS_STATE)
41845
- return;
41835
+ this ._loadState .addFieldCallback (_loading, () =>
41836
+ {
41837
+ switch (this .checkLoadState ())
41838
+ {
41839
+ case Base_X3DConstants.COMPLETE_STATE:
41840
+ this ._loadState .removeFieldCallback (_loading);
41841
+ resolve ();
41842
+ break;
41843
+ case Base_X3DConstants.FAILED_STATE:
41844
+ this ._loadState .removeFieldCallback (_loading);
41845
+ reject ();
41846
+ break;
41847
+ }
41848
+ })
41849
+ };
41846
41850
 
41847
- if (!this ._load .getValue ())
41848
- return;
41851
+ const loadState = this .checkLoadState ();
41849
41852
 
41850
- if (this ._url .length === 0)
41851
- return;
41853
+ if (loadState === Base_X3DConstants.COMPLETE_STATE)
41854
+ {
41855
+ resolve ();
41856
+ return;
41857
+ }
41852
41858
 
41853
- this .setCache (cache);
41854
- this .setLoadState (Base_X3DConstants.IN_PROGRESS_STATE);
41859
+ if (loadState === Base_X3DConstants.IN_PROGRESS_STATE)
41860
+ {
41861
+ loading ();
41862
+ return;
41863
+ }
41855
41864
 
41856
- if (this .isInitialized ())
41857
- // Buffer prevents double load of the scene if load and url field are set at the same time.
41858
- this ._loadNow = this .getBrowser () .getCurrentTime ();
41859
- else
41860
- this .loadNow ();
41865
+ if (!this ._load .getValue ())
41866
+ {
41867
+ reject ();
41868
+ return;
41869
+ }
41870
+
41871
+ if (this ._url .length === 0)
41872
+ {
41873
+ resolve ();
41874
+ return;
41875
+ }
41876
+
41877
+ this .setCache (cache);
41878
+ this .setLoadState (Base_X3DConstants.IN_PROGRESS_STATE);
41879
+
41880
+ if (this .isInitialized ())
41881
+ // Buffer prevents double load of the scene if load and url field are set at the same time.
41882
+ this ._loadData = this .getBrowser () .getCurrentTime ();
41883
+ else
41884
+ this .loadData ();
41885
+
41886
+ loading ();
41887
+ });
41861
41888
  },
41862
41889
  loadNow: function ()
41890
+ {
41891
+ this .setLoadState (Base_X3DConstants.NOT_STARTED_STATE);
41892
+
41893
+ return this .requestImmediateLoad ();
41894
+ },
41895
+ loadData: function ()
41863
41896
  { },
41864
41897
  requestUnload: function ()
41865
41898
  {
@@ -41869,9 +41902,13 @@ X3DUrlObject .prototype =
41869
41902
  return;
41870
41903
 
41871
41904
  this .setLoadState (Base_X3DConstants.NOT_STARTED_STATE);
41872
- this .unLoadNow ();
41905
+ this .unloadData ();
41873
41906
  },
41874
- unLoadNow: function ()
41907
+ unloadNow: function ()
41908
+ {
41909
+ this .requestUnload ();
41910
+ },
41911
+ unloadData: function ()
41875
41912
  { },
41876
41913
  setAutoRefreshTimer: function (autoRefreshInterval)
41877
41914
  {
@@ -41893,7 +41930,7 @@ X3DUrlObject .prototype =
41893
41930
  performAutoRefresh: function ()
41894
41931
  {
41895
41932
  this .setLoadState (Base_X3DConstants.NOT_STARTED_STATE);
41896
- this .requestImmediateLoad (false);
41933
+ this .requestImmediateLoad (false) .catch (Function .prototype);
41897
41934
  },
41898
41935
  set_live__: function ()
41899
41936
  {
@@ -41905,7 +41942,7 @@ X3DUrlObject .prototype =
41905
41942
  set_load__: function ()
41906
41943
  {
41907
41944
  if (this ._load .getValue ())
41908
- this .requestImmediateLoad ();
41945
+ this .requestImmediateLoad () .catch (Function .prototype);
41909
41946
  else
41910
41947
  this .requestUnload ();
41911
41948
  },
@@ -41915,7 +41952,7 @@ X3DUrlObject .prototype =
41915
41952
  return;
41916
41953
 
41917
41954
  this .setLoadState (Base_X3DConstants.NOT_STARTED_STATE);
41918
- this .requestImmediateLoad ();
41955
+ this .requestImmediateLoad () .catch (Function .prototype);
41919
41956
  },
41920
41957
  set_autoRefresh__: function ()
41921
41958
  {
@@ -41942,7 +41979,7 @@ const X3DUrlObject_default_ = X3DUrlObject;
41942
41979
  x_ite_Namespace.set ("x_ite/Components/Networking/X3DUrlObject", X3DUrlObject_default_);
41943
41980
  /* harmony default export */ const Networking_X3DUrlObject = (X3DUrlObject_default_);
41944
41981
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/X3DParser.js
41945
- /* provided dependency */ var X3DParser_$ = __webpack_require__(67);
41982
+ /* provided dependency */ var X3DParser_$ = __webpack_require__(849);
41946
41983
  /*******************************************************************************
41947
41984
  *
41948
41985
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -41999,14 +42036,14 @@ function X3DParser (scene)
41999
42036
 
42000
42037
  X3DParser .prototype = {
42001
42038
  constructor: X3DParser,
42002
- getScene: function ()
42003
- {
42004
- return this .scene;
42005
- },
42006
42039
  getBrowser: function ()
42007
42040
  {
42008
42041
  return this .scene .getBrowser ();
42009
42042
  },
42043
+ getScene: function ()
42044
+ {
42045
+ return this .scene;
42046
+ },
42010
42047
  getExecutionContext: function ()
42011
42048
  {
42012
42049
  return this .executionContexts .at (-1);
@@ -43457,11 +43494,11 @@ VRMLParser .prototype = Object .assign (Object .create (Parser_X3DParser.prototy
43457
43494
  {
43458
43495
  var
43459
43496
  nodeTypeId = this .result [1],
43460
- baseNode = this .getExecutionContext () .createNode (nodeTypeId, { setup: false });
43497
+ baseNode = this .getExecutionContext () .createNode (nodeTypeId, false);
43461
43498
 
43462
43499
  if (! baseNode)
43463
43500
  {
43464
- baseNode = this .getExecutionContext () .createProto (nodeTypeId, { setup: false });
43501
+ baseNode = this .getExecutionContext () .createProto (nodeTypeId, false);
43465
43502
 
43466
43503
  if (! baseNode)
43467
43504
  throw new Error ("Unknown node type or proto '" + nodeTypeId + "', you probably have insufficient component/profile statements, and/or an inappropriate specification version.");
@@ -45124,7 +45161,7 @@ const VRMLParser_default_ = VRMLParser;
45124
45161
  x_ite_Namespace.set ("x_ite/Parser/VRMLParser", VRMLParser_default_);
45125
45162
  /* harmony default export */ const Parser_VRMLParser = (VRMLParser_default_);
45126
45163
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/XMLParser.js
45127
- /* provided dependency */ var XMLParser_$ = __webpack_require__(67);
45164
+ /* provided dependency */ var XMLParser_$ = __webpack_require__(849);
45128
45165
  /*******************************************************************************
45129
45166
  *
45130
45167
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -45273,18 +45310,16 @@ XMLParser .prototype = Object .assign (Object .create (Parser_X3DParser.prototyp
45273
45310
  {
45274
45311
  if (this .success)
45275
45312
  {
45276
- this .loadComponents () .then (function ()
45313
+ this .loadComponents () .then (() =>
45277
45314
  {
45278
45315
  this .childrenElements (xmlElement);
45279
45316
  this .success (this .getScene ());
45280
- }
45281
- .bind (this))
45282
- .catch (function (error)
45317
+ })
45318
+ .catch ((error) =>
45283
45319
  {
45284
45320
  if (this .error)
45285
45321
  this .error (error);
45286
- }
45287
- .bind (this));
45322
+ });
45288
45323
  }
45289
45324
  else
45290
45325
  {
@@ -45304,18 +45339,16 @@ XMLParser .prototype = Object .assign (Object .create (Parser_X3DParser.prototyp
45304
45339
  {
45305
45340
  if (this .success)
45306
45341
  {
45307
- this .loadComponents () .then (function ()
45342
+ this .loadComponents () .then (() =>
45308
45343
  {
45309
45344
  this .sceneElement (xmlElement);
45310
45345
  this .success (this .getScene ());
45311
- }
45312
- .bind (this))
45313
- .catch (function (error)
45346
+ })
45347
+ .catch ((error) =>
45314
45348
  {
45315
45349
  if (this .error)
45316
45350
  this .error (error);
45317
- }
45318
- .bind (this));
45351
+ });
45319
45352
  }
45320
45353
  else
45321
45354
  {
@@ -45328,18 +45361,16 @@ XMLParser .prototype = Object .assign (Object .create (Parser_X3DParser.prototyp
45328
45361
  {
45329
45362
  if (this .success)
45330
45363
  {
45331
- this .loadComponents () .then (function ()
45364
+ this .loadComponents () .then (() =>
45332
45365
  {
45333
45366
  this .childrenElements (xmlElement);
45334
45367
  this .success (this .getScene ());
45335
- }
45336
- .bind (this))
45337
- .catch (function (error)
45368
+ })
45369
+ .catch ((error) =>
45338
45370
  {
45339
45371
  if (this .error)
45340
45372
  this .error (error);
45341
- }
45342
- .bind (this));
45373
+ });
45343
45374
  }
45344
45375
  else
45345
45376
  {
@@ -45833,7 +45864,7 @@ XMLParser .prototype = Object .assign (Object .create (Parser_X3DParser.prototyp
45833
45864
 
45834
45865
  if (this .id (name))
45835
45866
  {
45836
- var node = this .getExecutionContext () .createProto (name, { setup: false });
45867
+ var node = this .getExecutionContext () .createProto (name, false);
45837
45868
 
45838
45869
  if (! node)
45839
45870
  throw new Error ("Unknown proto or externproto type '" + name + "'.");
@@ -45907,10 +45938,10 @@ XMLParser .prototype = Object .assign (Object .create (Parser_X3DParser.prototyp
45907
45938
  if (this .useAttribute (xmlElement))
45908
45939
  return;
45909
45940
 
45910
- var node = this .getExecutionContext () .createNode (this .nodeNameToCamelCase (xmlElement .nodeName), { setup: false });
45941
+ var node = this .getExecutionContext () .createNode (this .nodeNameToCamelCase (xmlElement .nodeName), false);
45911
45942
 
45912
45943
  if (!node)
45913
- node = this .getExecutionContext () .createProto (this .protoNameToCamelCase (xmlElement .nodeName), { setup: false });
45944
+ node = this .getExecutionContext () .createProto (this .protoNameToCamelCase (xmlElement .nodeName), false);
45914
45945
 
45915
45946
  if (!node)
45916
45947
  throw new Error (`Unknown node type '${xmlElement .nodeName}', you probably have insufficient component/profile statements and/or an inappropriate specification version.`);
@@ -45962,7 +45993,7 @@ XMLParser .prototype = Object .assign (Object .create (Parser_X3DParser.prototyp
45962
45993
  {
45963
45994
  // Add elements and cdata.
45964
45995
  if (childNode .nodeType === 1 || childNode .nodeType === 4)
45965
- element .appendChild (childNode);
45996
+ element .appendChild (childNode);
45966
45997
  }
45967
45998
  },
45968
45999
  routeElement: function (xmlElement)
@@ -47167,7 +47198,7 @@ const URLs_default_ = URLs;
47167
47198
  x_ite_Namespace.set ("x_ite/Browser/Networking/URLs", URLs_default_);
47168
47199
  /* harmony default export */ const Networking_URLs = (URLs_default_);
47169
47200
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/GLTF2Parser.js
47170
- /* provided dependency */ var GLTF2Parser_$ = __webpack_require__(67);
47201
+ /* provided dependency */ var GLTF2Parser_$ = __webpack_require__(849);
47171
47202
  /*******************************************************************************
47172
47203
  *
47173
47204
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -47387,7 +47418,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (Parser_X3DParser.protot
47387
47418
  const
47388
47419
  scene = this .getExecutionContext (),
47389
47420
  worldURL = scene .getWorldURL (),
47390
- worldInfoNode = scene .createNode ("WorldInfo", { setup: false });
47421
+ worldInfoNode = scene .createNode ("WorldInfo", false);
47391
47422
 
47392
47423
  for (const [key, value] of Object .entries (asset))
47393
47424
  {
@@ -47517,7 +47548,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (Parser_X3DParser.protot
47517
47548
  {
47518
47549
  const
47519
47550
  scene = this .getExecutionContext (),
47520
- lightNode = scene .createNode ("DirectionalLight", { setup: false });
47551
+ lightNode = scene .createNode ("DirectionalLight", false);
47521
47552
 
47522
47553
  return lightNode;
47523
47554
  },
@@ -47525,7 +47556,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (Parser_X3DParser.protot
47525
47556
  {
47526
47557
  const
47527
47558
  scene = this .getExecutionContext (),
47528
- lightNode = scene .createNode ("SpotLight", { setup: false });
47559
+ lightNode = scene .createNode ("SpotLight", false);
47529
47560
 
47530
47561
  lightNode ._radius = this .numberValue (light .range, 0) || 1_000_000_000;
47531
47562
  lightNode ._cutOffAngle = this .numberValue (light .outerConeAngle, Math .PI / 4);
@@ -47538,7 +47569,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (Parser_X3DParser.protot
47538
47569
  {
47539
47570
  const
47540
47571
  scene = this .getExecutionContext (),
47541
- lightNode = scene .createNode ("PointLight", { setup: false });
47572
+ lightNode = scene .createNode ("PointLight", false);
47542
47573
 
47543
47574
  lightNode ._radius = this .numberValue (light .range, 0) || 1_000_000_000;
47544
47575
  lightNode ._attenuation = new Numbers_Vector3 (0, 0, 1);
@@ -47764,7 +47795,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (Parser_X3DParser.protot
47764
47795
  {
47765
47796
  const
47766
47797
  scene = this .getExecutionContext (),
47767
- texturePropertiesNode = scene .createNode ("TextureProperties", { setup: false }),
47798
+ texturePropertiesNode = scene .createNode ("TextureProperties", false),
47768
47799
  name = this .sanitizeName (sampler .name);
47769
47800
 
47770
47801
  if (name)
@@ -47865,7 +47896,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (Parser_X3DParser.protot
47865
47896
 
47866
47897
  const
47867
47898
  scene = this .getExecutionContext (),
47868
- textureNode = scene .createNode ("ImageTexture", { setup: false }),
47899
+ textureNode = scene .createNode ("ImageTexture", false),
47869
47900
  name = this .sanitizeName (texture .name || image .name);
47870
47901
 
47871
47902
  if (name)
@@ -47910,7 +47941,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (Parser_X3DParser.protot
47910
47941
 
47911
47942
  const
47912
47943
  scene = this .getExecutionContext (),
47913
- appearanceNode = scene .createNode ("Appearance", { setup: false }),
47944
+ appearanceNode = scene .createNode ("Appearance", false),
47914
47945
  materialNode = this .createMaterial (material),
47915
47946
  name = this .sanitizeName (material .name);
47916
47947
 
@@ -47934,7 +47965,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (Parser_X3DParser.protot
47934
47965
 
47935
47966
  if (this .textureTransformNodes .length)
47936
47967
  {
47937
- const textureTransformNode = scene .createNode ("TextureTransform", { setup: false });
47968
+ const textureTransformNode = scene .createNode ("TextureTransform", false);
47938
47969
 
47939
47970
  textureTransformNode ._mapping = mapping;
47940
47971
  textureTransformNode ._translation .y = -1;
@@ -47999,7 +48030,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (Parser_X3DParser.protot
47999
48030
 
48000
48031
  const
48001
48032
  scene = this .getExecutionContext (),
48002
- materialNode = scene .createNode ("PhysicalMaterial", { setup: false });
48033
+ materialNode = scene .createNode ("PhysicalMaterial", false);
48003
48034
 
48004
48035
  const
48005
48036
  baseColorFactor = new Numbers_Color4 (0, 0, 0, 0),
@@ -48028,7 +48059,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (Parser_X3DParser.protot
48028
48059
 
48029
48060
  const
48030
48061
  scene = this .getExecutionContext (),
48031
- materialNode = scene .createNode ("Material", { setup: false });
48062
+ materialNode = scene .createNode ("Material", false);
48032
48063
 
48033
48064
  const
48034
48065
  diffuseFactor = new Numbers_Color4 (0, 0, 0, 0),
@@ -48163,7 +48194,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (Parser_X3DParser.protot
48163
48194
 
48164
48195
  const
48165
48196
  scene = this .getExecutionContext (),
48166
- textureTransformNode = scene .createNode ("TextureTransformMatrix3D", { setup: false }),
48197
+ textureTransformNode = scene .createNode ("TextureTransformMatrix3D", false),
48167
48198
  mapping = `TEXCOORD_${this .texCoordIndex + this .textureTransformNodes .length + 1}`;
48168
48199
 
48169
48200
  const
@@ -48486,7 +48517,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (Parser_X3DParser.protot
48486
48517
  {
48487
48518
  const
48488
48519
  scene = this .getExecutionContext (),
48489
- viewpointNode = scene .createNode ("OrthoViewpoint", { setup: false });
48520
+ viewpointNode = scene .createNode ("OrthoViewpoint", false);
48490
48521
 
48491
48522
  if (typeof camera .xmag === "number")
48492
48523
  {
@@ -48514,7 +48545,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (Parser_X3DParser.protot
48514
48545
  {
48515
48546
  const
48516
48547
  scene = this .getExecutionContext (),
48517
- viewpointNode = scene .createNode ("Viewpoint", { setup: false });
48548
+ viewpointNode = scene .createNode ("Viewpoint", false);
48518
48549
 
48519
48550
  if (typeof camera .yfov === "number")
48520
48551
  viewpointNode ._fieldOfView = camera .yfov
@@ -48548,7 +48579,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (Parser_X3DParser.protot
48548
48579
 
48549
48580
  const
48550
48581
  scene = this .getExecutionContext (),
48551
- transformNode = scene .createNode ("Transform", { setup: false }),
48582
+ transformNode = scene .createNode ("Transform", false),
48552
48583
  name = this .sanitizeName (node .name);
48553
48584
 
48554
48585
  // Name
@@ -48686,7 +48717,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (Parser_X3DParser.protot
48686
48717
  if (this .usedLights)
48687
48718
  scene .getRootNodes () .push (this .createNavigationInfo ());
48688
48719
 
48689
- const switchNode = scene .createNode ("Switch", { setup: false });
48720
+ const switchNode = scene .createNode ("Switch", false);
48690
48721
 
48691
48722
  scene .addNamedNode (scene .getUniqueName ("Scenes"), switchNode);
48692
48723
  scene .addExportedNode (scene .getUniqueExportName ("Scenes"), switchNode);
@@ -48724,7 +48755,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (Parser_X3DParser.protot
48724
48755
  {
48725
48756
  const
48726
48757
  scene = this .getExecutionContext (),
48727
- groupNode = scene .createNode ("Group", { setup: false }),
48758
+ groupNode = scene .createNode ("Group", false),
48728
48759
  name = this .sanitizeName (sceneObject .name);
48729
48760
 
48730
48761
  if (name)
@@ -48759,7 +48790,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (Parser_X3DParser.protot
48759
48790
 
48760
48791
  const
48761
48792
  scene = this .getExecutionContext (),
48762
- groupNode = scene .createNode ("Group", { setup: false });
48793
+ groupNode = scene .createNode ("Group", false);
48763
48794
 
48764
48795
  scene .addNamedNode (scene .getUniqueName ("Animations"), groupNode);
48765
48796
  scene .addExportedNode (scene .getUniqueExportName ("Animations"), groupNode);
@@ -48777,14 +48808,14 @@ GLTF2Parser .prototype = Object .assign (Object .create (Parser_X3DParser.protot
48777
48808
 
48778
48809
  const
48779
48810
  scene = this .getExecutionContext (),
48780
- timeSensorNode = scene .createNode ("TimeSensor", { setup: false }),
48811
+ timeSensorNode = scene .createNode ("TimeSensor", false),
48781
48812
  channelNodes = this .animationChannelsArray (animation .channels, animation .samplers, timeSensorNode);
48782
48813
 
48783
48814
  if (!channelNodes .length)
48784
48815
  return null;
48785
48816
 
48786
48817
  const
48787
- groupNode = scene .createNode ("Group", { setup: false }),
48818
+ groupNode = scene .createNode ("Group", false),
48788
48819
  name = this .sanitizeName (animation .name);
48789
48820
 
48790
48821
  ++ this .animations;
@@ -48879,7 +48910,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (Parser_X3DParser.protot
48879
48910
  {
48880
48911
  const
48881
48912
  scene = this .getExecutionContext (),
48882
- navigationInfoNode = scene .createNode ("NavigationInfo", { setup: false });
48913
+ navigationInfoNode = scene .createNode ("NavigationInfo", false);
48883
48914
 
48884
48915
  navigationInfoNode ._headlight = false;
48885
48916
 
@@ -48891,7 +48922,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (Parser_X3DParser.protot
48891
48922
  {
48892
48923
  const
48893
48924
  scene = this .getExecutionContext (),
48894
- shapeNode = scene .createNode ("Shape", { setup: false }),
48925
+ shapeNode = scene .createNode ("Shape", false),
48895
48926
  appearanceNode = this .materialObject (primitive .material),
48896
48927
  geometryNode = this .createGeometry (primitive);
48897
48928
 
@@ -48909,8 +48940,8 @@ GLTF2Parser .prototype = Object .assign (Object .create (Parser_X3DParser.protot
48909
48940
 
48910
48941
  const
48911
48942
  scene = this .getExecutionContext (),
48912
- appearanceNode = scene .createNode ("Appearance", { setup: false }),
48913
- materialNode = scene .createNode ("PhysicalMaterial", { setup: false });
48943
+ appearanceNode = scene .createNode ("Appearance", false),
48944
+ materialNode = scene .createNode ("PhysicalMaterial", false);
48914
48945
 
48915
48946
  appearanceNode ._alphaMode = "OPAQUE";
48916
48947
  appearanceNode ._material = materialNode;
@@ -48939,7 +48970,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (Parser_X3DParser.protot
48939
48970
 
48940
48971
  const
48941
48972
  scene = this .getExecutionContext (),
48942
- textureTransformNode = scene .createNode ("TextureTransform", { setup: false });
48973
+ textureTransformNode = scene .createNode ("TextureTransform", false);
48943
48974
 
48944
48975
  textureTransformNode ._translation .y = -1;
48945
48976
  textureTransformNode ._scale .y = -1;
@@ -48956,7 +48987,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (Parser_X3DParser.protot
48956
48987
  {
48957
48988
  const
48958
48989
  scene = this .getExecutionContext (),
48959
- textureTransformNode = scene .createNode ("MultiTextureTransform", { setup: false });
48990
+ textureTransformNode = scene .createNode ("MultiTextureTransform", false);
48960
48991
 
48961
48992
  textureTransformNode ._textureTransform = textureTransformNodes;
48962
48993
 
@@ -49017,7 +49048,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (Parser_X3DParser.protot
49017
49048
  {
49018
49049
  const
49019
49050
  scene = this .getExecutionContext (),
49020
- geometryNode = scene .createNode ("PointSet", { setup: false });
49051
+ geometryNode = scene .createNode ("PointSet", false);
49021
49052
 
49022
49053
  geometryNode ._color = this .createColor (attributes .COLOR [0], material);
49023
49054
  geometryNode ._normal = this .createNormal (attributes .NORMAL);
@@ -49031,7 +49062,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (Parser_X3DParser.protot
49031
49062
  {
49032
49063
  const
49033
49064
  scene = this .getExecutionContext (),
49034
- geometryNode = scene .createNode ("IndexedLineSet", { setup: false });
49065
+ geometryNode = scene .createNode ("IndexedLineSet", false);
49035
49066
 
49036
49067
  geometryNode ._color = this .createColor (attributes .COLOR [0], material);
49037
49068
  geometryNode ._normal = this .createNormal (attributes .NORMAL);
@@ -49102,7 +49133,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (Parser_X3DParser.protot
49102
49133
  {
49103
49134
  const
49104
49135
  scene = this .getExecutionContext (),
49105
- geometryNode = scene .createNode ("LineSet", { setup: false });
49136
+ geometryNode = scene .createNode ("LineSet", false);
49106
49137
 
49107
49138
  geometryNode ._color = this .createColor (attributes .COLOR [0], material);
49108
49139
  geometryNode ._normal = this .createNormal (attributes .NORMAL);
@@ -49116,7 +49147,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (Parser_X3DParser.protot
49116
49147
  {
49117
49148
  const
49118
49149
  scene = this .getExecutionContext (),
49119
- geometryNode = scene .createNode ("IndexedTriangleSet", { setup: false });
49150
+ geometryNode = scene .createNode ("IndexedTriangleSet", false);
49120
49151
 
49121
49152
  geometryNode ._solid = material ? ! material .doubleSided : true;
49122
49153
  geometryNode ._index = indices .array;
@@ -49134,7 +49165,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (Parser_X3DParser.protot
49134
49165
  {
49135
49166
  const
49136
49167
  scene = this .getExecutionContext (),
49137
- geometryNode = scene .createNode ("TriangleSet", { setup: false });
49168
+ geometryNode = scene .createNode ("TriangleSet", false);
49138
49169
 
49139
49170
  geometryNode ._solid = material ? ! material .doubleSided : true;
49140
49171
  geometryNode ._color = this .createColor (attributes .COLOR [0], material);
@@ -49151,7 +49182,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (Parser_X3DParser.protot
49151
49182
  {
49152
49183
  const
49153
49184
  scene = this .getExecutionContext (),
49154
- geometryNode = scene .createNode ("IndexedTriangleStripSet", { setup: false });
49185
+ geometryNode = scene .createNode ("IndexedTriangleStripSet", false);
49155
49186
 
49156
49187
  geometryNode ._solid = material ? ! material .doubleSided : true;
49157
49188
  geometryNode ._index = indices .array;
@@ -49169,7 +49200,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (Parser_X3DParser.protot
49169
49200
  {
49170
49201
  const
49171
49202
  scene = this .getExecutionContext (),
49172
- geometryNode = scene .createNode ("TriangleStripSet", { setup: false });
49203
+ geometryNode = scene .createNode ("TriangleStripSet", false);
49173
49204
 
49174
49205
  geometryNode ._solid = material ? ! material .doubleSided : true;
49175
49206
  geometryNode ._color = this .createColor (attributes .COLOR [0], material);
@@ -49194,7 +49225,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (Parser_X3DParser.protot
49194
49225
  {
49195
49226
  const
49196
49227
  scene = this .getExecutionContext (),
49197
- geometryNode = scene .createNode ("IndexedTriangleFanSet", { setup: false });
49228
+ geometryNode = scene .createNode ("IndexedTriangleFanSet", false);
49198
49229
 
49199
49230
  geometryNode ._solid = material ? ! material .doubleSided : true;
49200
49231
  geometryNode ._index = indices .array;
@@ -49212,7 +49243,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (Parser_X3DParser.protot
49212
49243
  {
49213
49244
  const
49214
49245
  scene = this .getExecutionContext (),
49215
- geometryNode = scene .createNode ("TriangleFanSet", { setup: false });
49246
+ geometryNode = scene .createNode ("TriangleFanSet", false);
49216
49247
 
49217
49248
  geometryNode ._solid = material ? ! material .doubleSided : true;
49218
49249
  geometryNode ._color = this .createColor (attributes .COLOR [0], material);
@@ -49257,7 +49288,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (Parser_X3DParser.protot
49257
49288
  scene = this .getExecutionContext (),
49258
49289
  appearanceNode = this .materialObject (material),
49259
49290
  opaque = appearanceNode ._alphaMode .getValue () === "OPAQUE",
49260
- colorNode = scene .createNode (opaque ? "Color" : typeName, { setup: false });
49291
+ colorNode = scene .createNode (opaque ? "Color" : typeName, false);
49261
49292
 
49262
49293
  colorNode ._color = opaque && typeName !== "Color"
49263
49294
  ? color .array .filter ((_, i) => (i + 1) % 4)
@@ -49301,7 +49332,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (Parser_X3DParser.protot
49301
49332
 
49302
49333
  const
49303
49334
  scene = this .getExecutionContext (),
49304
- textureCoordinateNode = scene .createNode ("MultiTextureCoordinate", { setup: false });
49335
+ textureCoordinateNode = scene .createNode ("MultiTextureCoordinate", false);
49305
49336
 
49306
49337
  textureCoordinateNode ._texCoord = textureCoordinateNodes;
49307
49338
 
@@ -49324,7 +49355,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (Parser_X3DParser.protot
49324
49355
 
49325
49356
  const
49326
49357
  scene = this .getExecutionContext (),
49327
- textureCoordinateNode = scene .createNode ("TextureCoordinate", { setup: false });
49358
+ textureCoordinateNode = scene .createNode ("TextureCoordinate", false);
49328
49359
 
49329
49360
  textureCoordinateNode ._mapping = mapping;
49330
49361
  textureCoordinateNode ._point = texCoord .array;
@@ -49346,7 +49377,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (Parser_X3DParser.protot
49346
49377
 
49347
49378
  const
49348
49379
  scene = this .getExecutionContext (),
49349
- normalNode = scene .createNode ("Normal", { setup: false });
49380
+ normalNode = scene .createNode ("Normal", false);
49350
49381
 
49351
49382
  normalNode ._vector = normal .array;
49352
49383
 
@@ -49367,7 +49398,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (Parser_X3DParser.protot
49367
49398
 
49368
49399
  const
49369
49400
  scene = this .getExecutionContext (),
49370
- coordinateNode = scene .createNode ("Coordinate", { setup: false });
49401
+ coordinateNode = scene .createNode ("Coordinate", false);
49371
49402
 
49372
49403
  coordinateNode ._point = position .array;
49373
49404
 
@@ -49420,7 +49451,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (Parser_X3DParser.protot
49420
49451
  {
49421
49452
  case "STEP":
49422
49453
  {
49423
- const interpolatorNode = scene .createNode ("PositionInterpolator", { setup: false });
49454
+ const interpolatorNode = scene .createNode ("PositionInterpolator", false);
49424
49455
 
49425
49456
  // Key
49426
49457
 
@@ -49448,7 +49479,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (Parser_X3DParser.protot
49448
49479
  default:
49449
49480
  case "LINEAR":
49450
49481
  {
49451
- const interpolatorNode = scene .createNode ("PositionInterpolator", { setup: false });
49482
+ const interpolatorNode = scene .createNode ("PositionInterpolator", false);
49452
49483
 
49453
49484
  interpolatorNode ._key = times .map (t => t / cycleInterval);
49454
49485
  interpolatorNode ._keyValue = keyValues;
@@ -49460,7 +49491,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (Parser_X3DParser.protot
49460
49491
  case "CUBICSPLINE":
49461
49492
  {
49462
49493
  const
49463
- interpolatorNode = scene .createNode ("PositionInterpolator", { setup: false }),
49494
+ interpolatorNode = scene .createNode ("PositionInterpolator", false),
49464
49495
  vectors = [ ];
49465
49496
 
49466
49497
  for (let i = 0, length = keyValues .length; i < length; i += 3)
@@ -49494,7 +49525,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (Parser_X3DParser.protot
49494
49525
  {
49495
49526
  case "STEP":
49496
49527
  {
49497
- const interpolatorNode = scene .createNode ("OrientationInterpolator", { setup: false });
49528
+ const interpolatorNode = scene .createNode ("OrientationInterpolator", false);
49498
49529
 
49499
49530
  // Key
49500
49531
 
@@ -49531,7 +49562,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (Parser_X3DParser.protot
49531
49562
  default:
49532
49563
  case "LINEAR":
49533
49564
  {
49534
- const interpolatorNode = scene .createNode ("OrientationInterpolator", { setup: false });
49565
+ const interpolatorNode = scene .createNode ("OrientationInterpolator", false);
49535
49566
 
49536
49567
  interpolatorNode ._key = times .map (t => t / cycleInterval);
49537
49568
 
@@ -49550,7 +49581,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (Parser_X3DParser.protot
49550
49581
  case "CUBICSPLINE":
49551
49582
  {
49552
49583
  const
49553
- interpolatorNode = scene .createNode ("OrientationInterpolator", { setup: false }),
49584
+ interpolatorNode = scene .createNode ("OrientationInterpolator", false),
49554
49585
  quaternions = [ ];
49555
49586
 
49556
49587
  for (let i = 0, length = keyValues .length; i < length; i += 4)
@@ -49633,7 +49664,7 @@ const GLTF2Parser_default_ = GLTF2Parser;
49633
49664
  x_ite_Namespace.set ("x_ite/Parser/GLTF2Parser", GLTF2Parser_default_);
49634
49665
  /* harmony default export */ const Parser_GLTF2Parser = (GLTF2Parser_default_);
49635
49666
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/GLB2Parser.js
49636
- /* provided dependency */ var GLB2Parser_$ = __webpack_require__(67);
49667
+ /* provided dependency */ var GLB2Parser_$ = __webpack_require__(849);
49637
49668
  /*******************************************************************************
49638
49669
  *
49639
49670
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -49786,7 +49817,7 @@ const GLB2Parser_default_ = GLB2Parser;
49786
49817
  x_ite_Namespace.set ("x_ite/Parser/GLB2Parser", GLB2Parser_default_);
49787
49818
  /* harmony default export */ const Parser_GLB2Parser = (GLB2Parser_default_);
49788
49819
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/OBJParser.js
49789
- /* provided dependency */ var OBJParser_$ = __webpack_require__(67);
49820
+ /* provided dependency */ var OBJParser_$ = __webpack_require__(849);
49790
49821
  /*******************************************************************************
49791
49822
  *
49792
49823
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -51730,7 +51761,7 @@ x_ite_Namespace.set ("standard/Math/Numbers/Complex", Complex_default_);
51730
51761
 
51731
51762
 
51732
51763
 
51733
- function Box2 (size, center)
51764
+ function Box2 (/* size, center */)
51734
51765
  {
51735
51766
  this .matrix = new Numbers_Matrix3 ();
51736
51767
 
@@ -52276,8 +52307,8 @@ const MatrixStack_default_ = MatrixStack;
52276
52307
  x_ite_Namespace.set ("standard/Math/Utility/MatrixStack", MatrixStack_default_);
52277
52308
  /* harmony default export */ const Utility_MatrixStack = (MatrixStack_default_);
52278
52309
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/SVGParser.js
52279
- /* provided dependency */ var SVGParser_$ = __webpack_require__(67);
52280
- /* provided dependency */ var libtess = __webpack_require__(695);
52310
+ /* provided dependency */ var SVGParser_$ = __webpack_require__(849);
52311
+ /* provided dependency */ var libtess = __webpack_require__(625);
52281
52312
  /*******************************************************************************
52282
52313
  *
52283
52314
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -55046,7 +55077,7 @@ const SVGParser_default_ = SVGParser;
55046
55077
  x_ite_Namespace.set ("x_ite/Parser/SVGParser", SVGParser_default_);
55047
55078
  /* harmony default export */ const Parser_SVGParser = (SVGParser_default_);
55048
55079
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/GoldenGate.js
55049
- /* provided dependency */ var GoldenGate_$ = __webpack_require__(67);
55080
+ /* provided dependency */ var GoldenGate_$ = __webpack_require__(849);
55050
55081
  /*******************************************************************************
55051
55082
  *
55052
55083
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -55375,7 +55406,7 @@ const Plane3_default_ = Plane3;
55375
55406
  x_ite_Namespace.set ("standard/Math/Geometry/Plane3", Plane3_default_);
55376
55407
  /* harmony default export */ const Geometry_Plane3 = (Plane3_default_);
55377
55408
  ;// CONCATENATED MODULE: ./src/standard/Math/Geometry/Triangle3.js
55378
- /* provided dependency */ var Triangle3_libtess = __webpack_require__(695);
55409
+ /* provided dependency */ var Triangle3_libtess = __webpack_require__(625);
55379
55410
  /*******************************************************************************
55380
55411
  *
55381
55412
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -56450,26 +56481,28 @@ MergeSort .prototype =
56450
56481
  },
56451
56482
  merge: function (lo, m, hi)
56452
56483
  {
56484
+ const { array, auxiliary, compare } = this;
56485
+
56453
56486
  let i, j, k;
56454
56487
 
56455
56488
  i = 0, j = lo;
56456
56489
  // Copy first half of array a to auxiliary array b.
56457
56490
  while (j <= m)
56458
- this .auxiliary [i++] = this .array [j++];
56491
+ auxiliary [i++] = array [j++];
56459
56492
 
56460
56493
  i = 0; k = lo;
56461
56494
  // Copy back next-greatest element at each time.
56462
56495
  while (k < j && j <= hi)
56463
56496
  {
56464
- if (this .compare (this .array [j], this .auxiliary [i]))
56465
- this .array [k++] = this .array [j++];
56497
+ if (compare (array [j], auxiliary [i]))
56498
+ array [k++] = array [j++];
56466
56499
  else
56467
- this .array [k++] = this .auxiliary [i++];
56500
+ array [k++] = auxiliary [i++];
56468
56501
  }
56469
56502
 
56470
56503
  // Copy back remaining elements of first half (if any).
56471
56504
  while (k < j)
56472
- this .array [k++] = this .auxiliary [i++];
56505
+ array [k++] = auxiliary [i++];
56473
56506
  }
56474
56507
  };
56475
56508
 
@@ -56662,7 +56695,7 @@ x_ite_Namespace.set ("standard/Math/Geometry/Camera", Camera_default_);
56662
56695
 
56663
56696
 
56664
56697
 
56665
- function Box3 (size, center)
56698
+ function Box3 (/* size, center */)
56666
56699
  {
56667
56700
  this .matrix = new Numbers_Matrix4 ();
56668
56701
 
@@ -62679,7 +62712,7 @@ const X3DTexture2DNode_default_ = X3DTexture2DNode;
62679
62712
  x_ite_Namespace.set ("x_ite/Components/Texturing/X3DTexture2DNode", X3DTexture2DNode_default_);
62680
62713
  /* harmony default export */ const Texturing_X3DTexture2DNode = (X3DTexture2DNode_default_);
62681
62714
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Texturing/ImageTexture.js
62682
- /* provided dependency */ var ImageTexture_$ = __webpack_require__(67);
62715
+ /* provided dependency */ var ImageTexture_$ = __webpack_require__(849);
62683
62716
  /*******************************************************************************
62684
62717
  *
62685
62718
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -62787,17 +62820,17 @@ ImageTexture .prototype = Object .assign (Object .create (Texturing_X3DTexture2D
62787
62820
  this .image .on ("abort error", this .setError .bind (this));
62788
62821
  this .image .prop ("crossOrigin", "Anonymous");
62789
62822
 
62790
- this .requestImmediateLoad ();
62823
+ this .requestImmediateLoad () .catch (Function .prototype);
62791
62824
  },
62792
62825
  getElement: function ()
62793
62826
  {
62794
62827
  return this .image [0];
62795
62828
  },
62796
- unLoadNow: function ()
62829
+ unloadData: function ()
62797
62830
  {
62798
62831
  this .clearTexture ();
62799
62832
  },
62800
- loadNow: function ()
62833
+ loadData: function ()
62801
62834
  {
62802
62835
  this .urlStack .setValue (this ._url);
62803
62836
  this .loadNext ();
@@ -63653,10 +63686,7 @@ function X3DTimeDependentNode (executionContext)
63653
63686
  this .start = 0;
63654
63687
  this .pause = 0;
63655
63688
  this .pauseInterval = 0;
63656
- this .startTimeout = null;
63657
- this .pauseTimeout = null;
63658
- this .resumeTimeout = null;
63659
- this .stopTimeout = null;
63689
+ this .timeouts = new Map ();
63660
63690
  this .disabled = false;
63661
63691
  }
63662
63692
 
@@ -63755,13 +63785,13 @@ X3DTimeDependentNode .prototype = Object .assign (Object .create (Core_X3DChildN
63755
63785
 
63756
63786
  if (this ._enabled .getValue ())
63757
63787
  {
63758
- this .removeTimeout ("startTimeout");
63788
+ this .removeTimeout ("start");
63759
63789
 
63760
63790
  if (this .startTimeValue <= this .getBrowser () .getCurrentTime ())
63761
63791
  this .do_start ();
63762
63792
 
63763
63793
  else
63764
- this .addTimeout ("startTimeout", "do_start", this .startTimeValue);
63794
+ this .addTimeout ("start", "do_start", this .startTimeValue);
63765
63795
  }
63766
63796
  },
63767
63797
  set_pauseTime__: function ()
@@ -63770,7 +63800,7 @@ X3DTimeDependentNode .prototype = Object .assign (Object .create (Core_X3DChildN
63770
63800
 
63771
63801
  if (this ._enabled .getValue ())
63772
63802
  {
63773
- this .removeTimeout ("pauseTimeout");
63803
+ this .removeTimeout ("pause");
63774
63804
 
63775
63805
  if (this .pauseTimeValue <= this .resumeTimeValue)
63776
63806
  return;
@@ -63779,7 +63809,7 @@ X3DTimeDependentNode .prototype = Object .assign (Object .create (Core_X3DChildN
63779
63809
  this .do_pause ();
63780
63810
 
63781
63811
  else
63782
- this .addTimeout ("pauseTimeout", "do_pause", this .pauseTimeValue);
63812
+ this .addTimeout ("pause", "do_pause", this .pauseTimeValue);
63783
63813
  }
63784
63814
  },
63785
63815
  set_resumeTime__: function ()
@@ -63788,7 +63818,7 @@ X3DTimeDependentNode .prototype = Object .assign (Object .create (Core_X3DChildN
63788
63818
 
63789
63819
  if (this ._enabled .getValue ())
63790
63820
  {
63791
- this .removeTimeout ("resumeTimeout");
63821
+ this .removeTimeout ("resume");
63792
63822
 
63793
63823
  if (this .resumeTimeValue <= this .pauseTimeValue)
63794
63824
  return;
@@ -63797,7 +63827,7 @@ X3DTimeDependentNode .prototype = Object .assign (Object .create (Core_X3DChildN
63797
63827
  this .do_resume ();
63798
63828
 
63799
63829
  else
63800
- this .addTimeout ("resumeTimeout", "do_resume", this .resumeTimeValue);
63830
+ this .addTimeout ("resume", "do_resume", this .resumeTimeValue);
63801
63831
  }
63802
63832
  },
63803
63833
  set_stopTime__: function ()
@@ -63806,7 +63836,7 @@ X3DTimeDependentNode .prototype = Object .assign (Object .create (Core_X3DChildN
63806
63836
 
63807
63837
  if (this ._enabled .getValue ())
63808
63838
  {
63809
- this .removeTimeout ("stopTimeout");
63839
+ this .removeTimeout ("stop");
63810
63840
 
63811
63841
  if (this .stopTimeValue <= this .startTimeValue)
63812
63842
  return;
@@ -63815,7 +63845,7 @@ X3DTimeDependentNode .prototype = Object .assign (Object .create (Core_X3DChildN
63815
63845
  this .do_stop ();
63816
63846
 
63817
63847
  else
63818
- this .addTimeout ("stopTimeout", "do_stop", this .stopTimeValue);
63848
+ this .addTimeout ("stop", "do_stop", this .stopTimeValue);
63819
63849
  }
63820
63850
  },
63821
63851
  do_start: function ()
@@ -63909,24 +63939,29 @@ X3DTimeDependentNode .prototype = Object .assign (Object .create (Core_X3DChildN
63909
63939
  this .getBrowser () .timeEvents () .removeInterest ("set_time" ,this);
63910
63940
  }
63911
63941
  },
63912
- timeout: function (callback)
63913
- {
63914
- if (this ._enabled .getValue ())
63915
- {
63916
- this .getBrowser () .advanceTime ();
63917
-
63918
- this [callback] ();
63919
- }
63920
- },
63921
63942
  addTimeout: function (name, callback, time)
63922
63943
  {
63923
63944
  this .removeTimeout (name);
63924
- this [name] = setTimeout (this .timeout .bind (this, callback), (time - this .getBrowser () .getCurrentTime ()) * 1000);
63945
+
63946
+ this .timeouts .set (name, setTimeout (this .processTimeout .bind (this, callback), (time - this .getBrowser () .getCurrentTime ()) * 1000));
63925
63947
  },
63926
63948
  removeTimeout: function (name)
63927
63949
  {
63928
- clearTimeout (this [name]);
63929
- this [name] = null;
63950
+ clearTimeout (this .timeouts .get (name));
63951
+
63952
+ this .timeouts .delete (name);
63953
+ },
63954
+ processTimeout: function (callback)
63955
+ {
63956
+ if (!this ._enabled .getValue ())
63957
+ return;
63958
+
63959
+ if (!(this .getLive () .getValue () || this ._isEvenLive .getValue ()))
63960
+ return;
63961
+
63962
+ this .getBrowser () .advanceTime ();
63963
+
63964
+ this [callback] ();
63930
63965
  },
63931
63966
  set_loop: Function .prototype,
63932
63967
  set_start: Function .prototype,
@@ -63934,7 +63969,11 @@ X3DTimeDependentNode .prototype = Object .assign (Object .create (Core_X3DChildN
63934
63969
  set_resume: Function .prototype,
63935
63970
  set_stop: Function .prototype,
63936
63971
  set_time: Function .prototype,
63937
- dispose: Function .prototype,
63972
+ dispose: function ()
63973
+ {
63974
+ for (const name of [... this .timeouts .keys ()])
63975
+ this .removeTimeout (name);
63976
+ },
63938
63977
  });
63939
63978
 
63940
63979
  const X3DTimeDependentNode_default_ = X3DTimeDependentNode;
@@ -67013,7 +67052,7 @@ const X3DWorld_default_ = X3DWorld;
67013
67052
  x_ite_Namespace.set ("x_ite/Execution/X3DWorld", X3DWorld_default_);
67014
67053
  /* harmony default export */ const Execution_X3DWorld = (X3DWorld_default_);
67015
67054
  ;// CONCATENATED MODULE: ./src/x_ite/InputOutput/FileLoader.js
67016
- /* provided dependency */ var FileLoader_$ = __webpack_require__(67);
67055
+ /* provided dependency */ var FileLoader_$ = __webpack_require__(849);
67017
67056
  /*******************************************************************************
67018
67057
  *
67019
67058
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -67071,7 +67110,7 @@ const
67071
67110
  ECMAScript = /^\s*(?:vrmlscript|javascript|ecmascript)\:(.*)$/s,
67072
67111
  dataURL = /^data:(.*?)(?:;charset=(.*?))?(?:;(base64))?,(.*)$/s;
67073
67112
 
67074
- const foreignExtensions = new RegExp ("\.(?:html|xhtml)$");
67113
+ const foreignExtensions = new RegExp ("\.(?:html|htm|xhtml)$");
67075
67114
 
67076
67115
  const foreign = {
67077
67116
  "text/html": true,
@@ -67183,7 +67222,7 @@ FileLoader .prototype = Object .assign (Object .create (Base_X3DObject.prototype
67183
67222
 
67184
67223
  // Wait for instances to be created.
67185
67224
 
67186
- setTimeout (function ()
67225
+ setTimeout (() =>
67187
67226
  {
67188
67227
  try
67189
67228
  {
@@ -67196,8 +67235,7 @@ FileLoader .prototype = Object .assign (Object .create (Base_X3DObject.prototype
67196
67235
  else
67197
67236
  throw exception;
67198
67237
  }
67199
- },
67200
- 0);
67238
+ });
67201
67239
 
67202
67240
  if (DEBUG)
67203
67241
  {
@@ -67475,7 +67513,7 @@ X3DExternProtoDeclaration .prototype = Object .assign (Object .create (Prototype
67475
67513
 
67476
67514
  if (proto)
67477
67515
  {
67478
- for (const field of this .getUserDefinedFields ())
67516
+ for (const field of [... this .getUserDefinedFields ()])
67479
67517
  this .removeUserDefinedField (field .getName ())
67480
67518
 
67481
67519
  for (const field of proto .getUserDefinedFields ())
@@ -67488,7 +67526,7 @@ X3DExternProtoDeclaration .prototype = Object .assign (Object .create (Prototype
67488
67526
  {
67489
67527
  return this [_proto];
67490
67528
  },
67491
- loadNow: function ()
67529
+ loadData: function ()
67492
67530
  {
67493
67531
  // 7.73 — ExternProtoDeclaration function
67494
67532
 
@@ -68303,7 +68341,7 @@ X3DExecutionContext .prototype = Object .assign (Object .create (Base_X3DBaseNod
68303
68341
  {
68304
68342
  Base_X3DBaseNode.prototype.initialize.call (this);
68305
68343
 
68306
- if (! this .isScene ())
68344
+ if (!this .isScene ())
68307
68345
  this ._sceneGraph_changed .addInterest ("set_sceneGraph", this)
68308
68346
  },
68309
68347
  set_sceneGraph: function ()
@@ -68339,13 +68377,13 @@ X3DExecutionContext .prototype = Object .assign (Object .create (Base_X3DBaseNod
68339
68377
  {
68340
68378
  return this .getExecutionContext () .getProfile ();
68341
68379
  },
68342
- getComponents: function ()
68380
+ hasComponent: function (name)
68343
68381
  {
68344
- return this .getExecutionContext () .getComponents ();
68382
+ return this .getExecutionContext () .hasComponent (name);
68345
68383
  },
68346
- hasComponent: function (componentName)
68384
+ getComponents: function ()
68347
68385
  {
68348
- return this .getExecutionContext () .hasComponent (componentName);
68386
+ return this .getExecutionContext () .getComponents ();
68349
68387
  },
68350
68388
  fromUnit: function (category, value)
68351
68389
  {
@@ -68359,7 +68397,7 @@ X3DExecutionContext .prototype = Object .assign (Object .create (Base_X3DBaseNod
68359
68397
  {
68360
68398
  return this .getExecutionContext () .getUnits ();
68361
68399
  },
68362
- createNode: function (typeName, { setup = true, warn = true } = { })
68400
+ createNode: function (typeName, setup = true /* non-public argument */)
68363
68401
  {
68364
68402
  typeName = String (typeName);
68365
68403
 
@@ -68367,7 +68405,7 @@ X3DExecutionContext .prototype = Object .assign (Object .create (Base_X3DBaseNod
68367
68405
  {
68368
68406
  const Type = this .getBrowser () .getSupportedNode (typeName);
68369
68407
 
68370
- if (! Type)
68408
+ if (!Type)
68371
68409
  return null;
68372
68410
 
68373
68411
  const specificationRange = Type .prototype .getSpecificationRange ();
@@ -68378,7 +68416,7 @@ X3DExecutionContext .prototype = Object .assign (Object .create (Base_X3DBaseNod
68378
68416
  if (this .getSpecificationVersion () > specificationRange [1])
68379
68417
  return null;
68380
68418
 
68381
- if (warn && !this .hasComponent (Type .prototype .getComponentName ()))
68419
+ if (!this .hasComponent (Type .prototype .getComponentName ()))
68382
68420
  console .warn (`Node type '${typeName}' does not match component/profile statements in '${this .getWorldURL ()}'.`);
68383
68421
 
68384
68422
  return new Type (this);
@@ -68387,7 +68425,7 @@ X3DExecutionContext .prototype = Object .assign (Object .create (Base_X3DBaseNod
68387
68425
  {
68388
68426
  const Type = this .getBrowser () .getSupportedNode (typeName);
68389
68427
 
68390
- if (! Type)
68428
+ if (!Type)
68391
68429
  throw new Error (`Unknown node type '${typeName}'.`);
68392
68430
 
68393
68431
  const specificationRange = Type .prototype .getSpecificationRange ();
@@ -68398,7 +68436,7 @@ X3DExecutionContext .prototype = Object .assign (Object .create (Base_X3DBaseNod
68398
68436
  if (this .getSpecificationVersion () > specificationRange [1])
68399
68437
  throw new Error (`Node type '${typeName}' does not match specification version in '${this .getWorldURL ()}.`);
68400
68438
 
68401
- if (warn && !this .hasComponent (Type .prototype .getComponentName ()))
68439
+ if (!this .hasComponent (Type .prototype .getComponentName ()))
68402
68440
  console .warn (`Node type '${typeName}' does not match component/profile statements in '${this .getWorldURL ()}'.`);
68403
68441
 
68404
68442
  const baseNode = new Type (this);
@@ -68408,7 +68446,7 @@ X3DExecutionContext .prototype = Object .assign (Object .create (Base_X3DBaseNod
68408
68446
  return Fields_SFNodeCache.get (baseNode);
68409
68447
  }
68410
68448
  },
68411
- createProto: function (name, { setup = true } = { })
68449
+ createProto: function (name, setup = true /* non-public argument */)
68412
68450
  {
68413
68451
  name = String (name);
68414
68452
 
@@ -68419,12 +68457,12 @@ X3DExecutionContext .prototype = Object .assign (Object .create (Base_X3DBaseNod
68419
68457
  const proto = executionContext .protos .get (name);
68420
68458
 
68421
68459
  if (proto)
68422
- return proto .createInstance (this, { setup: setup });
68460
+ return proto .createInstance (this, setup);
68423
68461
 
68424
68462
  const externproto = executionContext .externprotos .get (name);
68425
68463
 
68426
68464
  if (externproto)
68427
- return externproto .createInstance (this, { setup: setup });
68465
+ return externproto .createInstance (this, setup);
68428
68466
 
68429
68467
  if (executionContext .isScene ())
68430
68468
  break;
@@ -68449,7 +68487,7 @@ X3DExecutionContext .prototype = Object .assign (Object .create (Base_X3DBaseNod
68449
68487
  name = String (name);
68450
68488
  node = Base_X3DCast (Base_X3DConstants.X3DNode, node, false);
68451
68489
 
68452
- if (! node)
68490
+ if (!node)
68453
68491
  throw new Error ("Couldn't update named node: node must be of type X3DNode.");
68454
68492
 
68455
68493
  if (node .getExecutionContext () !== this)
@@ -68477,7 +68515,7 @@ X3DExecutionContext .prototype = Object .assign (Object .create (Base_X3DBaseNod
68477
68515
 
68478
68516
  const node = this [_namedNodes] .get (name);
68479
68517
 
68480
- if (! node)
68518
+ if (!node)
68481
68519
  return;
68482
68520
 
68483
68521
  node .setName ("");
@@ -68524,7 +68562,7 @@ X3DExecutionContext .prototype = Object .assign (Object .create (Base_X3DBaseNod
68524
68562
  exportedName = String (exportedName);
68525
68563
  importedName = importedName === undefined ? exportedName : String (importedName);
68526
68564
 
68527
- if (! inlineNode)
68565
+ if (!inlineNode)
68528
68566
  throw new Error ("Node must be of type Inline node.");
68529
68567
 
68530
68568
  if (inlineNode .getExecutionContext () !== this)
@@ -68552,7 +68590,7 @@ X3DExecutionContext .prototype = Object .assign (Object .create (Base_X3DBaseNod
68552
68590
 
68553
68591
  const importedNode = this [_importedNodes] .get (importedName);
68554
68592
 
68555
- if (! importedNode)
68593
+ if (!importedNode)
68556
68594
  return;
68557
68595
 
68558
68596
  importedNode .dispose ();
@@ -68598,7 +68636,7 @@ X3DExecutionContext .prototype = Object .assign (Object .create (Base_X3DBaseNod
68598
68636
  {
68599
68637
  node = Base_X3DCast (Base_X3DConstants.X3DNode, node, false);
68600
68638
 
68601
- if (! node)
68639
+ if (!node)
68602
68640
  throw new Error ("Couldn't get local name: node must be of type X3DNode.");
68603
68641
 
68604
68642
  if (node .getExecutionContext () === this)
@@ -68639,7 +68677,7 @@ X3DExecutionContext .prototype = Object .assign (Object .create (Base_X3DBaseNod
68639
68677
  {
68640
68678
  name = String (name);
68641
68679
 
68642
- if (! (proto instanceof Prototype_X3DProtoDeclaration))
68680
+ if (!(proto instanceof Prototype_X3DProtoDeclaration))
68643
68681
  throw new Error ("Couldn't add proto declaration: proto must be of type X3DProtoDeclaration.");
68644
68682
 
68645
68683
  if (this [_protos] .get (name))
@@ -68659,7 +68697,7 @@ X3DExecutionContext .prototype = Object .assign (Object .create (Base_X3DBaseNod
68659
68697
  {
68660
68698
  name = String (name);
68661
68699
 
68662
- if (! (proto instanceof Prototype_X3DProtoDeclaration))
68700
+ if (!(proto instanceof Prototype_X3DProtoDeclaration))
68663
68701
  throw new Error ("Couldn't add proto declaration: proto must be of type X3DProtoDeclaration.");
68664
68702
 
68665
68703
  name = String (name);
@@ -68703,7 +68741,7 @@ X3DExecutionContext .prototype = Object .assign (Object .create (Base_X3DBaseNod
68703
68741
  {
68704
68742
  name = String (name);
68705
68743
 
68706
- if (! (externproto instanceof Prototype_X3DExternProtoDeclaration))
68744
+ if (!(externproto instanceof Prototype_X3DExternProtoDeclaration))
68707
68745
  throw new Error ("Couldn't add extern proto declaration: extern proto must be of type X3DExternProtoDeclaration.");
68708
68746
 
68709
68747
  if (this [_externprotos] .get (name))
@@ -68723,7 +68761,7 @@ X3DExecutionContext .prototype = Object .assign (Object .create (Base_X3DBaseNod
68723
68761
  {
68724
68762
  name = String (name);
68725
68763
 
68726
- if (! (externproto instanceof Prototype_X3DExternProtoDeclaration))
68764
+ if (!(externproto instanceof Prototype_X3DExternProtoDeclaration))
68727
68765
  throw new Error ("Couldn't add extern proto declaration: extern proto must be of type X3DExternProtoDeclaration.");
68728
68766
 
68729
68767
  name = String (name);
@@ -68759,10 +68797,10 @@ X3DExecutionContext .prototype = Object .assign (Object .create (Base_X3DBaseNod
68759
68797
  destinationNode = Base_X3DCast (Base_X3DConstants.X3DNode, destinationNode, false);
68760
68798
  destinationField = String (destinationField);
68761
68799
 
68762
- if (! sourceNode)
68800
+ if (!sourceNode)
68763
68801
  throw new Error ("Bad ROUTE specification: source node must be of type X3DNode.");
68764
68802
 
68765
- if (! destinationNode)
68803
+ if (!destinationNode)
68766
68804
  throw new Error ("Bad ROUTE specification: destination node must be of type X3DNode.");
68767
68805
 
68768
68806
  // Imported nodes handling.
@@ -68827,10 +68865,10 @@ X3DExecutionContext .prototype = Object .assign (Object .create (Base_X3DBaseNod
68827
68865
  sourceField = sourceNode .getField (sourceField),
68828
68866
  destinationField = destinationNode .getField (destinationField);
68829
68867
 
68830
- if (! sourceField .isOutput ())
68868
+ if (!sourceField .isOutput ())
68831
68869
  throw new Error ("Field named '" + sourceField .getName () + "' in node named '" + sourceNode .getName () + "' of type " + sourceNode .getTypeName () + " is not an output field.");
68832
68870
 
68833
- if (! destinationField .isInput ())
68871
+ if (!destinationField .isInput ())
68834
68872
  throw new Error ("Field named '" + destinationField .getName () + "' in node named '" + destinationNode .getName () + "' of type " + destinationNode .getTypeName () + " is not an input field.");
68835
68873
 
68836
68874
  if (sourceField .getType () !== destinationField .getType ())
@@ -68863,7 +68901,7 @@ X3DExecutionContext .prototype = Object .assign (Object .create (Base_X3DBaseNod
68863
68901
  {
68864
68902
  route = this .getRoute .apply (this, arguments);
68865
68903
 
68866
- if (! route)
68904
+ if (!route)
68867
68905
  return false;
68868
68906
  }
68869
68907
 
@@ -68943,10 +68981,10 @@ X3DExecutionContext .prototype = Object .assign (Object .create (Base_X3DBaseNod
68943
68981
  destinationNode = Base_X3DCast (Base_X3DConstants.X3DNode, destinationNode, false);
68944
68982
  destinationField = String (destinationField)
68945
68983
 
68946
- if (! sourceNode)
68984
+ if (!sourceNode)
68947
68985
  throw new Error ("Bad ROUTE specification: sourceNode must be of type X3DNode.");
68948
68986
 
68949
- if (! destinationNode)
68987
+ if (!destinationNode)
68950
68988
  throw new Error ("Bad ROUTE specification: destinationNode must be of type X3DNode.");
68951
68989
 
68952
68990
  sourceField = sourceNode .getField (sourceField);
@@ -69128,9 +69166,7 @@ X3DExecutionContext .prototype = Object .assign (Object .create (Base_X3DBaseNod
69128
69166
  },
69129
69167
  dispose: function ()
69130
69168
  {
69131
- this ._rootNodes .dispose ();
69132
-
69133
- for (const route of this [X3DExecutionContext_routes])
69169
+ for (const route of [... this [X3DExecutionContext_routes]])
69134
69170
  this .deleteRoute (route);
69135
69171
 
69136
69172
  Base_X3DBaseNode.prototype.dispose.call (this);
@@ -69217,7 +69253,7 @@ const X3DExecutionContext_default_ = X3DExecutionContext;
69217
69253
  x_ite_Namespace.set ("x_ite/Execution/X3DExecutionContext", X3DExecutionContext_default_);
69218
69254
  /* harmony default export */ const Execution_X3DExecutionContext = (X3DExecutionContext_default_);
69219
69255
  ;// CONCATENATED MODULE: ./src/x_ite/Configuration/ComponentInfo.js
69220
- /* provided dependency */ var ComponentInfo_$ = __webpack_require__(67);
69256
+ /* provided dependency */ var ComponentInfo_$ = __webpack_require__(849);
69221
69257
  /*******************************************************************************
69222
69258
  *
69223
69259
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -70088,15 +70124,19 @@ X3DScene .prototype = Object .assign (Object .create (Execution_X3DExecutionCont
70088
70124
  {
70089
70125
  return this [_profile];
70090
70126
  },
70127
+ hasComponent: function (name)
70128
+ {
70129
+ return (this [_profile] ?.components .has (name) ?? true) || this [_components] .has (name);
70130
+ },
70091
70131
  addComponent: function (component)
70092
70132
  {
70093
70133
  this [_components] .add (component .name, component);
70094
70134
 
70095
70135
  this ._components_changed = this .getBrowser () .getCurrentTime ();
70096
70136
  },
70097
- removeComponent: function (component)
70137
+ removeComponent: function (name)
70098
70138
  {
70099
- this [_components] .remove (component .name);
70139
+ this [_components] .remove (name);
70100
70140
 
70101
70141
  this ._components_changed = this .getBrowser () .getCurrentTime ();
70102
70142
  },
@@ -70104,10 +70144,6 @@ X3DScene .prototype = Object .assign (Object .create (Execution_X3DExecutionCont
70104
70144
  {
70105
70145
  return this [_components];
70106
70146
  },
70107
- hasComponent: function (componentName)
70108
- {
70109
- return (this [_profile] ?.components .has (componentName) ?? true) || this [_components] .has (componentName);
70110
- },
70111
70147
  updateUnit: function (category, name, conversionFactor)
70112
70148
  {
70113
70149
  // Private function.
@@ -70956,7 +70992,7 @@ x_ite_Namespace.set ("x_ite/Execution/X3DScene", X3DScene_default_);
70956
70992
 
70957
70993
 
70958
70994
  const
70959
- Scene_browser = Symbol .for ("X3DEventObject.browser"),
70995
+ Scene_browser = Symbol .for ("X_ITE.X3DEventObject.browser"),
70960
70996
  _loadingObjects = Symbol ();
70961
70997
 
70962
70998
  function Scene (browser)
@@ -71192,7 +71228,7 @@ const DataStorage_default_ = DataStorage;
71192
71228
  x_ite_Namespace.set ("standard/Utility/DataStorage", DataStorage_default_);
71193
71229
  /* harmony default export */ const Utility_DataStorage = (DataStorage_default_);
71194
71230
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/X3DCoreContext.js
71195
- /* provided dependency */ var X3DCoreContext_$ = __webpack_require__(67);
71231
+ /* provided dependency */ var X3DCoreContext_$ = __webpack_require__(849);
71196
71232
  /*******************************************************************************
71197
71233
  *
71198
71234
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -77249,8 +77285,8 @@ const OrientationChaser_default_ = OrientationChaser;
77249
77285
  x_ite_Namespace.set ("x_ite/Components/Followers/OrientationChaser", OrientationChaser_default_);
77250
77286
  /* harmony default export */ const Followers_OrientationChaser = (OrientationChaser_default_);
77251
77287
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Navigation/ExamineViewer.js
77252
- /* provided dependency */ var jquery_mousewheel = __webpack_require__(473);
77253
- /* provided dependency */ var ExamineViewer_$ = __webpack_require__(67);
77288
+ /* provided dependency */ var jquery_mousewheel = __webpack_require__(242);
77289
+ /* provided dependency */ var ExamineViewer_$ = __webpack_require__(849);
77254
77290
  /*******************************************************************************
77255
77291
  *
77256
77292
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -77702,7 +77738,7 @@ ExamineViewer .prototype = Object .assign (Object .create (Navigation_X3DViewer.
77702
77738
  {
77703
77739
  this .tapedTwice = true;
77704
77740
 
77705
- setTimeout (function () { this .tapedTwice = false; } .bind (this), 300);
77741
+ setTimeout (() => this .tapedTwice = false, 300);
77706
77742
  }
77707
77743
 
77708
77744
  break;
@@ -78111,8 +78147,8 @@ const ExamineViewer_default_ = ExamineViewer;
78111
78147
  x_ite_Namespace.set ("x_ite/Browser/Navigation/ExamineViewer", ExamineViewer_default_);
78112
78148
  /* harmony default export */ const Navigation_ExamineViewer = (ExamineViewer_default_);
78113
78149
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Navigation/X3DFlyViewer.js
78114
- /* provided dependency */ var X3DFlyViewer_jquery_mousewheel = __webpack_require__(473);
78115
- /* provided dependency */ var X3DFlyViewer_$ = __webpack_require__(67);
78150
+ /* provided dependency */ var X3DFlyViewer_jquery_mousewheel = __webpack_require__(242);
78151
+ /* provided dependency */ var X3DFlyViewer_$ = __webpack_require__(849);
78116
78152
  /*******************************************************************************
78117
78153
  *
78118
78154
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -79060,8 +79096,8 @@ const FlyViewer_default_ = FlyViewer;
79060
79096
  x_ite_Namespace.set ("x_ite/Browser/Navigation/FlyViewer", FlyViewer_default_);
79061
79097
  /* harmony default export */ const Navigation_FlyViewer = (FlyViewer_default_);
79062
79098
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Navigation/PlaneViewer.js
79063
- /* provided dependency */ var PlaneViewer_jquery_mousewheel = __webpack_require__(473);
79064
- /* provided dependency */ var PlaneViewer_$ = __webpack_require__(67);
79099
+ /* provided dependency */ var PlaneViewer_jquery_mousewheel = __webpack_require__(242);
79100
+ /* provided dependency */ var PlaneViewer_$ = __webpack_require__(849);
79065
79101
  /*******************************************************************************
79066
79102
  *
79067
79103
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -79370,8 +79406,8 @@ const NoneViewer_default_ = NoneViewer;
79370
79406
  x_ite_Namespace.set ("x_ite/Browser/Navigation/NoneViewer", NoneViewer_default_);
79371
79407
  /* harmony default export */ const Navigation_NoneViewer = (NoneViewer_default_);
79372
79408
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Navigation/LookAtViewer.js
79373
- /* provided dependency */ var LookAtViewer_jquery_mousewheel = __webpack_require__(473);
79374
- /* provided dependency */ var LookAtViewer_$ = __webpack_require__(67);
79409
+ /* provided dependency */ var LookAtViewer_jquery_mousewheel = __webpack_require__(242);
79410
+ /* provided dependency */ var LookAtViewer_$ = __webpack_require__(849);
79375
79411
  /*******************************************************************************
79376
79412
  *
79377
79413
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -80734,7 +80770,6 @@ X3DNetworkingContext .prototype =
80734
80770
 
80735
80771
  this [_defaultScene] .setPrivate (true);
80736
80772
  this [_defaultScene] .setLive (true);
80737
- this [_defaultScene] .setup ();
80738
80773
 
80739
80774
  this .getDefaultScene = function () { return this [_defaultScene]; };
80740
80775
 
@@ -80742,15 +80777,18 @@ X3DNetworkingContext .prototype =
80742
80777
 
80743
80778
  return this [_defaultScene];
80744
80779
  },
80780
+ getBrowserLoading: function ()
80781
+ {
80782
+ return this [_loading];
80783
+ },
80745
80784
  setBrowserLoading: function (value)
80746
80785
  {
80747
80786
  this [_loading] = value;
80748
80787
 
80749
- this .setLoadCount (0);
80750
-
80751
80788
  if (value)
80752
80789
  {
80753
- this .resetLoadCount ();
80790
+ if (!this [X3DNetworkingContext_loadingObjects] .has (this))
80791
+ this .resetLoadCount ();
80754
80792
 
80755
80793
  this .getShadow () .find (".x_ite-private-world-info") .remove ();
80756
80794
 
@@ -80770,9 +80808,9 @@ X3DNetworkingContext .prototype =
80770
80808
  }
80771
80809
  }
80772
80810
  },
80773
- getLoading: function ()
80811
+ getLoadingObjects: function ()
80774
80812
  {
80775
- return this [_loading];
80813
+ return this [X3DNetworkingContext_loadingObjects];
80776
80814
  },
80777
80815
  addLoadingObject: function (object)
80778
80816
  {
@@ -80794,6 +80832,11 @@ X3DNetworkingContext .prototype =
80794
80832
  this [X3DNetworkingContext_loadingObjects] .delete (object);
80795
80833
 
80796
80834
  this .setLoadCount (this [X3DNetworkingContext_loadingObjects] .size);
80835
+ this .setCursor (this .getCursor ());
80836
+ },
80837
+ getDisplayLoadCount: function ()
80838
+ {
80839
+ return [... this [X3DNetworkingContext_loadingObjects]] .reduce ((v, o) => v + !(o .isPrivate ?.() ?? true), 0);
80797
80840
  },
80798
80841
  setLoadCount: function (value)
80799
80842
  {
@@ -80812,9 +80855,7 @@ X3DNetworkingContext .prototype =
80812
80855
  },
80813
80856
  [_set_loadCount]: function ()
80814
80857
  {
80815
- const loadingDisplay = [... this [X3DNetworkingContext_loadingObjects]]
80816
- .filter (o => o .isPrivate)
80817
- .reduce ((v, o) => v + !o .isPrivate (), 0);
80858
+ const loadingDisplay = this .getDisplayLoadCount ();
80818
80859
 
80819
80860
  if (this ._loadCount .getValue () || this [_loading])
80820
80861
  {
@@ -80987,8 +81028,8 @@ const X3DPickingContext_default_ = X3DPickingContext;
80987
81028
  x_ite_Namespace.set ("x_ite/Browser/Picking/X3DPickingContext", X3DPickingContext_default_);
80988
81029
  /* harmony default export */ const Picking_X3DPickingContext = (X3DPickingContext_default_);
80989
81030
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/PointingDeviceSensor/PointingDevice.js
80990
- /* provided dependency */ var PointingDevice_jquery_mousewheel = __webpack_require__(473);
80991
- /* provided dependency */ var PointingDevice_$ = __webpack_require__(67);
81031
+ /* provided dependency */ var PointingDevice_jquery_mousewheel = __webpack_require__(242);
81032
+ /* provided dependency */ var PointingDevice_$ = __webpack_require__(849);
80992
81033
  /*******************************************************************************
80993
81034
  *
80994
81035
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -81613,9 +81654,9 @@ X3DPointingDeviceSensorContext .prototype =
81613
81654
  break;
81614
81655
  default:
81615
81656
  {
81616
- if (this ._loadCount .getValue ())
81657
+ if (this .getDisplayLoadCount ())
81617
81658
  div .css ("cursor", "wait");
81618
- else if (this [_pointingDevice] && this [_pointingDevice] .isOver)
81659
+ else if (this [_pointingDevice] ?.isOver)
81619
81660
  div .css ("cursor", "pointer");
81620
81661
  else
81621
81662
  div .css ("cursor", "default");
@@ -82026,8 +82067,8 @@ const MultiSampleFrameBuffer_default_ = MultiSampleFrameBuffer;
82026
82067
  x_ite_Namespace.set ("x_ite/Rendering/MultiSampleFrameBuffer", MultiSampleFrameBuffer_default_);
82027
82068
  /* harmony default export */ const Rendering_MultiSampleFrameBuffer = (MultiSampleFrameBuffer_default_);
82028
82069
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Rendering/X3DRenderingContext.js
82029
- /* provided dependency */ var X3DRenderingContext_$ = __webpack_require__(67);
82030
- /* provided dependency */ var ResizeSensor = __webpack_require__(186);
82070
+ /* provided dependency */ var X3DRenderingContext_$ = __webpack_require__(849);
82071
+ /* provided dependency */ var ResizeSensor = __webpack_require__(544);
82031
82072
  /*******************************************************************************
82032
82073
  *
82033
82074
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -87916,7 +87957,7 @@ const X3DShaderNode_default_ = X3DShaderNode;
87916
87957
  x_ite_Namespace.set ("x_ite/Components/Shaders/X3DShaderNode", X3DShaderNode_default_);
87917
87958
  /* harmony default export */ const Shaders_X3DShaderNode = (X3DShaderNode_default_);
87918
87959
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Shaders/X3DProgrammableShaderObject.js
87919
- /* provided dependency */ var X3DProgrammableShaderObject_$ = __webpack_require__(67);
87960
+ /* provided dependency */ var X3DProgrammableShaderObject_$ = __webpack_require__(849);
87920
87961
  /*******************************************************************************
87921
87962
  *
87922
87963
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -87968,8 +88009,7 @@ x_ite_Namespace.set ("x_ite/Components/Shaders/X3DShaderNode", X3DShaderNode_def
87968
88009
 
87969
88010
 
87970
88011
 
87971
-
87972
- const X3DProgrammableShaderObject_uniformLocation = Symbol .for ("X3DField.uniformLocation");
88012
+ const X3DProgrammableShaderObject_uniformLocation = Symbol .for ("X_ITE.X3DField.uniformLocation");
87973
88013
 
87974
88014
  function X3DProgrammableShaderObject (executionContext)
87975
88015
  {
@@ -89675,8 +89715,6 @@ ComposedShader .prototype = Object .assign (Object .create (Shaders_X3DShaderNod
89675
89715
  Shaders_X3DShaderNode.prototype.initialize.call (this);
89676
89716
  Shaders_X3DProgrammableShaderObject.prototype.initialize.call (this);
89677
89717
 
89678
- this .getLive () .addInterest ("set_live__", this);
89679
-
89680
89718
  // https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/shaders_glsl.html#relinkingprograms
89681
89719
  this ._activate .addInterest ("set_activate__", this);
89682
89720
 
@@ -89699,7 +89737,7 @@ ComposedShader .prototype = Object .assign (Object .create (Shaders_X3DShaderNod
89699
89737
  },
89700
89738
  addUserDefinedField: function (accessType, name, field)
89701
89739
  {
89702
- const shaderFields = this .isInitialized () && this .getLive () .getValue () && this .isValid ();
89740
+ const shaderFields = this .isInitialized () && this .isValid ();
89703
89741
 
89704
89742
  if (shaderFields)
89705
89743
  this .removeShaderFields ();
@@ -89711,7 +89749,7 @@ ComposedShader .prototype = Object .assign (Object .create (Shaders_X3DShaderNod
89711
89749
  },
89712
89750
  removeUserDefinedField: function (name)
89713
89751
  {
89714
- const shaderFields = this .isInitialized () && this .getLive () .getValue () && this .isValid ();
89752
+ const shaderFields = this .isInitialized () && this .isValid ();
89715
89753
 
89716
89754
  if (shaderFields)
89717
89755
  this .removeShaderFields ();
@@ -89729,22 +89767,9 @@ ComposedShader .prototype = Object .assign (Object .create (Shaders_X3DShaderNod
89729
89767
  {
89730
89768
  return this .program;
89731
89769
  },
89732
- set_live__: function ()
89733
- {
89734
- if (this .getLive () .getValue ())
89735
- {
89736
- if (this .isValid ())
89737
- this .addShaderFields ();
89738
- }
89739
- else
89740
- {
89741
- if (this .isValid ())
89742
- this .removeShaderFields ();
89743
- }
89744
- },
89745
89770
  set_activate__: function ()
89746
89771
  {
89747
- if (! this ._activate .getValue ())
89772
+ if (!this ._activate .getValue ())
89748
89773
  return;
89749
89774
 
89750
89775
  this .set_loaded__ ();
@@ -90709,7 +90734,7 @@ const ShaderCompiler_default_ = ShaderCompiler;
90709
90734
  x_ite_Namespace.set ("x_ite/Browser/Shaders/ShaderCompiler", ShaderCompiler_default_);
90710
90735
  /* harmony default export */ const Shaders_ShaderCompiler = (ShaderCompiler_default_);
90711
90736
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Shaders/ShaderPart.js
90712
- /* provided dependency */ var ShaderPart_$ = __webpack_require__(67);
90737
+ /* provided dependency */ var ShaderPart_$ = __webpack_require__(849);
90713
90738
  /*******************************************************************************
90714
90739
  *
90715
90740
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -90830,13 +90855,13 @@ ShaderPart .prototype = Object .assign (Object .create (Core_X3DNode.prototype),
90830
90855
 
90831
90856
  this ._type .addInterest ("set_type__", this);
90832
90857
 
90833
- this .requestImmediateLoad ();
90858
+ this .requestImmediateLoad () .catch (Function .prototype);
90834
90859
  },
90835
90860
  set_type__: function ()
90836
90861
  {
90837
90862
  this .setLoadState (Base_X3DConstants.NOT_STARTED_STATE);
90838
90863
 
90839
- this .requestImmediateLoad ();
90864
+ this .requestImmediateLoad () .catch (Function .prototype);
90840
90865
  },
90841
90866
  getSourceText: function ()
90842
90867
  {
@@ -90870,11 +90895,11 @@ ShaderPart .prototype = Object .assign (Object .create (Core_X3DNode.prototype),
90870
90895
  return shaderTypes .get (this ._type .getValue ()) || "VERTEX_SHADER";
90871
90896
  };
90872
90897
  })(),
90873
- unLoadNow: function ()
90898
+ unloadData: function ()
90874
90899
  {
90875
90900
  this .valid = false;
90876
90901
  },
90877
- loadNow: function ()
90902
+ loadData: function ()
90878
90903
  {
90879
90904
  new InputOutput_FileLoader (this) .loadDocument (this ._url,
90880
90905
  function (data, url)
@@ -93938,8 +93963,8 @@ function X3DBrowserContext (element)
93938
93963
  {
93939
93964
  Base_X3DBaseNode.call (this, this);
93940
93965
  Routing_X3DRoutingContext.call (this);
93941
- Core_X3DCoreContext.call (this, element);
93942
93966
  Scripting_X3DScriptingContext.call (this);
93967
+ Core_X3DCoreContext.call (this, element);
93943
93968
  Networking_X3DNetworkingContext.call (this);
93944
93969
  Texturing_X3DTexturingContext.call (this);
93945
93970
  Shaders_X3DShadersContext.call (this);
@@ -94004,8 +94029,8 @@ X3DBrowserContext .prototype = Object .assign (Object .create (Base_X3DBaseNode.
94004
94029
  {
94005
94030
  Base_X3DBaseNode.prototype.initialize ?.call (this);
94006
94031
  Routing_X3DRoutingContext.prototype.initialize ?.call (this);
94007
- Core_X3DCoreContext.prototype.initialize ?.call (this);
94008
94032
  Scripting_X3DScriptingContext.prototype.initialize ?.call (this);
94033
+ Core_X3DCoreContext.prototype.initialize ?.call (this);
94009
94034
  Networking_X3DNetworkingContext.prototype.initialize ?.call (this);
94010
94035
  Texturing_X3DTexturingContext.prototype.initialize ?.call (this);
94011
94036
  Shaders_X3DShadersContext.prototype.initialize ?.call (this);
@@ -94212,8 +94237,8 @@ X3DBrowserContext .prototype = Object .assign (Object .create (Base_X3DBaseNode.
94212
94237
  Shaders_X3DShadersContext.prototype.dispose ?.call (this);
94213
94238
  Texturing_X3DTexturingContext.prototype.dispose ?.call (this);
94214
94239
  Networking_X3DNetworkingContext.prototype.dispose ?.call (this);
94215
- Scripting_X3DScriptingContext.prototype.dispose ?.call (this);
94216
94240
  Core_X3DCoreContext.prototype.dispose ?.call (this);
94241
+ Scripting_X3DScriptingContext.prototype.dispose ?.call (this);
94217
94242
  Routing_X3DRoutingContext.prototype.dispose ?.call (this);
94218
94243
  Base_X3DBaseNode.prototype.dispose ?.call (this);
94219
94244
  },
@@ -95816,7 +95841,7 @@ X3DEnvironmentalSensorNode .prototype = Object .assign (Object .create (Core_X3D
95816
95841
  },
95817
95842
  set_live__: function ()
95818
95843
  {
95819
- if (this ._traversed .getValue () && this .getLive () .getValue () && this ._enabled .getValue () && ! (this .zeroTest && this ._size. getValue () .equals (Numbers_Vector3.Zero)))
95844
+ if (this ._traversed .getValue () && this .getLive () .getValue () && this ._enabled .getValue () && !(this .zeroTest && this ._size. getValue () .equals (Numbers_Vector3.Zero)))
95820
95845
  {
95821
95846
  this .getBrowser () .sensorEvents () .addInterest ("update", this);
95822
95847
  }
@@ -95939,7 +95964,7 @@ function ProximitySensor (executionContext)
95939
95964
 
95940
95965
  this .min = new Numbers_Vector3 (0, 0, 0);
95941
95966
  this .max = new Numbers_Vector3 (0, 0, 0);
95942
- this .viewpointNode = null;
95967
+ this .layerNode = null;
95943
95968
  this .modelMatrix = new Numbers_Matrix4 ();
95944
95969
  this .inside = false;
95945
95970
  }
@@ -96025,15 +96050,17 @@ ProximitySensor .prototype = Object .assign (Object .create (EnvironmentalSensor
96025
96050
  {
96026
96051
  if (this .inside && this .getTraversed ())
96027
96052
  {
96028
- if (this .viewpointNode)
96053
+ if (this .layerNode)
96029
96054
  {
96030
- const modelMatrix = this .modelMatrix;
96055
+ const
96056
+ viewpointNode = this .layerNode .getViewpoint (),
96057
+ modelMatrix = this .modelMatrix;
96031
96058
 
96032
- centerOfRotationMatrix .assign (this .viewpointNode .getModelMatrix ());
96033
- centerOfRotationMatrix .translate (this .viewpointNode .getUserCenterOfRotation ());
96059
+ centerOfRotationMatrix .assign (viewpointNode .getModelMatrix ());
96060
+ centerOfRotationMatrix .translate (viewpointNode .getUserCenterOfRotation ());
96034
96061
  centerOfRotationMatrix .multRight (invModelMatrix .assign (modelMatrix) .inverse ());
96035
96062
 
96036
- modelMatrix .multRight (this .viewpointNode .getViewMatrix ());
96063
+ modelMatrix .multRight (viewpointNode .getViewMatrix ());
96037
96064
  modelMatrix .get (null, orientation);
96038
96065
  modelMatrix .inverse ();
96039
96066
 
@@ -96045,13 +96072,13 @@ ProximitySensor .prototype = Object .assign (Object .create (EnvironmentalSensor
96045
96072
 
96046
96073
  if (this ._isActive .getValue ())
96047
96074
  {
96048
- if (! this ._position_changed .getValue () .equals (position))
96075
+ if (!this ._position_changed .getValue () .equals (position))
96049
96076
  this ._position_changed = position;
96050
96077
 
96051
- if (! this ._orientation_changed .getValue () .equals (orientation))
96078
+ if (!this ._orientation_changed .getValue () .equals (orientation))
96052
96079
  this ._orientation_changed = orientation;
96053
96080
 
96054
- if (! this ._centerOfRotation_changed .getValue () .equals (centerOfRotation))
96081
+ if (!this ._centerOfRotation_changed .getValue () .equals (centerOfRotation))
96055
96082
  this ._centerOfRotation_changed = centerOfRotation;
96056
96083
  }
96057
96084
  else
@@ -96073,8 +96100,8 @@ ProximitySensor .prototype = Object .assign (Object .create (EnvironmentalSensor
96073
96100
  }
96074
96101
  }
96075
96102
 
96076
- this .inside = false;
96077
- this .viewpointNode = null;
96103
+ this .inside = false;
96104
+ this .layerNode = null;
96078
96105
 
96079
96106
  this .setTraversed (false);
96080
96107
  };
@@ -96091,7 +96118,7 @@ ProximitySensor .prototype = Object .assign (Object .create (EnvironmentalSensor
96091
96118
  {
96092
96119
  case Rendering_TraverseType.CAMERA:
96093
96120
  {
96094
- this .viewpointNode = renderObject .getViewpoint ();
96121
+ this .layerNode = renderObject .getLayer ();
96095
96122
  this .modelMatrix .assign (renderObject .getModelViewMatrix () .get ());
96096
96123
  return;
96097
96124
  }
@@ -96268,7 +96295,7 @@ TransformSensor .prototype = Object .assign (Object .create (EnvironmentalSensor
96268
96295
  { },
96269
96296
  set_enabled__: function ()
96270
96297
  {
96271
- if (this .getLive () .getValue () && this .targetObjectNode && this ._enabled .getValue () && ! this ._size. getValue () .equals (Numbers_Vector3.Zero))
96298
+ if (this .getLive () .getValue () && this .targetObjectNode && this ._enabled .getValue () && !this ._size. getValue () .equals (Numbers_Vector3.Zero))
96272
96299
  {
96273
96300
  this .setPickableObject (true);
96274
96301
  this .getBrowser () .addTransformSensor (this);
@@ -96369,10 +96396,10 @@ TransformSensor .prototype = Object .assign (Object .create (EnvironmentalSensor
96369
96396
 
96370
96397
  if (this ._isActive .getValue ())
96371
96398
  {
96372
- if (! this ._position_changed .getValue () .equals (position))
96399
+ if (!this ._position_changed .getValue () .equals (position))
96373
96400
  this ._position_changed = position;
96374
96401
 
96375
- if (! this ._orientation_changed .getValue () .equals (orientation))
96402
+ if (!this ._orientation_changed .getValue () .equals (orientation))
96376
96403
  this ._orientation_changed = orientation;
96377
96404
  }
96378
96405
  else
@@ -96566,7 +96593,7 @@ VisibilitySensor .prototype = Object .assign (Object .create (EnvironmentalSenso
96566
96593
  {
96567
96594
  if (this .visible && this .getTraversed ())
96568
96595
  {
96569
- if (! this ._isActive .getValue ())
96596
+ if (!this ._isActive .getValue ())
96570
96597
  {
96571
96598
  this ._isActive = true;
96572
96599
  this ._enterTime = this .getBrowser () .getCurrentTime ();
@@ -106080,18 +106107,15 @@ Anchor .prototype = Object .assign (Object .create (Grouping_X3DGroupingNode.pro
106080
106107
  this .touchSensorNode ._enabled = this ._load;
106081
106108
  this .touchSensorNode .setup ();
106082
106109
 
106083
- // Modify set_active__ to get immediate response to user action (click event), otherwise links are not opened in this window.
106110
+ // Modify set_active__ to get immediate response to user action (click event),
106111
+ // otherwise links are not opened in this window.
106084
106112
 
106085
- const
106086
- anchor = this,
106087
- set_active__ = this .touchSensorNode .set_active__;
106088
-
106089
- this .touchSensorNode .set_active__ = function (active, hit)
106113
+ this .touchSensorNode .set_active__ = (active, hit) =>
106090
106114
  {
106091
- set_active__ .call (this, active, hit);
106115
+ PointingDeviceSensor_TouchSensor.prototype.set_active__.call (this .touchSensorNode, active, hit);
106092
106116
 
106093
- if (this ._isOver .getValue () && ! active)
106094
- anchor .requestImmediateLoad ();
106117
+ if (this .touchSensorNode ._isOver .getValue () && !active)
106118
+ this .requestImmediateLoad () .catch (Function .prototype);
106095
106119
  };
106096
106120
  },
106097
106121
  set_load__: function ()
@@ -106103,34 +106127,40 @@ Anchor .prototype = Object .assign (Object .create (Grouping_X3DGroupingNode.pro
106103
106127
  this .setCache (cache);
106104
106128
  this .setLoadState (Base_X3DConstants.IN_PROGRESS_STATE, false);
106105
106129
 
106106
- new InputOutput_FileLoader (this) .createX3DFromURL (this ._url, this ._parameter,
106107
- function (scene)
106130
+ return new Promise ((resolve, reject) =>
106108
106131
  {
106109
- if (scene)
106132
+ new InputOutput_FileLoader (this) .createX3DFromURL (this ._url, this ._parameter,
106133
+ (scene) =>
106134
+ {
106135
+ if (scene)
106136
+ {
106137
+ this .getBrowser () .replaceWorld (scene);
106138
+ this .setLoadState (Base_X3DConstants.COMPLETE_STATE, false);
106139
+ resolve ();
106140
+ }
106141
+ else
106142
+ {
106143
+ this .setLoadState (Base_X3DConstants.FAILED_STATE, false);
106144
+ reject ();
106145
+ }
106146
+ },
106147
+ (viewpointName) =>
106110
106148
  {
106111
- this .getBrowser () .replaceWorld (scene);
106149
+ this .getBrowser () .changeViewpoint (viewpointName);
106112
106150
  this .setLoadState (Base_X3DConstants.COMPLETE_STATE, false);
106113
- }
106114
- else
106115
- this .setLoadState (Base_X3DConstants.FAILED_STATE, false);
106116
- }
106117
- .bind (this),
106118
- function (viewpointName)
106119
- {
106120
- this .getBrowser () .changeViewpoint (viewpointName);
106121
- this .setLoadState (Base_X3DConstants.COMPLETE_STATE, false);
106122
- }
106123
- .bind (this),
106124
- function (url, target)
106125
- {
106126
- if (target)
106127
- window .open (url, target);
106128
- else
106129
- location = url;
106151
+ resolve ();
106152
+ },
106153
+ (url, target) =>
106154
+ {
106155
+ if (target)
106156
+ window .open (url, target);
106157
+ else
106158
+ location = url;
106130
106159
 
106131
- this .setLoadState (Base_X3DConstants.COMPLETE_STATE, false);
106132
- }
106133
- .bind (this));
106160
+ this .setLoadState (Base_X3DConstants.COMPLETE_STATE, false);
106161
+ resolve ();
106162
+ });
106163
+ });
106134
106164
  },
106135
106165
  requestUnload ()
106136
106166
  { },
@@ -106296,7 +106326,7 @@ Inline .prototype = Object .assign (Object .create (Core_X3DChildNode.prototype)
106296
106326
  this .groupNode ._isCameraObject .addFieldInterest (this ._isCameraObject);
106297
106327
  this .groupNode ._isPickableObject .addFieldInterest (this ._isPickableObject);
106298
106328
 
106299
- this .requestImmediateLoad ();
106329
+ this .requestImmediateLoad () .catch (Function .prototype);
106300
106330
  },
106301
106331
  getBBox: function (bbox, shadows)
106302
106332
  {
@@ -106314,12 +106344,12 @@ Inline .prototype = Object .assign (Object .create (Core_X3DChildNode.prototype)
106314
106344
 
106315
106345
  this .scene .setLive (this .getLive () .getValue ());
106316
106346
  },
106317
- unLoadNow: function ()
106347
+ unloadData: function ()
106318
106348
  {
106319
106349
  this .abortLoading ();
106320
106350
  this .setInternalScene (this .getBrowser () .getDefaultScene ());
106321
106351
  },
106322
- loadNow: function ()
106352
+ loadData: function ()
106323
106353
  {
106324
106354
  this .abortLoading ();
106325
106355
  this .fileLoader = new InputOutput_FileLoader (this) .createX3DFromURL (this ._url, null, this .setInternalSceneAsync .bind (this));
@@ -111041,8 +111071,6 @@ PackagedShader .prototype = Object .assign (Object .create (Shaders_X3DShaderNod
111041
111071
  },
111042
111072
  requestImmediateLoad: function (cache = true)
111043
111073
  { },
111044
- requestUnload: function ()
111045
- { },
111046
111074
  initialize: function ()
111047
111075
  {
111048
111076
  Shaders_X3DShaderNode.prototype.initialize.call (this);
@@ -111258,8 +111286,6 @@ ShaderProgram .prototype = Object .assign (Object .create (Core_X3DNode.prototyp
111258
111286
  },
111259
111287
  requestImmediateLoad: function (cache = true)
111260
111288
  { },
111261
- requestUnload: function ()
111262
- { },
111263
111289
  initialize: function ()
111264
111290
  {
111265
111291
  Core_X3DNode.prototype.initialize.call (this);
@@ -113147,7 +113173,7 @@ const X3DSoundSourceNode_default_ = X3DSoundSourceNode;
113147
113173
  x_ite_Namespace.set ("x_ite/Components/Sound/X3DSoundSourceNode", X3DSoundSourceNode_default_);
113148
113174
  /* harmony default export */ const Sound_X3DSoundSourceNode = (X3DSoundSourceNode_default_);
113149
113175
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Sound/AudioClip.js
113150
- /* provided dependency */ var AudioClip_$ = __webpack_require__(67);
113176
+ /* provided dependency */ var AudioClip_$ = __webpack_require__(849);
113151
113177
  /*******************************************************************************
113152
113178
  *
113153
113179
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -113268,7 +113294,7 @@ AudioClip .prototype = Object .assign (Object .create (Sound_X3DSoundSourceNode.
113268
113294
  this .audio .prop ("preload", "auto");
113269
113295
  this .audio .prop ("muted", true);
113270
113296
 
113271
- this .requestImmediateLoad ();
113297
+ this .requestImmediateLoad () .catch (Function .prototype);
113272
113298
  },
113273
113299
  getElement: function ()
113274
113300
  {
@@ -113279,11 +113305,11 @@ AudioClip .prototype = Object .assign (Object .create (Sound_X3DSoundSourceNode.
113279
113305
  Sound_X3DSoundSourceNode.prototype.set_live__.call (this);
113280
113306
  Networking_X3DUrlObject.prototype.set_live__.call (this);
113281
113307
  },
113282
- unLoadNow: function ()
113308
+ unloadData: function ()
113283
113309
  {
113284
113310
  this .setMedia (null);
113285
113311
  },
113286
- loadNow: function ()
113312
+ loadData: function ()
113287
113313
  {
113288
113314
  this .setMedia (null);
113289
113315
  this .urlStack .setValue (this ._url);
@@ -113315,12 +113341,12 @@ AudioClip .prototype = Object .assign (Object .create (Sound_X3DSoundSourceNode.
113315
113341
  },
113316
113342
  setTimeout: function (event)
113317
113343
  {
113318
- setTimeout (function ()
113344
+ setTimeout (() =>
113319
113345
  {
113320
113346
  if (this .checkLoadState () === Base_X3DConstants.IN_PROGRESS_STATE)
113321
113347
  this .setError (event);
113322
- }
113323
- .bind (this), 3000);
113348
+ },
113349
+ 3000);
113324
113350
  },
113325
113351
  setError: function (event)
113326
113352
  {
@@ -114498,12 +114524,12 @@ DynamicsCompressor .prototype = Object .assign (Object .create (Sound_X3DSoundPr
114498
114524
  {
114499
114525
  constructor: DynamicsCompressor,
114500
114526
  [Symbol .for ("X_ITE.X3DBaseNode.fieldDefinitions")]: new Base_FieldDefinitionArray ([
114501
- new Base_X3DFieldDefinition (Base_X3DConstants.inputOutput, "metadata", new x_ite_Fields.SFNode ()),
114502
- new Base_X3DFieldDefinition (Base_X3DConstants.inputOutput, "description", new x_ite_Fields.SFString ()),
114503
- new Base_X3DFieldDefinition (Base_X3DConstants.inputOutput, "enabled", new x_ite_Fields.SFBool (true)),
114527
+ new Base_X3DFieldDefinition (Base_X3DConstants.inputOutput, "metadata", new x_ite_Fields.SFNode ()),
114528
+ new Base_X3DFieldDefinition (Base_X3DConstants.inputOutput, "description", new x_ite_Fields.SFString ()),
114529
+ new Base_X3DFieldDefinition (Base_X3DConstants.inputOutput, "enabled", new x_ite_Fields.SFBool (true)),
114504
114530
 
114505
114531
  new Base_X3DFieldDefinition (Base_X3DConstants.inputOutput, "gain", new x_ite_Fields.SFFloat (1)),
114506
- new Base_X3DFieldDefinition (Base_X3DConstants.inputOutput, "attack", new x_ite_Fields.SFFloat (0.003)),
114532
+ new Base_X3DFieldDefinition (Base_X3DConstants.inputOutput, "attack", new x_ite_Fields.SFFloat (0.003)), // TODO: SFTime
114507
114533
  new Base_X3DFieldDefinition (Base_X3DConstants.inputOutput, "knee", new x_ite_Fields.SFFloat (30)),
114508
114534
  new Base_X3DFieldDefinition (Base_X3DConstants.inputOutput, "ratio", new x_ite_Fields.SFFloat (12)),
114509
114535
  new Base_X3DFieldDefinition (Base_X3DConstants.inputOutput, "reduction", new x_ite_Fields.SFFloat ()),
@@ -116042,8 +116068,8 @@ const GIFMedia_default_ = GifMedia;
116042
116068
  x_ite_Namespace.set ("x_ite/Browser/Texturing/GIFMedia", GIFMedia_default_);
116043
116069
  /* harmony default export */ const GIFMedia = (GIFMedia_default_);
116044
116070
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Texturing/MovieTexture.js
116045
- /* provided dependency */ var MovieTexture_$ = __webpack_require__(67);
116046
- /* provided dependency */ var SuperGif = __webpack_require__(436);
116071
+ /* provided dependency */ var MovieTexture_$ = __webpack_require__(849);
116072
+ /* provided dependency */ var SuperGif = __webpack_require__(339);
116047
116073
  /*******************************************************************************
116048
116074
  *
116049
116075
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -116172,7 +116198,7 @@ MovieTexture .prototype = Object .assign (Object .create (Texturing_X3DTexture2D
116172
116198
  this .video .prop ("preload", "auto");
116173
116199
  this .video .prop ("muted", true);
116174
116200
 
116175
- this .requestImmediateLoad ();
116201
+ this .requestImmediateLoad () .catch (Function .prototype);
116176
116202
  },
116177
116203
  getElement: function ()
116178
116204
  {
@@ -116183,11 +116209,11 @@ MovieTexture .prototype = Object .assign (Object .create (Texturing_X3DTexture2D
116183
116209
  Sound_X3DSoundSourceNode.prototype.set_live__.call (this);
116184
116210
  Networking_X3DUrlObject.prototype.set_live__.call (this);
116185
116211
  },
116186
- unLoadNow: function ()
116212
+ unloadData: function ()
116187
116213
  {
116188
116214
  this .clearTexture ();
116189
116215
  },
116190
- loadNow: function ()
116216
+ loadData: function ()
116191
116217
  {
116192
116218
  delete this .gif;
116193
116219
  this .setMedia (null);
@@ -116234,12 +116260,12 @@ MovieTexture .prototype = Object .assign (Object .create (Texturing_X3DTexture2D
116234
116260
  },
116235
116261
  setTimeout: function (event)
116236
116262
  {
116237
- setTimeout (function ()
116263
+ setTimeout (() =>
116238
116264
  {
116239
116265
  if (this .checkLoadState () === Base_X3DConstants.IN_PROGRESS_STATE)
116240
116266
  this .setError (event);
116241
- }
116242
- .bind (this), 3000);
116267
+ },
116268
+ 3000);
116243
116269
  },
116244
116270
  setError: function (event)
116245
116271
  {
@@ -117006,7 +117032,7 @@ const MultiTextureTransform_default_ = MultiTextureTransform;
117006
117032
  x_ite_Namespace.set ("x_ite/Components/Texturing/MultiTextureTransform", MultiTextureTransform_default_);
117007
117033
  /* harmony default export */ const Texturing_MultiTextureTransform = (MultiTextureTransform_default_);
117008
117034
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Texturing/PixelTexture.js
117009
- /* provided dependency */ var PixelTexture_$ = __webpack_require__(67);
117035
+ /* provided dependency */ var PixelTexture_$ = __webpack_require__(849);
117010
117036
  /*******************************************************************************
117011
117037
  *
117012
117038
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -117717,7 +117743,7 @@ const Components_default_ = Components;
117717
117743
  x_ite_Namespace.set ("x_ite/Components", Components_default_);
117718
117744
  /* harmony default export */ const x_ite_Components = ((/* unused pure expression or super */ null && (Components_default_)));
117719
117745
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/DOMIntegration.js
117720
- /* provided dependency */ var DOMIntegration_$ = __webpack_require__(67);
117746
+ /* provided dependency */ var DOMIntegration_$ = __webpack_require__(849);
117721
117747
  /*******************************************************************************
117722
117748
  * MIT License
117723
117749
  *
@@ -118954,7 +118980,7 @@ const SupportedProfiles_default_ = SupportedProfiles;
118954
118980
  x_ite_Namespace.set ("x_ite/Configuration/SupportedProfiles", SupportedProfiles_default_);
118955
118981
  /* harmony default export */ const Configuration_SupportedProfiles = (SupportedProfiles_default_);
118956
118982
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/X3DBrowser.js
118957
- /* provided dependency */ var X3DBrowser_$ = __webpack_require__(67);
118983
+ /* provided dependency */ var X3DBrowser_$ = __webpack_require__(849);
118958
118984
  /*******************************************************************************
118959
118985
  *
118960
118986
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -119044,7 +119070,6 @@ function X3DBrowser (element)
119044
119070
 
119045
119071
  Browser_X3DBrowserContext.call (this, element);
119046
119072
 
119047
- this [_reject] = Function .prototype;
119048
119073
  this [_browserCallbacks] = new Map ();
119049
119074
  this [_console] = document .getElementsByClassName ("x_ite-console");
119050
119075
 
@@ -119201,6 +119226,7 @@ X3DBrowser .prototype = Object .assign (Object .create (Browser_X3DBrowserContex
119201
119226
  if (argument instanceof Configuration_ComponentInfo)
119202
119227
  return this .loadComponents ([argument .name]);
119203
119228
 
119229
+ // Load array of component names.
119204
119230
  return loadComponents (this, [... argument], new Set ());
119205
119231
  };
119206
119232
  })(),
@@ -119242,11 +119268,9 @@ X3DBrowser .prototype = Object .assign (Object .create (Browser_X3DBrowserContex
119242
119268
  {
119243
119269
  return new Promise ((resolve, reject) =>
119244
119270
  {
119245
- this [_reject] ("Replacing world aborted.");
119246
-
119247
- if (this [_fileLoader])
119248
- this [_fileLoader] .abort ();
119271
+ this [_fileLoader] ?.abort ();
119249
119272
 
119273
+ this [_reject] ?.("Replacing world aborted.");
119250
119274
  this [_reject] = reject;
119251
119275
 
119252
119276
  // Remove world.
@@ -119432,84 +119456,74 @@ X3DBrowser .prototype = Object .assign (Object .create (Browser_X3DBrowserContex
119432
119456
  if (!(parameter instanceof x_ite_Fields.MFString))
119433
119457
  throw new Error ("Browser.loadURL: parameter must be of type MFString.");
119434
119458
 
119435
- // Cancel any loading.
119436
-
119437
- this ._loadCount .removeInterest ("checkLoadCount", this);
119438
- this .prepareEvents () .removeInterest ("updateInitialized", this);
119439
-
119440
- if (this [_fileLoader])
119441
- this [_fileLoader] .abort ();
119442
-
119443
119459
  // Start loading.
119444
119460
 
119445
- this .setBrowserLoading (true);
119446
- this .addLoadingObject (this);
119447
-
119448
- const fileLoader = this [_fileLoader] = new InputOutput_FileLoader (this .getWorld ());
119461
+ const fileLoader = new InputOutput_FileLoader (this .getWorld ());
119449
119462
 
119450
119463
  fileLoader .createX3DFromURL (url, parameter, (scene) =>
119451
119464
  {
119452
- if (fileLoader !== this [_fileLoader])
119465
+ if (this [_fileLoader] !== fileLoader)
119453
119466
  {
119454
119467
  reject (new Error ("Loading of X3D file aborted."));
119455
- return;
119456
- }
119457
-
119458
- if (!this .getBrowserOption ("SplashScreen"))
119459
- this .getCanvas () .show ();
119460
-
119461
- if (scene)
119462
- {
119463
- this .replaceWorld (scene) .then (resolve) .catch (reject);
119464
- this .removeLoadingObject (this);
119465
119468
  }
119466
119469
  else
119467
119470
  {
119468
- this .callBrowserCallbacks (Base_X3DConstants.CONNECTION_ERROR);
119469
- this .callBrowserEventHandler ("error");
119471
+ if (!this .getBrowserOption ("SplashScreen"))
119472
+ this .getCanvas () .show ();
119470
119473
 
119471
- setTimeout (() =>
119474
+ if (scene)
119472
119475
  {
119473
- this .getSplashScreen ()
119474
- .find (".x_ite-private-spinner-text")
119475
- .text (locale_gettext ("Failed loading world."));
119476
- });
119476
+ this .addLoadingObject (this); // Prevent resetLoadCount.
119477
+ this .replaceWorld (scene) .then (resolve) .catch (reject);
119478
+ this .removeLoadingObject (this);
119479
+ this .removeLoadingObject (fileLoader);
119480
+ }
119481
+ else
119482
+ {
119483
+ this .callBrowserCallbacks (Base_X3DConstants.CONNECTION_ERROR);
119484
+ this .callBrowserEventHandler ("error");
119477
119485
 
119478
- reject (new Error ("Couldn't load X3D file."));
119486
+ setTimeout (() =>
119487
+ {
119488
+ this .getSplashScreen ()
119489
+ .find (".x_ite-private-spinner-text")
119490
+ .text (locale_gettext ("Failed loading world."));
119491
+ });
119492
+
119493
+ reject (new Error ("Couldn't load X3D file."));
119494
+ }
119479
119495
  }
119480
119496
  },
119481
119497
  (fragment) =>
119482
119498
  {
119483
- if (fileLoader !== this [_fileLoader])
119484
- {
119485
- reject (new Error ("Change viewpoint aborted."));
119486
- return;
119487
- }
119499
+ fileLoader .ready = true;
119488
119500
 
119489
119501
  this .changeViewpoint (fragment);
119490
- this .removeLoadingObject (this);
119491
- this .setBrowserLoading (false);
119502
+ this .removeLoadingObject (fileLoader);
119492
119503
 
119493
119504
  resolve ();
119494
119505
  },
119495
119506
  (url, target) =>
119496
119507
  {
119497
- if (fileLoader !== this [_fileLoader])
119498
- {
119499
- reject (new Error ("Loading of file aborted."));
119500
- return;
119501
- }
119508
+ fileLoader .ready = true;
119502
119509
 
119503
119510
  if (target)
119504
119511
  window .open (url, target);
119505
119512
  else
119506
119513
  location = url;
119507
119514
 
119508
- this .removeLoadingObject (this);
119509
- this .setBrowserLoading (false);
119515
+ this .removeLoadingObject (fileLoader);
119510
119516
 
119511
119517
  resolve ();
119512
119518
  });
119519
+
119520
+ if (!fileLoader .ready)
119521
+ {
119522
+ this [_fileLoader] ?.abort ();
119523
+
119524
+ this .setBrowserLoading (true);
119525
+ this .addLoadingObject (this [_fileLoader] = fileLoader);
119526
+ }
119513
119527
  });
119514
119528
  },
119515
119529
  addBrowserListener: function (callback, object)
@@ -119605,10 +119619,7 @@ X3DBrowser .prototype = Object .assign (Object .create (Browser_X3DBrowserContex
119605
119619
  },
119606
119620
  viewAll: function (layerNode)
119607
119621
  {
119608
- layerNode = Base_X3DCast (Base_X3DConstants.X3DLayerNode, layerNode);
119609
-
119610
- if (!layerNode)
119611
- layerNode = this .getActiveLayer ();
119622
+ layerNode = Base_X3DCast (Base_X3DConstants.X3DLayerNode, layerNode) ?? this .getActiveLayer ();
119612
119623
 
119613
119624
  if (!layerNode)
119614
119625
  return;
@@ -119617,13 +119628,7 @@ X3DBrowser .prototype = Object .assign (Object .create (Browser_X3DBrowserContex
119617
119628
  },
119618
119629
  firstViewpoint: function (layerNode)
119619
119630
  {
119620
- layerNode = Base_X3DCast (Base_X3DConstants.X3DLayerNode, layerNode);
119621
-
119622
- if (!layerNode)
119623
- layerNode = this .getActiveLayer ();
119624
-
119625
- if (!layerNode)
119626
- return;
119631
+ layerNode = Base_X3DCast (Base_X3DConstants.X3DLayerNode, layerNode) ?? this .getActiveLayer ();
119627
119632
 
119628
119633
  const viewpoints = layerNode .getUserViewpoints ();
119629
119634
 
@@ -119632,10 +119637,7 @@ X3DBrowser .prototype = Object .assign (Object .create (Browser_X3DBrowserContex
119632
119637
  },
119633
119638
  previousViewpoint: function (layerNode)
119634
119639
  {
119635
- layerNode = Base_X3DCast (Base_X3DConstants.X3DLayerNode, layerNode);
119636
-
119637
- if (!layerNode)
119638
- layerNode = this .getActiveLayer ();
119640
+ layerNode = Base_X3DCast (Base_X3DConstants.X3DLayerNode, layerNode) ?? this .getActiveLayer ();
119639
119641
 
119640
119642
  if (!layerNode)
119641
119643
  return;
@@ -119664,10 +119666,7 @@ X3DBrowser .prototype = Object .assign (Object .create (Browser_X3DBrowserContex
119664
119666
  },
119665
119667
  nextViewpoint: function (layerNode)
119666
119668
  {
119667
- layerNode = Base_X3DCast (Base_X3DConstants.X3DLayerNode, layerNode);
119668
-
119669
- if (!layerNode)
119670
- layerNode = this .getActiveLayer ();
119669
+ layerNode = Base_X3DCast (Base_X3DConstants.X3DLayerNode, layerNode) ?? this .getActiveLayer ();
119671
119670
 
119672
119671
  if (!layerNode)
119673
119672
  return;
@@ -119696,10 +119695,7 @@ X3DBrowser .prototype = Object .assign (Object .create (Browser_X3DBrowserContex
119696
119695
  },
119697
119696
  lastViewpoint: function (layerNode)
119698
119697
  {
119699
- layerNode = Base_X3DCast (Base_X3DConstants.X3DLayerNode, layerNode);
119700
-
119701
- if (!layerNode)
119702
- layerNode = this .getActiveLayer ();
119698
+ layerNode = Base_X3DCast (Base_X3DConstants.X3DLayerNode, layerNode) ?? this .getActiveLayer ();
119703
119699
 
119704
119700
  if (!layerNode)
119705
119701
  return;
@@ -119717,10 +119713,7 @@ X3DBrowser .prototype = Object .assign (Object .create (Browser_X3DBrowserContex
119717
119713
  layerNode = this .getActiveLayer ();
119718
119714
  }
119719
119715
 
119720
- layerNode = Base_X3DCast (Base_X3DConstants.X3DLayerNode, layerNode);
119721
-
119722
- if (!layerNode)
119723
- layerNode = this .getActiveLayer ();
119716
+ layerNode = Base_X3DCast (Base_X3DConstants.X3DLayerNode, layerNode) ?? this .getActiveLayer ();
119724
119717
 
119725
119718
  if (!layerNode)
119726
119719
  return;
@@ -119899,7 +119892,7 @@ const X3DBrowser_default_ = X3DBrowser;
119899
119892
  x_ite_Namespace.set ("x_ite/Browser/X3DBrowser", X3DBrowser_default_);
119900
119893
  /* harmony default export */ const Browser_X3DBrowser = (X3DBrowser_default_);
119901
119894
  ;// CONCATENATED MODULE: ./src/x_ite/Fallback.js
119902
- /* provided dependency */ var Fallback_$ = __webpack_require__(67);
119895
+ /* provided dependency */ var Fallback_$ = __webpack_require__(849);
119903
119896
  /*******************************************************************************
119904
119897
  *
119905
119898
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -120078,8 +120071,8 @@ const MicroTime_default_ = undefined;
120078
120071
  x_ite_Namespace.set ("standard/Time/MicroTime", MicroTime_default_);
120079
120072
  /* harmony default export */ const MicroTime = ((/* unused pure expression or super */ null && (MicroTime_default_)));
120080
120073
  ;// CONCATENATED MODULE: ./src/lib/jquery.js
120081
- /* provided dependency */ var jquery_$ = __webpack_require__(67);
120082
- /* provided dependency */ var pako = __webpack_require__(528);
120074
+ /* provided dependency */ var jquery_$ = __webpack_require__(849);
120075
+ /* provided dependency */ var pako = __webpack_require__(494);
120083
120076
  jquery_$.decodeText = function (input)
120084
120077
  {
120085
120078
  if (typeof input === "string")
@@ -120111,14 +120104,14 @@ const jquery_default_ = jquery_$;
120111
120104
  x_ite_Namespace.set ("lib/jquery", jquery_default_);
120112
120105
  /* harmony default export */ const jquery = ((/* unused pure expression or super */ null && (jquery_default_)));
120113
120106
  ;// CONCATENATED MODULE: ./src/lib/libtess.js
120114
- /* provided dependency */ var libtess_libtess = __webpack_require__(695);
120107
+ /* provided dependency */ var libtess_libtess = __webpack_require__(625);
120115
120108
  const libtess_default_ = libtess_libtess;
120116
120109
  ;
120117
120110
 
120118
120111
  x_ite_Namespace.set ("lib/libtess", libtess_default_);
120119
120112
  /* harmony default export */ const lib_libtess = ((/* unused pure expression or super */ null && (libtess_default_)));
120120
120113
  ;// CONCATENATED MODULE: ./src/x_ite/X3D.js
120121
- /* provided dependency */ var X3D_$ = __webpack_require__(67);
120114
+ /* provided dependency */ var X3D_$ = __webpack_require__(849);
120122
120115
  /*******************************************************************************
120123
120116
  *
120124
120117
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -120374,7 +120367,7 @@ const X3D_default_ = X3D;
120374
120367
  x_ite_Namespace.set ("x_ite/X3D", X3D_default_);
120375
120368
  /* harmony default export */ const x_ite_X3D = (X3D_default_);
120376
120369
  ;// CONCATENATED MODULE: ./src/x_ite/X3DCanvasElement.js
120377
- /* provided dependency */ var X3DCanvasElement_$ = __webpack_require__(67);
120370
+ /* provided dependency */ var X3DCanvasElement_$ = __webpack_require__(849);
120378
120371
  /*******************************************************************************
120379
120372
  *
120380
120373
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -120653,7 +120646,7 @@ x_ite_Namespace.set ("shim", shim_default_);
120653
120646
 
120654
120647
  // Assign X3D to global namespace.
120655
120648
 
120656
- window [Symbol .for ("X_ITE.X3D-8.6.17")] = x_ite_X3D;
120649
+ window [Symbol .for ("X_ITE.X3D-8.6.19")] = x_ite_X3D;
120657
120650
 
120658
120651
  x_ite_X3DCanvasElement.define ();
120659
120652