x_ite 9.3.0 → 9.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) 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 +16 -16
  4. package/dist/assets/components/CADGeometry.min.js +1 -1
  5. package/dist/assets/components/CubeMapTexturing.js +25 -25
  6. package/dist/assets/components/CubeMapTexturing.min.js +1 -1
  7. package/dist/assets/components/DIS.js +13 -13
  8. package/dist/assets/components/DIS.min.js +1 -1
  9. package/dist/assets/components/EventUtilities.js +9 -9
  10. package/dist/assets/components/EventUtilities.min.js +1 -1
  11. package/dist/assets/components/Geometry2D.js +19 -19
  12. package/dist/assets/components/Geometry2D.min.js +1 -1
  13. package/dist/assets/components/Geospatial.js +36 -36
  14. package/dist/assets/components/Geospatial.min.js +1 -1
  15. package/dist/assets/components/HAnim.js +23 -23
  16. package/dist/assets/components/HAnim.min.js +1 -1
  17. package/dist/assets/components/KeyDeviceSensor.js +8 -8
  18. package/dist/assets/components/KeyDeviceSensor.min.js +1 -1
  19. package/dist/assets/components/Layout.js +27 -27
  20. package/dist/assets/components/Layout.min.js +1 -1
  21. package/dist/assets/components/NURBS.js +23 -23
  22. package/dist/assets/components/NURBS.min.js +1 -1
  23. package/dist/assets/components/ParticleSystems.js +27 -27
  24. package/dist/assets/components/ParticleSystems.min.js +1 -1
  25. package/dist/assets/components/Picking.js +19 -19
  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 +38 -38
  30. package/dist/assets/components/Scripting.min.js +1 -1
  31. package/dist/assets/components/Text.js +24 -24
  32. package/dist/assets/components/Text.min.js +1 -1
  33. package/dist/assets/components/TextureProjection.js +15 -15
  34. package/dist/assets/components/TextureProjection.min.js +1 -1
  35. package/dist/assets/components/Texturing3D.js +30 -30
  36. package/dist/assets/components/Texturing3D.min.js +1 -1
  37. package/dist/assets/components/VolumeRendering.js +19 -19
  38. package/dist/assets/components/VolumeRendering.min.js +1 -1
  39. package/dist/assets/components/X_ITE.js +8 -8
  40. package/dist/assets/components/X_ITE.min.js +1 -1
  41. package/dist/assets/lib/draco_decoder_gltf.js +1 -1
  42. package/dist/assets/lib/libktx.js +1 -1
  43. package/dist/x_ite.css +1 -1
  44. package/dist/x_ite.d.ts +4 -0
  45. package/dist/x_ite.js +917 -452
  46. package/dist/x_ite.min.js +1 -1
  47. package/dist/x_ite.min.mjs +1 -1
  48. package/dist/x_ite.mjs +917 -452
  49. package/dist/x_ite.zip +0 -0
  50. package/package.json +2 -2
package/dist/x_ite.js CHANGED
@@ -1,4 +1,4 @@
1
- /* X_ITE v9.3.0 */(function webpackUniversalModuleDefinition(root, factory) {
1
+ /* X_ITE v9.3.1 */(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,10 +11,10 @@
11
11
  return /******/ (() => { // webpackBootstrap
12
12
  /******/ var __webpack_modules__ = ({
13
13
 
14
- /***/ 944:
14
+ /***/ 773:
15
15
  /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
16
16
 
17
- /* provided dependency */ var jQuery = __webpack_require__(52);
17
+ /* provided dependency */ var jQuery = __webpack_require__(37);
18
18
  /**
19
19
  * @preserve jquery.fullscreen 1.1.5
20
20
  * https://github.com/code-lts/jquery-fullscreen-plugin
@@ -210,7 +210,7 @@ installFullScreenHandlers();
210
210
 
211
211
  /***/ }),
212
212
 
213
- /***/ 82:
213
+ /***/ 693:
214
214
  /***/ ((module, exports, __webpack_require__) => {
215
215
 
216
216
  var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
@@ -224,7 +224,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
224
224
  (function (factory) {
225
225
  if ( true ) {
226
226
  // AMD. Register as an anonymous module.
227
- !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(52)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
227
+ !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(37)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
228
228
  __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
229
229
  (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
230
230
  __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
@@ -435,7 +435,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
435
435
 
436
436
  /***/ }),
437
437
 
438
- /***/ 52:
438
+ /***/ 37:
439
439
  /***/ (function(module, exports) {
440
440
 
441
441
  var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
@@ -11159,7 +11159,7 @@ return jQuery;
11159
11159
 
11160
11160
  /***/ }),
11161
11161
 
11162
- /***/ 177:
11162
+ /***/ 214:
11163
11163
  /***/ ((module) => {
11164
11164
 
11165
11165
  /**
@@ -15938,7 +15938,7 @@ if (true) {
15938
15938
 
15939
15939
  /***/ }),
15940
15940
 
15941
- /***/ 776:
15941
+ /***/ 465:
15942
15942
  /***/ (function(__unused_webpack_module, exports) {
15943
15943
 
15944
15944
 
@@ -19183,7 +19183,7 @@ if (true) {
19183
19183
 
19184
19184
  /***/ }),
19185
19185
 
19186
- /***/ 247:
19186
+ /***/ 790:
19187
19187
  /***/ (function(module, exports) {
19188
19188
 
19189
19189
  var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*
@@ -20311,7 +20311,7 @@ Object .defineProperty (Namespace, "add",
20311
20311
  }
20312
20312
  else
20313
20313
  {
20314
- const X3D = window [Symbol .for ("X_ITE.X3D-9.3.0")];
20314
+ const X3D = window [Symbol .for ("X_ITE.X3D-9.3.1")];
20315
20315
 
20316
20316
  if (X3D)
20317
20317
  X3D [name] = module;
@@ -20541,10 +20541,12 @@ const Algorithm =
20541
20541
  {
20542
20542
  radians (value)
20543
20543
  {
20544
+ // Convert degrees to radians.
20544
20545
  return value * (Math .PI / 180);
20545
20546
  },
20546
20547
  degrees (value)
20547
20548
  {
20549
+ // Convert radians to degrees.
20548
20550
  return value * (180 / Math .PI);
20549
20551
  },
20550
20552
  random (min, max)
@@ -22998,8 +23000,8 @@ Object .assign (Object .setPrototypeOf (X3DField .prototype, Base_X3DChildObject
22998
23000
 
22999
23001
  for (const field of this [_fieldInterests])
23000
23002
  {
23001
- if (event .has (field))
23002
- continue;
23003
+ if (event .has (field))
23004
+ continue;
23003
23005
 
23004
23006
  if (first)
23005
23007
  {
@@ -29189,13 +29191,12 @@ const SFNode_handler =
29189
29191
  return value;
29190
29192
 
29191
29193
  const
29192
- node = target .getValue (),
29193
- field = node .getField (key),
29194
- accessType = field .getAccessType ();
29194
+ node = target .getValue (),
29195
+ field = node .getField (key);
29195
29196
 
29196
29197
  // Specification conform would be: accessType & X3DConstants .outputOnly.
29197
29198
  // But we allow read access to plain fields, too.
29198
- if (accessType === Base_X3DConstants .inputOnly)
29199
+ if (field .getAccessType () === Base_X3DConstants .inputOnly)
29199
29200
  return undefined;
29200
29201
 
29201
29202
  return field .valueOf ();
@@ -29395,6 +29396,15 @@ Object .assign (Object .setPrototypeOf (SFNode .prototype, Base_X3DField .protot
29395
29396
 
29396
29397
  throw new Error ("SFNode.getNodeType: node is null.");
29397
29398
  },
29399
+ getFieldDefinition (name)
29400
+ {
29401
+ const fieldDefinition = this .getFieldDefinitions () .get (name);
29402
+
29403
+ if (fieldDefinition)
29404
+ return fieldDefinition;
29405
+
29406
+ throw new Error (`Unknown field '${name}' in node class ${this .getNodeTypeName ()}.`);
29407
+ },
29398
29408
  getFieldDefinitions ()
29399
29409
  {
29400
29410
  const
@@ -31098,7 +31108,7 @@ function X3DObjectArrayField (values)
31098
31108
  this [X3DObjectArrayField_proxy] = proxy;
31099
31109
 
31100
31110
  for (const value of values)
31101
- this .push (value);
31111
+ this .push (value);
31102
31112
 
31103
31113
  return proxy;
31104
31114
  }
@@ -31677,7 +31687,7 @@ function X3DTypedArrayField (values)
31677
31687
  }
31678
31688
 
31679
31689
  for (const value of values)
31680
- this .push (value);
31690
+ this .push (value);
31681
31691
 
31682
31692
  return proxy;
31683
31693
  }
@@ -32477,8 +32487,19 @@ function createValue (target, index, components, valueType)
32477
32487
  internalValue = value .getValue (),
32478
32488
  i = index * components;
32479
32489
 
32480
- value .addEvent = addEvent .bind (target, i, components, internalValue);
32481
- value .getValue = getValue .bind (target, i, components, internalValue);
32490
+ Object .defineProperties (value,
32491
+ {
32492
+ addEvent:
32493
+ {
32494
+ value: addEvent .bind (target, i, components, internalValue),
32495
+ configurable: true,
32496
+ },
32497
+ getValue:
32498
+ {
32499
+ value: getValue .bind (target, i, components, internalValue),
32500
+ configurable: true,
32501
+ },
32502
+ });
32482
32503
 
32483
32504
  return value;
32484
32505
  }
@@ -32818,8 +32839,8 @@ Object .assign (Object .setPrototypeOf (MFNode .prototype, Base_X3DObjectArrayFi
32818
32839
  else
32819
32840
  {
32820
32841
  generator .string += '[';
32821
- generator .string += generator .TidySpace ();
32822
- generator .string += ']';
32842
+ generator .string += generator .TidySpace ();
32843
+ generator .string += ']';
32823
32844
  }
32824
32845
  },
32825
32846
  dispose ()
@@ -33171,10 +33192,10 @@ Object .assign (Object .setPrototypeOf (SFImage .prototype, Base_X3DField .proto
33171
33192
  },
33172
33193
  *[Symbol .iterator] ()
33173
33194
  {
33174
- yield this .width;
33175
- yield this .height;
33176
- yield this .comp;
33177
- yield this .array;
33195
+ yield this .width;
33196
+ yield this .height;
33197
+ yield this .comp;
33198
+ yield* this .array;
33178
33199
  },
33179
33200
  copy ()
33180
33201
  {
@@ -33783,7 +33804,7 @@ Object .assign (Object .setPrototypeOf (X3DBaseNode .prototype, Base_X3DChildObj
33783
33804
  /// Sets the own live state of this node. Setting the live state to false
33784
33805
  /// temporarily disables this node completely.
33785
33806
 
33786
- this [_live] = value .valueOf ();
33807
+ this [_live] = !!value .valueOf ();
33787
33808
 
33788
33809
  this [_set_live__] ();
33789
33810
  },
@@ -33912,7 +33933,7 @@ Object .assign (Object .setPrototypeOf (X3DBaseNode .prototype, Base_X3DChildObj
33912
33933
  {
33913
33934
  get () { return field; },
33914
33935
  set (value) { field .setValue (value); },
33915
- configurable: true,
33936
+ configurable: true,
33916
33937
  });
33917
33938
  },
33918
33939
  addAlias (alias, field)
@@ -34225,7 +34246,7 @@ const X3DBaseNode_default_ = X3DBaseNode;
34225
34246
  x_ite_Namespace .add ("X3DBaseNode", "x_ite/Base/X3DBaseNode", X3DBaseNode_default_);
34226
34247
  /* harmony default export */ const Base_X3DBaseNode = (X3DBaseNode_default_);
34227
34248
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Legacy.js
34228
- /* provided dependency */ var $ = __webpack_require__(52);
34249
+ /* provided dependency */ var $ = __webpack_require__(37);
34229
34250
  /*******************************************************************************
34230
34251
  *
34231
34252
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -34362,7 +34383,7 @@ x_ite_Namespace .add ("Legacy", "x_ite/Browser/Legacy", Legacy_default_);
34362
34383
  *
34363
34384
  ******************************************************************************/
34364
34385
 
34365
- const BROWSER_VERSION_default_ = "9.3.0";
34386
+ const BROWSER_VERSION_default_ = "9.3.1";
34366
34387
  ;
34367
34388
 
34368
34389
  x_ite_Namespace .add ("BROWSER_VERSION", "x_ite/BROWSER_VERSION", BROWSER_VERSION_default_);
@@ -34419,6 +34440,9 @@ x_ite_Namespace .add ("BROWSER_VERSION", "x_ite/BROWSER_VERSION", BROWSER_VERSIO
34419
34440
 
34420
34441
 
34421
34442
 
34443
+
34444
+ const _metaDataCallbacks = Symbol ();
34445
+
34422
34446
  function X3DNode (executionContext)
34423
34447
  {
34424
34448
  Base_X3DBaseNode .call (this, executionContext);
@@ -34601,6 +34625,350 @@ Object .assign (Object .setPrototypeOf (X3DNode .prototype, Base_X3DBaseNode .pr
34601
34625
  return null;
34602
34626
  },
34603
34627
  traverse () { },
34628
+ hasMetaData (path)
34629
+ {
34630
+ const names = path .split ("/");
34631
+
34632
+ if (names .length < 2)
34633
+ return false;
34634
+
34635
+ const
34636
+ last = names .pop (),
34637
+ metadataSet = this .getMetadataSet (names),
34638
+ metadataObject = metadataSet ?.getValue () .getMetaValue (last);
34639
+
34640
+ return !!metadataObject;
34641
+ },
34642
+ getMetaData (path, field)
34643
+ {
34644
+ const names = path .split ("/");
34645
+
34646
+ if (names .length < 2)
34647
+ return;
34648
+
34649
+ const
34650
+ last = names .pop (),
34651
+ metadataSet = this .getMetadataSet (names),
34652
+ metadataObject = metadataSet ?.getValue () .getMetaValue (last);
34653
+
34654
+ if (field instanceof Base_X3DField)
34655
+ {
34656
+ if (!metadataObject)
34657
+ return field;
34658
+
34659
+ switch (field .getType ())
34660
+ {
34661
+ case Base_X3DConstants .SFBool:
34662
+ case Base_X3DConstants .SFDouble:
34663
+ case Base_X3DConstants .SFFloat:
34664
+ case Base_X3DConstants .SFInt32:
34665
+ case Base_X3DConstants .SFString:
34666
+ case Base_X3DConstants .SFTime:
34667
+ {
34668
+ field .setValue (metadataObject .value [0]);
34669
+ break;
34670
+ }
34671
+ case Base_X3DConstants .SFColor:
34672
+ case Base_X3DConstants .SFColorRGBA:
34673
+ case Base_X3DConstants .SFMatrix3d:
34674
+ case Base_X3DConstants .SFMatrix3f:
34675
+ case Base_X3DConstants .SFMatrix4d:
34676
+ case Base_X3DConstants .SFMatrix4f:
34677
+ case Base_X3DConstants .SFRotation:
34678
+ case Base_X3DConstants .SFVec2d:
34679
+ case Base_X3DConstants .SFVec2f:
34680
+ case Base_X3DConstants .SFVec3d:
34681
+ case Base_X3DConstants .SFVec3f:
34682
+ case Base_X3DConstants .SFVec4d:
34683
+ case Base_X3DConstants .SFVec4f:
34684
+ {
34685
+ const value = metadataObject .value;
34686
+
34687
+ let i = 0;
34688
+
34689
+ for (const key in field)
34690
+ field [key] = value [i ++];
34691
+
34692
+ break;
34693
+ }
34694
+ case Base_X3DConstants .SFImage:
34695
+ {
34696
+ const
34697
+ value = metadataObject .value,
34698
+ array = field .array;
34699
+
34700
+ field .width = value [0];
34701
+ field .height = value [1];
34702
+ field .comp = value [2];
34703
+
34704
+ const l = array .length;
34705
+
34706
+ for (let i = 0; i < l; ++ i)
34707
+ array [i] = value [3 + i];
34708
+
34709
+ break;
34710
+ }
34711
+ case Base_X3DConstants .SFNode:
34712
+ case Base_X3DConstants .MFNode:
34713
+ {
34714
+ throw new Error ("SFNode and MFNode are not supported as metadata value.");
34715
+ }
34716
+ case Base_X3DConstants .MFBool:
34717
+ case Base_X3DConstants .MFDouble:
34718
+ case Base_X3DConstants .MFFloat:
34719
+ case Base_X3DConstants .MFInt32:
34720
+ case Base_X3DConstants .MFString:
34721
+ case Base_X3DConstants .MFTime:
34722
+ {
34723
+ field .length = 0;
34724
+
34725
+ for (const v of metadataObject .value)
34726
+ field .push (v);
34727
+
34728
+ break;
34729
+ }
34730
+ case Base_X3DConstants .MFColor:
34731
+ case Base_X3DConstants .MFColorRGBA:
34732
+ case Base_X3DConstants .MFMatrix3d:
34733
+ case Base_X3DConstants .MFMatrix3f:
34734
+ case Base_X3DConstants .MFMatrix4d:
34735
+ case Base_X3DConstants .MFMatrix4f:
34736
+ case Base_X3DConstants .MFRotation:
34737
+ case Base_X3DConstants .MFVec2d:
34738
+ case Base_X3DConstants .MFVec2f:
34739
+ case Base_X3DConstants .MFVec3d:
34740
+ case Base_X3DConstants .MFVec3f:
34741
+ case Base_X3DConstants .MFVec4d:
34742
+ case Base_X3DConstants .MFVec4f:
34743
+ {
34744
+ const
34745
+ value = metadataObject .value,
34746
+ length = value .length;
34747
+
34748
+ field .length = 0;
34749
+
34750
+ for (let i = 0; i < length;)
34751
+ {
34752
+ const f = field [field .length];
34753
+
34754
+ for (const key in f)
34755
+ f [key] = value [i ++];
34756
+ }
34757
+
34758
+ break;
34759
+ }
34760
+ case Base_X3DConstants .MFImage:
34761
+ {
34762
+ const
34763
+ value = metadataObject .value,
34764
+ length = value .length;
34765
+
34766
+ field .length = 0;
34767
+
34768
+ for (let i = 0; i < length;)
34769
+ {
34770
+ const
34771
+ f = field [field .length],
34772
+ a = f .array;
34773
+
34774
+ f .width = value [i ++];
34775
+ f .height = value [i ++];
34776
+ f .comp = value [i ++];
34777
+
34778
+ const l = a .length;
34779
+
34780
+ for (let k = 0; k < l; ++ k)
34781
+ a [k] = value [i ++];
34782
+ }
34783
+
34784
+ break;
34785
+ }
34786
+ }
34787
+
34788
+ return field;
34789
+ }
34790
+
34791
+ return metadataObject ? Array .from (metadataObject .value) : [ ];
34792
+ },
34793
+ setMetaData (path, value)
34794
+ {
34795
+ const names = path .split ("/");
34796
+
34797
+ if (names .length < 2)
34798
+ return;
34799
+
34800
+ const
34801
+ last = names .pop (),
34802
+ metadataSet = this .getMetadataSet (names, true);
34803
+
34804
+ if (value instanceof Base_X3DField)
34805
+ {
34806
+ const field = value;
34807
+
34808
+ switch (value .getType ())
34809
+ {
34810
+ case Base_X3DConstants .SFBool:
34811
+ case Base_X3DConstants .SFDouble:
34812
+ case Base_X3DConstants .SFFloat:
34813
+ case Base_X3DConstants .SFInt32:
34814
+ case Base_X3DConstants .SFString:
34815
+ case Base_X3DConstants .SFTime:
34816
+ {
34817
+ value = [field .valueOf ()];
34818
+ break;
34819
+ }
34820
+ case Base_X3DConstants .SFNode:
34821
+ case Base_X3DConstants .MFNode:
34822
+ throw new Error ("SFNode and MFNode are not supported as metadata value.");
34823
+ default:
34824
+ {
34825
+ value = Array .from (field, f => f instanceof Base_X3DField ? Array .from (f) : f) .flat ();
34826
+ break;
34827
+ }
34828
+ }
34829
+
34830
+ switch (field .getType ())
34831
+ {
34832
+ case Base_X3DConstants .SFBool:
34833
+ case Base_X3DConstants .MFBool:
34834
+ value .type = "boolean";
34835
+ break;
34836
+ case Base_X3DConstants .SFDouble:
34837
+ case Base_X3DConstants .SFMatrix3d:
34838
+ case Base_X3DConstants .SFMatrix4d:
34839
+ case Base_X3DConstants .SFRotation:
34840
+ case Base_X3DConstants .SFTime:
34841
+ case Base_X3DConstants .SFVec2d:
34842
+ case Base_X3DConstants .SFVec3d:
34843
+ case Base_X3DConstants .SFVec4d:
34844
+ case Base_X3DConstants .MFDouble:
34845
+ case Base_X3DConstants .MFMatrix3d:
34846
+ case Base_X3DConstants .MFMatrix4d:
34847
+ case Base_X3DConstants .MFRotation:
34848
+ case Base_X3DConstants .MFTime:
34849
+ case Base_X3DConstants .MFVec2d:
34850
+ case Base_X3DConstants .MFVec3d:
34851
+ case Base_X3DConstants .MFVec4d:
34852
+ value .type = "double";
34853
+ break;
34854
+ case Base_X3DConstants .SFColor:
34855
+ case Base_X3DConstants .SFColorRGBA:
34856
+ case Base_X3DConstants .SFFloat:
34857
+ case Base_X3DConstants .SFMatrix3f:
34858
+ case Base_X3DConstants .SFMatrix4f:
34859
+ case Base_X3DConstants .SFVec2f:
34860
+ case Base_X3DConstants .SFVec3f:
34861
+ case Base_X3DConstants .SFVec4f:
34862
+ case Base_X3DConstants .MFColor:
34863
+ case Base_X3DConstants .MFColorRGBA:
34864
+ case Base_X3DConstants .MFFloat:
34865
+ case Base_X3DConstants .MFMatrix3f:
34866
+ case Base_X3DConstants .MFMatrix4f:
34867
+ case Base_X3DConstants .MFVec2f:
34868
+ case Base_X3DConstants .MFVec3f:
34869
+ case Base_X3DConstants .MFVec4f:
34870
+ value .type = "float";
34871
+ break;
34872
+ case Base_X3DConstants .SFInt32:
34873
+ case Base_X3DConstants .SFImage:
34874
+ case Base_X3DConstants .MFInt32:
34875
+ case Base_X3DConstants .MFImage:
34876
+ value .type = "integer";
34877
+ break;
34878
+ case Base_X3DConstants .SFString:
34879
+ case Base_X3DConstants .MFString:
34880
+ value .type = "string";
34881
+ break;
34882
+ }
34883
+ }
34884
+
34885
+ metadataSet .getValue () .setMetaValue (last, value);
34886
+
34887
+ this .processMetaDataCallback (path);
34888
+ },
34889
+ removeMetaData (path)
34890
+ {
34891
+ const names = path .split ("/");
34892
+
34893
+ if (names .length < 2)
34894
+ return;
34895
+
34896
+ function removeMetaData (metadataSet, names)
34897
+ {
34898
+ if (!metadataSet)
34899
+ return false;
34900
+
34901
+ const name = names .shift ();
34902
+
34903
+ if (!names .length || removeMetaData (metadataSet .getValue () .getMetadataObject ("MetadataSet", name), names))
34904
+ {
34905
+ metadataSet .getValue () .removeMetaValue (name);
34906
+ }
34907
+
34908
+ return !metadataSet .value .length;
34909
+ }
34910
+
34911
+ if (removeMetaData (this .getMetadataSet ([names .shift ()]), names))
34912
+ this ._metadata = null;
34913
+ },
34914
+ getMetadataSet (names, create = false)
34915
+ {
34916
+ const name = names .shift ();
34917
+
34918
+ let metadataSet = this ._metadata .valueOf ();
34919
+
34920
+ if (metadataSet ?.getNodeTypeName () !== "MetadataSet" || metadataSet ?.name !== name)
34921
+ {
34922
+ if (!create)
34923
+ return null;
34924
+
34925
+ this ._metadata = this .getExecutionContext () .createNode ("MetadataSet");
34926
+ metadataSet = this ._metadata .valueOf ();
34927
+
34928
+ metadataSet .reference = this .getBrowser () .getBrowserOption ("MetadataReference");
34929
+ metadataSet .name = name;
34930
+ }
34931
+
34932
+ for (const name of names)
34933
+ metadataSet = metadataSet .getValue () .getMetadataObject ("MetadataSet", name, create);
34934
+
34935
+ return metadataSet;
34936
+ },
34937
+ [_metaDataCallbacks]: new Map (),
34938
+ addMetaDataCallback (key, path, callback)
34939
+ {
34940
+ if (!this .hasOwnProperty (_metaDataCallbacks))
34941
+ this [_metaDataCallbacks] = new Map ();
34942
+
34943
+ let map = this [_metaDataCallbacks] .get (path);
34944
+
34945
+ if (!map)
34946
+ this [_metaDataCallbacks] .set (path, map = new Map ());
34947
+
34948
+ map .set (key, callback);
34949
+ },
34950
+ removeMetaDataCallback (key, path)
34951
+ {
34952
+ const map = this [_metaDataCallbacks] .get (path);
34953
+
34954
+ if (!map)
34955
+ return;
34956
+
34957
+ map .delete (key);
34958
+
34959
+ if (map .size === 0)
34960
+ this [_metaDataCallbacks] .delete (path);
34961
+ },
34962
+ processMetaDataCallback (path)
34963
+ {
34964
+ const map = this [_metaDataCallbacks] .get (path);
34965
+
34966
+ if (!map)
34967
+ return;
34968
+
34969
+ for (const callback of map .values ())
34970
+ callback ();
34971
+ },
34604
34972
  toStream (generator)
34605
34973
  {
34606
34974
  generator .string += this .getTypeName () + " { }";
@@ -36467,6 +36835,84 @@ Object .assign (Object .setPrototypeOf (MetadataSet .prototype, Core_X3DNode .pr
36467
36835
 
36468
36836
  return Core_X3DNode .prototype .getContainerField .call (this);
36469
36837
  },
36838
+ getMetaValue (name)
36839
+ {
36840
+ return this ._value .find (node => node .name === name);
36841
+ },
36842
+ setMetaValue (name, value)
36843
+ {
36844
+ if (!Array .isArray (value))
36845
+ value = [value];
36846
+
36847
+ switch (value .type ?? (typeof value [0]))
36848
+ {
36849
+ case "boolean":
36850
+ {
36851
+ this .getMetadataObject ("MetadataBoolean", name, true) .value = value;
36852
+ return;
36853
+ }
36854
+ case "number":
36855
+ {
36856
+ if (value .every (v => Number .isInteger (v)))
36857
+ this .getMetadataObject ("MetadataInteger", name, true) .value = value;
36858
+ else
36859
+ this .getMetadataObject ("MetadataDouble", name, true) .value = value;
36860
+
36861
+ return;
36862
+ }
36863
+ case "double":
36864
+ {
36865
+ this .getMetadataObject ("MetadataDouble", name, true) .value = value;
36866
+ break;
36867
+ }
36868
+ case "float":
36869
+ {
36870
+ this .getMetadataObject ("MetadataFloat", name, true) .value = value;
36871
+ break;
36872
+ }
36873
+ case "integer":
36874
+ {
36875
+ this .getMetadataObject ("MetadataInteger", name, true) .value = value;
36876
+ break;
36877
+ }
36878
+ case "string":
36879
+ {
36880
+ this .getMetadataObject ("MetadataString", name, true) .value = value;
36881
+ return;
36882
+ }
36883
+ }
36884
+ },
36885
+ removeMetaValue (name)
36886
+ {
36887
+ const index = this ._value .findIndex (node => node .name === name);
36888
+
36889
+ if (index < 0)
36890
+ return;
36891
+
36892
+ this ._value .splice (index, 1);
36893
+ },
36894
+ getMetadataObject (typeName, name, create = false)
36895
+ {
36896
+ let metadata = this .getMetaValue (name);
36897
+
36898
+ if (metadata ?.getNodeTypeName () === typeName)
36899
+ return metadata;
36900
+
36901
+ if (!create)
36902
+ return null;
36903
+
36904
+ if (metadata)
36905
+ this .removeMetaValue (name);
36906
+
36907
+ metadata = this .getExecutionContext () .createNode (typeName);
36908
+
36909
+ metadata .reference = "";
36910
+ metadata .name = name;
36911
+
36912
+ this ._value .push (metadata);
36913
+
36914
+ return metadata;
36915
+ },
36470
36916
  dispose ()
36471
36917
  {
36472
36918
  Core_X3DMetadataObject .prototype .dispose .call (this);
@@ -36707,7 +37153,7 @@ Object .assign (Object .setPrototypeOf (X3DChildNode .prototype, Core_X3DNode .p
36707
37153
  {
36708
37154
  setCameraObject (value)
36709
37155
  {
36710
- if (value !== this ._isCameraObject .getValue ())
37156
+ if (!!value !== this ._isCameraObject .getValue ())
36711
37157
  this ._isCameraObject = value;
36712
37158
  },
36713
37159
  isCameraObject ()
@@ -36716,7 +37162,7 @@ Object .assign (Object .setPrototypeOf (X3DChildNode .prototype, Core_X3DNode .p
36716
37162
  },
36717
37163
  setPickableObject (value)
36718
37164
  {
36719
- if (value !== this ._isPickableObject .getValue ())
37165
+ if (!!value !== this ._isPickableObject .getValue ())
36720
37166
  this ._isPickableObject = value;
36721
37167
  },
36722
37168
  isPickableObject ()
@@ -36894,13 +37340,20 @@ Object .assign (Object .setPrototypeOf (WorldInfo .prototype, Core_X3DInfoNode .
36894
37340
  {
36895
37341
  Core_X3DInfoNode .prototype .initialize .call (this);
36896
37342
 
36897
- this .getExecutionContext () .addWorldInfo (this);
37343
+ if (this .isLive ())
37344
+ this .getExecutionContext () .addWorldInfo (this);
36898
37345
  },
36899
- dispose ()
37346
+ setLive (value)
36900
37347
  {
36901
- this .getExecutionContext () .removeWorldInfo (this);
37348
+ if (!!value .valueOf () === this .isLive ())
37349
+ return;
37350
+
37351
+ Core_X3DInfoNode .prototype .setLive .call (this, value);
36902
37352
 
36903
- Core_X3DInfoNode .prototype .dispose .call (this);
37353
+ if (this .isLive ())
37354
+ this .getExecutionContext () .addWorldInfo (this);
37355
+ else
37356
+ this .getExecutionContext () .removeWorldInfo (this);
36904
37357
  },
36905
37358
  });
36906
37359
 
@@ -38506,7 +38959,7 @@ const X3DProtoDeclaration_default_ = X3DProtoDeclaration;
38506
38959
  x_ite_Namespace .add ("X3DProtoDeclaration", "x_ite/Prototype/X3DProtoDeclaration", X3DProtoDeclaration_default_);
38507
38960
  /* harmony default export */ const Prototype_X3DProtoDeclaration = (X3DProtoDeclaration_default_);
38508
38961
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/X3DParser.js
38509
- /* provided dependency */ var X3DParser_$ = __webpack_require__(52);
38962
+ /* provided dependency */ var X3DParser_$ = __webpack_require__(37);
38510
38963
  /*******************************************************************************
38511
38964
  *
38512
38965
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -38768,7 +39221,7 @@ const Expressions_default_ = Expressions;
38768
39221
  x_ite_Namespace .add ("Expressions", "x_ite/Parser/Expressions", Expressions_default_);
38769
39222
  /* harmony default export */ const Parser_Expressions = (Expressions_default_);
38770
39223
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/VRMLParser.js
38771
- /* provided dependency */ var VRMLParser_$ = __webpack_require__(52);
39224
+ /* provided dependency */ var VRMLParser_$ = __webpack_require__(37);
38772
39225
  /*******************************************************************************
38773
39226
  *
38774
39227
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -38845,7 +39298,7 @@ const Grammar = Parser_Expressions ({
38845
39298
  Break: /\r?\n/g,
38846
39299
 
38847
39300
  // Header
38848
- Header: /^#(VRML|X3D) V(.*?) (utf8)(?:[ \t]+(.*?))?[ \t]*[\n\r]/gy,
39301
+ Header: /^#(VRML|X3D) V(.*?) (utf8)(?:[ \t]+(.*?))?[ \t]*[\n\r]/gy,
38849
39302
 
38850
39303
  // Keywords
38851
39304
  AS: /AS/gy,
@@ -41454,7 +41907,7 @@ const VRMLParser_default_ = VRMLParser;
41454
41907
  x_ite_Namespace .add ("VRMLParser", "x_ite/Parser/VRMLParser", VRMLParser_default_);
41455
41908
  /* harmony default export */ const Parser_VRMLParser = (VRMLParser_default_);
41456
41909
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/XMLParser.js
41457
- /* provided dependency */ var XMLParser_$ = __webpack_require__(52);
41910
+ /* provided dependency */ var XMLParser_$ = __webpack_require__(37);
41458
41911
  /*******************************************************************************
41459
41912
  *
41460
41913
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -42230,21 +42683,21 @@ Object .assign (Object .setPrototypeOf (XMLParser .prototype, Parser_X3DParser .
42230
42683
  }
42231
42684
  },
42232
42685
  scriptElement (element)
42233
- {
42234
- const
42235
- domParser = new DOMParser (),
42236
- scriptDocument = domParser .parseFromString (element .outerHTML, "application/xml"),
42237
- childNodes = scriptDocument .children [0] .childNodes;
42686
+ {
42687
+ const
42688
+ domParser = new DOMParser (),
42689
+ scriptDocument = domParser .parseFromString (element .outerHTML, "application/xml"),
42690
+ childNodes = scriptDocument .children [0] .childNodes;
42238
42691
 
42239
42692
  element .textContent = "// Content moved into childNodes.";
42240
42693
 
42241
- for (const childNode of childNodes)
42242
- {
42694
+ for (const childNode of childNodes)
42695
+ {
42243
42696
  // Add elements and cdata.
42244
- if (childNode .nodeType === 1 || childNode .nodeType === 4)
42697
+ if (childNode .nodeType === 1 || childNode .nodeType === 4)
42245
42698
  element .appendChild (childNode);
42246
- }
42247
- },
42699
+ }
42700
+ },
42248
42701
  routeElement (xmlElement)
42249
42702
  {
42250
42703
  try
@@ -43563,7 +44016,7 @@ const URLs_default_ = URLs;
43563
44016
  x_ite_Namespace .add ("URLs", "x_ite/Browser/Networking/URLs", URLs_default_);
43564
44017
  /* harmony default export */ const Networking_URLs = (URLs_default_);
43565
44018
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/GLTF2Parser.js
43566
- /* provided dependency */ var GLTF2Parser_$ = __webpack_require__(52);
44019
+ /* provided dependency */ var GLTF2Parser_$ = __webpack_require__(37);
43567
44020
  /*******************************************************************************
43568
44021
  *
43569
44022
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -44302,7 +44755,7 @@ Object .assign (Object .setPrototypeOf (GLTF2Parser .prototype, Parser_X3DParser
44302
44755
  [9729, "AVG_PIXEL"],
44303
44756
  ]);
44304
44757
 
44305
- const BoundaryModes = new Map ([
44758
+ const BoundaryModes = new Map ([
44306
44759
  [33071, "CLAMP_TO_EDGE"],
44307
44760
  [33648, "MIRRORED_REPEAT"],
44308
44761
  [10497, "REPEAT"],
@@ -46864,7 +47317,7 @@ const GLTF2Parser_default_ = GLTF2Parser;
46864
47317
  x_ite_Namespace .add ("GLTF2Parser", "x_ite/Parser/GLTF2Parser", GLTF2Parser_default_);
46865
47318
  /* harmony default export */ const Parser_GLTF2Parser = (GLTF2Parser_default_);
46866
47319
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/GLB2Parser.js
46867
- /* provided dependency */ var GLB2Parser_$ = __webpack_require__(52);
47320
+ /* provided dependency */ var GLB2Parser_$ = __webpack_require__(37);
46868
47321
  /*******************************************************************************
46869
47322
  *
46870
47323
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -47016,7 +47469,7 @@ const GLB2Parser_default_ = GLB2Parser;
47016
47469
  x_ite_Namespace .add ("GLB2Parser", "x_ite/Parser/GLB2Parser", GLB2Parser_default_);
47017
47470
  /* harmony default export */ const Parser_GLB2Parser = (GLB2Parser_default_);
47018
47471
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/OBJParser.js
47019
- /* provided dependency */ var OBJParser_$ = __webpack_require__(52);
47472
+ /* provided dependency */ var OBJParser_$ = __webpack_require__(37);
47020
47473
  /*******************************************************************************
47021
47474
  *
47022
47475
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -47802,7 +48255,7 @@ Object .assign (MaterialParser .prototype,
47802
48255
  statements ()
47803
48256
  {
47804
48257
  while (this .statement ())
47805
- ;
48258
+ ;
47806
48259
  },
47807
48260
  statement ()
47808
48261
  {
@@ -50371,8 +50824,8 @@ const MatrixStack_default_ = MatrixStack;
50371
50824
  x_ite_Namespace .add ("MatrixStack", "standard/Math/Utility/MatrixStack", MatrixStack_default_);
50372
50825
  /* harmony default export */ const Utility_MatrixStack = (MatrixStack_default_);
50373
50826
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/SVGParser.js
50374
- /* provided dependency */ var SVGParser_$ = __webpack_require__(52);
50375
- /* provided dependency */ var libtess = __webpack_require__(177);
50827
+ /* provided dependency */ var SVGParser_$ = __webpack_require__(37);
50828
+ /* provided dependency */ var libtess = __webpack_require__(214);
50376
50829
  /*******************************************************************************
50377
50830
  *
50378
50831
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -50738,7 +51191,7 @@ Object .assign (Object .setPrototypeOf (SVGParser .prototype, Parser_X3DParser .
50738
51191
  elements (xmlElement)
50739
51192
  {
50740
51193
  for (const childNode of xmlElement .childNodes)
50741
- this .element (childNode);
51194
+ this .element (childNode);
50742
51195
  },
50743
51196
  element (xmlElement)
50744
51197
  {
@@ -51483,7 +51936,7 @@ Object .assign (Object .setPrototypeOf (SVGParser .prototype, Parser_X3DParser .
51483
51936
  gradientChild (xmlElement, gradient)
51484
51937
  {
51485
51938
  if (xmlElement .nodeName === "stop")
51486
- return this .stopElement (xmlElement, gradient);
51939
+ return this .stopElement (xmlElement, gradient);
51487
51940
  },
51488
51941
  stopElement (xmlElement, gradient)
51489
51942
  {
@@ -51588,8 +52041,8 @@ Object .assign (Object .setPrototypeOf (SVGParser .prototype, Parser_X3DParser .
51588
52041
 
51589
52042
  if (name)
51590
52043
  {
51591
- scene .addNamedNode (scene .getUniqueName (name), node);
51592
- scene .addExportedNode (scene .getUniqueExportName (name), node);
52044
+ scene .addNamedNode (scene .getUniqueName (name), node);
52045
+ scene .addExportedNode (scene .getUniqueExportName (name), node);
51593
52046
  }
51594
52047
  },
51595
52048
  viewBoxAttribute (attribute, defaultValue)
@@ -52274,7 +52727,7 @@ Object .assign (Object .setPrototypeOf (SVGParser .prototype, Parser_X3DParser .
52274
52727
  }
52275
52728
 
52276
52729
  if (points .length > 2)
52277
- contours .push (Object .assign (points, { closed: false }));
52730
+ contours .push (Object .assign (points, { closed: false }));
52278
52731
 
52279
52732
  return !! contours .length;
52280
52733
  },
@@ -53140,7 +53593,7 @@ const SVGParser_default_ = SVGParser;
53140
53593
  x_ite_Namespace .add ("SVGParser", "x_ite/Parser/SVGParser", SVGParser_default_);
53141
53594
  /* harmony default export */ const Parser_SVGParser = (SVGParser_default_);
53142
53595
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/GoldenGate.js
53143
- /* provided dependency */ var GoldenGate_$ = __webpack_require__(52);
53596
+ /* provided dependency */ var GoldenGate_$ = __webpack_require__(37);
53144
53597
  /*******************************************************************************
53145
53598
  *
53146
53599
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -53490,7 +53943,7 @@ const Plane3_default_ = Plane3;
53490
53943
  x_ite_Namespace .add ("Plane3", "standard/Math/Geometry/Plane3", Plane3_default_);
53491
53944
  /* harmony default export */ const Geometry_Plane3 = (Plane3_default_);
53492
53945
  ;// CONCATENATED MODULE: ./src/standard/Math/Geometry/Triangle3.js
53493
- /* provided dependency */ var Triangle3_libtess = __webpack_require__(177);
53946
+ /* provided dependency */ var Triangle3_libtess = __webpack_require__(214);
53494
53947
  /*******************************************************************************
53495
53948
  *
53496
53949
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -56772,15 +57225,15 @@ Object .assign (X3DRenderObject .prototype,
56772
57225
 
56773
57226
  //if (getBrowser () -> getBrowserOptions () -> animateStairWalks ())
56774
57227
  //{
56775
- // float step = getBrowser () -> getCurrentSpeed () / getBrowser () -> getCurrentFrameRate ();
56776
- // step = abs (getViewMatrix () .mult_matrix_dir (Vector3f (0, step, 0) * up));
57228
+ // float step = getBrowser () -> getCurrentSpeed () / getBrowser () -> getCurrentFrameRate ();
57229
+ // step = abs (getViewMatrix () .mult_matrix_dir (Vector3f (0, step, 0) * up));
56777
57230
  //
56778
- // Vector3f offset = Vector3f (0, step, 0) * up;
57231
+ // Vector3f offset = Vector3f (0, step, 0) * up;
56779
57232
  //
56780
- // if (math::abs (offset) > math::abs (translation) or getBrowser () -> getCurrentSpeed () == 0)
56781
- // offset = translation;
57233
+ // if (math::abs (offset) > math::abs (translation) or getBrowser () -> getCurrentSpeed () == 0)
57234
+ // offset = translation;
56782
57235
  //
56783
- // getViewpoint () -> positionOffset () += offset;
57236
+ // getViewpoint () -> positionOffset () += offset;
56784
57237
  //}
56785
57238
  //else
56786
57239
  viewpoint ._positionOffset = translation .add (viewpoint ._positionOffset .getValue ());
@@ -58103,7 +58556,7 @@ Object .assign (Object .setPrototypeOf (X3DGroupingNode .prototype, Core_X3DChil
58103
58556
  }
58104
58557
  }
58105
58558
 
58106
- this .setCameraObject (!!(cameraObjects .length));
58559
+ this .setCameraObject (cameraObjects .length);
58107
58560
  },
58108
58561
  set_pickableObjects__ ()
58109
58562
  {
@@ -58130,7 +58583,7 @@ Object .assign (Object .setPrototypeOf (X3DGroupingNode .prototype, Core_X3DChil
58130
58583
  },
58131
58584
  set_transformSensors__ ()
58132
58585
  {
58133
- this .setPickableObject (!!(this .getTransformSensors () .size || this .pickableSensorNodes .length || this .pickableObjects .length));
58586
+ this .setPickableObject (this .getTransformSensors () .size || this .pickableSensorNodes .length || this .pickableObjects .length);
58134
58587
  },
58135
58588
  set_displayNodes__ ()
58136
58589
  {
@@ -59565,7 +60018,7 @@ Object .assign (Object .setPrototypeOf (X3DGeometryNode .prototype, Core_X3DNode
59565
60018
  },
59566
60019
  setTransparent (value)
59567
60020
  {
59568
- if (value !== this ._transparent .getValue ())
60021
+ if (!!value !== this ._transparent .getValue ())
59569
60022
  this ._transparent = value;
59570
60023
  },
59571
60024
  isTransparent ()
@@ -60970,7 +61423,7 @@ Object .assign (Object .setPrototypeOf (X3DBackgroundNode .prototype, Core_X3DBi
60970
61423
  vAngle .push (Math .PI);
60971
61424
 
60972
61425
  if (vAngle .length === 2)
60973
- vAngle .splice (1, 0, (vAngle [0] + vAngle [1]) / 2)
61426
+ vAngle .splice (1, 0, (vAngle [0] + vAngle [1]) / 2)
60974
61427
 
60975
61428
  this .buildSphere (RADIUS, vAngle, this ._skyAngle, this ._skyColor, false);
60976
61429
  }
@@ -61538,7 +61991,7 @@ Object .assign (Object .setPrototypeOf (X3DTextureNode .prototype, Shape_X3DAppe
61538
61991
  {
61539
61992
  setTransparent (value)
61540
61993
  {
61541
- if (value !== this ._transparent .getValue ())
61994
+ if (!!value !== this ._transparent .getValue ())
61542
61995
  this ._transparent = value;
61543
61996
  },
61544
61997
  isTransparent ()
@@ -62003,7 +62456,7 @@ const X3DTexture2DNode_default_ = X3DTexture2DNode;
62003
62456
  x_ite_Namespace .add ("X3DTexture2DNode", "x_ite/Components/Texturing/X3DTexture2DNode", X3DTexture2DNode_default_);
62004
62457
  /* harmony default export */ const Texturing_X3DTexture2DNode = (X3DTexture2DNode_default_);
62005
62458
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Texturing/ImageTexture.js
62006
- /* provided dependency */ var ImageTexture_$ = __webpack_require__(52);
62459
+ /* provided dependency */ var ImageTexture_$ = __webpack_require__(37);
62007
62460
  /*******************************************************************************
62008
62461
  *
62009
62462
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -65313,16 +65766,16 @@ Object .assign (Object .setPrototypeOf (LayerSet .prototype, Core_X3DNode .proto
65313
65766
  {
65314
65767
  return this .activeLayerNode;
65315
65768
  },
65769
+ getLayer0 ()
65770
+ {
65771
+ return this .layerNode0;
65772
+ },
65316
65773
  setLayer0 (value)
65317
65774
  {
65318
65775
  this .layerNode0 = value;
65319
65776
 
65320
65777
  this .set_layers__ ();
65321
65778
  },
65322
- getLayer0 ()
65323
- {
65324
- return this .layerNode0;
65325
- },
65326
65779
  getLayers ()
65327
65780
  {
65328
65781
  return this .layerNodes;
@@ -65604,7 +66057,7 @@ const X3DWorld_default_ = X3DWorld;
65604
66057
  x_ite_Namespace .add ("X3DWorld", "x_ite/Execution/X3DWorld", X3DWorld_default_);
65605
66058
  /* harmony default export */ const Execution_X3DWorld = (X3DWorld_default_);
65606
66059
  ;// CONCATENATED MODULE: ./src/x_ite/InputOutput/FileLoader.js
65607
- /* provided dependency */ var FileLoader_$ = __webpack_require__(52);
66060
+ /* provided dependency */ var FileLoader_$ = __webpack_require__(37);
65608
66061
  /*******************************************************************************
65609
66062
  *
65610
66063
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -66531,7 +66984,7 @@ const ProtoDeclarationArray_default_ = ProtoDeclarationArray;
66531
66984
  x_ite_Namespace .add ("ProtoDeclarationArray", "x_ite/Prototype/ProtoDeclarationArray", ProtoDeclarationArray_default_);
66532
66985
  /* harmony default export */ const Prototype_ProtoDeclarationArray = (ProtoDeclarationArray_default_);
66533
66986
  ;// CONCATENATED MODULE: ./src/x_ite/Routing/X3DRoute.js
66534
- /* provided dependency */ var X3DRoute_$ = __webpack_require__(52);
66987
+ /* provided dependency */ var X3DRoute_$ = __webpack_require__(37);
66535
66988
  /*******************************************************************************
66536
66989
  *
66537
66990
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -67135,12 +67588,12 @@ x_ite_Namespace .add ("RouteArray", "x_ite/Routing/RouteArray", RouteArray_defau
67135
67588
 
67136
67589
 
67137
67590
  const
67138
- _namedNodes = Symbol (),
67139
- _importedNodes = Symbol (),
67140
- _protos = Symbol (),
67141
- _externprotos = Symbol (),
67142
- X3DExecutionContext_routes = Symbol (),
67143
- _outerNode = Symbol ();
67591
+ _outerNode = Symbol (),
67592
+ _namedNodes = Symbol (),
67593
+ _importedNodes = Symbol (),
67594
+ _protos = Symbol (),
67595
+ _externprotos = Symbol (),
67596
+ X3DExecutionContext_routes = Symbol ();
67144
67597
 
67145
67598
  function X3DExecutionContext (executionContext, outerNode = null, browser = executionContext .getBrowser ())
67146
67599
  {
@@ -67774,10 +68227,13 @@ Object .assign (Object .setPrototypeOf (X3DExecutionContext .prototype, Base_X3D
67774
68227
  },
67775
68228
  removeWorldInfo (worldInfoNode)
67776
68229
  {
67777
- for (let i = this ._worldInfos .length - 1; i >= 0; -- i)
68230
+ for (const [i, worldInfo] of this ._worldInfos .entries ())
67778
68231
  {
67779
- if (this ._worldInfos [i] .getValue () === worldInfoNode)
67780
- this ._worldInfos .splice (i, 1);
68232
+ if (worldInfo .getValue () !== worldInfoNode)
68233
+ continue;
68234
+
68235
+ this ._worldInfos .splice (i, 1);
68236
+ break;
67781
68237
  }
67782
68238
  },
67783
68239
  toVRMLStream (generator)
@@ -68251,7 +68707,7 @@ Object .assign (Object .setPrototypeOf (X3DPrototypeInstance .prototype, Core_X3
68251
68707
  if (oldField .getModificationTime () === 0)
68252
68708
  {
68253
68709
  oldField .assign (newField);
68254
- oldField .setModificationTime (0);
68710
+ oldField .setModificationTime (0);
68255
68711
  }
68256
68712
  }
68257
68713
 
@@ -74243,7 +74699,7 @@ Object .assign (Object .setPrototypeOf (ElevationGrid .prototype, Rendering_X3DG
74243
74699
 
74244
74700
  this .colorNode ?.addInterest ("requestRebuild", this);
74245
74701
 
74246
- this .setTransparent (this .colorNode ?.isTransparent () ?? false);
74702
+ this .setTransparent (this .colorNode ?.isTransparent ());
74247
74703
  },
74248
74704
  set_texCoord__ ()
74249
74705
  {
@@ -75432,7 +75888,7 @@ Object .assign (Object .setPrototypeOf (X3DComposedGeometryNode .prototype, Rend
75432
75888
 
75433
75889
  this .colorNode ?.addInterest ("requestRebuild", this);
75434
75890
 
75435
- this .setTransparent (this .colorNode ?.isTransparent () ?? false);
75891
+ this .setTransparent (this .colorNode ?.isTransparent ());
75436
75892
  },
75437
75893
  set_texCoord__ ()
75438
75894
  {
@@ -76739,11 +77195,11 @@ Object .assign (Object .setPrototypeOf (Switch .prototype, Grouping_X3DGroupingN
76739
77195
  },
76740
77196
  set_cameraObject__ ()
76741
77197
  {
76742
- this .setCameraObject (!!this .visibleNode ?.isCameraObject ());
77198
+ this .setCameraObject (this .visibleNode ?.isCameraObject ());
76743
77199
  },
76744
77200
  set_transformSensors__ ()
76745
77201
  {
76746
- this .setPickableObject (!!(this .getTransformSensors () .size || this .visibleNode ?.isPickableObject ()));
77202
+ this .setPickableObject (this .getTransformSensors () .size || this .visibleNode ?.isPickableObject ());
76747
77203
  },
76748
77204
  set_display__ ()
76749
77205
  {
@@ -80499,8 +80955,8 @@ x_ite_Namespace .add ("EnvironmentLight", "x_ite/Components/Lighting/Environment
80499
80955
  // Shadow map layout
80500
80956
  // Compact layout:
80501
80957
  //
80502
- // xzXZ Char: Axis
80503
- // yyYY Case: Sign
80958
+ // xzXZ Char: Axis
80959
+ // yyYY Case: Sign
80504
80960
 
80505
80961
  const orientationMatrices = [
80506
80962
  new Numbers_Matrix4 () .setRotation (new Numbers_Rotation4 (new Numbers_Vector3 ( 1, 0, 0), Numbers_Vector3 .zAxis)), // left
@@ -81755,11 +82211,11 @@ Object .assign (Object .setPrototypeOf (LOD .prototype, Grouping_X3DGroupingNode
81755
82211
  },
81756
82212
  set_cameraObject__ ()
81757
82213
  {
81758
- this .setCameraObject (!!this .visibleNode ?.isCameraObject ());
82214
+ this .setCameraObject (this .visibleNode ?.isCameraObject ());
81759
82215
  },
81760
82216
  set_transformSensors__ ()
81761
82217
  {
81762
- this .setPickableObject (!!(this .getTransformSensors () .size || this .visibleNode ?.isPickableObject ()));
82218
+ this .setPickableObject (this .getTransformSensors () .size || this .visibleNode ?.isPickableObject ());
81763
82219
  },
81764
82220
  set_display__ ()
81765
82221
  {
@@ -85841,7 +86297,7 @@ Object .assign (Object .setPrototypeOf (X3DColorNode .prototype, Rendering_X3DGe
85841
86297
  {
85842
86298
  setTransparent (value)
85843
86299
  {
85844
- if (value !== this ._transparent .getValue ())
86300
+ if (!!value !== this ._transparent .getValue ())
85845
86301
  this ._transparent = value;
85846
86302
  },
85847
86303
  isTransparent ()
@@ -87209,7 +87665,7 @@ Object .assign (Object .setPrototypeOf (IndexedLineSet .prototype, Rendering_X3D
87209
87665
 
87210
87666
  this .colorNode ?.addInterest ("requestRebuild", this);
87211
87667
 
87212
- this .setTransparent (this .colorNode ?.isTransparent () ?? false);
87668
+ this .setTransparent (this .colorNode ?.isTransparent ());
87213
87669
  },
87214
87670
  set_normal__ ()
87215
87671
  {
@@ -87994,7 +88450,7 @@ Object .assign (Object .setPrototypeOf (LineSet .prototype, Rendering_X3DLineGeo
87994
88450
 
87995
88451
  this .colorNode ?.addInterest ("requestRebuild", this);
87996
88452
 
87997
- this .setTransparent (this .colorNode ?.isTransparent () ?? false);
88453
+ this .setTransparent (this .colorNode ?.isTransparent ());
87998
88454
  },
87999
88455
  set_normal__ ()
88000
88456
  {
@@ -89408,7 +89864,7 @@ const X3DShaderNode_default_ = X3DShaderNode;
89408
89864
  x_ite_Namespace .add ("X3DShaderNode", "x_ite/Components/Shaders/X3DShaderNode", X3DShaderNode_default_);
89409
89865
  /* harmony default export */ const Shaders_X3DShaderNode = (X3DShaderNode_default_);
89410
89866
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Shaders/X3DProgrammableShaderObject.js
89411
- /* provided dependency */ var X3DProgrammableShaderObject_$ = __webpack_require__(52);
89867
+ /* provided dependency */ var X3DProgrammableShaderObject_$ = __webpack_require__(37);
89412
89868
  /*******************************************************************************
89413
89869
  *
89414
89870
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -92295,26 +92751,26 @@ const ShaderSource =
92295
92751
  {
92296
92752
  getSource (gl, browser, source, options)
92297
92753
  {
92298
- const
92299
- COMMENTS = "\\s+|/\\*[\\s\\S]*?\\*/|//.*?\\n",
92300
- LINE = "#line\\s+.*?\\n",
92301
- IF = "#if\\s+.*?\\n",
92302
- ELIF = "#elif\\s+.*?\\n",
92303
- IFDEF = "#ifdef\\s+.*?\\n",
92304
- IFNDEF = "#ifndef\\s+.*?\\n",
92305
- ELSE = "#else.*?\\n",
92306
- ENDIF = "#endif.*?\\n",
92307
- DEFINE = "#define\\s+(?:[^\\n\\\\]|\\\\[^\\r\\n]|\\\\\\r?\\n)*\\n",
92308
- UNDEF = "#undef\\s+.*?\\n",
92309
- PRAGMA = "#pragma\\s+.*?\\n",
92310
- PREPROCESSOR = LINE + "|" + IF + "|" + ELIF + "|" + IFDEF + "|" + IFNDEF + "|" + ELSE + "|" + ENDIF + "|" + DEFINE + "|" + UNDEF + "|" + PRAGMA,
92311
- VERSION = "#version\\s+.*?\\n",
92312
- EXTENSION = "#extension\\s+.*?\\n",
92313
- ANY = ".*";
92314
-
92315
- const
92316
- GLSL = new RegExp ("^((?:" + COMMENTS + "|" + PREPROCESSOR + ")*(?:" + VERSION + ")?(?:" + COMMENTS + "|" + PREPROCESSOR + "|" + EXTENSION + ")*)(" + ANY + ")$", "s"),
92317
- match = source .match (GLSL);
92754
+ const
92755
+ COMMENTS = "\\s+|/\\*[\\s\\S]*?\\*/|//.*?\\n",
92756
+ LINE = "#line\\s+.*?\\n",
92757
+ IF = "#if\\s+.*?\\n",
92758
+ ELIF = "#elif\\s+.*?\\n",
92759
+ IFDEF = "#ifdef\\s+.*?\\n",
92760
+ IFNDEF = "#ifndef\\s+.*?\\n",
92761
+ ELSE = "#else.*?\\n",
92762
+ ENDIF = "#endif.*?\\n",
92763
+ DEFINE = "#define\\s+(?:[^\\n\\\\]|\\\\[^\\r\\n]|\\\\\\r?\\n)*\\n",
92764
+ UNDEF = "#undef\\s+.*?\\n",
92765
+ PRAGMA = "#pragma\\s+.*?\\n",
92766
+ PREPROCESSOR = LINE + "|" + IF + "|" + ELIF + "|" + IFDEF + "|" + IFNDEF + "|" + ELSE + "|" + ENDIF + "|" + DEFINE + "|" + UNDEF + "|" + PRAGMA,
92767
+ VERSION = "#version\\s+.*?\\n",
92768
+ EXTENSION = "#extension\\s+.*?\\n",
92769
+ ANY = ".*";
92770
+
92771
+ const
92772
+ GLSL = new RegExp ("^((?:" + COMMENTS + "|" + PREPROCESSOR + ")*(?:" + VERSION + ")?(?:" + COMMENTS + "|" + PREPROCESSOR + "|" + EXTENSION + ")*)(" + ANY + ")$", "s"),
92773
+ match = source .match (GLSL);
92318
92774
 
92319
92775
  // const
92320
92776
  // COMMENTS = "\\s+|/\\*.*?\\*/|//.*?\\n",
@@ -95049,7 +95505,7 @@ const ShaderCompiler_default_ = ShaderCompiler;
95049
95505
  x_ite_Namespace .add ("ShaderCompiler", "x_ite/Browser/Shaders/ShaderCompiler", ShaderCompiler_default_);
95050
95506
  /* harmony default export */ const Shaders_ShaderCompiler = (ShaderCompiler_default_);
95051
95507
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Shaders/ShaderPart.js
95052
- /* provided dependency */ var ShaderPart_$ = __webpack_require__(52);
95508
+ /* provided dependency */ var ShaderPart_$ = __webpack_require__(37);
95053
95509
  /*******************************************************************************
95054
95510
  *
95055
95511
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -95677,7 +96133,7 @@ Object .assign (Object .setPrototypeOf (X3DAppearanceNode .prototype, Core_X3DNo
95677
96133
  {
95678
96134
  setTransparent (value)
95679
96135
  {
95680
- if (value !== this ._transparent .getValue ())
96136
+ if (!!value !== this ._transparent .getValue ())
95681
96137
  this ._transparent = value;
95682
96138
  },
95683
96139
  isTransparent ()
@@ -95706,7 +96162,7 @@ const X3DAppearanceNode_default_ = X3DAppearanceNode;
95706
96162
  x_ite_Namespace .add ("X3DAppearanceNode", "x_ite/Components/Shape/X3DAppearanceNode", X3DAppearanceNode_default_);
95707
96163
  /* harmony default export */ const Shape_X3DAppearanceNode = (X3DAppearanceNode_default_);
95708
96164
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Shape/Appearance.js
95709
- /* provided dependency */ var Appearance_$ = __webpack_require__(52);
96165
+ /* provided dependency */ var Appearance_$ = __webpack_require__(37);
95710
96166
  /*******************************************************************************
95711
96167
  *
95712
96168
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -95786,8 +96242,8 @@ Object .assign (Object .setPrototypeOf (Appearance .prototype, Shape_X3DAppearan
95786
96242
 
95787
96243
  browser .getRenderingProperties () ._ContentScale .addInterest ("set_contentScale__", this);
95788
96244
 
95789
- this ._alphaMode .addInterest ("set_alphaMode__", this);
95790
- this ._alphaCutoff .addInterest ("set_alphaCutoff__", this);
96245
+ this ._alphaMode .addInterest ("set_alphaMode__", this);
96246
+ this ._alphaCutoff .addInterest ("set_alphaCutoff__", this);
95791
96247
  this ._pointProperties .addInterest ("set_pointProperties__", this);
95792
96248
  this ._lineProperties .addInterest ("set_lineProperties__", this);
95793
96249
  this ._fillProperties .addInterest ("set_fillProperties__", this);
@@ -96101,11 +96557,11 @@ Object .assign (Object .setPrototypeOf (Appearance .prototype, Shape_X3DAppearan
96101
96557
  },
96102
96558
  set_transparent__ ()
96103
96559
  {
96104
- this .setTransparent (!!(this .stylePropertiesNode [3] ?.isTransparent () ||
96105
- this .materialNode ?.isTransparent () ||
96106
- this .backMaterialNode ?.isTransparent () ||
96107
- this .textureNode ?.isTransparent () ||
96108
- this .blendModeNode));
96560
+ this .setTransparent (this .stylePropertiesNode [3] ?.isTransparent () ||
96561
+ this .materialNode ?.isTransparent () ||
96562
+ this .backMaterialNode ?.isTransparent () ||
96563
+ this .textureNode ?.isTransparent () ||
96564
+ this .blendModeNode);
96109
96565
  },
96110
96566
  traverse (type, renderObject)
96111
96567
  {
@@ -96254,7 +96710,7 @@ Object .assign (Object .setPrototypeOf (FillProperties .prototype, Shape_X3DAppe
96254
96710
  {
96255
96711
  this .filled = this ._filled .getValue ();
96256
96712
 
96257
- this .setTransparent (! this .filled);
96713
+ this .setTransparent (!this .filled);
96258
96714
  },
96259
96715
  set_hatched__ ()
96260
96716
  {
@@ -96277,7 +96733,7 @@ Object .assign (Object .setPrototypeOf (FillProperties .prototype, Shape_X3DAppe
96277
96733
  },
96278
96734
  setTransparent (value)
96279
96735
  {
96280
- if (value !== this ._transparent .getValue ())
96736
+ if (!!value !== this ._transparent .getValue ())
96281
96737
  this ._transparent = value;
96282
96738
  },
96283
96739
  isTransparent ()
@@ -96607,7 +97063,7 @@ Object .assign (Object .setPrototypeOf (X3DMaterialNode .prototype, Shape_X3DApp
96607
97063
  {
96608
97064
  setTransparent (value)
96609
97065
  {
96610
- if (value !== this ._transparent .getValue ())
97066
+ if (!!value !== this ._transparent .getValue ())
96611
97067
  this ._transparent = value;
96612
97068
  },
96613
97069
  isTransparent ()
@@ -97027,7 +97483,7 @@ Object .assign (Object .setPrototypeOf (X3DOneSidedMaterialNode .prototype, Shap
97027
97483
  },
97028
97484
  set_transparent__ ()
97029
97485
  {
97030
- this .setTransparent (!! this .transparency);
97486
+ this .setTransparent (this .transparency);
97031
97487
  },
97032
97488
  getBaseTexture ()
97033
97489
  {
@@ -97355,7 +97811,7 @@ Object .assign (Object .setPrototypeOf (Material .prototype, Shape_X3DOneSidedMa
97355
97811
  },
97356
97812
  set_transparent__ ()
97357
97813
  {
97358
- this .setTransparent (!!(this .getTransparency () || this .diffuseTextureNode ?.isTransparent ()));
97814
+ this .setTransparent (this .getTransparency () || this .diffuseTextureNode ?.isTransparent ());
97359
97815
  },
97360
97816
  createShader (key, geometryContext, renderContext)
97361
97817
  {
@@ -97777,7 +98233,7 @@ Object .assign (Object .setPrototypeOf (PhysicalMaterial .prototype, Shape_X3DOn
97777
98233
  },
97778
98234
  set_transparent__ ()
97779
98235
  {
97780
- this .setTransparent (!!(this .getTransparency () || this .baseTextureNode ?.isTransparent ()));
98236
+ this .setTransparent (this .getTransparency () || this .baseTextureNode ?.isTransparent ());
97781
98237
  },
97782
98238
  createShader (key, geometryContext, renderContext)
97783
98239
  {
@@ -98235,7 +98691,7 @@ Object .assign (Object .setPrototypeOf (X3DShapeNode .prototype, Core_X3DChildNo
98235
98691
  },
98236
98692
  setTransparent (value)
98237
98693
  {
98238
- this .transparent = value;
98694
+ this .transparent = !!value;
98239
98695
  },
98240
98696
  getAlphaMode ()
98241
98697
  {
@@ -98785,7 +99241,7 @@ Object .assign (Object .setPrototypeOf (TwoSidedMaterial .prototype, Shape_X3DMa
98785
99241
  },
98786
99242
  set_transparent__ ()
98787
99243
  {
98788
- this .setTransparent (!!(this ._transparency .getValue () || (this ._separateBackColor .getValue () && this ._backTransparency .getValue ())));
99244
+ this .setTransparent (this ._transparency .getValue () || (this ._separateBackColor .getValue () && this ._backTransparency .getValue ()));
98789
99245
  },
98790
99246
  getMaterialKey: Shape_Material .prototype .getMaterialKey,
98791
99247
  getBaseTexture: Shape_Material .prototype .getBaseTexture,
@@ -98961,8 +99417,7 @@ Object .assign (Object .setPrototypeOf (UnlitMaterial .prototype, Shape_X3DOneSi
98961
99417
  },
98962
99418
  set_transparent__ ()
98963
99419
  {
98964
- this .setTransparent (!!(this .getTransparency () ||
98965
- this .getEmissiveTexture () ?.isTransparent ()));
99420
+ this .setTransparent (this .getTransparency () || this .getEmissiveTexture () ?.isTransparent ());
98966
99421
  },
98967
99422
  createShader (key, geometryContext, renderContext)
98968
99423
  {
@@ -99124,7 +99579,7 @@ const Components_Shape_default_ = {
99124
99579
  x_ite_Namespace .add ("Shape", "x_ite/Components/Shape", Components_Shape_default_);
99125
99580
  /* harmony default export */ const Components_Shape = (Components_Shape_default_);
99126
99581
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Sound/X3DSoundProcessingNode.js
99127
- /* provided dependency */ var X3DSoundProcessingNode_$ = __webpack_require__(52);
99582
+ /* provided dependency */ var X3DSoundProcessingNode_$ = __webpack_require__(37);
99128
99583
  /*******************************************************************************
99129
99584
  *
99130
99585
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -99764,7 +100219,7 @@ const X3DSoundSourceNode_default_ = X3DSoundSourceNode;
99764
100219
  x_ite_Namespace .add ("X3DSoundSourceNode", "x_ite/Components/Sound/X3DSoundSourceNode", X3DSoundSourceNode_default_);
99765
100220
  /* harmony default export */ const Sound_X3DSoundSourceNode = (X3DSoundSourceNode_default_);
99766
100221
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Sound/AudioClip.js
99767
- /* provided dependency */ var AudioClip_$ = __webpack_require__(52);
100222
+ /* provided dependency */ var AudioClip_$ = __webpack_require__(37);
99768
100223
  /*******************************************************************************
99769
100224
  *
99770
100225
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -100066,7 +100521,7 @@ const X3DSoundNode_default_ = X3DSoundNode;
100066
100521
  x_ite_Namespace .add ("X3DSoundNode", "x_ite/Components/Sound/X3DSoundNode", X3DSoundNode_default_);
100067
100522
  /* harmony default export */ const Sound_X3DSoundNode = (X3DSoundNode_default_);
100068
100523
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Sound/X3DSoundDestinationNode.js
100069
- /* provided dependency */ var X3DSoundDestinationNode_$ = __webpack_require__(52);
100524
+ /* provided dependency */ var X3DSoundDestinationNode_$ = __webpack_require__(37);
100070
100525
  /*******************************************************************************
100071
100526
  *
100072
100527
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -101716,7 +102171,7 @@ const ListenerPointSource_default_ = ListenerPointSource;
101716
102171
  x_ite_Namespace .add ("ListenerPointSource", "x_ite/Components/Sound/ListenerPointSource", ListenerPointSource_default_);
101717
102172
  /* harmony default export */ const Sound_ListenerPointSource = (ListenerPointSource_default_);
101718
102173
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Sound/MicrophoneSource.js
101719
- /* provided dependency */ var MicrophoneSource_$ = __webpack_require__(52);
102174
+ /* provided dependency */ var MicrophoneSource_$ = __webpack_require__(37);
101720
102175
  /*******************************************************************************
101721
102176
  *
101722
102177
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -103385,8 +103840,8 @@ const GifMedia_default_ = GifMedia;
103385
103840
  x_ite_Namespace .add ("GifMedia", "x_ite/Browser/Texturing/GifMedia", GifMedia_default_);
103386
103841
  /* harmony default export */ const Texturing_GifMedia = (GifMedia_default_);
103387
103842
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Texturing/MovieTexture.js
103388
- /* provided dependency */ var MovieTexture_$ = __webpack_require__(52);
103389
- /* provided dependency */ var SuperGif = __webpack_require__(247);
103843
+ /* provided dependency */ var MovieTexture_$ = __webpack_require__(37);
103844
+ /* provided dependency */ var SuperGif = __webpack_require__(790);
103390
103845
  /*******************************************************************************
103391
103846
  *
103392
103847
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -106665,7 +107120,7 @@ const gettext_default_ = gettext;
106665
107120
  x_ite_Namespace .add ("gettext", "locale/gettext", gettext_default_);
106666
107121
  /* harmony default export */ const locale_gettext = (gettext_default_);
106667
107122
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/BrowserTimings.js
106668
- /* provided dependency */ var BrowserTimings_$ = __webpack_require__(52);
107123
+ /* provided dependency */ var BrowserTimings_$ = __webpack_require__(37);
106669
107124
  /*******************************************************************************
106670
107125
  *
106671
107126
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -107095,7 +107550,7 @@ const TextureQuality_default_ = TextureQuality;
107095
107550
  x_ite_Namespace .add ("TextureQuality", "x_ite/Browser/Core/TextureQuality", TextureQuality_default_);
107096
107551
  /* harmony default export */ const Core_TextureQuality = (TextureQuality_default_);
107097
107552
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/BrowserOptions.js
107098
- /* provided dependency */ var BrowserOptions_$ = __webpack_require__(52);
107553
+ /* provided dependency */ var BrowserOptions_$ = __webpack_require__(37);
107099
107554
  /*******************************************************************************
107100
107555
  *
107101
107556
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -107471,8 +107926,9 @@ Object .defineProperties (BrowserOptions,
107471
107926
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "Gravity", new x_ite_Fields .SFDouble (9.80665)),
107472
107927
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "LoadUrlObjects", new x_ite_Fields .SFBool (true)),
107473
107928
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "LogarithmicDepthBuffer", new x_ite_Fields .SFBool ()),
107474
- new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "Notifications", new x_ite_Fields .SFBool (true)),
107929
+ new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "MetadataReference", new x_ite_Fields .SFString ()),
107475
107930
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "Multisampling", new x_ite_Fields .SFInt32 (4)),
107931
+ new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "Notifications", new x_ite_Fields .SFBool (true)),
107476
107932
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "OrderIndependentTransparency", new x_ite_Fields .SFBool ()),
107477
107933
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "StraightenHorizon", new x_ite_Fields .SFBool (true)),
107478
107934
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "Timings", new x_ite_Fields .SFBool ()),
@@ -107685,7 +108141,7 @@ const RenderingProperties_default_ = RenderingProperties;
107685
108141
  x_ite_Namespace .add ("RenderingProperties", "x_ite/Browser/Core/RenderingProperties", RenderingProperties_default_);
107686
108142
  /* harmony default export */ const Core_RenderingProperties = (RenderingProperties_default_);
107687
108143
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/Notification.js
107688
- /* provided dependency */ var Notification_$ = __webpack_require__(52);
108144
+ /* provided dependency */ var Notification_$ = __webpack_require__(37);
107689
108145
  /*******************************************************************************
107690
108146
  *
107691
108147
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -107808,8 +108264,8 @@ const Notification_default_ = Notification;
107808
108264
  x_ite_Namespace .add ("Notification", "x_ite/Browser/Core/Notification", Notification_default_);
107809
108265
  /* harmony default export */ const Core_Notification = (Notification_default_);
107810
108266
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/ContextMenu.js
107811
- /* provided dependency */ var jquery_fullscreen = __webpack_require__(944);
107812
- /* provided dependency */ var ContextMenu_$ = __webpack_require__(52);
108267
+ /* provided dependency */ var jquery_fullscreen = __webpack_require__(773);
108268
+ /* provided dependency */ var ContextMenu_$ = __webpack_require__(37);
107813
108269
  /*******************************************************************************
107814
108270
  *
107815
108271
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -108380,7 +108836,7 @@ Object .assign (Object .setPrototypeOf (ContextMenu .prototype, Base_X3DBaseNode
108380
108836
 
108381
108837
  // Reposition menu if to right or to low.
108382
108838
 
108383
- ul .offset ({ "left": event .pageX, "top": event .pageY }); // Do it again!
108839
+ ul .offset ({ "left": event .pageX, "top": event .pageY }); // Do it again!
108384
108840
 
108385
108841
  if (ul .offset () .left - ContextMenu_$(document) .scrollLeft () + ul .outerWidth () > ContextMenu_$(window) .width ())
108386
108842
  ul .offset ({ "left": ContextMenu_$(document) .scrollLeft () + Math .max (0, ContextMenu_$(window) .width () - ul .outerWidth ()) });
@@ -109612,13 +110068,18 @@ Object .assign (Object .setPrototypeOf (X3DScene .prototype, Execution_X3DExecut
109612
110068
  const values = this [_metadata] .get (name);
109613
110069
 
109614
110070
  if (values)
109615
- return Array .from (values);
110071
+ return values .slice ();
109616
110072
 
109617
110073
  return undefined;
109618
110074
  },
109619
110075
  getMetaDatas ()
109620
110076
  {
109621
- return new Map (this [_metadata]);
110077
+ const metadata = new Map ();
110078
+
110079
+ for (const [key, values] of this [_metadata])
110080
+ metadata .set (key, values .slice ());
110081
+
110082
+ return metadata;
109622
110083
  },
109623
110084
  addExportedNode (exportedName, node)
109624
110085
  {
@@ -109643,7 +110104,7 @@ Object .assign (Object .setPrototypeOf (X3DScene .prototype, Execution_X3DExecut
109643
110104
  throw new Error ("Couldn't update exported node: node must be of type X3DNode.");
109644
110105
 
109645
110106
  //if (node .getExecutionContext () !== this)
109646
- // throw new Error ("Couldn't update exported node: node does not belong to this execution context.");
110107
+ // throw new Error ("Couldn't update exported node: node does not belong to this execution context.");
109647
110108
 
109648
110109
  const exportedNode = new Execution_X3DExportedNode (this, exportedName, node);
109649
110110
 
@@ -110561,7 +111022,7 @@ const DataStorage_default_ = DataStorage;
110561
111022
  x_ite_Namespace .add ("DataStorage", "standard/Utility/DataStorage", DataStorage_default_);
110562
111023
  /* harmony default export */ const Utility_DataStorage = (DataStorage_default_);
110563
111024
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/X3DCoreContext.js
110564
- /* provided dependency */ var X3DCoreContext_$ = __webpack_require__(52);
111025
+ /* provided dependency */ var X3DCoreContext_$ = __webpack_require__(37);
110565
111026
  /*******************************************************************************
110566
111027
  *
110567
111028
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -113084,8 +113545,8 @@ const X3DViewer_default_ = X3DViewer;
113084
113545
  x_ite_Namespace .add ("X3DViewer", "x_ite/Browser/Navigation/X3DViewer", X3DViewer_default_);
113085
113546
  /* harmony default export */ const Navigation_X3DViewer = (X3DViewer_default_);
113086
113547
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Navigation/ExamineViewer.js
113087
- /* provided dependency */ var jquery_mousewheel = __webpack_require__(82);
113088
- /* provided dependency */ var ExamineViewer_$ = __webpack_require__(52);
113548
+ /* provided dependency */ var jquery_mousewheel = __webpack_require__(693);
113549
+ /* provided dependency */ var ExamineViewer_$ = __webpack_require__(37);
113089
113550
  /*******************************************************************************
113090
113551
  *
113091
113552
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -113957,8 +114418,8 @@ const ExamineViewer_default_ = ExamineViewer;
113957
114418
  x_ite_Namespace .add ("ExamineViewer", "x_ite/Browser/Navigation/ExamineViewer", ExamineViewer_default_);
113958
114419
  /* harmony default export */ const Navigation_ExamineViewer = (ExamineViewer_default_);
113959
114420
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Navigation/X3DFlyViewer.js
113960
- /* provided dependency */ var X3DFlyViewer_jquery_mousewheel = __webpack_require__(82);
113961
- /* provided dependency */ var X3DFlyViewer_$ = __webpack_require__(52);
114421
+ /* provided dependency */ var X3DFlyViewer_jquery_mousewheel = __webpack_require__(693);
114422
+ /* provided dependency */ var X3DFlyViewer_$ = __webpack_require__(37);
113962
114423
  /*******************************************************************************
113963
114424
  *
113964
114425
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -114967,8 +115428,8 @@ const FlyViewer_default_ = FlyViewer;
114967
115428
  x_ite_Namespace .add ("FlyViewer", "x_ite/Browser/Navigation/FlyViewer", FlyViewer_default_);
114968
115429
  /* harmony default export */ const Navigation_FlyViewer = (FlyViewer_default_);
114969
115430
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Navigation/PlaneViewer.js
114970
- /* provided dependency */ var PlaneViewer_jquery_mousewheel = __webpack_require__(82);
114971
- /* provided dependency */ var PlaneViewer_$ = __webpack_require__(52);
115431
+ /* provided dependency */ var PlaneViewer_jquery_mousewheel = __webpack_require__(693);
115432
+ /* provided dependency */ var PlaneViewer_$ = __webpack_require__(37);
114972
115433
  /*******************************************************************************
114973
115434
  *
114974
115435
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -115299,8 +115760,8 @@ const NoneViewer_default_ = NoneViewer;
115299
115760
  x_ite_Namespace .add ("NoneViewer", "x_ite/Browser/Navigation/NoneViewer", NoneViewer_default_);
115300
115761
  /* harmony default export */ const Navigation_NoneViewer = (NoneViewer_default_);
115301
115762
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Navigation/LookAtViewer.js
115302
- /* provided dependency */ var LookAtViewer_jquery_mousewheel = __webpack_require__(82);
115303
- /* provided dependency */ var LookAtViewer_$ = __webpack_require__(52);
115763
+ /* provided dependency */ var LookAtViewer_jquery_mousewheel = __webpack_require__(693);
115764
+ /* provided dependency */ var LookAtViewer_$ = __webpack_require__(37);
115304
115765
  /*******************************************************************************
115305
115766
  *
115306
115767
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -116439,8 +116900,8 @@ const X3DPickingContext_default_ = X3DPickingContext;
116439
116900
  x_ite_Namespace .add ("X3DPickingContext", "x_ite/Browser/Picking/X3DPickingContext", X3DPickingContext_default_);
116440
116901
  /* harmony default export */ const Picking_X3DPickingContext = (X3DPickingContext_default_);
116441
116902
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/PointingDeviceSensor/PointingDevice.js
116442
- /* provided dependency */ var PointingDevice_jquery_mousewheel = __webpack_require__(82);
116443
- /* provided dependency */ var PointingDevice_$ = __webpack_require__(52);
116903
+ /* provided dependency */ var PointingDevice_jquery_mousewheel = __webpack_require__(693);
116904
+ /* provided dependency */ var PointingDevice_$ = __webpack_require__(37);
116444
116905
  /*******************************************************************************
116445
116906
  *
116446
116907
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -117588,10 +118049,12 @@ Object .assign (MultiSampleFrameBuffer .prototype,
117588
118049
  },
117589
118050
  clear ()
117590
118051
  {
117591
- const { context: gl, frameBuffer } = this;
118052
+ const { context: gl, frameBuffer, width, height } = this;
117592
118053
 
117593
118054
  gl .bindFramebuffer (gl .FRAMEBUFFER, frameBuffer);
117594
118055
 
118056
+ gl .viewport (0, 0, width, height);
118057
+ gl .scissor (0, 0, width, height);
117595
118058
  gl .clearColor (0, 0, 0, 0);
117596
118059
  gl .clear (gl .COLOR_BUFFER_BIT);
117597
118060
  },
@@ -117710,8 +118173,10 @@ Object .assign (Fallback .prototype,
117710
118173
  },
117711
118174
  clear ()
117712
118175
  {
117713
- const { context: gl } = this;
118176
+ const { context: gl, width, height } = this;
117714
118177
 
118178
+ gl .viewport (0, 0, width, height);
118179
+ gl .scissor (0, 0, width, height);
117715
118180
  gl .clearColor (0, 0, 0, 1);
117716
118181
  gl .clear (gl .COLOR_BUFFER_BIT);
117717
118182
  gl .blendFuncSeparate (gl .ONE, gl .ONE, gl .ZERO, gl .ONE_MINUS_SRC_ALPHA);
@@ -117727,7 +118192,7 @@ const MultiSampleFrameBuffer_default_ = MultiSampleFrameBuffer;
117727
118192
  x_ite_Namespace .add ("MultiSampleFrameBuffer", "x_ite/Rendering/MultiSampleFrameBuffer", MultiSampleFrameBuffer_default_);
117728
118193
  /* harmony default export */ const Rendering_MultiSampleFrameBuffer = (MultiSampleFrameBuffer_default_);
117729
118194
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Rendering/X3DRenderingContext.js
117730
- /* provided dependency */ var X3DRenderingContext_$ = __webpack_require__(52);
118195
+ /* provided dependency */ var X3DRenderingContext_$ = __webpack_require__(37);
117731
118196
  /*******************************************************************************
117732
118197
  *
117733
118198
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -118629,7 +119094,7 @@ const X3DSoundContext_default_ = X3DSoundContext;
118629
119094
  x_ite_Namespace .add ("X3DSoundContext", "x_ite/Browser/Sound/X3DSoundContext", X3DSoundContext_default_);
118630
119095
  /* harmony default export */ const Sound_X3DSoundContext = (X3DSoundContext_default_);
118631
119096
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Texturing/KTXDecoder.js
118632
- /* provided dependency */ var KTXDecoder_$ = __webpack_require__(52);
119097
+ /* provided dependency */ var KTXDecoder_$ = __webpack_require__(37);
118633
119098
  const KTXDecoder_default_ = class KTXDecoder
118634
119099
  {
118635
119100
  constructor (gl, externalKtxlib, scriptDir)
@@ -120182,7 +120647,7 @@ const Components_default_ = Components;
120182
120647
  x_ite_Namespace .add ("Components", "x_ite/Components", Components_default_);
120183
120648
  /* harmony default export */ const x_ite_Components = ((/* unused pure expression or super */ null && (Components_default_)));
120184
120649
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/DOMIntegration.js
120185
- /* provided dependency */ var DOMIntegration_$ = __webpack_require__(52);
120650
+ /* provided dependency */ var DOMIntegration_$ = __webpack_require__(37);
120186
120651
  /*******************************************************************************
120187
120652
  * MIT License
120188
120653
  *
@@ -120214,355 +120679,355 @@ x_ite_Namespace .add ("Components", "x_ite/Components", Components_default_);
120214
120679
 
120215
120680
  class DOMIntegration
120216
120681
  {
120217
- constructor (browser)
120218
- {
120219
- this .browser = browser;
120220
- this .rootElement = undefined;
120221
- this .canvasObserver = new MutationObserver (() => this .processCanvasMutation (browser));
120682
+ constructor (browser)
120683
+ {
120684
+ this .browser = browser;
120685
+ this .rootElement = undefined;
120686
+ this .canvasObserver = new MutationObserver (() => this .processCanvasMutation (browser));
120222
120687
 
120223
- this .canvasObserver .observe (browser .getElement () [0], {
120224
- childList: true,
120225
- });
120688
+ this .canvasObserver .observe (browser .getElement () [0], {
120689
+ childList: true,
120690
+ });
120226
120691
 
120227
- this .processCanvasMutation (browser)
120228
- }
120692
+ this .processCanvasMutation (browser)
120693
+ }
120229
120694
 
120230
- processCanvasMutation (browser)
120231
- {
120232
- this .processRootElement (browser, browser .getElement () .children ("X3D") .get (-1));
120233
- }
120695
+ processCanvasMutation (browser)
120696
+ {
120697
+ this .processRootElement (browser, browser .getElement () .children ("X3D") .get (-1));
120698
+ }
120234
120699
 
120235
- async processRootElement (browser, rootElement)
120236
- {
120237
- try
120238
- {
120239
- if (rootElement === this .rootElement)
120240
- return;
120700
+ async processRootElement (browser, rootElement)
120701
+ {
120702
+ try
120703
+ {
120704
+ if (rootElement === this .rootElement)
120705
+ return;
120241
120706
 
120242
- this .rootElement = rootElement;
120707
+ this .rootElement = rootElement;
120243
120708
 
120244
- if (rootElement)
120245
- {
120246
- // Display splash screen.
120709
+ if (rootElement)
120710
+ {
120711
+ // Display splash screen.
120247
120712
 
120248
- browser .setBrowserLoading (true);
120249
- browser .addLoadingObject (this);
120713
+ browser .setBrowserLoading (true);
120714
+ browser .addLoadingObject (this);
120250
120715
 
120251
- // Now also attached node property to each node element.
120716
+ // Now also attached node property to each node element.
120252
120717
 
120253
- const scene = browser .createScene ();
120718
+ const scene = browser .createScene ();
120254
120719
 
120255
- this .parser = new Parser_XMLParser (scene);
120720
+ this .parser = new Parser_XMLParser (scene);
120256
120721
 
120257
- this .parser .setInput (rootElement);
120722
+ this .parser .setInput (rootElement);
120258
120723
 
120259
- await new Promise (this .parser .parseIntoScene .bind (this .parser));
120724
+ await new Promise (this .parser .parseIntoScene .bind (this .parser));
120260
120725
 
120261
- browser .replaceWorld (scene);
120726
+ browser .replaceWorld (scene);
120262
120727
 
120263
- // Create an observer instance.
120728
+ // Create an observer instance.
120264
120729
 
120265
- this .observer = new MutationObserver (mutations =>
120266
- {
120267
- for (const mutation of mutations)
120268
- this .processMutation (mutation);
120269
- });
120730
+ this .observer = new MutationObserver (mutations =>
120731
+ {
120732
+ for (const mutation of mutations)
120733
+ this .processMutation (mutation);
120734
+ });
120270
120735
 
120271
- // Start observing, also catches inlined Inline elements.
120736
+ // Start observing, also catches inlined Inline elements.
120272
120737
 
120273
- this .observer .observe (rootElement, {
120274
- attributes: true,
120275
- childList: true,
120276
- characterData: false,
120277
- subtree: true,
120278
- attributeOldValue: true,
120279
- });
120738
+ this .observer .observe (rootElement, {
120739
+ attributes: true,
120740
+ childList: true,
120741
+ characterData: false,
120742
+ subtree: true,
120743
+ attributeOldValue: true,
120744
+ });
120280
120745
 
120281
- // Add Inline elements from initial scene, and connect to node events.
120746
+ // Add Inline elements from initial scene, and connect to node events.
120282
120747
 
120283
- this .processInlineElements (rootElement);
120284
- this .addEventDispatchersAll (rootElement);
120748
+ this .processInlineElements (rootElement);
120749
+ this .addEventDispatchersAll (rootElement);
120285
120750
 
120286
- browser .removeLoadingObject (this);
120287
- }
120288
- else
120289
- {
120290
- browser .replaceWorld (null);
120291
- }
120292
- }
120293
- catch (error)
120294
- {
120295
- console .error ("Error importing document:", error);
120296
- }
120297
- }
120751
+ browser .removeLoadingObject (this);
120752
+ }
120753
+ else
120754
+ {
120755
+ browser .replaceWorld (null);
120756
+ }
120757
+ }
120758
+ catch (error)
120759
+ {
120760
+ console .error ("Error importing document:", error);
120761
+ }
120762
+ }
120298
120763
 
120299
- processMutation (mutation)
120300
- {
120301
- switch (mutation .type)
120302
- {
120303
- case "attributes":
120304
- {
120305
- this .processAttribute (mutation, mutation .target);
120306
- break;
120307
- }
120308
- case "childList":
120309
- {
120310
- for (const node of mutation .addedNodes)
120311
- this .processAddedNode (node);
120764
+ processMutation (mutation)
120765
+ {
120766
+ switch (mutation .type)
120767
+ {
120768
+ case "attributes":
120769
+ {
120770
+ this .processAttribute (mutation, mutation .target);
120771
+ break;
120772
+ }
120773
+ case "childList":
120774
+ {
120775
+ for (const node of mutation .addedNodes)
120776
+ this .processAddedNode (node);
120312
120777
 
120313
- for (const node of mutation .removedNodes)
120314
- this .processRemovedNode (node);
120778
+ for (const node of mutation .removedNodes)
120779
+ this .processRemovedNode (node);
120315
120780
 
120316
- break;
120317
- }
120318
- }
120319
- }
120781
+ break;
120782
+ }
120783
+ }
120784
+ }
120320
120785
 
120321
- processAttribute (mutation, element)
120322
- {
120323
- const
120324
- parser = this .parser,
120325
- node = DOMIntegration_$.data (element, "node");
120786
+ processAttribute (mutation, element)
120787
+ {
120788
+ const
120789
+ parser = this .parser,
120790
+ node = DOMIntegration_$.data (element, "node");
120326
120791
 
120327
- if (node)
120328
- {
120329
- const
120330
- attributeName = mutation .attributeName,
120331
- attribute = element .attributes .getNamedItem (attributeName);
120792
+ if (node)
120793
+ {
120794
+ const
120795
+ attributeName = mutation .attributeName,
120796
+ attribute = element .attributes .getNamedItem (attributeName);
120332
120797
 
120333
- parser .nodeAttribute (attribute, node);
120334
- }
120335
- else
120336
- {
120337
- // Is an attribute of non-node child such as fieldValue (or ROUTE).
120798
+ parser .nodeAttribute (attribute, node);
120799
+ }
120800
+ else
120801
+ {
120802
+ // Is an attribute of non-node child such as fieldValue (or ROUTE).
120338
120803
 
120339
- const
120340
- parentNode = element .parentNode,
120341
- node = DOMIntegration_$.data (parentNode, "node");
120804
+ const
120805
+ parentNode = element .parentNode,
120806
+ node = DOMIntegration_$.data (parentNode, "node");
120342
120807
 
120343
- if (node)
120344
- {
120345
- parser .pushExecutionContext (node .getExecutionContext ());
120346
- parser .pushParent (node);
120347
- parser .childElement (element);
120348
- parser .popParent ();
120349
- parser .popExecutionContext ();
120350
- }
120351
- }
120352
- }
120808
+ if (node)
120809
+ {
120810
+ parser .pushExecutionContext (node .getExecutionContext ());
120811
+ parser .pushParent (node);
120812
+ parser .childElement (element);
120813
+ parser .popParent ();
120814
+ parser .popExecutionContext ();
120815
+ }
120816
+ }
120817
+ }
120353
120818
 
120354
- processAddedNode (element)
120355
- {
120356
- // Only process element nodes.
120819
+ processAddedNode (element)
120820
+ {
120821
+ // Only process element nodes.
120357
120822
 
120358
- if (element .nodeType !== Node .ELEMENT_NODE)
120359
- return;
120823
+ if (element .nodeType !== Node .ELEMENT_NODE)
120824
+ return;
120360
120825
 
120361
- if (element .nodeName === "X3D")
120362
- return;
120826
+ if (element .nodeName === "X3D")
120827
+ return;
120363
120828
 
120364
- if (DOMIntegration_$.data (element, "node"))
120365
- return;
120829
+ if (DOMIntegration_$.data (element, "node"))
120830
+ return;
120366
120831
 
120367
- const
120368
- parentNode = element .parentNode,
120369
- parser = this .parser;
120832
+ const
120833
+ parentNode = element .parentNode,
120834
+ parser = this .parser;
120370
120835
 
120371
- if (parentNode .nodeName .match (/^(?:Scene|SCENE)$/))
120372
- {
120373
- // Root scene or Inline scene.
120836
+ if (parentNode .nodeName .match (/^(?:Scene|SCENE)$/))
120837
+ {
120838
+ // Root scene or Inline scene.
120374
120839
 
120375
- const scene = DOMIntegration_$.data (parentNode, "node");
120840
+ const scene = DOMIntegration_$.data (parentNode, "node");
120376
120841
 
120377
- parser .pushExecutionContext (scene);
120378
- parser .childElement (element);
120379
- parser .popExecutionContext ();
120380
- }
120381
- else if (DOMIntegration_$.data (parentNode, "node"))
120382
- {
120383
- // Use parent's scene if non-root, works for Inline.
120384
-
120385
- const
120386
- node = DOMIntegration_$.data (parentNode, "node"),
120387
- executionContext = node .getExecutionContext ();
120388
-
120389
- parser .pushExecutionContext (executionContext);
120390
- parser .pushParent (node);
120391
- parser .childElement (element);
120392
- parser .popParent ();
120393
- parser .popExecutionContext ();
120394
- }
120395
- else
120396
- {
120397
- const scene = this .browser .currentScene;
120842
+ parser .pushExecutionContext (scene);
120843
+ parser .childElement (element);
120844
+ parser .popExecutionContext ();
120845
+ }
120846
+ else if (DOMIntegration_$.data (parentNode, "node"))
120847
+ {
120848
+ // Use parent's scene if non-root, works for Inline.
120398
120849
 
120399
- parser .pushExecutionContext (scene);
120400
- parser .childElement (element);
120401
- parser .popExecutionContext ();
120402
- }
120850
+ const
120851
+ node = DOMIntegration_$.data (parentNode, "node"),
120852
+ executionContext = node .getExecutionContext ();
120403
120853
 
120404
- // Now after creating nodes need to look again for Inline elements.
120854
+ parser .pushExecutionContext (executionContext);
120855
+ parser .pushParent (node);
120856
+ parser .childElement (element);
120857
+ parser .popParent ();
120858
+ parser .popExecutionContext ();
120859
+ }
120860
+ else
120861
+ {
120862
+ const scene = this .browser .currentScene;
120405
120863
 
120406
- this .processInlineElements (element);
120864
+ parser .pushExecutionContext (scene);
120865
+ parser .childElement (element);
120866
+ parser .popExecutionContext ();
120867
+ }
120407
120868
 
120408
- // Then attach event dispatchers.
120869
+ // Now after creating nodes need to look again for Inline elements.
120409
120870
 
120410
- this .addEventDispatchers (element);
120411
- this .addEventDispatchersAll (element);
120412
- }
120871
+ this .processInlineElements (element);
120413
120872
 
120414
- processRemovedNode (element)
120415
- {
120416
- // Works also for root nodes, as it has to be, since scene .rootNodes is effectively a MFNode in x-ite.
120417
- // Also removes ROUTE elements.
120873
+ // Then attach event dispatchers.
120418
120874
 
120419
- const node = DOMIntegration_$.data (element, "node");
120875
+ this .addEventDispatchers (element);
120876
+ this .addEventDispatchersAll (element);
120877
+ }
120420
120878
 
120421
- if (!node)
120422
- return;
120879
+ processRemovedNode (element)
120880
+ {
120881
+ // Works also for root nodes, as it has to be, since scene .rootNodes is effectively a MFNode in x-ite.
120882
+ // Also removes ROUTE elements.
120423
120883
 
120424
- node .dispose ();
120884
+ const node = DOMIntegration_$.data (element, "node");
120425
120885
 
120426
- DOMIntegration_$.data (element, "node", null);
120427
- }
120886
+ if (!node)
120887
+ return;
120428
120888
 
120429
- processInlineElements (element)
120430
- {
120431
- if (element .nodeName .match (/^(?:Inline|INLINE)$/))
120432
- this .processInlineElement (element);
120889
+ node .dispose ();
120433
120890
 
120434
- for (const inlineElement of element .querySelectorAll ("Inline"))
120435
- this .processInlineElement (inlineElement);
120436
- }
120891
+ DOMIntegration_$.data (element, "node", null);
120892
+ }
120437
120893
 
120438
- processInlineElement (element)
120439
- {
120440
- const node = DOMIntegration_$.data (element, "node");
120894
+ processInlineElements (element)
120895
+ {
120896
+ if (element .nodeName .match (/^(?:Inline|INLINE)$/))
120897
+ this .processInlineElement (element);
120441
120898
 
120442
- if (!node)
120443
- return;
120899
+ for (const inlineElement of element .querySelectorAll ("Inline"))
120900
+ this .processInlineElement (inlineElement);
120901
+ }
120444
120902
 
120445
- node ._loadState .addInterest ("appendInlineChildElement", this, element);
120903
+ processInlineElement (element)
120904
+ {
120905
+ const node = DOMIntegration_$.data (element, "node");
120446
120906
 
120447
- this .appendInlineChildElement (element);
120448
- }
120907
+ if (!node)
120908
+ return;
120449
120909
 
120450
- appendInlineChildElement (element)
120451
- {
120452
- const node = DOMIntegration_$.data (element, "node");
120910
+ node ._loadState .addInterest ("appendInlineChildElement", this, element);
120453
120911
 
120454
- switch (node .checkLoadState ())
120455
- {
120456
- case Base_X3DConstants .NOT_STARTED_STATE:
120457
- case Base_X3DConstants .FAILED_STATE:
120458
- {
120459
- // Remove all child nodes.
120912
+ this .appendInlineChildElement (element);
120913
+ }
120460
120914
 
120461
- while (element .firstChild)
120462
- element .removeChild (element .lastChild);
120915
+ appendInlineChildElement (element)
120916
+ {
120917
+ const node = DOMIntegration_$.data (element, "node");
120463
120918
 
120464
- break;
120465
- }
120466
- case Base_X3DConstants .COMPLETE_STATE:
120467
- {
120468
- // Remove all child nodes.
120919
+ switch (node .checkLoadState ())
120920
+ {
120921
+ case Base_X3DConstants .NOT_STARTED_STATE:
120922
+ case Base_X3DConstants .FAILED_STATE:
120923
+ {
120924
+ // Remove all child nodes.
120469
120925
 
120470
- while (element .firstChild)
120471
- element .removeChild (element .lastChild);
120926
+ while (element .firstChild)
120927
+ element .removeChild (element .lastChild);
120472
120928
 
120473
- // Add scene as child node of Inline element.
120929
+ break;
120930
+ }
120931
+ case Base_X3DConstants .COMPLETE_STATE:
120932
+ {
120933
+ // Remove all child nodes.
120474
120934
 
120475
- const X3DElement = DOMIntegration_$.data (node .getInternalScene (), "X3D");
120935
+ while (element .firstChild)
120936
+ element .removeChild (element .lastChild);
120476
120937
 
120477
- if (X3DElement)
120478
- element .appendChild (X3DElement);
120938
+ // Add scene as child node of Inline element.
120479
120939
 
120480
- // Add Inline elements, and connect to node events.
120940
+ const X3DElement = DOMIntegration_$.data (node .getInternalScene (), "X3D");
120481
120941
 
120482
- this .processInlineElements (X3DElement);
120483
- this .addEventDispatchersAll (X3DElement);
120942
+ if (X3DElement)
120943
+ element .appendChild (X3DElement);
120484
120944
 
120485
- break;
120486
- }
120487
- }
120945
+ // Add Inline elements, and connect to node events.
120488
120946
 
120489
- switch (node .checkLoadState ())
120490
- {
120491
- case Base_X3DConstants .COMPLETE_STATE:
120492
- {
120493
- const event = new CustomEvent ("load",
120494
- {
120495
- detail: { node: Fields_SFNodeCache .get (node) },
120496
- });
120947
+ this .processInlineElements (X3DElement);
120948
+ this .addEventDispatchersAll (X3DElement);
120497
120949
 
120498
- element .dispatchEvent (event);
120499
- break;
120500
- }
120501
- case Base_X3DConstants .FAILED_STATE:
120502
- {
120503
- const event = new CustomEvent ("error",
120504
- {
120505
- detail: { node: Fields_SFNodeCache .get (node) },
120506
- });
120950
+ break;
120951
+ }
120952
+ }
120507
120953
 
120508
- element .dispatchEvent (event);
120509
- break;
120510
- }
120511
- }
120512
- }
120954
+ switch (node .checkLoadState ())
120955
+ {
120956
+ case Base_X3DConstants .COMPLETE_STATE:
120957
+ {
120958
+ const event = new CustomEvent ("load",
120959
+ {
120960
+ detail: { node: Fields_SFNodeCache .get (node) },
120961
+ });
120513
120962
 
120514
- addEventDispatchersAll (element)
120515
- {
120516
- const childElements = element .querySelectorAll ("*");
120963
+ element .dispatchEvent (event);
120964
+ break;
120965
+ }
120966
+ case Base_X3DConstants .FAILED_STATE:
120967
+ {
120968
+ const event = new CustomEvent ("error",
120969
+ {
120970
+ detail: { node: Fields_SFNodeCache .get (node) },
120971
+ });
120517
120972
 
120518
- for (const childElement of childElements)
120519
- this .addEventDispatchers (childElement);
120520
- }
120973
+ element .dispatchEvent (event);
120974
+ break;
120975
+ }
120976
+ }
120977
+ }
120521
120978
 
120522
- addEventDispatchers (element)
120523
- {
120524
- // Check for USE nodes; they do not emit events.
120979
+ addEventDispatchersAll (element)
120980
+ {
120981
+ const childElements = element .querySelectorAll ("*");
120525
120982
 
120526
- if (element .nodeName === "ROUTE")
120527
- return;
120983
+ for (const childElement of childElements)
120984
+ this .addEventDispatchers (childElement);
120985
+ }
120528
120986
 
120529
- const node = DOMIntegration_$.data (element, "node");
120987
+ addEventDispatchers (element)
120988
+ {
120989
+ // Check for USE nodes; they do not emit events.
120530
120990
 
120531
- if (!node)
120532
- return;
120991
+ if (element .nodeName === "ROUTE")
120992
+ return;
120533
120993
 
120534
- for (const field of node .getPredefinedFields ())
120535
- this .bindFieldCallback (field, element);
120994
+ const node = DOMIntegration_$.data (element, "node");
120536
120995
 
120537
- for (const field of node .getUserDefinedFields ())
120538
- this .bindFieldCallback (field, element);
120539
- }
120996
+ if (!node)
120997
+ return;
120540
120998
 
120541
- bindFieldCallback (field, element)
120542
- {
120543
- if (!field .isOutput ())
120544
- return;
120999
+ for (const field of node .getPredefinedFields ())
121000
+ this .bindFieldCallback (field, element);
120545
121001
 
120546
- field .addInterest ("fieldCallback", this, element);
120547
- }
121002
+ for (const field of node .getUserDefinedFields ())
121003
+ this .bindFieldCallback (field, element);
121004
+ }
120548
121005
 
120549
- fieldCallback (element, field)
120550
- {
120551
- const node = DOMIntegration_$.data (element, "node");
121006
+ bindFieldCallback (field, element)
121007
+ {
121008
+ if (!field .isOutput ())
121009
+ return;
120552
121010
 
120553
- if (!node)
120554
- return;
121011
+ field .addInterest ("fieldCallback", this, element);
121012
+ }
120555
121013
 
120556
- const event = new CustomEvent (field .getName (),
120557
- {
120558
- detail: {
120559
- node: Fields_SFNodeCache .get (node),
120560
- value: field .valueOf (),
120561
- },
120562
- });
121014
+ fieldCallback (element, field)
121015
+ {
121016
+ const node = DOMIntegration_$.data (element, "node");
120563
121017
 
120564
- element .dispatchEvent (event);
120565
- }
121018
+ if (!node)
121019
+ return;
121020
+
121021
+ const event = new CustomEvent (field .getName (),
121022
+ {
121023
+ detail: {
121024
+ node: Fields_SFNodeCache .get (node),
121025
+ value: field .valueOf (),
121026
+ },
121027
+ });
121028
+
121029
+ element .dispatchEvent (event);
121030
+ }
120566
121031
  };
120567
121032
 
120568
121033
  const DOMIntegration_default_ = DOMIntegration;
@@ -121313,7 +121778,7 @@ const SupportedProfiles_default_ = SupportedProfiles;
121313
121778
  x_ite_Namespace .add ("SupportedProfiles", "x_ite/Configuration/SupportedProfiles", SupportedProfiles_default_);
121314
121779
  /* harmony default export */ const Configuration_SupportedProfiles = (SupportedProfiles_default_);
121315
121780
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/X3DBrowser.js
121316
- /* provided dependency */ var X3DBrowser_$ = __webpack_require__(52);
121781
+ /* provided dependency */ var X3DBrowser_$ = __webpack_require__(37);
121317
121782
  /*******************************************************************************
121318
121783
  *
121319
121784
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -122404,7 +122869,7 @@ const X3DBrowser_default_ = X3DBrowser;
122404
122869
  x_ite_Namespace .add ("X3DBrowser", "x_ite/Browser/X3DBrowser", X3DBrowser_default_);
122405
122870
  /* harmony default export */ const Browser_X3DBrowser = (X3DBrowser_default_);
122406
122871
  ;// CONCATENATED MODULE: ./src/x_ite/X3DCanvasElement.js
122407
- /* provided dependency */ var X3DCanvasElement_$ = __webpack_require__(52);
122872
+ /* provided dependency */ var X3DCanvasElement_$ = __webpack_require__(37);
122408
122873
  /*******************************************************************************
122409
122874
  *
122410
122875
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -122541,8 +123006,8 @@ const X3DCanvasElement_default_ = X3DCanvasElement;
122541
123006
  x_ite_Namespace .add ("X3DCanvasElement", "x_ite/X3DCanvasElement", X3DCanvasElement_default_);
122542
123007
  /* harmony default export */ const x_ite_X3DCanvasElement = (X3DCanvasElement_default_);
122543
123008
  ;// CONCATENATED MODULE: ./src/lib/jquery.js
122544
- /* provided dependency */ var jquery_$ = __webpack_require__(52);
122545
- /* provided dependency */ var pako = __webpack_require__(776);
123009
+ /* provided dependency */ var jquery_$ = __webpack_require__(37);
123010
+ /* provided dependency */ var pako = __webpack_require__(465);
122546
123011
  Object .assign (jquery_$,
122547
123012
  {
122548
123013
  decodeText (input)
@@ -122619,14 +123084,14 @@ const jquery_default_ = jquery_$;
122619
123084
  x_ite_Namespace .add ("jquery", "lib/jquery", jquery_default_);
122620
123085
  /* harmony default export */ const jquery = ((/* unused pure expression or super */ null && (jquery_default_)));
122621
123086
  ;// CONCATENATED MODULE: ./src/lib/libtess.js
122622
- /* provided dependency */ var libtess_libtess = __webpack_require__(177);
123087
+ /* provided dependency */ var libtess_libtess = __webpack_require__(214);
122623
123088
  const libtess_default_ = libtess_libtess;
122624
123089
  ;
122625
123090
 
122626
123091
  x_ite_Namespace .add ("libtess", "lib/libtess", libtess_default_);
122627
123092
  /* harmony default export */ const lib_libtess = ((/* unused pure expression or super */ null && (libtess_default_)));
122628
123093
  ;// CONCATENATED MODULE: ./src/x_ite/X3D.js
122629
- /* provided dependency */ var X3D_$ = __webpack_require__(52);
123094
+ /* provided dependency */ var X3D_$ = __webpack_require__(37);
122630
123095
  /*******************************************************************************
122631
123096
  *
122632
123097
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -122934,7 +123399,7 @@ Object .assign (X3D,
122934
123399
 
122935
123400
  // Assign X3D to global namespace.
122936
123401
 
122937
- window [Symbol .for ("X_ITE.X3D-9.3.0")] = x_ite_X3D;
123402
+ window [Symbol .for ("X_ITE.X3D-9.3.1")] = x_ite_X3D;
122938
123403
 
122939
123404
  customElements .define ("x3d-canvas", x_ite_X3DCanvasElement);
122940
123405