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.mjs CHANGED
@@ -1,9 +1,9 @@
1
- /* X_ITE v9.3.0 */var __webpack_modules__ = ({
1
+ /* X_ITE v9.3.1 */var __webpack_modules__ = ({
2
2
 
3
- /***/ 944:
3
+ /***/ 773:
4
4
  /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
5
5
 
6
- /* provided dependency */ var jQuery = __webpack_require__(52);
6
+ /* provided dependency */ var jQuery = __webpack_require__(37);
7
7
  /**
8
8
  * @preserve jquery.fullscreen 1.1.5
9
9
  * https://github.com/code-lts/jquery-fullscreen-plugin
@@ -199,7 +199,7 @@ installFullScreenHandlers();
199
199
 
200
200
  /***/ }),
201
201
 
202
- /***/ 82:
202
+ /***/ 693:
203
203
  /***/ ((module, exports, __webpack_require__) => {
204
204
 
205
205
  var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
@@ -213,7 +213,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
213
213
  (function (factory) {
214
214
  if ( true ) {
215
215
  // AMD. Register as an anonymous module.
216
- !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(52)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
216
+ !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(37)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
217
217
  __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
218
218
  (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
219
219
  __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
@@ -424,7 +424,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
424
424
 
425
425
  /***/ }),
426
426
 
427
- /***/ 52:
427
+ /***/ 37:
428
428
  /***/ (function(module, exports) {
429
429
 
430
430
  var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
@@ -11148,7 +11148,7 @@ return jQuery;
11148
11148
 
11149
11149
  /***/ }),
11150
11150
 
11151
- /***/ 177:
11151
+ /***/ 214:
11152
11152
  /***/ ((module) => {
11153
11153
 
11154
11154
  /**
@@ -15927,7 +15927,7 @@ if (true) {
15927
15927
 
15928
15928
  /***/ }),
15929
15929
 
15930
- /***/ 776:
15930
+ /***/ 465:
15931
15931
  /***/ (function(__unused_webpack_module, exports) {
15932
15932
 
15933
15933
 
@@ -19172,7 +19172,7 @@ if (true) {
19172
19172
 
19173
19173
  /***/ }),
19174
19174
 
19175
- /***/ 247:
19175
+ /***/ 790:
19176
19176
  /***/ (function(module, exports) {
19177
19177
 
19178
19178
  var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*
@@ -20299,7 +20299,7 @@ Object .defineProperty (Namespace, "add",
20299
20299
  }
20300
20300
  else
20301
20301
  {
20302
- const X3D = window [Symbol .for ("X_ITE.X3D-9.3.0")];
20302
+ const X3D = window [Symbol .for ("X_ITE.X3D-9.3.1")];
20303
20303
 
20304
20304
  if (X3D)
20305
20305
  X3D [name] = module;
@@ -20529,10 +20529,12 @@ const Algorithm =
20529
20529
  {
20530
20530
  radians (value)
20531
20531
  {
20532
+ // Convert degrees to radians.
20532
20533
  return value * (Math .PI / 180);
20533
20534
  },
20534
20535
  degrees (value)
20535
20536
  {
20537
+ // Convert radians to degrees.
20536
20538
  return value * (180 / Math .PI);
20537
20539
  },
20538
20540
  random (min, max)
@@ -22986,8 +22988,8 @@ Object .assign (Object .setPrototypeOf (X3DField .prototype, Base_X3DChildObject
22986
22988
 
22987
22989
  for (const field of this [_fieldInterests])
22988
22990
  {
22989
- if (event .has (field))
22990
- continue;
22991
+ if (event .has (field))
22992
+ continue;
22991
22993
 
22992
22994
  if (first)
22993
22995
  {
@@ -29177,13 +29179,12 @@ const SFNode_handler =
29177
29179
  return value;
29178
29180
 
29179
29181
  const
29180
- node = target .getValue (),
29181
- field = node .getField (key),
29182
- accessType = field .getAccessType ();
29182
+ node = target .getValue (),
29183
+ field = node .getField (key);
29183
29184
 
29184
29185
  // Specification conform would be: accessType & X3DConstants .outputOnly.
29185
29186
  // But we allow read access to plain fields, too.
29186
- if (accessType === Base_X3DConstants .inputOnly)
29187
+ if (field .getAccessType () === Base_X3DConstants .inputOnly)
29187
29188
  return undefined;
29188
29189
 
29189
29190
  return field .valueOf ();
@@ -29383,6 +29384,15 @@ Object .assign (Object .setPrototypeOf (SFNode .prototype, Base_X3DField .protot
29383
29384
 
29384
29385
  throw new Error ("SFNode.getNodeType: node is null.");
29385
29386
  },
29387
+ getFieldDefinition (name)
29388
+ {
29389
+ const fieldDefinition = this .getFieldDefinitions () .get (name);
29390
+
29391
+ if (fieldDefinition)
29392
+ return fieldDefinition;
29393
+
29394
+ throw new Error (`Unknown field '${name}' in node class ${this .getNodeTypeName ()}.`);
29395
+ },
29386
29396
  getFieldDefinitions ()
29387
29397
  {
29388
29398
  const
@@ -31086,7 +31096,7 @@ function X3DObjectArrayField (values)
31086
31096
  this [X3DObjectArrayField_proxy] = proxy;
31087
31097
 
31088
31098
  for (const value of values)
31089
- this .push (value);
31099
+ this .push (value);
31090
31100
 
31091
31101
  return proxy;
31092
31102
  }
@@ -31665,7 +31675,7 @@ function X3DTypedArrayField (values)
31665
31675
  }
31666
31676
 
31667
31677
  for (const value of values)
31668
- this .push (value);
31678
+ this .push (value);
31669
31679
 
31670
31680
  return proxy;
31671
31681
  }
@@ -32465,8 +32475,19 @@ function createValue (target, index, components, valueType)
32465
32475
  internalValue = value .getValue (),
32466
32476
  i = index * components;
32467
32477
 
32468
- value .addEvent = addEvent .bind (target, i, components, internalValue);
32469
- value .getValue = getValue .bind (target, i, components, internalValue);
32478
+ Object .defineProperties (value,
32479
+ {
32480
+ addEvent:
32481
+ {
32482
+ value: addEvent .bind (target, i, components, internalValue),
32483
+ configurable: true,
32484
+ },
32485
+ getValue:
32486
+ {
32487
+ value: getValue .bind (target, i, components, internalValue),
32488
+ configurable: true,
32489
+ },
32490
+ });
32470
32491
 
32471
32492
  return value;
32472
32493
  }
@@ -32806,8 +32827,8 @@ Object .assign (Object .setPrototypeOf (MFNode .prototype, Base_X3DObjectArrayFi
32806
32827
  else
32807
32828
  {
32808
32829
  generator .string += '[';
32809
- generator .string += generator .TidySpace ();
32810
- generator .string += ']';
32830
+ generator .string += generator .TidySpace ();
32831
+ generator .string += ']';
32811
32832
  }
32812
32833
  },
32813
32834
  dispose ()
@@ -33159,10 +33180,10 @@ Object .assign (Object .setPrototypeOf (SFImage .prototype, Base_X3DField .proto
33159
33180
  },
33160
33181
  *[Symbol .iterator] ()
33161
33182
  {
33162
- yield this .width;
33163
- yield this .height;
33164
- yield this .comp;
33165
- yield this .array;
33183
+ yield this .width;
33184
+ yield this .height;
33185
+ yield this .comp;
33186
+ yield* this .array;
33166
33187
  },
33167
33188
  copy ()
33168
33189
  {
@@ -33771,7 +33792,7 @@ Object .assign (Object .setPrototypeOf (X3DBaseNode .prototype, Base_X3DChildObj
33771
33792
  /// Sets the own live state of this node. Setting the live state to false
33772
33793
  /// temporarily disables this node completely.
33773
33794
 
33774
- this [_live] = value .valueOf ();
33795
+ this [_live] = !!value .valueOf ();
33775
33796
 
33776
33797
  this [_set_live__] ();
33777
33798
  },
@@ -33900,7 +33921,7 @@ Object .assign (Object .setPrototypeOf (X3DBaseNode .prototype, Base_X3DChildObj
33900
33921
  {
33901
33922
  get () { return field; },
33902
33923
  set (value) { field .setValue (value); },
33903
- configurable: true,
33924
+ configurable: true,
33904
33925
  });
33905
33926
  },
33906
33927
  addAlias (alias, field)
@@ -34213,7 +34234,7 @@ const X3DBaseNode_default_ = X3DBaseNode;
34213
34234
  x_ite_Namespace .add ("X3DBaseNode", "x_ite/Base/X3DBaseNode", X3DBaseNode_default_);
34214
34235
  /* harmony default export */ const Base_X3DBaseNode = (X3DBaseNode_default_);
34215
34236
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Legacy.js
34216
- /* provided dependency */ var $ = __webpack_require__(52);
34237
+ /* provided dependency */ var $ = __webpack_require__(37);
34217
34238
  /*******************************************************************************
34218
34239
  *
34219
34240
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -34350,7 +34371,7 @@ x_ite_Namespace .add ("Legacy", "x_ite/Browser/Legacy", Legacy_default_);
34350
34371
  *
34351
34372
  ******************************************************************************/
34352
34373
 
34353
- const BROWSER_VERSION_default_ = "9.3.0";
34374
+ const BROWSER_VERSION_default_ = "9.3.1";
34354
34375
  ;
34355
34376
 
34356
34377
  x_ite_Namespace .add ("BROWSER_VERSION", "x_ite/BROWSER_VERSION", BROWSER_VERSION_default_);
@@ -34407,6 +34428,9 @@ x_ite_Namespace .add ("BROWSER_VERSION", "x_ite/BROWSER_VERSION", BROWSER_VERSIO
34407
34428
 
34408
34429
 
34409
34430
 
34431
+
34432
+ const _metaDataCallbacks = Symbol ();
34433
+
34410
34434
  function X3DNode (executionContext)
34411
34435
  {
34412
34436
  Base_X3DBaseNode .call (this, executionContext);
@@ -34589,6 +34613,350 @@ Object .assign (Object .setPrototypeOf (X3DNode .prototype, Base_X3DBaseNode .pr
34589
34613
  return null;
34590
34614
  },
34591
34615
  traverse () { },
34616
+ hasMetaData (path)
34617
+ {
34618
+ const names = path .split ("/");
34619
+
34620
+ if (names .length < 2)
34621
+ return false;
34622
+
34623
+ const
34624
+ last = names .pop (),
34625
+ metadataSet = this .getMetadataSet (names),
34626
+ metadataObject = metadataSet ?.getValue () .getMetaValue (last);
34627
+
34628
+ return !!metadataObject;
34629
+ },
34630
+ getMetaData (path, field)
34631
+ {
34632
+ const names = path .split ("/");
34633
+
34634
+ if (names .length < 2)
34635
+ return;
34636
+
34637
+ const
34638
+ last = names .pop (),
34639
+ metadataSet = this .getMetadataSet (names),
34640
+ metadataObject = metadataSet ?.getValue () .getMetaValue (last);
34641
+
34642
+ if (field instanceof Base_X3DField)
34643
+ {
34644
+ if (!metadataObject)
34645
+ return field;
34646
+
34647
+ switch (field .getType ())
34648
+ {
34649
+ case Base_X3DConstants .SFBool:
34650
+ case Base_X3DConstants .SFDouble:
34651
+ case Base_X3DConstants .SFFloat:
34652
+ case Base_X3DConstants .SFInt32:
34653
+ case Base_X3DConstants .SFString:
34654
+ case Base_X3DConstants .SFTime:
34655
+ {
34656
+ field .setValue (metadataObject .value [0]);
34657
+ break;
34658
+ }
34659
+ case Base_X3DConstants .SFColor:
34660
+ case Base_X3DConstants .SFColorRGBA:
34661
+ case Base_X3DConstants .SFMatrix3d:
34662
+ case Base_X3DConstants .SFMatrix3f:
34663
+ case Base_X3DConstants .SFMatrix4d:
34664
+ case Base_X3DConstants .SFMatrix4f:
34665
+ case Base_X3DConstants .SFRotation:
34666
+ case Base_X3DConstants .SFVec2d:
34667
+ case Base_X3DConstants .SFVec2f:
34668
+ case Base_X3DConstants .SFVec3d:
34669
+ case Base_X3DConstants .SFVec3f:
34670
+ case Base_X3DConstants .SFVec4d:
34671
+ case Base_X3DConstants .SFVec4f:
34672
+ {
34673
+ const value = metadataObject .value;
34674
+
34675
+ let i = 0;
34676
+
34677
+ for (const key in field)
34678
+ field [key] = value [i ++];
34679
+
34680
+ break;
34681
+ }
34682
+ case Base_X3DConstants .SFImage:
34683
+ {
34684
+ const
34685
+ value = metadataObject .value,
34686
+ array = field .array;
34687
+
34688
+ field .width = value [0];
34689
+ field .height = value [1];
34690
+ field .comp = value [2];
34691
+
34692
+ const l = array .length;
34693
+
34694
+ for (let i = 0; i < l; ++ i)
34695
+ array [i] = value [3 + i];
34696
+
34697
+ break;
34698
+ }
34699
+ case Base_X3DConstants .SFNode:
34700
+ case Base_X3DConstants .MFNode:
34701
+ {
34702
+ throw new Error ("SFNode and MFNode are not supported as metadata value.");
34703
+ }
34704
+ case Base_X3DConstants .MFBool:
34705
+ case Base_X3DConstants .MFDouble:
34706
+ case Base_X3DConstants .MFFloat:
34707
+ case Base_X3DConstants .MFInt32:
34708
+ case Base_X3DConstants .MFString:
34709
+ case Base_X3DConstants .MFTime:
34710
+ {
34711
+ field .length = 0;
34712
+
34713
+ for (const v of metadataObject .value)
34714
+ field .push (v);
34715
+
34716
+ break;
34717
+ }
34718
+ case Base_X3DConstants .MFColor:
34719
+ case Base_X3DConstants .MFColorRGBA:
34720
+ case Base_X3DConstants .MFMatrix3d:
34721
+ case Base_X3DConstants .MFMatrix3f:
34722
+ case Base_X3DConstants .MFMatrix4d:
34723
+ case Base_X3DConstants .MFMatrix4f:
34724
+ case Base_X3DConstants .MFRotation:
34725
+ case Base_X3DConstants .MFVec2d:
34726
+ case Base_X3DConstants .MFVec2f:
34727
+ case Base_X3DConstants .MFVec3d:
34728
+ case Base_X3DConstants .MFVec3f:
34729
+ case Base_X3DConstants .MFVec4d:
34730
+ case Base_X3DConstants .MFVec4f:
34731
+ {
34732
+ const
34733
+ value = metadataObject .value,
34734
+ length = value .length;
34735
+
34736
+ field .length = 0;
34737
+
34738
+ for (let i = 0; i < length;)
34739
+ {
34740
+ const f = field [field .length];
34741
+
34742
+ for (const key in f)
34743
+ f [key] = value [i ++];
34744
+ }
34745
+
34746
+ break;
34747
+ }
34748
+ case Base_X3DConstants .MFImage:
34749
+ {
34750
+ const
34751
+ value = metadataObject .value,
34752
+ length = value .length;
34753
+
34754
+ field .length = 0;
34755
+
34756
+ for (let i = 0; i < length;)
34757
+ {
34758
+ const
34759
+ f = field [field .length],
34760
+ a = f .array;
34761
+
34762
+ f .width = value [i ++];
34763
+ f .height = value [i ++];
34764
+ f .comp = value [i ++];
34765
+
34766
+ const l = a .length;
34767
+
34768
+ for (let k = 0; k < l; ++ k)
34769
+ a [k] = value [i ++];
34770
+ }
34771
+
34772
+ break;
34773
+ }
34774
+ }
34775
+
34776
+ return field;
34777
+ }
34778
+
34779
+ return metadataObject ? Array .from (metadataObject .value) : [ ];
34780
+ },
34781
+ setMetaData (path, value)
34782
+ {
34783
+ const names = path .split ("/");
34784
+
34785
+ if (names .length < 2)
34786
+ return;
34787
+
34788
+ const
34789
+ last = names .pop (),
34790
+ metadataSet = this .getMetadataSet (names, true);
34791
+
34792
+ if (value instanceof Base_X3DField)
34793
+ {
34794
+ const field = value;
34795
+
34796
+ switch (value .getType ())
34797
+ {
34798
+ case Base_X3DConstants .SFBool:
34799
+ case Base_X3DConstants .SFDouble:
34800
+ case Base_X3DConstants .SFFloat:
34801
+ case Base_X3DConstants .SFInt32:
34802
+ case Base_X3DConstants .SFString:
34803
+ case Base_X3DConstants .SFTime:
34804
+ {
34805
+ value = [field .valueOf ()];
34806
+ break;
34807
+ }
34808
+ case Base_X3DConstants .SFNode:
34809
+ case Base_X3DConstants .MFNode:
34810
+ throw new Error ("SFNode and MFNode are not supported as metadata value.");
34811
+ default:
34812
+ {
34813
+ value = Array .from (field, f => f instanceof Base_X3DField ? Array .from (f) : f) .flat ();
34814
+ break;
34815
+ }
34816
+ }
34817
+
34818
+ switch (field .getType ())
34819
+ {
34820
+ case Base_X3DConstants .SFBool:
34821
+ case Base_X3DConstants .MFBool:
34822
+ value .type = "boolean";
34823
+ break;
34824
+ case Base_X3DConstants .SFDouble:
34825
+ case Base_X3DConstants .SFMatrix3d:
34826
+ case Base_X3DConstants .SFMatrix4d:
34827
+ case Base_X3DConstants .SFRotation:
34828
+ case Base_X3DConstants .SFTime:
34829
+ case Base_X3DConstants .SFVec2d:
34830
+ case Base_X3DConstants .SFVec3d:
34831
+ case Base_X3DConstants .SFVec4d:
34832
+ case Base_X3DConstants .MFDouble:
34833
+ case Base_X3DConstants .MFMatrix3d:
34834
+ case Base_X3DConstants .MFMatrix4d:
34835
+ case Base_X3DConstants .MFRotation:
34836
+ case Base_X3DConstants .MFTime:
34837
+ case Base_X3DConstants .MFVec2d:
34838
+ case Base_X3DConstants .MFVec3d:
34839
+ case Base_X3DConstants .MFVec4d:
34840
+ value .type = "double";
34841
+ break;
34842
+ case Base_X3DConstants .SFColor:
34843
+ case Base_X3DConstants .SFColorRGBA:
34844
+ case Base_X3DConstants .SFFloat:
34845
+ case Base_X3DConstants .SFMatrix3f:
34846
+ case Base_X3DConstants .SFMatrix4f:
34847
+ case Base_X3DConstants .SFVec2f:
34848
+ case Base_X3DConstants .SFVec3f:
34849
+ case Base_X3DConstants .SFVec4f:
34850
+ case Base_X3DConstants .MFColor:
34851
+ case Base_X3DConstants .MFColorRGBA:
34852
+ case Base_X3DConstants .MFFloat:
34853
+ case Base_X3DConstants .MFMatrix3f:
34854
+ case Base_X3DConstants .MFMatrix4f:
34855
+ case Base_X3DConstants .MFVec2f:
34856
+ case Base_X3DConstants .MFVec3f:
34857
+ case Base_X3DConstants .MFVec4f:
34858
+ value .type = "float";
34859
+ break;
34860
+ case Base_X3DConstants .SFInt32:
34861
+ case Base_X3DConstants .SFImage:
34862
+ case Base_X3DConstants .MFInt32:
34863
+ case Base_X3DConstants .MFImage:
34864
+ value .type = "integer";
34865
+ break;
34866
+ case Base_X3DConstants .SFString:
34867
+ case Base_X3DConstants .MFString:
34868
+ value .type = "string";
34869
+ break;
34870
+ }
34871
+ }
34872
+
34873
+ metadataSet .getValue () .setMetaValue (last, value);
34874
+
34875
+ this .processMetaDataCallback (path);
34876
+ },
34877
+ removeMetaData (path)
34878
+ {
34879
+ const names = path .split ("/");
34880
+
34881
+ if (names .length < 2)
34882
+ return;
34883
+
34884
+ function removeMetaData (metadataSet, names)
34885
+ {
34886
+ if (!metadataSet)
34887
+ return false;
34888
+
34889
+ const name = names .shift ();
34890
+
34891
+ if (!names .length || removeMetaData (metadataSet .getValue () .getMetadataObject ("MetadataSet", name), names))
34892
+ {
34893
+ metadataSet .getValue () .removeMetaValue (name);
34894
+ }
34895
+
34896
+ return !metadataSet .value .length;
34897
+ }
34898
+
34899
+ if (removeMetaData (this .getMetadataSet ([names .shift ()]), names))
34900
+ this ._metadata = null;
34901
+ },
34902
+ getMetadataSet (names, create = false)
34903
+ {
34904
+ const name = names .shift ();
34905
+
34906
+ let metadataSet = this ._metadata .valueOf ();
34907
+
34908
+ if (metadataSet ?.getNodeTypeName () !== "MetadataSet" || metadataSet ?.name !== name)
34909
+ {
34910
+ if (!create)
34911
+ return null;
34912
+
34913
+ this ._metadata = this .getExecutionContext () .createNode ("MetadataSet");
34914
+ metadataSet = this ._metadata .valueOf ();
34915
+
34916
+ metadataSet .reference = this .getBrowser () .getBrowserOption ("MetadataReference");
34917
+ metadataSet .name = name;
34918
+ }
34919
+
34920
+ for (const name of names)
34921
+ metadataSet = metadataSet .getValue () .getMetadataObject ("MetadataSet", name, create);
34922
+
34923
+ return metadataSet;
34924
+ },
34925
+ [_metaDataCallbacks]: new Map (),
34926
+ addMetaDataCallback (key, path, callback)
34927
+ {
34928
+ if (!this .hasOwnProperty (_metaDataCallbacks))
34929
+ this [_metaDataCallbacks] = new Map ();
34930
+
34931
+ let map = this [_metaDataCallbacks] .get (path);
34932
+
34933
+ if (!map)
34934
+ this [_metaDataCallbacks] .set (path, map = new Map ());
34935
+
34936
+ map .set (key, callback);
34937
+ },
34938
+ removeMetaDataCallback (key, path)
34939
+ {
34940
+ const map = this [_metaDataCallbacks] .get (path);
34941
+
34942
+ if (!map)
34943
+ return;
34944
+
34945
+ map .delete (key);
34946
+
34947
+ if (map .size === 0)
34948
+ this [_metaDataCallbacks] .delete (path);
34949
+ },
34950
+ processMetaDataCallback (path)
34951
+ {
34952
+ const map = this [_metaDataCallbacks] .get (path);
34953
+
34954
+ if (!map)
34955
+ return;
34956
+
34957
+ for (const callback of map .values ())
34958
+ callback ();
34959
+ },
34592
34960
  toStream (generator)
34593
34961
  {
34594
34962
  generator .string += this .getTypeName () + " { }";
@@ -36455,6 +36823,84 @@ Object .assign (Object .setPrototypeOf (MetadataSet .prototype, Core_X3DNode .pr
36455
36823
 
36456
36824
  return Core_X3DNode .prototype .getContainerField .call (this);
36457
36825
  },
36826
+ getMetaValue (name)
36827
+ {
36828
+ return this ._value .find (node => node .name === name);
36829
+ },
36830
+ setMetaValue (name, value)
36831
+ {
36832
+ if (!Array .isArray (value))
36833
+ value = [value];
36834
+
36835
+ switch (value .type ?? (typeof value [0]))
36836
+ {
36837
+ case "boolean":
36838
+ {
36839
+ this .getMetadataObject ("MetadataBoolean", name, true) .value = value;
36840
+ return;
36841
+ }
36842
+ case "number":
36843
+ {
36844
+ if (value .every (v => Number .isInteger (v)))
36845
+ this .getMetadataObject ("MetadataInteger", name, true) .value = value;
36846
+ else
36847
+ this .getMetadataObject ("MetadataDouble", name, true) .value = value;
36848
+
36849
+ return;
36850
+ }
36851
+ case "double":
36852
+ {
36853
+ this .getMetadataObject ("MetadataDouble", name, true) .value = value;
36854
+ break;
36855
+ }
36856
+ case "float":
36857
+ {
36858
+ this .getMetadataObject ("MetadataFloat", name, true) .value = value;
36859
+ break;
36860
+ }
36861
+ case "integer":
36862
+ {
36863
+ this .getMetadataObject ("MetadataInteger", name, true) .value = value;
36864
+ break;
36865
+ }
36866
+ case "string":
36867
+ {
36868
+ this .getMetadataObject ("MetadataString", name, true) .value = value;
36869
+ return;
36870
+ }
36871
+ }
36872
+ },
36873
+ removeMetaValue (name)
36874
+ {
36875
+ const index = this ._value .findIndex (node => node .name === name);
36876
+
36877
+ if (index < 0)
36878
+ return;
36879
+
36880
+ this ._value .splice (index, 1);
36881
+ },
36882
+ getMetadataObject (typeName, name, create = false)
36883
+ {
36884
+ let metadata = this .getMetaValue (name);
36885
+
36886
+ if (metadata ?.getNodeTypeName () === typeName)
36887
+ return metadata;
36888
+
36889
+ if (!create)
36890
+ return null;
36891
+
36892
+ if (metadata)
36893
+ this .removeMetaValue (name);
36894
+
36895
+ metadata = this .getExecutionContext () .createNode (typeName);
36896
+
36897
+ metadata .reference = "";
36898
+ metadata .name = name;
36899
+
36900
+ this ._value .push (metadata);
36901
+
36902
+ return metadata;
36903
+ },
36458
36904
  dispose ()
36459
36905
  {
36460
36906
  Core_X3DMetadataObject .prototype .dispose .call (this);
@@ -36695,7 +37141,7 @@ Object .assign (Object .setPrototypeOf (X3DChildNode .prototype, Core_X3DNode .p
36695
37141
  {
36696
37142
  setCameraObject (value)
36697
37143
  {
36698
- if (value !== this ._isCameraObject .getValue ())
37144
+ if (!!value !== this ._isCameraObject .getValue ())
36699
37145
  this ._isCameraObject = value;
36700
37146
  },
36701
37147
  isCameraObject ()
@@ -36704,7 +37150,7 @@ Object .assign (Object .setPrototypeOf (X3DChildNode .prototype, Core_X3DNode .p
36704
37150
  },
36705
37151
  setPickableObject (value)
36706
37152
  {
36707
- if (value !== this ._isPickableObject .getValue ())
37153
+ if (!!value !== this ._isPickableObject .getValue ())
36708
37154
  this ._isPickableObject = value;
36709
37155
  },
36710
37156
  isPickableObject ()
@@ -36882,13 +37328,20 @@ Object .assign (Object .setPrototypeOf (WorldInfo .prototype, Core_X3DInfoNode .
36882
37328
  {
36883
37329
  Core_X3DInfoNode .prototype .initialize .call (this);
36884
37330
 
36885
- this .getExecutionContext () .addWorldInfo (this);
37331
+ if (this .isLive ())
37332
+ this .getExecutionContext () .addWorldInfo (this);
36886
37333
  },
36887
- dispose ()
37334
+ setLive (value)
36888
37335
  {
36889
- this .getExecutionContext () .removeWorldInfo (this);
37336
+ if (!!value .valueOf () === this .isLive ())
37337
+ return;
37338
+
37339
+ Core_X3DInfoNode .prototype .setLive .call (this, value);
36890
37340
 
36891
- Core_X3DInfoNode .prototype .dispose .call (this);
37341
+ if (this .isLive ())
37342
+ this .getExecutionContext () .addWorldInfo (this);
37343
+ else
37344
+ this .getExecutionContext () .removeWorldInfo (this);
36892
37345
  },
36893
37346
  });
36894
37347
 
@@ -38494,7 +38947,7 @@ const X3DProtoDeclaration_default_ = X3DProtoDeclaration;
38494
38947
  x_ite_Namespace .add ("X3DProtoDeclaration", "x_ite/Prototype/X3DProtoDeclaration", X3DProtoDeclaration_default_);
38495
38948
  /* harmony default export */ const Prototype_X3DProtoDeclaration = (X3DProtoDeclaration_default_);
38496
38949
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/X3DParser.js
38497
- /* provided dependency */ var X3DParser_$ = __webpack_require__(52);
38950
+ /* provided dependency */ var X3DParser_$ = __webpack_require__(37);
38498
38951
  /*******************************************************************************
38499
38952
  *
38500
38953
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -38756,7 +39209,7 @@ const Expressions_default_ = Expressions;
38756
39209
  x_ite_Namespace .add ("Expressions", "x_ite/Parser/Expressions", Expressions_default_);
38757
39210
  /* harmony default export */ const Parser_Expressions = (Expressions_default_);
38758
39211
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/VRMLParser.js
38759
- /* provided dependency */ var VRMLParser_$ = __webpack_require__(52);
39212
+ /* provided dependency */ var VRMLParser_$ = __webpack_require__(37);
38760
39213
  /*******************************************************************************
38761
39214
  *
38762
39215
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -38833,7 +39286,7 @@ const Grammar = Parser_Expressions ({
38833
39286
  Break: /\r?\n/g,
38834
39287
 
38835
39288
  // Header
38836
- Header: /^#(VRML|X3D) V(.*?) (utf8)(?:[ \t]+(.*?))?[ \t]*[\n\r]/gy,
39289
+ Header: /^#(VRML|X3D) V(.*?) (utf8)(?:[ \t]+(.*?))?[ \t]*[\n\r]/gy,
38837
39290
 
38838
39291
  // Keywords
38839
39292
  AS: /AS/gy,
@@ -41442,7 +41895,7 @@ const VRMLParser_default_ = VRMLParser;
41442
41895
  x_ite_Namespace .add ("VRMLParser", "x_ite/Parser/VRMLParser", VRMLParser_default_);
41443
41896
  /* harmony default export */ const Parser_VRMLParser = (VRMLParser_default_);
41444
41897
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/XMLParser.js
41445
- /* provided dependency */ var XMLParser_$ = __webpack_require__(52);
41898
+ /* provided dependency */ var XMLParser_$ = __webpack_require__(37);
41446
41899
  /*******************************************************************************
41447
41900
  *
41448
41901
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -42218,21 +42671,21 @@ Object .assign (Object .setPrototypeOf (XMLParser .prototype, Parser_X3DParser .
42218
42671
  }
42219
42672
  },
42220
42673
  scriptElement (element)
42221
- {
42222
- const
42223
- domParser = new DOMParser (),
42224
- scriptDocument = domParser .parseFromString (element .outerHTML, "application/xml"),
42225
- childNodes = scriptDocument .children [0] .childNodes;
42674
+ {
42675
+ const
42676
+ domParser = new DOMParser (),
42677
+ scriptDocument = domParser .parseFromString (element .outerHTML, "application/xml"),
42678
+ childNodes = scriptDocument .children [0] .childNodes;
42226
42679
 
42227
42680
  element .textContent = "// Content moved into childNodes.";
42228
42681
 
42229
- for (const childNode of childNodes)
42230
- {
42682
+ for (const childNode of childNodes)
42683
+ {
42231
42684
  // Add elements and cdata.
42232
- if (childNode .nodeType === 1 || childNode .nodeType === 4)
42685
+ if (childNode .nodeType === 1 || childNode .nodeType === 4)
42233
42686
  element .appendChild (childNode);
42234
- }
42235
- },
42687
+ }
42688
+ },
42236
42689
  routeElement (xmlElement)
42237
42690
  {
42238
42691
  try
@@ -43551,7 +44004,7 @@ const URLs_default_ = URLs;
43551
44004
  x_ite_Namespace .add ("URLs", "x_ite/Browser/Networking/URLs", URLs_default_);
43552
44005
  /* harmony default export */ const Networking_URLs = (URLs_default_);
43553
44006
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/GLTF2Parser.js
43554
- /* provided dependency */ var GLTF2Parser_$ = __webpack_require__(52);
44007
+ /* provided dependency */ var GLTF2Parser_$ = __webpack_require__(37);
43555
44008
  /*******************************************************************************
43556
44009
  *
43557
44010
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -44290,7 +44743,7 @@ Object .assign (Object .setPrototypeOf (GLTF2Parser .prototype, Parser_X3DParser
44290
44743
  [9729, "AVG_PIXEL"],
44291
44744
  ]);
44292
44745
 
44293
- const BoundaryModes = new Map ([
44746
+ const BoundaryModes = new Map ([
44294
44747
  [33071, "CLAMP_TO_EDGE"],
44295
44748
  [33648, "MIRRORED_REPEAT"],
44296
44749
  [10497, "REPEAT"],
@@ -46852,7 +47305,7 @@ const GLTF2Parser_default_ = GLTF2Parser;
46852
47305
  x_ite_Namespace .add ("GLTF2Parser", "x_ite/Parser/GLTF2Parser", GLTF2Parser_default_);
46853
47306
  /* harmony default export */ const Parser_GLTF2Parser = (GLTF2Parser_default_);
46854
47307
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/GLB2Parser.js
46855
- /* provided dependency */ var GLB2Parser_$ = __webpack_require__(52);
47308
+ /* provided dependency */ var GLB2Parser_$ = __webpack_require__(37);
46856
47309
  /*******************************************************************************
46857
47310
  *
46858
47311
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -47004,7 +47457,7 @@ const GLB2Parser_default_ = GLB2Parser;
47004
47457
  x_ite_Namespace .add ("GLB2Parser", "x_ite/Parser/GLB2Parser", GLB2Parser_default_);
47005
47458
  /* harmony default export */ const Parser_GLB2Parser = (GLB2Parser_default_);
47006
47459
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/OBJParser.js
47007
- /* provided dependency */ var OBJParser_$ = __webpack_require__(52);
47460
+ /* provided dependency */ var OBJParser_$ = __webpack_require__(37);
47008
47461
  /*******************************************************************************
47009
47462
  *
47010
47463
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -47790,7 +48243,7 @@ Object .assign (MaterialParser .prototype,
47790
48243
  statements ()
47791
48244
  {
47792
48245
  while (this .statement ())
47793
- ;
48246
+ ;
47794
48247
  },
47795
48248
  statement ()
47796
48249
  {
@@ -50359,8 +50812,8 @@ const MatrixStack_default_ = MatrixStack;
50359
50812
  x_ite_Namespace .add ("MatrixStack", "standard/Math/Utility/MatrixStack", MatrixStack_default_);
50360
50813
  /* harmony default export */ const Utility_MatrixStack = (MatrixStack_default_);
50361
50814
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/SVGParser.js
50362
- /* provided dependency */ var SVGParser_$ = __webpack_require__(52);
50363
- /* provided dependency */ var libtess = __webpack_require__(177);
50815
+ /* provided dependency */ var SVGParser_$ = __webpack_require__(37);
50816
+ /* provided dependency */ var libtess = __webpack_require__(214);
50364
50817
  /*******************************************************************************
50365
50818
  *
50366
50819
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -50726,7 +51179,7 @@ Object .assign (Object .setPrototypeOf (SVGParser .prototype, Parser_X3DParser .
50726
51179
  elements (xmlElement)
50727
51180
  {
50728
51181
  for (const childNode of xmlElement .childNodes)
50729
- this .element (childNode);
51182
+ this .element (childNode);
50730
51183
  },
50731
51184
  element (xmlElement)
50732
51185
  {
@@ -51471,7 +51924,7 @@ Object .assign (Object .setPrototypeOf (SVGParser .prototype, Parser_X3DParser .
51471
51924
  gradientChild (xmlElement, gradient)
51472
51925
  {
51473
51926
  if (xmlElement .nodeName === "stop")
51474
- return this .stopElement (xmlElement, gradient);
51927
+ return this .stopElement (xmlElement, gradient);
51475
51928
  },
51476
51929
  stopElement (xmlElement, gradient)
51477
51930
  {
@@ -51576,8 +52029,8 @@ Object .assign (Object .setPrototypeOf (SVGParser .prototype, Parser_X3DParser .
51576
52029
 
51577
52030
  if (name)
51578
52031
  {
51579
- scene .addNamedNode (scene .getUniqueName (name), node);
51580
- scene .addExportedNode (scene .getUniqueExportName (name), node);
52032
+ scene .addNamedNode (scene .getUniqueName (name), node);
52033
+ scene .addExportedNode (scene .getUniqueExportName (name), node);
51581
52034
  }
51582
52035
  },
51583
52036
  viewBoxAttribute (attribute, defaultValue)
@@ -52262,7 +52715,7 @@ Object .assign (Object .setPrototypeOf (SVGParser .prototype, Parser_X3DParser .
52262
52715
  }
52263
52716
 
52264
52717
  if (points .length > 2)
52265
- contours .push (Object .assign (points, { closed: false }));
52718
+ contours .push (Object .assign (points, { closed: false }));
52266
52719
 
52267
52720
  return !! contours .length;
52268
52721
  },
@@ -53128,7 +53581,7 @@ const SVGParser_default_ = SVGParser;
53128
53581
  x_ite_Namespace .add ("SVGParser", "x_ite/Parser/SVGParser", SVGParser_default_);
53129
53582
  /* harmony default export */ const Parser_SVGParser = (SVGParser_default_);
53130
53583
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/GoldenGate.js
53131
- /* provided dependency */ var GoldenGate_$ = __webpack_require__(52);
53584
+ /* provided dependency */ var GoldenGate_$ = __webpack_require__(37);
53132
53585
  /*******************************************************************************
53133
53586
  *
53134
53587
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -53478,7 +53931,7 @@ const Plane3_default_ = Plane3;
53478
53931
  x_ite_Namespace .add ("Plane3", "standard/Math/Geometry/Plane3", Plane3_default_);
53479
53932
  /* harmony default export */ const Geometry_Plane3 = (Plane3_default_);
53480
53933
  ;// CONCATENATED MODULE: ./src/standard/Math/Geometry/Triangle3.js
53481
- /* provided dependency */ var Triangle3_libtess = __webpack_require__(177);
53934
+ /* provided dependency */ var Triangle3_libtess = __webpack_require__(214);
53482
53935
  /*******************************************************************************
53483
53936
  *
53484
53937
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -56760,15 +57213,15 @@ Object .assign (X3DRenderObject .prototype,
56760
57213
 
56761
57214
  //if (getBrowser () -> getBrowserOptions () -> animateStairWalks ())
56762
57215
  //{
56763
- // float step = getBrowser () -> getCurrentSpeed () / getBrowser () -> getCurrentFrameRate ();
56764
- // step = abs (getViewMatrix () .mult_matrix_dir (Vector3f (0, step, 0) * up));
57216
+ // float step = getBrowser () -> getCurrentSpeed () / getBrowser () -> getCurrentFrameRate ();
57217
+ // step = abs (getViewMatrix () .mult_matrix_dir (Vector3f (0, step, 0) * up));
56765
57218
  //
56766
- // Vector3f offset = Vector3f (0, step, 0) * up;
57219
+ // Vector3f offset = Vector3f (0, step, 0) * up;
56767
57220
  //
56768
- // if (math::abs (offset) > math::abs (translation) or getBrowser () -> getCurrentSpeed () == 0)
56769
- // offset = translation;
57221
+ // if (math::abs (offset) > math::abs (translation) or getBrowser () -> getCurrentSpeed () == 0)
57222
+ // offset = translation;
56770
57223
  //
56771
- // getViewpoint () -> positionOffset () += offset;
57224
+ // getViewpoint () -> positionOffset () += offset;
56772
57225
  //}
56773
57226
  //else
56774
57227
  viewpoint ._positionOffset = translation .add (viewpoint ._positionOffset .getValue ());
@@ -58091,7 +58544,7 @@ Object .assign (Object .setPrototypeOf (X3DGroupingNode .prototype, Core_X3DChil
58091
58544
  }
58092
58545
  }
58093
58546
 
58094
- this .setCameraObject (!!(cameraObjects .length));
58547
+ this .setCameraObject (cameraObjects .length);
58095
58548
  },
58096
58549
  set_pickableObjects__ ()
58097
58550
  {
@@ -58118,7 +58571,7 @@ Object .assign (Object .setPrototypeOf (X3DGroupingNode .prototype, Core_X3DChil
58118
58571
  },
58119
58572
  set_transformSensors__ ()
58120
58573
  {
58121
- this .setPickableObject (!!(this .getTransformSensors () .size || this .pickableSensorNodes .length || this .pickableObjects .length));
58574
+ this .setPickableObject (this .getTransformSensors () .size || this .pickableSensorNodes .length || this .pickableObjects .length);
58122
58575
  },
58123
58576
  set_displayNodes__ ()
58124
58577
  {
@@ -59553,7 +60006,7 @@ Object .assign (Object .setPrototypeOf (X3DGeometryNode .prototype, Core_X3DNode
59553
60006
  },
59554
60007
  setTransparent (value)
59555
60008
  {
59556
- if (value !== this ._transparent .getValue ())
60009
+ if (!!value !== this ._transparent .getValue ())
59557
60010
  this ._transparent = value;
59558
60011
  },
59559
60012
  isTransparent ()
@@ -60958,7 +61411,7 @@ Object .assign (Object .setPrototypeOf (X3DBackgroundNode .prototype, Core_X3DBi
60958
61411
  vAngle .push (Math .PI);
60959
61412
 
60960
61413
  if (vAngle .length === 2)
60961
- vAngle .splice (1, 0, (vAngle [0] + vAngle [1]) / 2)
61414
+ vAngle .splice (1, 0, (vAngle [0] + vAngle [1]) / 2)
60962
61415
 
60963
61416
  this .buildSphere (RADIUS, vAngle, this ._skyAngle, this ._skyColor, false);
60964
61417
  }
@@ -61526,7 +61979,7 @@ Object .assign (Object .setPrototypeOf (X3DTextureNode .prototype, Shape_X3DAppe
61526
61979
  {
61527
61980
  setTransparent (value)
61528
61981
  {
61529
- if (value !== this ._transparent .getValue ())
61982
+ if (!!value !== this ._transparent .getValue ())
61530
61983
  this ._transparent = value;
61531
61984
  },
61532
61985
  isTransparent ()
@@ -61991,7 +62444,7 @@ const X3DTexture2DNode_default_ = X3DTexture2DNode;
61991
62444
  x_ite_Namespace .add ("X3DTexture2DNode", "x_ite/Components/Texturing/X3DTexture2DNode", X3DTexture2DNode_default_);
61992
62445
  /* harmony default export */ const Texturing_X3DTexture2DNode = (X3DTexture2DNode_default_);
61993
62446
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Texturing/ImageTexture.js
61994
- /* provided dependency */ var ImageTexture_$ = __webpack_require__(52);
62447
+ /* provided dependency */ var ImageTexture_$ = __webpack_require__(37);
61995
62448
  /*******************************************************************************
61996
62449
  *
61997
62450
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -65301,16 +65754,16 @@ Object .assign (Object .setPrototypeOf (LayerSet .prototype, Core_X3DNode .proto
65301
65754
  {
65302
65755
  return this .activeLayerNode;
65303
65756
  },
65757
+ getLayer0 ()
65758
+ {
65759
+ return this .layerNode0;
65760
+ },
65304
65761
  setLayer0 (value)
65305
65762
  {
65306
65763
  this .layerNode0 = value;
65307
65764
 
65308
65765
  this .set_layers__ ();
65309
65766
  },
65310
- getLayer0 ()
65311
- {
65312
- return this .layerNode0;
65313
- },
65314
65767
  getLayers ()
65315
65768
  {
65316
65769
  return this .layerNodes;
@@ -65592,7 +66045,7 @@ const X3DWorld_default_ = X3DWorld;
65592
66045
  x_ite_Namespace .add ("X3DWorld", "x_ite/Execution/X3DWorld", X3DWorld_default_);
65593
66046
  /* harmony default export */ const Execution_X3DWorld = (X3DWorld_default_);
65594
66047
  ;// CONCATENATED MODULE: ./src/x_ite/InputOutput/FileLoader.js
65595
- /* provided dependency */ var FileLoader_$ = __webpack_require__(52);
66048
+ /* provided dependency */ var FileLoader_$ = __webpack_require__(37);
65596
66049
  /*******************************************************************************
65597
66050
  *
65598
66051
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -66519,7 +66972,7 @@ const ProtoDeclarationArray_default_ = ProtoDeclarationArray;
66519
66972
  x_ite_Namespace .add ("ProtoDeclarationArray", "x_ite/Prototype/ProtoDeclarationArray", ProtoDeclarationArray_default_);
66520
66973
  /* harmony default export */ const Prototype_ProtoDeclarationArray = (ProtoDeclarationArray_default_);
66521
66974
  ;// CONCATENATED MODULE: ./src/x_ite/Routing/X3DRoute.js
66522
- /* provided dependency */ var X3DRoute_$ = __webpack_require__(52);
66975
+ /* provided dependency */ var X3DRoute_$ = __webpack_require__(37);
66523
66976
  /*******************************************************************************
66524
66977
  *
66525
66978
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -67123,12 +67576,12 @@ x_ite_Namespace .add ("RouteArray", "x_ite/Routing/RouteArray", RouteArray_defau
67123
67576
 
67124
67577
 
67125
67578
  const
67126
- _namedNodes = Symbol (),
67127
- _importedNodes = Symbol (),
67128
- _protos = Symbol (),
67129
- _externprotos = Symbol (),
67130
- X3DExecutionContext_routes = Symbol (),
67131
- _outerNode = Symbol ();
67579
+ _outerNode = Symbol (),
67580
+ _namedNodes = Symbol (),
67581
+ _importedNodes = Symbol (),
67582
+ _protos = Symbol (),
67583
+ _externprotos = Symbol (),
67584
+ X3DExecutionContext_routes = Symbol ();
67132
67585
 
67133
67586
  function X3DExecutionContext (executionContext, outerNode = null, browser = executionContext .getBrowser ())
67134
67587
  {
@@ -67762,10 +68215,13 @@ Object .assign (Object .setPrototypeOf (X3DExecutionContext .prototype, Base_X3D
67762
68215
  },
67763
68216
  removeWorldInfo (worldInfoNode)
67764
68217
  {
67765
- for (let i = this ._worldInfos .length - 1; i >= 0; -- i)
68218
+ for (const [i, worldInfo] of this ._worldInfos .entries ())
67766
68219
  {
67767
- if (this ._worldInfos [i] .getValue () === worldInfoNode)
67768
- this ._worldInfos .splice (i, 1);
68220
+ if (worldInfo .getValue () !== worldInfoNode)
68221
+ continue;
68222
+
68223
+ this ._worldInfos .splice (i, 1);
68224
+ break;
67769
68225
  }
67770
68226
  },
67771
68227
  toVRMLStream (generator)
@@ -68239,7 +68695,7 @@ Object .assign (Object .setPrototypeOf (X3DPrototypeInstance .prototype, Core_X3
68239
68695
  if (oldField .getModificationTime () === 0)
68240
68696
  {
68241
68697
  oldField .assign (newField);
68242
- oldField .setModificationTime (0);
68698
+ oldField .setModificationTime (0);
68243
68699
  }
68244
68700
  }
68245
68701
 
@@ -74231,7 +74687,7 @@ Object .assign (Object .setPrototypeOf (ElevationGrid .prototype, Rendering_X3DG
74231
74687
 
74232
74688
  this .colorNode ?.addInterest ("requestRebuild", this);
74233
74689
 
74234
- this .setTransparent (this .colorNode ?.isTransparent () ?? false);
74690
+ this .setTransparent (this .colorNode ?.isTransparent ());
74235
74691
  },
74236
74692
  set_texCoord__ ()
74237
74693
  {
@@ -75420,7 +75876,7 @@ Object .assign (Object .setPrototypeOf (X3DComposedGeometryNode .prototype, Rend
75420
75876
 
75421
75877
  this .colorNode ?.addInterest ("requestRebuild", this);
75422
75878
 
75423
- this .setTransparent (this .colorNode ?.isTransparent () ?? false);
75879
+ this .setTransparent (this .colorNode ?.isTransparent ());
75424
75880
  },
75425
75881
  set_texCoord__ ()
75426
75882
  {
@@ -76727,11 +77183,11 @@ Object .assign (Object .setPrototypeOf (Switch .prototype, Grouping_X3DGroupingN
76727
77183
  },
76728
77184
  set_cameraObject__ ()
76729
77185
  {
76730
- this .setCameraObject (!!this .visibleNode ?.isCameraObject ());
77186
+ this .setCameraObject (this .visibleNode ?.isCameraObject ());
76731
77187
  },
76732
77188
  set_transformSensors__ ()
76733
77189
  {
76734
- this .setPickableObject (!!(this .getTransformSensors () .size || this .visibleNode ?.isPickableObject ()));
77190
+ this .setPickableObject (this .getTransformSensors () .size || this .visibleNode ?.isPickableObject ());
76735
77191
  },
76736
77192
  set_display__ ()
76737
77193
  {
@@ -80487,8 +80943,8 @@ x_ite_Namespace .add ("EnvironmentLight", "x_ite/Components/Lighting/Environment
80487
80943
  // Shadow map layout
80488
80944
  // Compact layout:
80489
80945
  //
80490
- // xzXZ Char: Axis
80491
- // yyYY Case: Sign
80946
+ // xzXZ Char: Axis
80947
+ // yyYY Case: Sign
80492
80948
 
80493
80949
  const orientationMatrices = [
80494
80950
  new Numbers_Matrix4 () .setRotation (new Numbers_Rotation4 (new Numbers_Vector3 ( 1, 0, 0), Numbers_Vector3 .zAxis)), // left
@@ -81743,11 +82199,11 @@ Object .assign (Object .setPrototypeOf (LOD .prototype, Grouping_X3DGroupingNode
81743
82199
  },
81744
82200
  set_cameraObject__ ()
81745
82201
  {
81746
- this .setCameraObject (!!this .visibleNode ?.isCameraObject ());
82202
+ this .setCameraObject (this .visibleNode ?.isCameraObject ());
81747
82203
  },
81748
82204
  set_transformSensors__ ()
81749
82205
  {
81750
- this .setPickableObject (!!(this .getTransformSensors () .size || this .visibleNode ?.isPickableObject ()));
82206
+ this .setPickableObject (this .getTransformSensors () .size || this .visibleNode ?.isPickableObject ());
81751
82207
  },
81752
82208
  set_display__ ()
81753
82209
  {
@@ -85829,7 +86285,7 @@ Object .assign (Object .setPrototypeOf (X3DColorNode .prototype, Rendering_X3DGe
85829
86285
  {
85830
86286
  setTransparent (value)
85831
86287
  {
85832
- if (value !== this ._transparent .getValue ())
86288
+ if (!!value !== this ._transparent .getValue ())
85833
86289
  this ._transparent = value;
85834
86290
  },
85835
86291
  isTransparent ()
@@ -87197,7 +87653,7 @@ Object .assign (Object .setPrototypeOf (IndexedLineSet .prototype, Rendering_X3D
87197
87653
 
87198
87654
  this .colorNode ?.addInterest ("requestRebuild", this);
87199
87655
 
87200
- this .setTransparent (this .colorNode ?.isTransparent () ?? false);
87656
+ this .setTransparent (this .colorNode ?.isTransparent ());
87201
87657
  },
87202
87658
  set_normal__ ()
87203
87659
  {
@@ -87982,7 +88438,7 @@ Object .assign (Object .setPrototypeOf (LineSet .prototype, Rendering_X3DLineGeo
87982
88438
 
87983
88439
  this .colorNode ?.addInterest ("requestRebuild", this);
87984
88440
 
87985
- this .setTransparent (this .colorNode ?.isTransparent () ?? false);
88441
+ this .setTransparent (this .colorNode ?.isTransparent ());
87986
88442
  },
87987
88443
  set_normal__ ()
87988
88444
  {
@@ -89396,7 +89852,7 @@ const X3DShaderNode_default_ = X3DShaderNode;
89396
89852
  x_ite_Namespace .add ("X3DShaderNode", "x_ite/Components/Shaders/X3DShaderNode", X3DShaderNode_default_);
89397
89853
  /* harmony default export */ const Shaders_X3DShaderNode = (X3DShaderNode_default_);
89398
89854
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Shaders/X3DProgrammableShaderObject.js
89399
- /* provided dependency */ var X3DProgrammableShaderObject_$ = __webpack_require__(52);
89855
+ /* provided dependency */ var X3DProgrammableShaderObject_$ = __webpack_require__(37);
89400
89856
  /*******************************************************************************
89401
89857
  *
89402
89858
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -92283,26 +92739,26 @@ const ShaderSource =
92283
92739
  {
92284
92740
  getSource (gl, browser, source, options)
92285
92741
  {
92286
- const
92287
- COMMENTS = "\\s+|/\\*[\\s\\S]*?\\*/|//.*?\\n",
92288
- LINE = "#line\\s+.*?\\n",
92289
- IF = "#if\\s+.*?\\n",
92290
- ELIF = "#elif\\s+.*?\\n",
92291
- IFDEF = "#ifdef\\s+.*?\\n",
92292
- IFNDEF = "#ifndef\\s+.*?\\n",
92293
- ELSE = "#else.*?\\n",
92294
- ENDIF = "#endif.*?\\n",
92295
- DEFINE = "#define\\s+(?:[^\\n\\\\]|\\\\[^\\r\\n]|\\\\\\r?\\n)*\\n",
92296
- UNDEF = "#undef\\s+.*?\\n",
92297
- PRAGMA = "#pragma\\s+.*?\\n",
92298
- PREPROCESSOR = LINE + "|" + IF + "|" + ELIF + "|" + IFDEF + "|" + IFNDEF + "|" + ELSE + "|" + ENDIF + "|" + DEFINE + "|" + UNDEF + "|" + PRAGMA,
92299
- VERSION = "#version\\s+.*?\\n",
92300
- EXTENSION = "#extension\\s+.*?\\n",
92301
- ANY = ".*";
92302
-
92303
- const
92304
- GLSL = new RegExp ("^((?:" + COMMENTS + "|" + PREPROCESSOR + ")*(?:" + VERSION + ")?(?:" + COMMENTS + "|" + PREPROCESSOR + "|" + EXTENSION + ")*)(" + ANY + ")$", "s"),
92305
- match = source .match (GLSL);
92742
+ const
92743
+ COMMENTS = "\\s+|/\\*[\\s\\S]*?\\*/|//.*?\\n",
92744
+ LINE = "#line\\s+.*?\\n",
92745
+ IF = "#if\\s+.*?\\n",
92746
+ ELIF = "#elif\\s+.*?\\n",
92747
+ IFDEF = "#ifdef\\s+.*?\\n",
92748
+ IFNDEF = "#ifndef\\s+.*?\\n",
92749
+ ELSE = "#else.*?\\n",
92750
+ ENDIF = "#endif.*?\\n",
92751
+ DEFINE = "#define\\s+(?:[^\\n\\\\]|\\\\[^\\r\\n]|\\\\\\r?\\n)*\\n",
92752
+ UNDEF = "#undef\\s+.*?\\n",
92753
+ PRAGMA = "#pragma\\s+.*?\\n",
92754
+ PREPROCESSOR = LINE + "|" + IF + "|" + ELIF + "|" + IFDEF + "|" + IFNDEF + "|" + ELSE + "|" + ENDIF + "|" + DEFINE + "|" + UNDEF + "|" + PRAGMA,
92755
+ VERSION = "#version\\s+.*?\\n",
92756
+ EXTENSION = "#extension\\s+.*?\\n",
92757
+ ANY = ".*";
92758
+
92759
+ const
92760
+ GLSL = new RegExp ("^((?:" + COMMENTS + "|" + PREPROCESSOR + ")*(?:" + VERSION + ")?(?:" + COMMENTS + "|" + PREPROCESSOR + "|" + EXTENSION + ")*)(" + ANY + ")$", "s"),
92761
+ match = source .match (GLSL);
92306
92762
 
92307
92763
  // const
92308
92764
  // COMMENTS = "\\s+|/\\*.*?\\*/|//.*?\\n",
@@ -95037,7 +95493,7 @@ const ShaderCompiler_default_ = ShaderCompiler;
95037
95493
  x_ite_Namespace .add ("ShaderCompiler", "x_ite/Browser/Shaders/ShaderCompiler", ShaderCompiler_default_);
95038
95494
  /* harmony default export */ const Shaders_ShaderCompiler = (ShaderCompiler_default_);
95039
95495
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Shaders/ShaderPart.js
95040
- /* provided dependency */ var ShaderPart_$ = __webpack_require__(52);
95496
+ /* provided dependency */ var ShaderPart_$ = __webpack_require__(37);
95041
95497
  /*******************************************************************************
95042
95498
  *
95043
95499
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -95665,7 +96121,7 @@ Object .assign (Object .setPrototypeOf (X3DAppearanceNode .prototype, Core_X3DNo
95665
96121
  {
95666
96122
  setTransparent (value)
95667
96123
  {
95668
- if (value !== this ._transparent .getValue ())
96124
+ if (!!value !== this ._transparent .getValue ())
95669
96125
  this ._transparent = value;
95670
96126
  },
95671
96127
  isTransparent ()
@@ -95694,7 +96150,7 @@ const X3DAppearanceNode_default_ = X3DAppearanceNode;
95694
96150
  x_ite_Namespace .add ("X3DAppearanceNode", "x_ite/Components/Shape/X3DAppearanceNode", X3DAppearanceNode_default_);
95695
96151
  /* harmony default export */ const Shape_X3DAppearanceNode = (X3DAppearanceNode_default_);
95696
96152
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Shape/Appearance.js
95697
- /* provided dependency */ var Appearance_$ = __webpack_require__(52);
96153
+ /* provided dependency */ var Appearance_$ = __webpack_require__(37);
95698
96154
  /*******************************************************************************
95699
96155
  *
95700
96156
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -95774,8 +96230,8 @@ Object .assign (Object .setPrototypeOf (Appearance .prototype, Shape_X3DAppearan
95774
96230
 
95775
96231
  browser .getRenderingProperties () ._ContentScale .addInterest ("set_contentScale__", this);
95776
96232
 
95777
- this ._alphaMode .addInterest ("set_alphaMode__", this);
95778
- this ._alphaCutoff .addInterest ("set_alphaCutoff__", this);
96233
+ this ._alphaMode .addInterest ("set_alphaMode__", this);
96234
+ this ._alphaCutoff .addInterest ("set_alphaCutoff__", this);
95779
96235
  this ._pointProperties .addInterest ("set_pointProperties__", this);
95780
96236
  this ._lineProperties .addInterest ("set_lineProperties__", this);
95781
96237
  this ._fillProperties .addInterest ("set_fillProperties__", this);
@@ -96089,11 +96545,11 @@ Object .assign (Object .setPrototypeOf (Appearance .prototype, Shape_X3DAppearan
96089
96545
  },
96090
96546
  set_transparent__ ()
96091
96547
  {
96092
- this .setTransparent (!!(this .stylePropertiesNode [3] ?.isTransparent () ||
96093
- this .materialNode ?.isTransparent () ||
96094
- this .backMaterialNode ?.isTransparent () ||
96095
- this .textureNode ?.isTransparent () ||
96096
- this .blendModeNode));
96548
+ this .setTransparent (this .stylePropertiesNode [3] ?.isTransparent () ||
96549
+ this .materialNode ?.isTransparent () ||
96550
+ this .backMaterialNode ?.isTransparent () ||
96551
+ this .textureNode ?.isTransparent () ||
96552
+ this .blendModeNode);
96097
96553
  },
96098
96554
  traverse (type, renderObject)
96099
96555
  {
@@ -96242,7 +96698,7 @@ Object .assign (Object .setPrototypeOf (FillProperties .prototype, Shape_X3DAppe
96242
96698
  {
96243
96699
  this .filled = this ._filled .getValue ();
96244
96700
 
96245
- this .setTransparent (! this .filled);
96701
+ this .setTransparent (!this .filled);
96246
96702
  },
96247
96703
  set_hatched__ ()
96248
96704
  {
@@ -96265,7 +96721,7 @@ Object .assign (Object .setPrototypeOf (FillProperties .prototype, Shape_X3DAppe
96265
96721
  },
96266
96722
  setTransparent (value)
96267
96723
  {
96268
- if (value !== this ._transparent .getValue ())
96724
+ if (!!value !== this ._transparent .getValue ())
96269
96725
  this ._transparent = value;
96270
96726
  },
96271
96727
  isTransparent ()
@@ -96595,7 +97051,7 @@ Object .assign (Object .setPrototypeOf (X3DMaterialNode .prototype, Shape_X3DApp
96595
97051
  {
96596
97052
  setTransparent (value)
96597
97053
  {
96598
- if (value !== this ._transparent .getValue ())
97054
+ if (!!value !== this ._transparent .getValue ())
96599
97055
  this ._transparent = value;
96600
97056
  },
96601
97057
  isTransparent ()
@@ -97015,7 +97471,7 @@ Object .assign (Object .setPrototypeOf (X3DOneSidedMaterialNode .prototype, Shap
97015
97471
  },
97016
97472
  set_transparent__ ()
97017
97473
  {
97018
- this .setTransparent (!! this .transparency);
97474
+ this .setTransparent (this .transparency);
97019
97475
  },
97020
97476
  getBaseTexture ()
97021
97477
  {
@@ -97343,7 +97799,7 @@ Object .assign (Object .setPrototypeOf (Material .prototype, Shape_X3DOneSidedMa
97343
97799
  },
97344
97800
  set_transparent__ ()
97345
97801
  {
97346
- this .setTransparent (!!(this .getTransparency () || this .diffuseTextureNode ?.isTransparent ()));
97802
+ this .setTransparent (this .getTransparency () || this .diffuseTextureNode ?.isTransparent ());
97347
97803
  },
97348
97804
  createShader (key, geometryContext, renderContext)
97349
97805
  {
@@ -97765,7 +98221,7 @@ Object .assign (Object .setPrototypeOf (PhysicalMaterial .prototype, Shape_X3DOn
97765
98221
  },
97766
98222
  set_transparent__ ()
97767
98223
  {
97768
- this .setTransparent (!!(this .getTransparency () || this .baseTextureNode ?.isTransparent ()));
98224
+ this .setTransparent (this .getTransparency () || this .baseTextureNode ?.isTransparent ());
97769
98225
  },
97770
98226
  createShader (key, geometryContext, renderContext)
97771
98227
  {
@@ -98223,7 +98679,7 @@ Object .assign (Object .setPrototypeOf (X3DShapeNode .prototype, Core_X3DChildNo
98223
98679
  },
98224
98680
  setTransparent (value)
98225
98681
  {
98226
- this .transparent = value;
98682
+ this .transparent = !!value;
98227
98683
  },
98228
98684
  getAlphaMode ()
98229
98685
  {
@@ -98773,7 +99229,7 @@ Object .assign (Object .setPrototypeOf (TwoSidedMaterial .prototype, Shape_X3DMa
98773
99229
  },
98774
99230
  set_transparent__ ()
98775
99231
  {
98776
- this .setTransparent (!!(this ._transparency .getValue () || (this ._separateBackColor .getValue () && this ._backTransparency .getValue ())));
99232
+ this .setTransparent (this ._transparency .getValue () || (this ._separateBackColor .getValue () && this ._backTransparency .getValue ()));
98777
99233
  },
98778
99234
  getMaterialKey: Shape_Material .prototype .getMaterialKey,
98779
99235
  getBaseTexture: Shape_Material .prototype .getBaseTexture,
@@ -98949,8 +99405,7 @@ Object .assign (Object .setPrototypeOf (UnlitMaterial .prototype, Shape_X3DOneSi
98949
99405
  },
98950
99406
  set_transparent__ ()
98951
99407
  {
98952
- this .setTransparent (!!(this .getTransparency () ||
98953
- this .getEmissiveTexture () ?.isTransparent ()));
99408
+ this .setTransparent (this .getTransparency () || this .getEmissiveTexture () ?.isTransparent ());
98954
99409
  },
98955
99410
  createShader (key, geometryContext, renderContext)
98956
99411
  {
@@ -99112,7 +99567,7 @@ const Components_Shape_default_ = {
99112
99567
  x_ite_Namespace .add ("Shape", "x_ite/Components/Shape", Components_Shape_default_);
99113
99568
  /* harmony default export */ const Components_Shape = (Components_Shape_default_);
99114
99569
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Sound/X3DSoundProcessingNode.js
99115
- /* provided dependency */ var X3DSoundProcessingNode_$ = __webpack_require__(52);
99570
+ /* provided dependency */ var X3DSoundProcessingNode_$ = __webpack_require__(37);
99116
99571
  /*******************************************************************************
99117
99572
  *
99118
99573
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -99752,7 +100207,7 @@ const X3DSoundSourceNode_default_ = X3DSoundSourceNode;
99752
100207
  x_ite_Namespace .add ("X3DSoundSourceNode", "x_ite/Components/Sound/X3DSoundSourceNode", X3DSoundSourceNode_default_);
99753
100208
  /* harmony default export */ const Sound_X3DSoundSourceNode = (X3DSoundSourceNode_default_);
99754
100209
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Sound/AudioClip.js
99755
- /* provided dependency */ var AudioClip_$ = __webpack_require__(52);
100210
+ /* provided dependency */ var AudioClip_$ = __webpack_require__(37);
99756
100211
  /*******************************************************************************
99757
100212
  *
99758
100213
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -100054,7 +100509,7 @@ const X3DSoundNode_default_ = X3DSoundNode;
100054
100509
  x_ite_Namespace .add ("X3DSoundNode", "x_ite/Components/Sound/X3DSoundNode", X3DSoundNode_default_);
100055
100510
  /* harmony default export */ const Sound_X3DSoundNode = (X3DSoundNode_default_);
100056
100511
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Sound/X3DSoundDestinationNode.js
100057
- /* provided dependency */ var X3DSoundDestinationNode_$ = __webpack_require__(52);
100512
+ /* provided dependency */ var X3DSoundDestinationNode_$ = __webpack_require__(37);
100058
100513
  /*******************************************************************************
100059
100514
  *
100060
100515
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -101704,7 +102159,7 @@ const ListenerPointSource_default_ = ListenerPointSource;
101704
102159
  x_ite_Namespace .add ("ListenerPointSource", "x_ite/Components/Sound/ListenerPointSource", ListenerPointSource_default_);
101705
102160
  /* harmony default export */ const Sound_ListenerPointSource = (ListenerPointSource_default_);
101706
102161
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Sound/MicrophoneSource.js
101707
- /* provided dependency */ var MicrophoneSource_$ = __webpack_require__(52);
102162
+ /* provided dependency */ var MicrophoneSource_$ = __webpack_require__(37);
101708
102163
  /*******************************************************************************
101709
102164
  *
101710
102165
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -103373,8 +103828,8 @@ const GifMedia_default_ = GifMedia;
103373
103828
  x_ite_Namespace .add ("GifMedia", "x_ite/Browser/Texturing/GifMedia", GifMedia_default_);
103374
103829
  /* harmony default export */ const Texturing_GifMedia = (GifMedia_default_);
103375
103830
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Texturing/MovieTexture.js
103376
- /* provided dependency */ var MovieTexture_$ = __webpack_require__(52);
103377
- /* provided dependency */ var SuperGif = __webpack_require__(247);
103831
+ /* provided dependency */ var MovieTexture_$ = __webpack_require__(37);
103832
+ /* provided dependency */ var SuperGif = __webpack_require__(790);
103378
103833
  /*******************************************************************************
103379
103834
  *
103380
103835
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -106653,7 +107108,7 @@ const gettext_default_ = gettext;
106653
107108
  x_ite_Namespace .add ("gettext", "locale/gettext", gettext_default_);
106654
107109
  /* harmony default export */ const locale_gettext = (gettext_default_);
106655
107110
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/BrowserTimings.js
106656
- /* provided dependency */ var BrowserTimings_$ = __webpack_require__(52);
107111
+ /* provided dependency */ var BrowserTimings_$ = __webpack_require__(37);
106657
107112
  /*******************************************************************************
106658
107113
  *
106659
107114
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -107083,7 +107538,7 @@ const TextureQuality_default_ = TextureQuality;
107083
107538
  x_ite_Namespace .add ("TextureQuality", "x_ite/Browser/Core/TextureQuality", TextureQuality_default_);
107084
107539
  /* harmony default export */ const Core_TextureQuality = (TextureQuality_default_);
107085
107540
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/BrowserOptions.js
107086
- /* provided dependency */ var BrowserOptions_$ = __webpack_require__(52);
107541
+ /* provided dependency */ var BrowserOptions_$ = __webpack_require__(37);
107087
107542
  /*******************************************************************************
107088
107543
  *
107089
107544
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -107459,8 +107914,9 @@ Object .defineProperties (BrowserOptions,
107459
107914
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "Gravity", new x_ite_Fields .SFDouble (9.80665)),
107460
107915
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "LoadUrlObjects", new x_ite_Fields .SFBool (true)),
107461
107916
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "LogarithmicDepthBuffer", new x_ite_Fields .SFBool ()),
107462
- new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "Notifications", new x_ite_Fields .SFBool (true)),
107917
+ new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "MetadataReference", new x_ite_Fields .SFString ()),
107463
107918
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "Multisampling", new x_ite_Fields .SFInt32 (4)),
107919
+ new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "Notifications", new x_ite_Fields .SFBool (true)),
107464
107920
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "OrderIndependentTransparency", new x_ite_Fields .SFBool ()),
107465
107921
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "StraightenHorizon", new x_ite_Fields .SFBool (true)),
107466
107922
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "Timings", new x_ite_Fields .SFBool ()),
@@ -107673,7 +108129,7 @@ const RenderingProperties_default_ = RenderingProperties;
107673
108129
  x_ite_Namespace .add ("RenderingProperties", "x_ite/Browser/Core/RenderingProperties", RenderingProperties_default_);
107674
108130
  /* harmony default export */ const Core_RenderingProperties = (RenderingProperties_default_);
107675
108131
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/Notification.js
107676
- /* provided dependency */ var Notification_$ = __webpack_require__(52);
108132
+ /* provided dependency */ var Notification_$ = __webpack_require__(37);
107677
108133
  /*******************************************************************************
107678
108134
  *
107679
108135
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -107796,8 +108252,8 @@ const Notification_default_ = Notification;
107796
108252
  x_ite_Namespace .add ("Notification", "x_ite/Browser/Core/Notification", Notification_default_);
107797
108253
  /* harmony default export */ const Core_Notification = (Notification_default_);
107798
108254
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/ContextMenu.js
107799
- /* provided dependency */ var jquery_fullscreen = __webpack_require__(944);
107800
- /* provided dependency */ var ContextMenu_$ = __webpack_require__(52);
108255
+ /* provided dependency */ var jquery_fullscreen = __webpack_require__(773);
108256
+ /* provided dependency */ var ContextMenu_$ = __webpack_require__(37);
107801
108257
  /*******************************************************************************
107802
108258
  *
107803
108259
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -108368,7 +108824,7 @@ Object .assign (Object .setPrototypeOf (ContextMenu .prototype, Base_X3DBaseNode
108368
108824
 
108369
108825
  // Reposition menu if to right or to low.
108370
108826
 
108371
- ul .offset ({ "left": event .pageX, "top": event .pageY }); // Do it again!
108827
+ ul .offset ({ "left": event .pageX, "top": event .pageY }); // Do it again!
108372
108828
 
108373
108829
  if (ul .offset () .left - ContextMenu_$(document) .scrollLeft () + ul .outerWidth () > ContextMenu_$(window) .width ())
108374
108830
  ul .offset ({ "left": ContextMenu_$(document) .scrollLeft () + Math .max (0, ContextMenu_$(window) .width () - ul .outerWidth ()) });
@@ -109600,13 +110056,18 @@ Object .assign (Object .setPrototypeOf (X3DScene .prototype, Execution_X3DExecut
109600
110056
  const values = this [_metadata] .get (name);
109601
110057
 
109602
110058
  if (values)
109603
- return Array .from (values);
110059
+ return values .slice ();
109604
110060
 
109605
110061
  return undefined;
109606
110062
  },
109607
110063
  getMetaDatas ()
109608
110064
  {
109609
- return new Map (this [_metadata]);
110065
+ const metadata = new Map ();
110066
+
110067
+ for (const [key, values] of this [_metadata])
110068
+ metadata .set (key, values .slice ());
110069
+
110070
+ return metadata;
109610
110071
  },
109611
110072
  addExportedNode (exportedName, node)
109612
110073
  {
@@ -109631,7 +110092,7 @@ Object .assign (Object .setPrototypeOf (X3DScene .prototype, Execution_X3DExecut
109631
110092
  throw new Error ("Couldn't update exported node: node must be of type X3DNode.");
109632
110093
 
109633
110094
  //if (node .getExecutionContext () !== this)
109634
- // throw new Error ("Couldn't update exported node: node does not belong to this execution context.");
110095
+ // throw new Error ("Couldn't update exported node: node does not belong to this execution context.");
109635
110096
 
109636
110097
  const exportedNode = new Execution_X3DExportedNode (this, exportedName, node);
109637
110098
 
@@ -110549,7 +111010,7 @@ const DataStorage_default_ = DataStorage;
110549
111010
  x_ite_Namespace .add ("DataStorage", "standard/Utility/DataStorage", DataStorage_default_);
110550
111011
  /* harmony default export */ const Utility_DataStorage = (DataStorage_default_);
110551
111012
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/X3DCoreContext.js
110552
- /* provided dependency */ var X3DCoreContext_$ = __webpack_require__(52);
111013
+ /* provided dependency */ var X3DCoreContext_$ = __webpack_require__(37);
110553
111014
  /*******************************************************************************
110554
111015
  *
110555
111016
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -113072,8 +113533,8 @@ const X3DViewer_default_ = X3DViewer;
113072
113533
  x_ite_Namespace .add ("X3DViewer", "x_ite/Browser/Navigation/X3DViewer", X3DViewer_default_);
113073
113534
  /* harmony default export */ const Navigation_X3DViewer = (X3DViewer_default_);
113074
113535
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Navigation/ExamineViewer.js
113075
- /* provided dependency */ var jquery_mousewheel = __webpack_require__(82);
113076
- /* provided dependency */ var ExamineViewer_$ = __webpack_require__(52);
113536
+ /* provided dependency */ var jquery_mousewheel = __webpack_require__(693);
113537
+ /* provided dependency */ var ExamineViewer_$ = __webpack_require__(37);
113077
113538
  /*******************************************************************************
113078
113539
  *
113079
113540
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -113945,8 +114406,8 @@ const ExamineViewer_default_ = ExamineViewer;
113945
114406
  x_ite_Namespace .add ("ExamineViewer", "x_ite/Browser/Navigation/ExamineViewer", ExamineViewer_default_);
113946
114407
  /* harmony default export */ const Navigation_ExamineViewer = (ExamineViewer_default_);
113947
114408
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Navigation/X3DFlyViewer.js
113948
- /* provided dependency */ var X3DFlyViewer_jquery_mousewheel = __webpack_require__(82);
113949
- /* provided dependency */ var X3DFlyViewer_$ = __webpack_require__(52);
114409
+ /* provided dependency */ var X3DFlyViewer_jquery_mousewheel = __webpack_require__(693);
114410
+ /* provided dependency */ var X3DFlyViewer_$ = __webpack_require__(37);
113950
114411
  /*******************************************************************************
113951
114412
  *
113952
114413
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -114955,8 +115416,8 @@ const FlyViewer_default_ = FlyViewer;
114955
115416
  x_ite_Namespace .add ("FlyViewer", "x_ite/Browser/Navigation/FlyViewer", FlyViewer_default_);
114956
115417
  /* harmony default export */ const Navigation_FlyViewer = (FlyViewer_default_);
114957
115418
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Navigation/PlaneViewer.js
114958
- /* provided dependency */ var PlaneViewer_jquery_mousewheel = __webpack_require__(82);
114959
- /* provided dependency */ var PlaneViewer_$ = __webpack_require__(52);
115419
+ /* provided dependency */ var PlaneViewer_jquery_mousewheel = __webpack_require__(693);
115420
+ /* provided dependency */ var PlaneViewer_$ = __webpack_require__(37);
114960
115421
  /*******************************************************************************
114961
115422
  *
114962
115423
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -115287,8 +115748,8 @@ const NoneViewer_default_ = NoneViewer;
115287
115748
  x_ite_Namespace .add ("NoneViewer", "x_ite/Browser/Navigation/NoneViewer", NoneViewer_default_);
115288
115749
  /* harmony default export */ const Navigation_NoneViewer = (NoneViewer_default_);
115289
115750
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Navigation/LookAtViewer.js
115290
- /* provided dependency */ var LookAtViewer_jquery_mousewheel = __webpack_require__(82);
115291
- /* provided dependency */ var LookAtViewer_$ = __webpack_require__(52);
115751
+ /* provided dependency */ var LookAtViewer_jquery_mousewheel = __webpack_require__(693);
115752
+ /* provided dependency */ var LookAtViewer_$ = __webpack_require__(37);
115292
115753
  /*******************************************************************************
115293
115754
  *
115294
115755
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -116427,8 +116888,8 @@ const X3DPickingContext_default_ = X3DPickingContext;
116427
116888
  x_ite_Namespace .add ("X3DPickingContext", "x_ite/Browser/Picking/X3DPickingContext", X3DPickingContext_default_);
116428
116889
  /* harmony default export */ const Picking_X3DPickingContext = (X3DPickingContext_default_);
116429
116890
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/PointingDeviceSensor/PointingDevice.js
116430
- /* provided dependency */ var PointingDevice_jquery_mousewheel = __webpack_require__(82);
116431
- /* provided dependency */ var PointingDevice_$ = __webpack_require__(52);
116891
+ /* provided dependency */ var PointingDevice_jquery_mousewheel = __webpack_require__(693);
116892
+ /* provided dependency */ var PointingDevice_$ = __webpack_require__(37);
116432
116893
  /*******************************************************************************
116433
116894
  *
116434
116895
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -117576,10 +118037,12 @@ Object .assign (MultiSampleFrameBuffer .prototype,
117576
118037
  },
117577
118038
  clear ()
117578
118039
  {
117579
- const { context: gl, frameBuffer } = this;
118040
+ const { context: gl, frameBuffer, width, height } = this;
117580
118041
 
117581
118042
  gl .bindFramebuffer (gl .FRAMEBUFFER, frameBuffer);
117582
118043
 
118044
+ gl .viewport (0, 0, width, height);
118045
+ gl .scissor (0, 0, width, height);
117583
118046
  gl .clearColor (0, 0, 0, 0);
117584
118047
  gl .clear (gl .COLOR_BUFFER_BIT);
117585
118048
  },
@@ -117698,8 +118161,10 @@ Object .assign (Fallback .prototype,
117698
118161
  },
117699
118162
  clear ()
117700
118163
  {
117701
- const { context: gl } = this;
118164
+ const { context: gl, width, height } = this;
117702
118165
 
118166
+ gl .viewport (0, 0, width, height);
118167
+ gl .scissor (0, 0, width, height);
117703
118168
  gl .clearColor (0, 0, 0, 1);
117704
118169
  gl .clear (gl .COLOR_BUFFER_BIT);
117705
118170
  gl .blendFuncSeparate (gl .ONE, gl .ONE, gl .ZERO, gl .ONE_MINUS_SRC_ALPHA);
@@ -117715,7 +118180,7 @@ const MultiSampleFrameBuffer_default_ = MultiSampleFrameBuffer;
117715
118180
  x_ite_Namespace .add ("MultiSampleFrameBuffer", "x_ite/Rendering/MultiSampleFrameBuffer", MultiSampleFrameBuffer_default_);
117716
118181
  /* harmony default export */ const Rendering_MultiSampleFrameBuffer = (MultiSampleFrameBuffer_default_);
117717
118182
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Rendering/X3DRenderingContext.js
117718
- /* provided dependency */ var X3DRenderingContext_$ = __webpack_require__(52);
118183
+ /* provided dependency */ var X3DRenderingContext_$ = __webpack_require__(37);
117719
118184
  /*******************************************************************************
117720
118185
  *
117721
118186
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -118617,7 +119082,7 @@ const X3DSoundContext_default_ = X3DSoundContext;
118617
119082
  x_ite_Namespace .add ("X3DSoundContext", "x_ite/Browser/Sound/X3DSoundContext", X3DSoundContext_default_);
118618
119083
  /* harmony default export */ const Sound_X3DSoundContext = (X3DSoundContext_default_);
118619
119084
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Texturing/KTXDecoder.js
118620
- /* provided dependency */ var KTXDecoder_$ = __webpack_require__(52);
119085
+ /* provided dependency */ var KTXDecoder_$ = __webpack_require__(37);
118621
119086
  const KTXDecoder_default_ = class KTXDecoder
118622
119087
  {
118623
119088
  constructor (gl, externalKtxlib, scriptDir)
@@ -120170,7 +120635,7 @@ const Components_default_ = Components;
120170
120635
  x_ite_Namespace .add ("Components", "x_ite/Components", Components_default_);
120171
120636
  /* harmony default export */ const x_ite_Components = ((/* unused pure expression or super */ null && (Components_default_)));
120172
120637
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/DOMIntegration.js
120173
- /* provided dependency */ var DOMIntegration_$ = __webpack_require__(52);
120638
+ /* provided dependency */ var DOMIntegration_$ = __webpack_require__(37);
120174
120639
  /*******************************************************************************
120175
120640
  * MIT License
120176
120641
  *
@@ -120202,355 +120667,355 @@ x_ite_Namespace .add ("Components", "x_ite/Components", Components_default_);
120202
120667
 
120203
120668
  class DOMIntegration
120204
120669
  {
120205
- constructor (browser)
120206
- {
120207
- this .browser = browser;
120208
- this .rootElement = undefined;
120209
- this .canvasObserver = new MutationObserver (() => this .processCanvasMutation (browser));
120670
+ constructor (browser)
120671
+ {
120672
+ this .browser = browser;
120673
+ this .rootElement = undefined;
120674
+ this .canvasObserver = new MutationObserver (() => this .processCanvasMutation (browser));
120210
120675
 
120211
- this .canvasObserver .observe (browser .getElement () [0], {
120212
- childList: true,
120213
- });
120676
+ this .canvasObserver .observe (browser .getElement () [0], {
120677
+ childList: true,
120678
+ });
120214
120679
 
120215
- this .processCanvasMutation (browser)
120216
- }
120680
+ this .processCanvasMutation (browser)
120681
+ }
120217
120682
 
120218
- processCanvasMutation (browser)
120219
- {
120220
- this .processRootElement (browser, browser .getElement () .children ("X3D") .get (-1));
120221
- }
120683
+ processCanvasMutation (browser)
120684
+ {
120685
+ this .processRootElement (browser, browser .getElement () .children ("X3D") .get (-1));
120686
+ }
120222
120687
 
120223
- async processRootElement (browser, rootElement)
120224
- {
120225
- try
120226
- {
120227
- if (rootElement === this .rootElement)
120228
- return;
120688
+ async processRootElement (browser, rootElement)
120689
+ {
120690
+ try
120691
+ {
120692
+ if (rootElement === this .rootElement)
120693
+ return;
120229
120694
 
120230
- this .rootElement = rootElement;
120695
+ this .rootElement = rootElement;
120231
120696
 
120232
- if (rootElement)
120233
- {
120234
- // Display splash screen.
120697
+ if (rootElement)
120698
+ {
120699
+ // Display splash screen.
120235
120700
 
120236
- browser .setBrowserLoading (true);
120237
- browser .addLoadingObject (this);
120701
+ browser .setBrowserLoading (true);
120702
+ browser .addLoadingObject (this);
120238
120703
 
120239
- // Now also attached node property to each node element.
120704
+ // Now also attached node property to each node element.
120240
120705
 
120241
- const scene = browser .createScene ();
120706
+ const scene = browser .createScene ();
120242
120707
 
120243
- this .parser = new Parser_XMLParser (scene);
120708
+ this .parser = new Parser_XMLParser (scene);
120244
120709
 
120245
- this .parser .setInput (rootElement);
120710
+ this .parser .setInput (rootElement);
120246
120711
 
120247
- await new Promise (this .parser .parseIntoScene .bind (this .parser));
120712
+ await new Promise (this .parser .parseIntoScene .bind (this .parser));
120248
120713
 
120249
- browser .replaceWorld (scene);
120714
+ browser .replaceWorld (scene);
120250
120715
 
120251
- // Create an observer instance.
120716
+ // Create an observer instance.
120252
120717
 
120253
- this .observer = new MutationObserver (mutations =>
120254
- {
120255
- for (const mutation of mutations)
120256
- this .processMutation (mutation);
120257
- });
120718
+ this .observer = new MutationObserver (mutations =>
120719
+ {
120720
+ for (const mutation of mutations)
120721
+ this .processMutation (mutation);
120722
+ });
120258
120723
 
120259
- // Start observing, also catches inlined Inline elements.
120724
+ // Start observing, also catches inlined Inline elements.
120260
120725
 
120261
- this .observer .observe (rootElement, {
120262
- attributes: true,
120263
- childList: true,
120264
- characterData: false,
120265
- subtree: true,
120266
- attributeOldValue: true,
120267
- });
120726
+ this .observer .observe (rootElement, {
120727
+ attributes: true,
120728
+ childList: true,
120729
+ characterData: false,
120730
+ subtree: true,
120731
+ attributeOldValue: true,
120732
+ });
120268
120733
 
120269
- // Add Inline elements from initial scene, and connect to node events.
120734
+ // Add Inline elements from initial scene, and connect to node events.
120270
120735
 
120271
- this .processInlineElements (rootElement);
120272
- this .addEventDispatchersAll (rootElement);
120736
+ this .processInlineElements (rootElement);
120737
+ this .addEventDispatchersAll (rootElement);
120273
120738
 
120274
- browser .removeLoadingObject (this);
120275
- }
120276
- else
120277
- {
120278
- browser .replaceWorld (null);
120279
- }
120280
- }
120281
- catch (error)
120282
- {
120283
- console .error ("Error importing document:", error);
120284
- }
120285
- }
120739
+ browser .removeLoadingObject (this);
120740
+ }
120741
+ else
120742
+ {
120743
+ browser .replaceWorld (null);
120744
+ }
120745
+ }
120746
+ catch (error)
120747
+ {
120748
+ console .error ("Error importing document:", error);
120749
+ }
120750
+ }
120286
120751
 
120287
- processMutation (mutation)
120288
- {
120289
- switch (mutation .type)
120290
- {
120291
- case "attributes":
120292
- {
120293
- this .processAttribute (mutation, mutation .target);
120294
- break;
120295
- }
120296
- case "childList":
120297
- {
120298
- for (const node of mutation .addedNodes)
120299
- this .processAddedNode (node);
120752
+ processMutation (mutation)
120753
+ {
120754
+ switch (mutation .type)
120755
+ {
120756
+ case "attributes":
120757
+ {
120758
+ this .processAttribute (mutation, mutation .target);
120759
+ break;
120760
+ }
120761
+ case "childList":
120762
+ {
120763
+ for (const node of mutation .addedNodes)
120764
+ this .processAddedNode (node);
120300
120765
 
120301
- for (const node of mutation .removedNodes)
120302
- this .processRemovedNode (node);
120766
+ for (const node of mutation .removedNodes)
120767
+ this .processRemovedNode (node);
120303
120768
 
120304
- break;
120305
- }
120306
- }
120307
- }
120769
+ break;
120770
+ }
120771
+ }
120772
+ }
120308
120773
 
120309
- processAttribute (mutation, element)
120310
- {
120311
- const
120312
- parser = this .parser,
120313
- node = DOMIntegration_$.data (element, "node");
120774
+ processAttribute (mutation, element)
120775
+ {
120776
+ const
120777
+ parser = this .parser,
120778
+ node = DOMIntegration_$.data (element, "node");
120314
120779
 
120315
- if (node)
120316
- {
120317
- const
120318
- attributeName = mutation .attributeName,
120319
- attribute = element .attributes .getNamedItem (attributeName);
120780
+ if (node)
120781
+ {
120782
+ const
120783
+ attributeName = mutation .attributeName,
120784
+ attribute = element .attributes .getNamedItem (attributeName);
120320
120785
 
120321
- parser .nodeAttribute (attribute, node);
120322
- }
120323
- else
120324
- {
120325
- // Is an attribute of non-node child such as fieldValue (or ROUTE).
120786
+ parser .nodeAttribute (attribute, node);
120787
+ }
120788
+ else
120789
+ {
120790
+ // Is an attribute of non-node child such as fieldValue (or ROUTE).
120326
120791
 
120327
- const
120328
- parentNode = element .parentNode,
120329
- node = DOMIntegration_$.data (parentNode, "node");
120792
+ const
120793
+ parentNode = element .parentNode,
120794
+ node = DOMIntegration_$.data (parentNode, "node");
120330
120795
 
120331
- if (node)
120332
- {
120333
- parser .pushExecutionContext (node .getExecutionContext ());
120334
- parser .pushParent (node);
120335
- parser .childElement (element);
120336
- parser .popParent ();
120337
- parser .popExecutionContext ();
120338
- }
120339
- }
120340
- }
120796
+ if (node)
120797
+ {
120798
+ parser .pushExecutionContext (node .getExecutionContext ());
120799
+ parser .pushParent (node);
120800
+ parser .childElement (element);
120801
+ parser .popParent ();
120802
+ parser .popExecutionContext ();
120803
+ }
120804
+ }
120805
+ }
120341
120806
 
120342
- processAddedNode (element)
120343
- {
120344
- // Only process element nodes.
120807
+ processAddedNode (element)
120808
+ {
120809
+ // Only process element nodes.
120345
120810
 
120346
- if (element .nodeType !== Node .ELEMENT_NODE)
120347
- return;
120811
+ if (element .nodeType !== Node .ELEMENT_NODE)
120812
+ return;
120348
120813
 
120349
- if (element .nodeName === "X3D")
120350
- return;
120814
+ if (element .nodeName === "X3D")
120815
+ return;
120351
120816
 
120352
- if (DOMIntegration_$.data (element, "node"))
120353
- return;
120817
+ if (DOMIntegration_$.data (element, "node"))
120818
+ return;
120354
120819
 
120355
- const
120356
- parentNode = element .parentNode,
120357
- parser = this .parser;
120820
+ const
120821
+ parentNode = element .parentNode,
120822
+ parser = this .parser;
120358
120823
 
120359
- if (parentNode .nodeName .match (/^(?:Scene|SCENE)$/))
120360
- {
120361
- // Root scene or Inline scene.
120824
+ if (parentNode .nodeName .match (/^(?:Scene|SCENE)$/))
120825
+ {
120826
+ // Root scene or Inline scene.
120362
120827
 
120363
- const scene = DOMIntegration_$.data (parentNode, "node");
120828
+ const scene = DOMIntegration_$.data (parentNode, "node");
120364
120829
 
120365
- parser .pushExecutionContext (scene);
120366
- parser .childElement (element);
120367
- parser .popExecutionContext ();
120368
- }
120369
- else if (DOMIntegration_$.data (parentNode, "node"))
120370
- {
120371
- // Use parent's scene if non-root, works for Inline.
120372
-
120373
- const
120374
- node = DOMIntegration_$.data (parentNode, "node"),
120375
- executionContext = node .getExecutionContext ();
120376
-
120377
- parser .pushExecutionContext (executionContext);
120378
- parser .pushParent (node);
120379
- parser .childElement (element);
120380
- parser .popParent ();
120381
- parser .popExecutionContext ();
120382
- }
120383
- else
120384
- {
120385
- const scene = this .browser .currentScene;
120830
+ parser .pushExecutionContext (scene);
120831
+ parser .childElement (element);
120832
+ parser .popExecutionContext ();
120833
+ }
120834
+ else if (DOMIntegration_$.data (parentNode, "node"))
120835
+ {
120836
+ // Use parent's scene if non-root, works for Inline.
120386
120837
 
120387
- parser .pushExecutionContext (scene);
120388
- parser .childElement (element);
120389
- parser .popExecutionContext ();
120390
- }
120838
+ const
120839
+ node = DOMIntegration_$.data (parentNode, "node"),
120840
+ executionContext = node .getExecutionContext ();
120391
120841
 
120392
- // Now after creating nodes need to look again for Inline elements.
120842
+ parser .pushExecutionContext (executionContext);
120843
+ parser .pushParent (node);
120844
+ parser .childElement (element);
120845
+ parser .popParent ();
120846
+ parser .popExecutionContext ();
120847
+ }
120848
+ else
120849
+ {
120850
+ const scene = this .browser .currentScene;
120393
120851
 
120394
- this .processInlineElements (element);
120852
+ parser .pushExecutionContext (scene);
120853
+ parser .childElement (element);
120854
+ parser .popExecutionContext ();
120855
+ }
120395
120856
 
120396
- // Then attach event dispatchers.
120857
+ // Now after creating nodes need to look again for Inline elements.
120397
120858
 
120398
- this .addEventDispatchers (element);
120399
- this .addEventDispatchersAll (element);
120400
- }
120859
+ this .processInlineElements (element);
120401
120860
 
120402
- processRemovedNode (element)
120403
- {
120404
- // Works also for root nodes, as it has to be, since scene .rootNodes is effectively a MFNode in x-ite.
120405
- // Also removes ROUTE elements.
120861
+ // Then attach event dispatchers.
120406
120862
 
120407
- const node = DOMIntegration_$.data (element, "node");
120863
+ this .addEventDispatchers (element);
120864
+ this .addEventDispatchersAll (element);
120865
+ }
120408
120866
 
120409
- if (!node)
120410
- return;
120867
+ processRemovedNode (element)
120868
+ {
120869
+ // Works also for root nodes, as it has to be, since scene .rootNodes is effectively a MFNode in x-ite.
120870
+ // Also removes ROUTE elements.
120411
120871
 
120412
- node .dispose ();
120872
+ const node = DOMIntegration_$.data (element, "node");
120413
120873
 
120414
- DOMIntegration_$.data (element, "node", null);
120415
- }
120874
+ if (!node)
120875
+ return;
120416
120876
 
120417
- processInlineElements (element)
120418
- {
120419
- if (element .nodeName .match (/^(?:Inline|INLINE)$/))
120420
- this .processInlineElement (element);
120877
+ node .dispose ();
120421
120878
 
120422
- for (const inlineElement of element .querySelectorAll ("Inline"))
120423
- this .processInlineElement (inlineElement);
120424
- }
120879
+ DOMIntegration_$.data (element, "node", null);
120880
+ }
120425
120881
 
120426
- processInlineElement (element)
120427
- {
120428
- const node = DOMIntegration_$.data (element, "node");
120882
+ processInlineElements (element)
120883
+ {
120884
+ if (element .nodeName .match (/^(?:Inline|INLINE)$/))
120885
+ this .processInlineElement (element);
120429
120886
 
120430
- if (!node)
120431
- return;
120887
+ for (const inlineElement of element .querySelectorAll ("Inline"))
120888
+ this .processInlineElement (inlineElement);
120889
+ }
120432
120890
 
120433
- node ._loadState .addInterest ("appendInlineChildElement", this, element);
120891
+ processInlineElement (element)
120892
+ {
120893
+ const node = DOMIntegration_$.data (element, "node");
120434
120894
 
120435
- this .appendInlineChildElement (element);
120436
- }
120895
+ if (!node)
120896
+ return;
120437
120897
 
120438
- appendInlineChildElement (element)
120439
- {
120440
- const node = DOMIntegration_$.data (element, "node");
120898
+ node ._loadState .addInterest ("appendInlineChildElement", this, element);
120441
120899
 
120442
- switch (node .checkLoadState ())
120443
- {
120444
- case Base_X3DConstants .NOT_STARTED_STATE:
120445
- case Base_X3DConstants .FAILED_STATE:
120446
- {
120447
- // Remove all child nodes.
120900
+ this .appendInlineChildElement (element);
120901
+ }
120448
120902
 
120449
- while (element .firstChild)
120450
- element .removeChild (element .lastChild);
120903
+ appendInlineChildElement (element)
120904
+ {
120905
+ const node = DOMIntegration_$.data (element, "node");
120451
120906
 
120452
- break;
120453
- }
120454
- case Base_X3DConstants .COMPLETE_STATE:
120455
- {
120456
- // Remove all child nodes.
120907
+ switch (node .checkLoadState ())
120908
+ {
120909
+ case Base_X3DConstants .NOT_STARTED_STATE:
120910
+ case Base_X3DConstants .FAILED_STATE:
120911
+ {
120912
+ // Remove all child nodes.
120457
120913
 
120458
- while (element .firstChild)
120459
- element .removeChild (element .lastChild);
120914
+ while (element .firstChild)
120915
+ element .removeChild (element .lastChild);
120460
120916
 
120461
- // Add scene as child node of Inline element.
120917
+ break;
120918
+ }
120919
+ case Base_X3DConstants .COMPLETE_STATE:
120920
+ {
120921
+ // Remove all child nodes.
120462
120922
 
120463
- const X3DElement = DOMIntegration_$.data (node .getInternalScene (), "X3D");
120923
+ while (element .firstChild)
120924
+ element .removeChild (element .lastChild);
120464
120925
 
120465
- if (X3DElement)
120466
- element .appendChild (X3DElement);
120926
+ // Add scene as child node of Inline element.
120467
120927
 
120468
- // Add Inline elements, and connect to node events.
120928
+ const X3DElement = DOMIntegration_$.data (node .getInternalScene (), "X3D");
120469
120929
 
120470
- this .processInlineElements (X3DElement);
120471
- this .addEventDispatchersAll (X3DElement);
120930
+ if (X3DElement)
120931
+ element .appendChild (X3DElement);
120472
120932
 
120473
- break;
120474
- }
120475
- }
120933
+ // Add Inline elements, and connect to node events.
120476
120934
 
120477
- switch (node .checkLoadState ())
120478
- {
120479
- case Base_X3DConstants .COMPLETE_STATE:
120480
- {
120481
- const event = new CustomEvent ("load",
120482
- {
120483
- detail: { node: Fields_SFNodeCache .get (node) },
120484
- });
120935
+ this .processInlineElements (X3DElement);
120936
+ this .addEventDispatchersAll (X3DElement);
120485
120937
 
120486
- element .dispatchEvent (event);
120487
- break;
120488
- }
120489
- case Base_X3DConstants .FAILED_STATE:
120490
- {
120491
- const event = new CustomEvent ("error",
120492
- {
120493
- detail: { node: Fields_SFNodeCache .get (node) },
120494
- });
120938
+ break;
120939
+ }
120940
+ }
120495
120941
 
120496
- element .dispatchEvent (event);
120497
- break;
120498
- }
120499
- }
120500
- }
120942
+ switch (node .checkLoadState ())
120943
+ {
120944
+ case Base_X3DConstants .COMPLETE_STATE:
120945
+ {
120946
+ const event = new CustomEvent ("load",
120947
+ {
120948
+ detail: { node: Fields_SFNodeCache .get (node) },
120949
+ });
120501
120950
 
120502
- addEventDispatchersAll (element)
120503
- {
120504
- const childElements = element .querySelectorAll ("*");
120951
+ element .dispatchEvent (event);
120952
+ break;
120953
+ }
120954
+ case Base_X3DConstants .FAILED_STATE:
120955
+ {
120956
+ const event = new CustomEvent ("error",
120957
+ {
120958
+ detail: { node: Fields_SFNodeCache .get (node) },
120959
+ });
120505
120960
 
120506
- for (const childElement of childElements)
120507
- this .addEventDispatchers (childElement);
120508
- }
120961
+ element .dispatchEvent (event);
120962
+ break;
120963
+ }
120964
+ }
120965
+ }
120509
120966
 
120510
- addEventDispatchers (element)
120511
- {
120512
- // Check for USE nodes; they do not emit events.
120967
+ addEventDispatchersAll (element)
120968
+ {
120969
+ const childElements = element .querySelectorAll ("*");
120513
120970
 
120514
- if (element .nodeName === "ROUTE")
120515
- return;
120971
+ for (const childElement of childElements)
120972
+ this .addEventDispatchers (childElement);
120973
+ }
120516
120974
 
120517
- const node = DOMIntegration_$.data (element, "node");
120975
+ addEventDispatchers (element)
120976
+ {
120977
+ // Check for USE nodes; they do not emit events.
120518
120978
 
120519
- if (!node)
120520
- return;
120979
+ if (element .nodeName === "ROUTE")
120980
+ return;
120521
120981
 
120522
- for (const field of node .getPredefinedFields ())
120523
- this .bindFieldCallback (field, element);
120982
+ const node = DOMIntegration_$.data (element, "node");
120524
120983
 
120525
- for (const field of node .getUserDefinedFields ())
120526
- this .bindFieldCallback (field, element);
120527
- }
120984
+ if (!node)
120985
+ return;
120528
120986
 
120529
- bindFieldCallback (field, element)
120530
- {
120531
- if (!field .isOutput ())
120532
- return;
120987
+ for (const field of node .getPredefinedFields ())
120988
+ this .bindFieldCallback (field, element);
120533
120989
 
120534
- field .addInterest ("fieldCallback", this, element);
120535
- }
120990
+ for (const field of node .getUserDefinedFields ())
120991
+ this .bindFieldCallback (field, element);
120992
+ }
120536
120993
 
120537
- fieldCallback (element, field)
120538
- {
120539
- const node = DOMIntegration_$.data (element, "node");
120994
+ bindFieldCallback (field, element)
120995
+ {
120996
+ if (!field .isOutput ())
120997
+ return;
120540
120998
 
120541
- if (!node)
120542
- return;
120999
+ field .addInterest ("fieldCallback", this, element);
121000
+ }
120543
121001
 
120544
- const event = new CustomEvent (field .getName (),
120545
- {
120546
- detail: {
120547
- node: Fields_SFNodeCache .get (node),
120548
- value: field .valueOf (),
120549
- },
120550
- });
121002
+ fieldCallback (element, field)
121003
+ {
121004
+ const node = DOMIntegration_$.data (element, "node");
120551
121005
 
120552
- element .dispatchEvent (event);
120553
- }
121006
+ if (!node)
121007
+ return;
121008
+
121009
+ const event = new CustomEvent (field .getName (),
121010
+ {
121011
+ detail: {
121012
+ node: Fields_SFNodeCache .get (node),
121013
+ value: field .valueOf (),
121014
+ },
121015
+ });
121016
+
121017
+ element .dispatchEvent (event);
121018
+ }
120554
121019
  };
120555
121020
 
120556
121021
  const DOMIntegration_default_ = DOMIntegration;
@@ -121301,7 +121766,7 @@ const SupportedProfiles_default_ = SupportedProfiles;
121301
121766
  x_ite_Namespace .add ("SupportedProfiles", "x_ite/Configuration/SupportedProfiles", SupportedProfiles_default_);
121302
121767
  /* harmony default export */ const Configuration_SupportedProfiles = (SupportedProfiles_default_);
121303
121768
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/X3DBrowser.js
121304
- /* provided dependency */ var X3DBrowser_$ = __webpack_require__(52);
121769
+ /* provided dependency */ var X3DBrowser_$ = __webpack_require__(37);
121305
121770
  /*******************************************************************************
121306
121771
  *
121307
121772
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -122392,7 +122857,7 @@ const X3DBrowser_default_ = X3DBrowser;
122392
122857
  x_ite_Namespace .add ("X3DBrowser", "x_ite/Browser/X3DBrowser", X3DBrowser_default_);
122393
122858
  /* harmony default export */ const Browser_X3DBrowser = (X3DBrowser_default_);
122394
122859
  ;// CONCATENATED MODULE: ./src/x_ite/X3DCanvasElement.js
122395
- /* provided dependency */ var X3DCanvasElement_$ = __webpack_require__(52);
122860
+ /* provided dependency */ var X3DCanvasElement_$ = __webpack_require__(37);
122396
122861
  /*******************************************************************************
122397
122862
  *
122398
122863
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -122529,8 +122994,8 @@ const X3DCanvasElement_default_ = X3DCanvasElement;
122529
122994
  x_ite_Namespace .add ("X3DCanvasElement", "x_ite/X3DCanvasElement", X3DCanvasElement_default_);
122530
122995
  /* harmony default export */ const x_ite_X3DCanvasElement = (X3DCanvasElement_default_);
122531
122996
  ;// CONCATENATED MODULE: ./src/lib/jquery.js
122532
- /* provided dependency */ var jquery_$ = __webpack_require__(52);
122533
- /* provided dependency */ var pako = __webpack_require__(776);
122997
+ /* provided dependency */ var jquery_$ = __webpack_require__(37);
122998
+ /* provided dependency */ var pako = __webpack_require__(465);
122534
122999
  Object .assign (jquery_$,
122535
123000
  {
122536
123001
  decodeText (input)
@@ -122607,14 +123072,14 @@ const jquery_default_ = jquery_$;
122607
123072
  x_ite_Namespace .add ("jquery", "lib/jquery", jquery_default_);
122608
123073
  /* harmony default export */ const jquery = ((/* unused pure expression or super */ null && (jquery_default_)));
122609
123074
  ;// CONCATENATED MODULE: ./src/lib/libtess.js
122610
- /* provided dependency */ var libtess_libtess = __webpack_require__(177);
123075
+ /* provided dependency */ var libtess_libtess = __webpack_require__(214);
122611
123076
  const libtess_default_ = libtess_libtess;
122612
123077
  ;
122613
123078
 
122614
123079
  x_ite_Namespace .add ("libtess", "lib/libtess", libtess_default_);
122615
123080
  /* harmony default export */ const lib_libtess = ((/* unused pure expression or super */ null && (libtess_default_)));
122616
123081
  ;// CONCATENATED MODULE: ./src/x_ite/X3D.js
122617
- /* provided dependency */ var X3D_$ = __webpack_require__(52);
123082
+ /* provided dependency */ var X3D_$ = __webpack_require__(37);
122618
123083
  /*******************************************************************************
122619
123084
  *
122620
123085
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -122922,7 +123387,7 @@ Object .assign (X3D,
122922
123387
 
122923
123388
  // Assign X3D to global namespace.
122924
123389
 
122925
- window [Symbol .for ("X_ITE.X3D-9.3.0")] = x_ite_X3D;
123390
+ window [Symbol .for ("X_ITE.X3D-9.3.1")] = x_ite_X3D;
122926
123391
 
122927
123392
  customElements .define ("x3d-canvas", x_ite_X3DCanvasElement);
122928
123393