x_ite 9.1.11 → 9.2.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 (48) hide show
  1. package/dist/assets/components/Annotation.js +13 -13
  2. package/dist/assets/components/Annotation.min.js +1 -1
  3. package/dist/assets/components/CADGeometry.js +14 -14
  4. package/dist/assets/components/CADGeometry.min.js +1 -1
  5. package/dist/assets/components/CubeMapTexturing.js +25 -25
  6. package/dist/assets/components/CubeMapTexturing.min.js +1 -1
  7. package/dist/assets/components/DIS.js +13 -13
  8. package/dist/assets/components/DIS.min.js +1 -1
  9. package/dist/assets/components/EventUtilities.js +9 -9
  10. package/dist/assets/components/EventUtilities.min.js +1 -1
  11. package/dist/assets/components/Geometry2D.js +19 -19
  12. package/dist/assets/components/Geometry2D.min.js +1 -1
  13. package/dist/assets/components/Geospatial.js +33 -33
  14. package/dist/assets/components/Geospatial.min.js +1 -1
  15. package/dist/assets/components/HAnim.js +23 -23
  16. package/dist/assets/components/HAnim.min.js +1 -1
  17. package/dist/assets/components/KeyDeviceSensor.js +8 -8
  18. package/dist/assets/components/KeyDeviceSensor.min.js +1 -1
  19. package/dist/assets/components/Layout.js +27 -27
  20. package/dist/assets/components/Layout.min.js +1 -1
  21. package/dist/assets/components/NURBS.js +23 -23
  22. package/dist/assets/components/NURBS.min.js +1 -1
  23. package/dist/assets/components/ParticleSystems.js +23 -23
  24. package/dist/assets/components/ParticleSystems.min.js +1 -1
  25. package/dist/assets/components/Picking.js +18 -18
  26. package/dist/assets/components/Picking.min.js +1 -1
  27. package/dist/assets/components/RigidBodyPhysics.js +17 -17
  28. package/dist/assets/components/RigidBodyPhysics.min.js +1 -1
  29. package/dist/assets/components/Scripting.js +38 -38
  30. package/dist/assets/components/Scripting.min.js +1 -1
  31. package/dist/assets/components/Text.js +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/x_ite.css +1 -1
  42. package/dist/x_ite.d.ts +8 -0
  43. package/dist/x_ite.js +624 -885
  44. package/dist/x_ite.min.js +1 -1
  45. package/dist/x_ite.min.mjs +1 -1
  46. package/dist/x_ite.mjs +624 -885
  47. package/dist/x_ite.zip +0 -0
  48. package/package.json +3 -3
package/dist/x_ite.js CHANGED
@@ -1,4 +1,4 @@
1
- /* X_ITE v9.1.11 */(function webpackUniversalModuleDefinition(root, factory) {
1
+ /* X_ITE v9.2.1 */(function webpackUniversalModuleDefinition(root, factory) {
2
2
  if(typeof exports === 'object' && typeof module === 'object')
3
3
  module.exports = factory();
4
4
  else if(typeof define === 'function' && define.amd)
@@ -11,10 +11,10 @@
11
11
  return /******/ (() => { // webpackBootstrap
12
12
  /******/ var __webpack_modules__ = ({
13
13
 
14
- /***/ 561:
14
+ /***/ 864:
15
15
  /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
16
16
 
17
- /* provided dependency */ var jQuery = __webpack_require__(831);
17
+ /* provided dependency */ var jQuery = __webpack_require__(548);
18
18
  /**
19
19
  * @preserve jquery.fullscreen 1.1.5
20
20
  * https://github.com/code-lts/jquery-fullscreen-plugin
@@ -210,7 +210,7 @@ installFullScreenHandlers();
210
210
 
211
211
  /***/ }),
212
212
 
213
- /***/ 471:
213
+ /***/ 642:
214
214
  /***/ ((module, exports, __webpack_require__) => {
215
215
 
216
216
  var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
@@ -224,7 +224,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
224
224
  (function (factory) {
225
225
  if ( true ) {
226
226
  // AMD. Register as an anonymous module.
227
- !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(831)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
227
+ !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(548)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
228
228
  __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
229
229
  (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
230
230
  __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
@@ -435,7 +435,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
435
435
 
436
436
  /***/ }),
437
437
 
438
- /***/ 831:
438
+ /***/ 548:
439
439
  /***/ (function(module, exports) {
440
440
 
441
441
  var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
@@ -11159,7 +11159,7 @@ return jQuery;
11159
11159
 
11160
11160
  /***/ }),
11161
11161
 
11162
- /***/ 864:
11162
+ /***/ 527:
11163
11163
  /***/ ((module) => {
11164
11164
 
11165
11165
  /**
@@ -15938,7 +15938,7 @@ if (true) {
15938
15938
 
15939
15939
  /***/ }),
15940
15940
 
15941
- /***/ 295:
15941
+ /***/ 63:
15942
15942
  /***/ (function(__unused_webpack_module, exports) {
15943
15943
 
15944
15944
 
@@ -19183,7 +19183,7 @@ if (true) {
19183
19183
 
19184
19184
  /***/ }),
19185
19185
 
19186
- /***/ 698:
19186
+ /***/ 258:
19187
19187
  /***/ (function(module, exports) {
19188
19188
 
19189
19189
  var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*
@@ -20311,7 +20311,7 @@ Object .defineProperty (Namespace, "add",
20311
20311
  }
20312
20312
  else
20313
20313
  {
20314
- const X3D = window [Symbol .for ("X_ITE.X3D-9.1.11")];
20314
+ const X3D = window [Symbol .for ("X_ITE.X3D-9.2.1")];
20315
20315
 
20316
20316
  if (X3D)
20317
20317
  X3D [name] = module;
@@ -20909,7 +20909,6 @@ function Generator ({ style = "TIDY", indent = "", precision = 7, doublePrecisio
20909
20909
  this .nodes = new Set ();
20910
20910
  this .names = new Map ();
20911
20911
  this .namesByNode = new Map ();
20912
- this .importedNames = new Map ();
20913
20912
  this .routeNodes = new Set ();
20914
20913
  this .level = 0;
20915
20914
  this .containerFields = [ ];
@@ -21117,9 +21116,8 @@ Object .assign (Generator .prototype,
21117
21116
 
21118
21117
  if (this .level === 0)
21119
21118
  {
21120
- this .nodes .clear ();
21121
- this .namesByNode .clear ();
21122
- this .importedNames .clear ();
21119
+ this .nodes .clear ();
21120
+ this .namesByNode .clear ();
21123
21121
  }
21124
21122
  },
21125
21123
  NamedNodes (namedNodes)
@@ -21158,17 +21156,13 @@ Object .assign (Generator .prototype,
21158
21156
  { }
21159
21157
  }
21160
21158
  },
21161
- AddImportedNode (exportedNode, importedName)
21162
- {
21163
- this .importedNames .set (exportedNode, importedName);
21164
- },
21165
21159
  AddRouteNode (routeNode)
21166
21160
  {
21167
21161
  this .routeNodes .add (routeNode);
21168
21162
  },
21169
21163
  ExistsRouteNode (routeNode)
21170
21164
  {
21171
- return this .namesByNode .get (routeNode) || this .routeNodes .has (routeNode);
21165
+ return this .namesByNode .has (routeNode) || this .routeNodes .has (routeNode);
21172
21166
  },
21173
21167
  IsSharedNode (baseNode)
21174
21168
  {
@@ -21245,18 +21239,6 @@ Object .assign (Generator .prototype,
21245
21239
 
21246
21240
  return newName;
21247
21241
  },
21248
- LocalName (baseNode)
21249
- {
21250
- const importedName = this .importedNames .get (baseNode);
21251
-
21252
- if (importedName !== undefined)
21253
- return importedName;
21254
-
21255
- if (this .ExistsNode (baseNode))
21256
- return this .Name (baseNode);
21257
-
21258
- throw new Error (`Couldn't get local name for node '${baseNode .getTypeName ()}'.`);
21259
- },
21260
21242
  PushContainerField (field)
21261
21243
  {
21262
21244
  this .containerFields .push (field);
@@ -21462,7 +21444,7 @@ const MapUtilities =
21462
21444
  {
21463
21445
  assign: (() =>
21464
21446
  {
21465
- function callback (value, key)
21447
+ function set (value, key)
21466
21448
  {
21467
21449
  this .set (key, value);
21468
21450
  }
@@ -21470,25 +21452,36 @@ const MapUtilities =
21470
21452
  return function (m1, m2)
21471
21453
  {
21472
21454
  m1 .clear ();
21473
- m2 .forEach (callback, m1);
21455
+ m2 .forEach (set, m1);
21474
21456
 
21475
21457
  return m1;
21476
21458
  };
21477
21459
  })(),
21478
21460
  values: (() =>
21479
21461
  {
21480
- function callback (value)
21481
- {
21482
- this .push (value);
21483
- }
21462
+ function push (value) { this .push (value); }
21484
21463
 
21485
- return function (a, m)
21464
+ const values = new WeakMap ();
21465
+
21466
+ return function (m)
21486
21467
  {
21487
- a .length = 0;
21468
+ if (m .size)
21469
+ {
21470
+ let a = values .get (m);
21471
+
21472
+ if (a)
21473
+ a .length = 0;
21474
+ else
21475
+ values .set (m, a = [ ]);
21488
21476
 
21489
- m .forEach (callback, a);
21477
+ m .forEach (push, a);
21490
21478
 
21491
- return a;
21479
+ return a;
21480
+ }
21481
+ else
21482
+ {
21483
+ return m .values ();
21484
+ }
21492
21485
  };
21493
21486
  })(),
21494
21487
  };
@@ -21617,7 +21610,6 @@ Object .assign (X3DObject .prototype,
21617
21610
  {
21618
21611
  [_name]: "",
21619
21612
  [_interests]: new Map (),
21620
- [_values]: [ ],
21621
21613
  [_userData]: new Map (),
21622
21614
  getId ()
21623
21615
  {
@@ -21646,10 +21638,7 @@ Object .assign (X3DObject .prototype,
21646
21638
  addInterest (callbackName, object, ... args)
21647
21639
  {
21648
21640
  if (this [_interests] === X3DObject .prototype [_interests])
21649
- {
21650
21641
  this [_interests] = new Map ();
21651
- this [_values] = [ ];
21652
- }
21653
21642
 
21654
21643
  const
21655
21644
  interestId = X3DObject .getInterestId (callbackName, object),
@@ -21667,11 +21656,8 @@ Object .assign (X3DObject .prototype,
21667
21656
  },
21668
21657
  processInterests ()
21669
21658
  {
21670
- if (this [_interests] .size)
21671
- {
21672
- for (const interest of Utility_MapUtilities .values (this [_values], this [_interests]))
21673
- interest ();
21674
- }
21659
+ for (const interest of Utility_MapUtilities .values (this [_interests]))
21660
+ interest ();
21675
21661
  },
21676
21662
  getUserData (key)
21677
21663
  {
@@ -22999,19 +22985,11 @@ Object .assign (Object .setPrototypeOf (X3DField .prototype, Base_X3DChildObject
22999
22985
  {
23000
22986
  return this [_referencesCallbacks];
23001
22987
  },
23002
- processReferencesCallbacks: (() =>
22988
+ processReferencesCallbacks ()
23003
22989
  {
23004
- const referencesCallbacksTemp = [ ];
23005
-
23006
- return function ()
23007
- {
23008
- if (this [_referencesCallbacks] .size)
23009
- {
23010
- for (const callback of Utility_MapUtilities .values (referencesCallbacksTemp, this [_referencesCallbacks]))
23011
- callback ();
23012
- }
23013
- };
23014
- })(),
22990
+ for (const callback of Utility_MapUtilities .values (this [_referencesCallbacks]))
22991
+ callback ();
22992
+ },
23015
22993
  addFieldInterest (field)
23016
22994
  {
23017
22995
  if (this [_fieldInterests] === X3DField .prototype [_fieldInterests])
@@ -23097,70 +23075,54 @@ Object .assign (Object .setPrototypeOf (X3DField .prototype, Base_X3DChildObject
23097
23075
  {
23098
23076
  return this [_routeCallbacks];
23099
23077
  },
23100
- processRouteCallbacks: (() =>
23078
+ processRouteCallbacks ()
23101
23079
  {
23102
- const routeCallbacksTemp = [ ];
23103
-
23104
- return function ()
23105
- {
23106
- if (this [_routeCallbacks] .size)
23107
- {
23108
- for (const callback of Utility_MapUtilities .values (routeCallbacksTemp, this [_routeCallbacks]))
23109
- callback ();
23110
- }
23111
- };
23112
- })(),
23113
- processEvent: (() =>
23080
+ for (const callback of Utility_MapUtilities .values (this [_routeCallbacks]))
23081
+ callback ();
23082
+ },
23083
+ processEvent (event = Base_Events .create (this))
23114
23084
  {
23115
- const fieldCallbacksTemp = [ ];
23116
-
23117
- return function (event = Base_Events .create (this))
23118
- {
23119
- if (event .has (this))
23120
- return;
23085
+ if (event .has (this))
23086
+ return;
23121
23087
 
23122
- event .add (this);
23088
+ event .add (this);
23123
23089
 
23124
- this .setTainted (false);
23090
+ this .setTainted (false);
23125
23091
 
23126
- const field = event .field;
23092
+ const field = event .field;
23127
23093
 
23128
- if (field !== this)
23129
- this .set (field .getValue (), field .length);
23094
+ if (field !== this)
23095
+ this .set (field .getValue (), field .length);
23130
23096
 
23131
- // Process interests.
23097
+ // Process interests.
23132
23098
 
23133
- this .processInterests ();
23099
+ this .processInterests ();
23134
23100
 
23135
- // Process routes.
23101
+ // Process routes.
23136
23102
 
23137
- let first = true;
23103
+ let first = true;
23138
23104
 
23139
- for (const field of this [_fieldInterests])
23105
+ for (const field of this [_fieldInterests])
23106
+ {
23107
+ if (first)
23140
23108
  {
23141
- if (first)
23142
- {
23143
- first = false;
23144
- field .addEventObject (this, event);
23145
- }
23146
- else
23147
- {
23148
- field .addEventObject (this, Base_Events .copy (event));
23149
- }
23109
+ first = false;
23110
+ field .addEventObject (this, event);
23150
23111
  }
23112
+ else
23113
+ {
23114
+ field .addEventObject (this, Base_Events .copy (event));
23115
+ }
23116
+ }
23151
23117
 
23152
- if (first)
23153
- Base_Events .push (event);
23118
+ if (first)
23119
+ Base_Events .push (event);
23154
23120
 
23155
- // Process field callbacks.
23121
+ // Process field callbacks.
23156
23122
 
23157
- if (this [_fieldCallbacks] .size)
23158
- {
23159
- for (const callback of Utility_MapUtilities .values (fieldCallbacksTemp, this [_fieldCallbacks]))
23160
- callback (this .valueOf ());
23161
- }
23162
- };
23163
- })(),
23123
+ for (const callback of Utility_MapUtilities .values (this [_fieldCallbacks]))
23124
+ callback (this .valueOf ());
23125
+ },
23164
23126
  fromString (string, scene)
23165
23127
  {
23166
23128
  // Function will be overridden in VRMLParser.
@@ -34191,9 +34153,9 @@ Object .assign (Object .setPrototypeOf (X3DBaseNode .prototype, Base_X3DChildObj
34191
34153
  return true;
34192
34154
  }
34193
34155
 
34194
- for (const importedNode of this [_executionContext] .getImportedNodes ())
34156
+ for (const route of this [_executionContext] .getRoutes ())
34195
34157
  {
34196
- if (importedNode .hasRoutes (this))
34158
+ if (route .getSourceNode () === this || route .getDestinationNode () === this)
34197
34159
  return true;
34198
34160
  }
34199
34161
 
@@ -34343,7 +34305,7 @@ const X3DBaseNode_default_ = X3DBaseNode;
34343
34305
  x_ite_Namespace .add ("X3DBaseNode", "x_ite/Base/X3DBaseNode", X3DBaseNode_default_);
34344
34306
  /* harmony default export */ const Base_X3DBaseNode = (X3DBaseNode_default_);
34345
34307
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Legacy.js
34346
- /* provided dependency */ var $ = __webpack_require__(831);
34308
+ /* provided dependency */ var $ = __webpack_require__(548);
34347
34309
  /*******************************************************************************
34348
34310
  *
34349
34311
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -34480,7 +34442,7 @@ x_ite_Namespace .add ("Legacy", "x_ite/Browser/Legacy", Legacy_default_);
34480
34442
  *
34481
34443
  ******************************************************************************/
34482
34444
 
34483
- const BROWSER_VERSION_default_ = "9.1.11";
34445
+ const BROWSER_VERSION_default_ = "9.2.1";
34484
34446
  ;
34485
34447
 
34486
34448
  x_ite_Namespace .add ("BROWSER_VERSION", "x_ite/BROWSER_VERSION", BROWSER_VERSION_default_);
@@ -37316,9 +37278,6 @@ function X3DImportedNode (executionContext, inlineNode, exportedName, importedNa
37316
37278
  this [_inlineNode] = inlineNode;
37317
37279
  this [_exportedName] = exportedName;
37318
37280
  this [_importedName] = importedName;
37319
- this [_routes] = [ ];
37320
-
37321
- this .getInlineNode () ._loadState .addInterest ("set_loadState__", this);
37322
37281
  }
37323
37282
 
37324
37283
  Object .assign (Object .setPrototypeOf (X3DImportedNode .prototype, Base_X3DObject .prototype),
@@ -37343,423 +37302,149 @@ Object .assign (Object .setPrototypeOf (X3DImportedNode .prototype, Base_X3DObje
37343
37302
  {
37344
37303
  return this [_importedName];
37345
37304
  },
37346
- hasRoutes (baseNode)
37347
- {
37348
- return this [_routes]
37349
- .some (route => route .sourceNode === baseNode || route .destinationNode === baseNode)
37350
- },
37351
- addRoute (sourceNode, sourceField, destinationNode, destinationField)
37352
- {
37353
- // Add route.
37354
-
37355
- const route = {
37356
- sourceNode,
37357
- sourceField,
37358
- destinationNode,
37359
- destinationField,
37360
- };
37361
-
37362
- this [_routes] .push (route);
37363
-
37364
- // Try to resolve source or destination node routes.
37365
-
37366
- if (this .getInlineNode () .checkLoadState () === Base_X3DConstants .COMPLETE_STATE)
37367
- this .resolveRoute (route);
37368
- },
37369
- resolveRoute (route)
37305
+ toVRMLStream (generator)
37370
37306
  {
37371
- try
37372
- {
37373
- const { sourceField, destinationField } = route;
37374
-
37375
- let { sourceNode, destinationNode } = route;
37307
+ if (!generator .ExistsNode (this .getInlineNode ()))
37308
+ throw new Error ("X3DImportedNode.toVRMLStream: Inline node does not exist.");
37376
37309
 
37377
- route [_real] ?.dispose ();
37310
+ generator .AddRouteNode (this);
37378
37311
 
37379
- if (sourceNode instanceof X3DImportedNode)
37380
- sourceNode = sourceNode .getExportedNode ();
37312
+ const importedName = generator .ImportedName (this .getImportedName ());
37381
37313
 
37382
- if (destinationNode instanceof X3DImportedNode)
37383
- destinationNode = destinationNode .getExportedNode ();
37314
+ generator .string += generator .Indent ();
37315
+ generator .string += "IMPORT";
37316
+ generator .string += generator .Space ();
37317
+ generator .string += generator .Name (this .getInlineNode ());
37318
+ generator .string += ".";
37319
+ generator .string += this .getExportedName ();
37384
37320
 
37385
- route [_real] = this .getExecutionContext () .addSimpleRoute (sourceNode, sourceField, destinationNode, destinationField);
37386
- }
37387
- catch (error)
37321
+ if (importedName !== this .getExportedName ())
37388
37322
  {
37389
- console .error (error .message);
37323
+ generator .string += generator .Space ();
37324
+ generator .string += "AS";
37325
+ generator .string += generator .Space ();
37326
+ generator .string += importedName;
37390
37327
  }
37391
37328
  },
37392
- deleteRoute (real)
37393
- {
37394
- this [_routes] = this [_routes] .filter (route => route [_real] !== real);
37395
- },
37396
- deleteRealRoutes ()
37329
+ toXMLStream (generator)
37397
37330
  {
37398
- for (const route of this [_routes])
37399
- {
37400
- const real = route [_real]
37401
-
37402
- if (!real)
37403
- continue;
37331
+ if (!generator .ExistsNode (this .getInlineNode ()))
37332
+ throw new Error ("X3DImportedNode.toXMLStream: Inline node does not exist.");
37404
37333
 
37405
- delete route [_real];
37334
+ generator .AddRouteNode (this);
37406
37335
 
37407
- this .getExecutionContext () .deleteSimpleRoute (real);
37408
- }
37409
- },
37410
- getRoutes ()
37411
- {
37412
- return this [_routes] .map (({ sourceNode, sourceField, destinationNode, destinationField }) =>
37413
- {
37414
- return {
37415
- sourceNode: sourceNode instanceof X3DImportedNode
37416
- ? sourceNode
37417
- : Fields_SFNodeCache .get (sourceNode),
37418
- sourceField,
37419
- destinationNode: destinationNode instanceof X3DImportedNode
37420
- ? destinationNode
37421
- : Fields_SFNodeCache .get (destinationNode),
37422
- destinationField,
37423
- };
37424
- });
37425
- },
37426
- set_loadState__ ()
37427
- {
37428
- switch (this .getInlineNode () .checkLoadState ())
37429
- {
37430
- case Base_X3DConstants .NOT_STARTED_STATE:
37431
- case Base_X3DConstants .FAILED_STATE:
37432
- {
37433
- this .deleteRealRoutes ();
37434
- break;
37435
- }
37436
- case Base_X3DConstants .COMPLETE_STATE:
37437
- {
37438
- this .deleteRealRoutes ();
37336
+ const importedName = generator .ImportedName (this .getImportedName ());
37439
37337
 
37440
- for (const route of this [_routes])
37441
- this .resolveRoute (route);
37338
+ generator .string += generator .Indent ();
37339
+ generator .string += "<IMPORT";
37340
+ generator .string += generator .Space ();
37341
+ generator .string += "inlineDEF='";
37342
+ generator .string += generator .XMLEncode (generator .Name (this .getInlineNode ()));
37343
+ generator .string += "'";
37344
+ generator .string += generator .Space ();
37345
+ generator .string += "importedDEF='";
37346
+ generator .string += generator .XMLEncode (this .getExportedName ());
37347
+ generator .string += "'";
37442
37348
 
37443
- break;
37444
- }
37445
- }
37446
- },
37447
- toVRMLStream (generator)
37448
- {
37449
- if (generator .ExistsNode (this .getInlineNode ()))
37349
+ if (importedName !== this .getExportedName ())
37450
37350
  {
37451
- const importedName = generator .ImportedName (this .getImportedName ());
37452
-
37453
- generator .string += generator .Indent ();
37454
- generator .string += "IMPORT";
37455
37351
  generator .string += generator .Space ();
37456
- generator .string += generator .Name (this .getInlineNode ());
37457
- generator .string += ".";
37458
- generator .string += this .getExportedName ();
37459
-
37460
- if (importedName !== this .getExportedName ())
37461
- {
37462
- generator .string += generator .Space ();
37463
- generator .string += "AS";
37464
- generator .string += generator .Space ();
37465
- generator .string += importedName;
37466
- }
37467
-
37468
- try
37469
- {
37470
- generator .AddRouteNode (this);
37471
- generator .AddImportedNode (this .getExportedNode (), importedName);
37472
- }
37473
- catch
37474
- {
37475
- // Output unresolved routes.
37476
-
37477
- for (const { sourceNode, sourceField, destinationNode, destinationField } of this [_routes])
37478
- {
37479
- if (generator .ExistsRouteNode (sourceNode) && generator .ExistsRouteNode (destinationNode))
37480
- {
37481
- const sourceNodeName = sourceNode instanceof X3DImportedNode
37482
- ? sourceNode .getImportedName ()
37483
- : generator .Name (sourceNode);
37484
-
37485
- const destinationNodeName = destinationNode instanceof X3DImportedNode
37486
- ? destinationNode .getImportedName ()
37487
- : generator .Name (destinationNode);
37488
-
37489
- generator .string += generator .TidyBreak ();
37490
- generator .string += generator .Indent ();
37491
- generator .string += "ROUTE";
37492
- generator .string += generator .Space ();
37493
- generator .string += sourceNodeName;
37494
- generator .string += ".";
37495
- generator .string += sourceField;
37496
- generator .string += generator .Space ();
37497
- generator .string += "TO";
37498
- generator .string += generator .Space ();
37499
- generator .string += destinationNodeName;
37500
- generator .string += ".";
37501
- generator .string += destinationField;
37502
- }
37503
- }
37504
- }
37505
- }
37506
- else
37507
- {
37508
- throw new Error ("X3DImportedNode.toXMLStream: Inline node does not exist.");
37352
+ generator .string += "AS='";
37353
+ generator .string += generator .XMLEncode (importedName);
37354
+ generator .string += "'";
37509
37355
  }
37356
+
37357
+ generator .string += generator .closingTags ? "></IMPORT>" : "/>";
37510
37358
  },
37511
- toXMLStream (generator)
37359
+ toJSONStream (generator)
37512
37360
  {
37513
- if (generator .ExistsNode (this .getInlineNode ()))
37514
- {
37515
- const importedName = generator .ImportedName (this .getImportedName ());
37361
+ if (!generator .ExistsNode (this .getInlineNode ()))
37362
+ throw new Error ("X3DImportedNode.toJSONStream: Inline node does not exist.");
37516
37363
 
37517
- generator .string += generator .Indent ();
37518
- generator .string += "<IMPORT";
37519
- generator .string += generator .Space ();
37520
- generator .string += "inlineDEF='";
37521
- generator .string += generator .XMLEncode (generator .Name (this .getInlineNode ()));
37522
- generator .string += "'";
37523
- generator .string += generator .Space ();
37524
- generator .string += "importedDEF='";
37525
- generator .string += generator .XMLEncode (this .getExportedName ());
37526
- generator .string += "'";
37364
+ generator .AddRouteNode (this);
37527
37365
 
37528
- if (importedName !== this .getExportedName ())
37529
- {
37530
- generator .string += generator .Space ();
37531
- generator .string += "AS='";
37532
- generator .string += generator .XMLEncode (importedName);
37533
- generator .string += "'";
37534
- }
37366
+ const importedName = generator .ImportedName (this .getImportedName ());
37535
37367
 
37536
- generator .string += generator .closingTags ? "></IMPORT>" : "/>";
37537
-
37538
- try
37539
- {
37540
- generator .AddRouteNode (this);
37541
- generator .AddImportedNode (this .getExportedNode (), importedName);
37542
- }
37543
- catch
37544
- {
37545
- // Output unresolved routes.
37368
+ generator .string += generator .Indent ();
37369
+ generator .string += '{';
37370
+ generator .string += generator .TidySpace ();
37371
+ generator .string += '"';
37372
+ generator .string += "IMPORT";
37373
+ generator .string += '"';
37374
+ generator .string += ':';
37375
+ generator .string += generator .TidyBreak ();
37376
+ generator .string += generator .IncIndent ();
37377
+ generator .string += generator .Indent ();
37378
+ generator .string += '{';
37379
+ generator .string += generator .TidyBreak ();
37380
+ generator .string += generator .IncIndent ();
37546
37381
 
37547
- for (const { sourceNode, sourceField, destinationNode, destinationField } of this [_routes])
37548
- {
37549
- if (generator .ExistsRouteNode (sourceNode) && generator .ExistsRouteNode (destinationNode))
37550
- {
37551
- const sourceNodeName = sourceNode instanceof X3DImportedNode
37552
- ? sourceNode .getImportedName ()
37553
- : generator .Name (sourceNode);
37382
+ generator .string += generator .Indent ();
37383
+ generator .string += '"';
37384
+ generator .string += "@inlineDEF";
37385
+ generator .string += '"';
37386
+ generator .string += ':';
37387
+ generator .string += generator .TidySpace ();
37388
+ generator .string += '"';
37389
+ generator .string += generator .JSONEncode (generator .Name (this .getInlineNode ()));
37390
+ generator .string += '"';
37391
+ generator .string += ',';
37392
+ generator .string += generator .TidyBreak ();
37554
37393
 
37555
- const destinationNodeName = destinationNode instanceof X3DImportedNode
37556
- ? destinationNode .getImportedName ()
37557
- : generator .Name (destinationNode);
37394
+ generator .string += generator .Indent ();
37395
+ generator .string += '"';
37396
+ generator .string += "@importedDEF";
37397
+ generator .string += '"';
37398
+ generator .string += ':';
37399
+ generator .string += generator .TidySpace ();
37400
+ generator .string += '"';
37401
+ generator .string += generator .JSONEncode (this .getExportedName ());
37402
+ generator .string += '"';
37558
37403
 
37559
- generator .string += generator .TidyBreak ();
37560
- generator .string += generator .Indent ();
37561
- generator .string += "<ROUTE";
37562
- generator .string += generator .Space ();
37563
- generator .string += "fromNode='";
37564
- generator .string += generator .XMLEncode (sourceNodeName);
37565
- generator .string += "'";
37566
- generator .string += generator .Space ();
37567
- generator .string += "fromField='";
37568
- generator .string += generator .XMLEncode (sourceField);
37569
- generator .string += "'";
37570
- generator .string += generator .Space ();
37571
- generator .string += "toNode='";
37572
- generator .string += generator .XMLEncode (destinationNodeName);
37573
- generator .string += "'";
37574
- generator .string += generator .Space ();
37575
- generator .string += "toField='";
37576
- generator .string += generator .XMLEncode (destinationField);
37577
- generator .string += "'";
37578
- generator .string += generator .closingTags ? "></ROUTE>" : "/>";
37579
- }
37580
- }
37581
- }
37582
- }
37583
- else
37404
+ if (importedName !== this .getExportedName ())
37584
37405
  {
37585
- throw new Error ("X3DImportedNode.toXMLStream: Inline node does not exist.");
37586
- }
37587
- },
37588
- toJSONStream (generator)
37589
- {
37590
- if (generator .ExistsNode (this .getInlineNode ()))
37591
- {
37592
- const importedName = generator .ImportedName (this .getImportedName ());
37593
-
37594
- generator .string += generator .Indent ();
37595
- generator .string += '{';
37596
- generator .string += generator .TidySpace ();
37597
- generator .string += '"';
37598
- generator .string += "IMPORT";
37599
- generator .string += '"';
37600
- generator .string += ':';
37601
- generator .string += generator .TidyBreak ();
37602
- generator .string += generator .IncIndent ();
37603
- generator .string += generator .Indent ();
37604
- generator .string += '{';
37605
- generator .string += generator .TidyBreak ();
37606
- generator .string += generator .IncIndent ();
37607
-
37608
- generator .string += generator .Indent ();
37609
- generator .string += '"';
37610
- generator .string += "@inlineDEF";
37611
- generator .string += '"';
37612
- generator .string += ':';
37613
- generator .string += generator .TidySpace ();
37614
- generator .string += '"';
37615
- generator .string += generator .JSONEncode (generator .Name (this .getInlineNode ()));
37616
- generator .string += '"';
37617
37406
  generator .string += ',';
37618
37407
  generator .string += generator .TidyBreak ();
37619
-
37620
37408
  generator .string += generator .Indent ();
37621
37409
  generator .string += '"';
37622
- generator .string += "@importedDEF";
37410
+ generator .string += "@AS";
37623
37411
  generator .string += '"';
37624
37412
  generator .string += ':';
37625
37413
  generator .string += generator .TidySpace ();
37626
37414
  generator .string += '"';
37627
- generator .string += generator .JSONEncode (this .getExportedName ());
37415
+ generator .string += generator .JSONEncode (importedName);
37628
37416
  generator .string += '"';
37629
-
37630
- if (importedName !== this .getExportedName ())
37631
- {
37632
- generator .string += ',';
37633
- generator .string += generator .TidyBreak ();
37634
- generator .string += generator .Indent ();
37635
- generator .string += '"';
37636
- generator .string += "@AS";
37637
- generator .string += '"';
37638
- generator .string += ':';
37639
- generator .string += generator .TidySpace ();
37640
- generator .string += '"';
37641
- generator .string += generator .JSONEncode (importedName);
37642
- generator .string += '"';
37643
- generator .string += generator .TidyBreak ();
37644
- }
37645
- else
37646
- {
37647
- generator .string += generator .TidyBreak ();
37648
- }
37649
-
37650
- generator .string += generator .DecIndent ();
37651
- generator .string += generator .Indent ();
37652
- generator .string += '}';
37653
37417
  generator .string += generator .TidyBreak ();
37654
- generator .string += generator .DecIndent ();
37655
- generator .string += generator .Indent ();
37656
- generator .string += '}';
37657
-
37658
- try
37659
- {
37660
- generator .AddRouteNode (this);
37661
- generator .AddImportedNode (this .getExportedNode (), importedName);
37662
- }
37663
- catch
37664
- {
37665
- // Output unresolved routes.
37666
-
37667
- for (const { sourceNode, sourceField, destinationNode, destinationField } of this [_routes])
37668
- {
37669
- if (generator .ExistsRouteNode (sourceNode) && generator .ExistsRouteNode (destinationNode))
37670
- {
37671
- const sourceNodeName = sourceNode instanceof X3DImportedNode
37672
- ? sourceNode .getImportedName ()
37673
- : generator .Name (sourceNode);
37674
-
37675
- const destinationNodeName = destinationNode instanceof X3DImportedNode
37676
- ? destinationNode .getImportedName ()
37677
- : generator .Name (destinationNode);
37678
-
37679
- generator .string += ',';
37680
- generator .string += generator .TidyBreak ();
37681
- generator .string += generator .Indent ();
37682
- generator .string += '{';
37683
- generator .string += generator .TidySpace ();
37684
- generator .string += '"';
37685
- generator .string += "ROUTE";
37686
- generator .string += '"';
37687
- generator .string += ':';
37688
- generator .string += generator .TidyBreak ();
37689
- generator .string += generator .IncIndent ();
37690
- generator .string += generator .Indent ();
37691
- generator .string += '{';
37692
- generator .string += generator .TidyBreak ();
37693
- generator .string += generator .IncIndent ();
37694
-
37695
- generator .string += generator .Indent ();
37696
- generator .string += '"';
37697
- generator .string += "@fromNode";
37698
- generator .string += '"';
37699
- generator .string += ':';
37700
- generator .string += generator .TidySpace ();
37701
- generator .string += '"';
37702
- generator .string += generator .JSONEncode (sourceNodeName);
37703
- generator .string += '"';
37704
- generator .string += ',';
37705
- generator .string += generator .TidyBreak ();
37706
-
37707
- generator .string += generator .Indent ();
37708
- generator .string += '"';
37709
- generator .string += "@fromField";
37710
- generator .string += '"';
37711
- generator .string += ':';
37712
- generator .string += generator .TidySpace ();
37713
- generator .string += '"';
37714
- generator .string += generator .JSONEncode (sourceField);
37715
- generator .string += '"';
37716
- generator .string += ',';
37717
- generator .string += generator .TidyBreak ();
37718
-
37719
- generator .string += generator .Indent ();
37720
- generator .string += '"';
37721
- generator .string += "@toNode";
37722
- generator .string += '"';
37723
- generator .string += ':';
37724
- generator .string += generator .TidySpace ();
37725
- generator .string += '"';
37726
- generator .string += generator .JSONEncode (destinationNodeName);
37727
- generator .string += '"';
37728
- generator .string += ',';
37729
- generator .string += generator .TidyBreak ();
37730
-
37731
- generator .string += generator .Indent ();
37732
- generator .string += '"';
37733
- generator .string += "@toField";
37734
- generator .string += '"';
37735
- generator .string += ':';
37736
- generator .string += generator .TidySpace ();
37737
- generator .string += '"';
37738
- generator .string += generator .JSONEncode (destinationField);
37739
- generator .string += '"';
37740
- generator .string += generator .TidyBreak ();
37741
-
37742
- generator .string += generator .DecIndent ();
37743
- generator .string += generator .Indent ();
37744
- generator .string += '}';
37745
- generator .string += generator .TidyBreak ();
37746
- generator .string += generator .DecIndent ();
37747
- generator .string += generator .Indent ();
37748
- generator .string += '}';
37749
- }
37750
- }
37751
- }
37752
37418
  }
37753
37419
  else
37754
37420
  {
37755
- throw new Error ("X3DImportedNode.toJSONStream: Inline node does not exist.");
37421
+ generator .string += generator .TidyBreak ();
37756
37422
  }
37423
+
37424
+ generator .string += generator .DecIndent ();
37425
+ generator .string += generator .Indent ();
37426
+ generator .string += '}';
37427
+ generator .string += generator .TidyBreak ();
37428
+ generator .string += generator .DecIndent ();
37429
+ generator .string += generator .Indent ();
37430
+ generator .string += '}';
37757
37431
  },
37758
37432
  dispose ()
37759
37433
  {
37760
- this .getInlineNode () ._loadState .removeInterest ("set_loadState__", this);
37434
+ for (const route of Array .from (this [X3DImportedNode_executionContext] .getRoutes ()))
37435
+ {
37436
+ if (route .getSourceNode () === this)
37437
+ {
37438
+ this [X3DImportedNode_executionContext] .deleteRoute (route);
37439
+ continue;
37440
+ }
37761
37441
 
37762
- this .deleteRealRoutes ();
37442
+ if (route .getDestinationNode () === this)
37443
+ {
37444
+ this [X3DImportedNode_executionContext] .deleteRoute (route);
37445
+ continue;
37446
+ }
37447
+ }
37763
37448
 
37764
37449
  Base_X3DObject .prototype .dispose .call (this);
37765
37450
  },
@@ -38040,7 +37725,7 @@ Object .assign (X3DUrlObject .prototype,
38040
37725
  reject ();
38041
37726
  break;
38042
37727
  }
38043
- })
37728
+ });
38044
37729
  };
38045
37730
 
38046
37731
  const loadState = this .checkLoadState ();
@@ -38897,7 +38582,7 @@ const X3DProtoDeclaration_default_ = X3DProtoDeclaration;
38897
38582
  x_ite_Namespace .add ("X3DProtoDeclaration", "x_ite/Prototype/X3DProtoDeclaration", X3DProtoDeclaration_default_);
38898
38583
  /* harmony default export */ const Prototype_X3DProtoDeclaration = (X3DProtoDeclaration_default_);
38899
38584
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/X3DParser.js
38900
- /* provided dependency */ var X3DParser_$ = __webpack_require__(831);
38585
+ /* provided dependency */ var X3DParser_$ = __webpack_require__(548);
38901
38586
  /*******************************************************************************
38902
38587
  *
38903
38588
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -39139,7 +38824,7 @@ const Expressions_default_ = Expressions;
39139
38824
  x_ite_Namespace .add ("Expressions", "x_ite/Parser/Expressions", Expressions_default_);
39140
38825
  /* harmony default export */ const Parser_Expressions = (Expressions_default_);
39141
38826
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/VRMLParser.js
39142
- /* provided dependency */ var VRMLParser_$ = __webpack_require__(831);
38827
+ /* provided dependency */ var VRMLParser_$ = __webpack_require__(548);
39143
38828
  /*******************************************************************************
39144
38829
  *
39145
38830
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -41822,7 +41507,7 @@ const VRMLParser_default_ = VRMLParser;
41822
41507
  x_ite_Namespace .add ("VRMLParser", "x_ite/Parser/VRMLParser", VRMLParser_default_);
41823
41508
  /* harmony default export */ const Parser_VRMLParser = (VRMLParser_default_);
41824
41509
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/XMLParser.js
41825
- /* provided dependency */ var XMLParser_$ = __webpack_require__(831);
41510
+ /* provided dependency */ var XMLParser_$ = __webpack_require__(548);
41826
41511
  /*******************************************************************************
41827
41512
  *
41828
41513
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -43913,7 +43598,7 @@ const URLs_default_ = URLs;
43913
43598
  x_ite_Namespace .add ("URLs", "x_ite/Browser/Networking/URLs", URLs_default_);
43914
43599
  /* harmony default export */ const Networking_URLs = (URLs_default_);
43915
43600
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/GLTF2Parser.js
43916
- /* provided dependency */ var GLTF2Parser_$ = __webpack_require__(831);
43601
+ /* provided dependency */ var GLTF2Parser_$ = __webpack_require__(548);
43917
43602
  /*******************************************************************************
43918
43603
  *
43919
43604
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -47214,7 +46899,7 @@ const GLTF2Parser_default_ = GLTF2Parser;
47214
46899
  x_ite_Namespace .add ("GLTF2Parser", "x_ite/Parser/GLTF2Parser", GLTF2Parser_default_);
47215
46900
  /* harmony default export */ const Parser_GLTF2Parser = (GLTF2Parser_default_);
47216
46901
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/GLB2Parser.js
47217
- /* provided dependency */ var GLB2Parser_$ = __webpack_require__(831);
46902
+ /* provided dependency */ var GLB2Parser_$ = __webpack_require__(548);
47218
46903
  /*******************************************************************************
47219
46904
  *
47220
46905
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -47366,7 +47051,7 @@ const GLB2Parser_default_ = GLB2Parser;
47366
47051
  x_ite_Namespace .add ("GLB2Parser", "x_ite/Parser/GLB2Parser", GLB2Parser_default_);
47367
47052
  /* harmony default export */ const Parser_GLB2Parser = (GLB2Parser_default_);
47368
47053
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/OBJParser.js
47369
- /* provided dependency */ var OBJParser_$ = __webpack_require__(831);
47054
+ /* provided dependency */ var OBJParser_$ = __webpack_require__(548);
47370
47055
  /*******************************************************************************
47371
47056
  *
47372
47057
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -50721,8 +50406,8 @@ const MatrixStack_default_ = MatrixStack;
50721
50406
  x_ite_Namespace .add ("MatrixStack", "standard/Math/Utility/MatrixStack", MatrixStack_default_);
50722
50407
  /* harmony default export */ const Utility_MatrixStack = (MatrixStack_default_);
50723
50408
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/SVGParser.js
50724
- /* provided dependency */ var SVGParser_$ = __webpack_require__(831);
50725
- /* provided dependency */ var libtess = __webpack_require__(864);
50409
+ /* provided dependency */ var SVGParser_$ = __webpack_require__(548);
50410
+ /* provided dependency */ var libtess = __webpack_require__(527);
50726
50411
  /*******************************************************************************
50727
50412
  *
50728
50413
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -53490,7 +53175,7 @@ const SVGParser_default_ = SVGParser;
53490
53175
  x_ite_Namespace .add ("SVGParser", "x_ite/Parser/SVGParser", SVGParser_default_);
53491
53176
  /* harmony default export */ const Parser_SVGParser = (SVGParser_default_);
53492
53177
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/GoldenGate.js
53493
- /* provided dependency */ var GoldenGate_$ = __webpack_require__(831);
53178
+ /* provided dependency */ var GoldenGate_$ = __webpack_require__(548);
53494
53179
  /*******************************************************************************
53495
53180
  *
53496
53181
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -53827,7 +53512,7 @@ const Plane3_default_ = Plane3;
53827
53512
  x_ite_Namespace .add ("Plane3", "standard/Math/Geometry/Plane3", Plane3_default_);
53828
53513
  /* harmony default export */ const Geometry_Plane3 = (Plane3_default_);
53829
53514
  ;// CONCATENATED MODULE: ./src/standard/Math/Geometry/Triangle3.js
53830
- /* provided dependency */ var Triangle3_libtess = __webpack_require__(864);
53515
+ /* provided dependency */ var Triangle3_libtess = __webpack_require__(527);
53831
53516
  /*******************************************************************************
53832
53517
  *
53833
53518
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -54787,15 +54472,14 @@ x_ite_Namespace .add ("TextureBuffer", "x_ite/Rendering/TextureBuffer", TextureB
54787
54472
 
54788
54473
  let i = 0;
54789
54474
 
54790
- const TraverseType =
54791
- {
54475
+ const TraverseType = Object .freeze ({
54792
54476
  POINTER: i ++,
54793
54477
  CAMERA: i ++,
54794
54478
  PICKING: i ++,
54795
54479
  COLLISION: i ++,
54796
54480
  SHADOW: i ++,
54797
54481
  DISPLAY: i ++,
54798
- };
54482
+ });
54799
54483
 
54800
54484
  const TraverseType_default_ = TraverseType;
54801
54485
  ;
@@ -61334,7 +61018,7 @@ const X3DTexture2DNode_default_ = X3DTexture2DNode;
61334
61018
  x_ite_Namespace .add ("X3DTexture2DNode", "x_ite/Components/Texturing/X3DTexture2DNode", X3DTexture2DNode_default_);
61335
61019
  /* harmony default export */ const Texturing_X3DTexture2DNode = (X3DTexture2DNode_default_);
61336
61020
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Texturing/ImageTexture.js
61337
- /* provided dependency */ var ImageTexture_$ = __webpack_require__(831);
61021
+ /* provided dependency */ var ImageTexture_$ = __webpack_require__(548);
61338
61022
  /*******************************************************************************
61339
61023
  *
61340
61024
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -65921,7 +65605,7 @@ const X3DWorld_default_ = X3DWorld;
65921
65605
  x_ite_Namespace .add ("X3DWorld", "x_ite/Execution/X3DWorld", X3DWorld_default_);
65922
65606
  /* harmony default export */ const Execution_X3DWorld = (X3DWorld_default_);
65923
65607
  ;// CONCATENATED MODULE: ./src/x_ite/InputOutput/FileLoader.js
65924
- /* provided dependency */ var FileLoader_$ = __webpack_require__(831);
65608
+ /* provided dependency */ var FileLoader_$ = __webpack_require__(548);
65925
65609
  /*******************************************************************************
65926
65610
  *
65927
65611
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -66827,105 +66511,112 @@ x_ite_Namespace .add ("ExternProtoDeclarationArray", "x_ite/Prototype/ExternProt
66827
66511
 
66828
66512
 
66829
66513
 
66830
- function ProtoDeclarationArray (values = [ ])
66831
- {
66832
- return Base_X3DInfoArray .call (this, Array .from (values, value => [value .name, value]), Prototype_X3DProtoDeclaration);
66833
- }
66834
-
66835
- Object .setPrototypeOf (ProtoDeclarationArray .prototype, Base_X3DInfoArray .prototype);
66836
-
66837
- for (const key of Object .keys (ProtoDeclarationArray .prototype))
66838
- Object .defineProperty (ProtoDeclarationArray .prototype, key, { enumerable: false });
66839
-
66840
- Object .defineProperties (ProtoDeclarationArray,
66841
- {
66842
- typeName:
66843
- {
66844
- value: "ProtoDeclarationArray",
66845
- enumerable: true,
66846
- },
66847
- });
66848
-
66849
- const ProtoDeclarationArray_default_ = ProtoDeclarationArray;
66850
- ;
66851
-
66852
- x_ite_Namespace .add ("ProtoDeclarationArray", "x_ite/Prototype/ProtoDeclarationArray", ProtoDeclarationArray_default_);
66853
- /* harmony default export */ const Prototype_ProtoDeclarationArray = (ProtoDeclarationArray_default_);
66854
- ;// CONCATENATED MODULE: ./src/x_ite/Routing/X3DRoute.js
66855
- /*******************************************************************************
66856
- *
66857
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
66858
- *
66859
- * Copyright create3000, Scheffelstraße 31a, Leipzig, Germany 2011 - 2022.
66860
- *
66861
- * All rights reserved. Holger Seelig <holger.seelig@yahoo.de>.
66862
- *
66863
- * The copyright notice above does not evidence any actual of intended
66864
- * publication of such source code, and is an unpublished work by create3000.
66865
- * This material contains CONFIDENTIAL INFORMATION that is the property of
66866
- * create3000.
66867
- *
66868
- * No permission is granted to copy, distribute, or create derivative works from
66869
- * the contents of this software, in whole or in part, without the prior written
66870
- * permission of create3000.
66871
- *
66872
- * NON-MILITARY USE ONLY
66873
- *
66874
- * All create3000 software are effectively free software with a non-military use
66875
- * restriction. It is free. Well commented source is provided. You may reuse the
66876
- * source in any way you please with the exception anything that uses it must be
66877
- * marked to indicate is contains 'non-military use only' components.
66878
- *
66879
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
66880
- *
66881
- * Copyright 2011 - 2022, Holger Seelig <holger.seelig@yahoo.de>.
66882
- *
66883
- * This file is part of the X_ITE Project.
66884
- *
66885
- * X_ITE is free software: you can redistribute it and/or modify it under the
66886
- * terms of the GNU General Public License version 3 only, as published by the
66887
- * Free Software Foundation.
66888
- *
66889
- * X_ITE is distributed in the hope that it will be useful, but WITHOUT ANY
66890
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
66891
- * A PARTICULAR PURPOSE. See the GNU General Public License version 3 for more
66892
- * details (a copy is included in the LICENSE file that accompanied this code).
66893
- *
66894
- * You should have received a copy of the GNU General Public License version 3
66895
- * along with X_ITE. If not, see <https://www.gnu.org/licenses/gpl.html> for a
66896
- * copy of the GPLv3 License.
66897
- *
66898
- * For Silvio, Joy and Adi.
66899
- *
66900
- ******************************************************************************/
66901
-
66902
-
66514
+ function ProtoDeclarationArray (values = [ ])
66515
+ {
66516
+ return Base_X3DInfoArray .call (this, Array .from (values, value => [value .name, value]), Prototype_X3DProtoDeclaration);
66517
+ }
66518
+
66519
+ Object .setPrototypeOf (ProtoDeclarationArray .prototype, Base_X3DInfoArray .prototype);
66520
+
66521
+ for (const key of Object .keys (ProtoDeclarationArray .prototype))
66522
+ Object .defineProperty (ProtoDeclarationArray .prototype, key, { enumerable: false });
66523
+
66524
+ Object .defineProperties (ProtoDeclarationArray,
66525
+ {
66526
+ typeName:
66527
+ {
66528
+ value: "ProtoDeclarationArray",
66529
+ enumerable: true,
66530
+ },
66531
+ });
66532
+
66533
+ const ProtoDeclarationArray_default_ = ProtoDeclarationArray;
66534
+ ;
66535
+
66536
+ x_ite_Namespace .add ("ProtoDeclarationArray", "x_ite/Prototype/ProtoDeclarationArray", ProtoDeclarationArray_default_);
66537
+ /* harmony default export */ const Prototype_ProtoDeclarationArray = (ProtoDeclarationArray_default_);
66538
+ ;// CONCATENATED MODULE: ./src/x_ite/Routing/X3DRoute.js
66539
+ /* provided dependency */ var X3DRoute_$ = __webpack_require__(548);
66540
+ /*******************************************************************************
66541
+ *
66542
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
66543
+ *
66544
+ * Copyright create3000, Scheffelstraße 31a, Leipzig, Germany 2011 - 2022.
66545
+ *
66546
+ * All rights reserved. Holger Seelig <holger.seelig@yahoo.de>.
66547
+ *
66548
+ * The copyright notice above does not evidence any actual of intended
66549
+ * publication of such source code, and is an unpublished work by create3000.
66550
+ * This material contains CONFIDENTIAL INFORMATION that is the property of
66551
+ * create3000.
66552
+ *
66553
+ * No permission is granted to copy, distribute, or create derivative works from
66554
+ * the contents of this software, in whole or in part, without the prior written
66555
+ * permission of create3000.
66556
+ *
66557
+ * NON-MILITARY USE ONLY
66558
+ *
66559
+ * All create3000 software are effectively free software with a non-military use
66560
+ * restriction. It is free. Well commented source is provided. You may reuse the
66561
+ * source in any way you please with the exception anything that uses it must be
66562
+ * marked to indicate is contains 'non-military use only' components.
66563
+ *
66564
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
66565
+ *
66566
+ * Copyright 2011 - 2022, Holger Seelig <holger.seelig@yahoo.de>.
66567
+ *
66568
+ * This file is part of the X_ITE Project.
66569
+ *
66570
+ * X_ITE is free software: you can redistribute it and/or modify it under the
66571
+ * terms of the GNU General Public License version 3 only, as published by the
66572
+ * Free Software Foundation.
66573
+ *
66574
+ * X_ITE is distributed in the hope that it will be useful, but WITHOUT ANY
66575
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
66576
+ * A PARTICULAR PURPOSE. See the GNU General Public License version 3 for more
66577
+ * details (a copy is included in the LICENSE file that accompanied this code).
66578
+ *
66579
+ * You should have received a copy of the GNU General Public License version 3
66580
+ * along with X_ITE. If not, see <https://www.gnu.org/licenses/gpl.html> for a
66581
+ * copy of the GPLv3 License.
66582
+ *
66583
+ * For Silvio, Joy and Adi.
66584
+ *
66585
+ ******************************************************************************/
66586
+
66587
+
66588
+
66589
+
66903
66590
 
66904
66591
 
66905
66592
 
66906
66593
  const
66907
- X3DRoute_executionContext = Symbol (),
66908
- _sourceNode = Symbol (),
66909
- _sourceField = Symbol (),
66910
- _destinationNode = Symbol (),
66911
- _destinationField = Symbol ();
66594
+ X3DRoute_executionContext = Symbol (),
66595
+ _sourceNode = Symbol (),
66596
+ _sourceFieldName = Symbol (),
66597
+ _sourceField = Symbol (),
66598
+ _destinationNode = Symbol (),
66599
+ _destinationFieldName = Symbol (),
66600
+ _destinationField = Symbol (),
66601
+ _disposed = Symbol ();
66912
66602
 
66913
- function X3DRoute (executionContext, sourceNode, sourceField, destinationNode, destinationField)
66603
+ function X3DRoute (executionContext, sourceNode, sourceFieldName, destinationNode, destinationFieldName)
66914
66604
  {
66915
66605
  Base_X3DObject .call (this, executionContext);
66916
66606
 
66917
- this [X3DRoute_executionContext] = executionContext;
66918
- this [_sourceNode] = sourceNode;
66919
- this [_sourceField] = sourceField;
66920
- this [_destinationNode] = destinationNode;
66921
- this [_destinationField] = destinationField;
66607
+ this [X3DRoute_executionContext] = executionContext;
66608
+ this [_sourceNode] = sourceNode;
66609
+ this [_sourceFieldName] = sourceFieldName;
66610
+ this [_destinationNode] = destinationNode;
66611
+ this [_destinationFieldName] = destinationFieldName;
66922
66612
 
66923
- // Must connect in every context, to make X3DBaseNode.hasRoutes work.
66613
+ if (sourceNode instanceof Execution_X3DImportedNode)
66614
+ sourceNode .getInlineNode () .getLoadState () .addInterest ("reconnect", this);
66924
66615
 
66925
- sourceField .addFieldInterest (destinationField);
66616
+ if (destinationNode instanceof Execution_X3DImportedNode)
66617
+ destinationNode .getInlineNode () .getLoadState () .addInterest ("reconnect", this);
66926
66618
 
66927
- sourceField .addOutputRoute (this);
66928
- destinationField .addInputRoute (this);
66619
+ this .reconnect ();
66929
66620
  }
66930
66621
 
66931
66622
  Object .assign (Object .setPrototypeOf (X3DRoute .prototype, Base_X3DObject .prototype),
@@ -66936,7 +66627,7 @@ Object .assign (Object .setPrototypeOf (X3DRoute .prototype, Base_X3DObject .pro
66936
66627
  },
66937
66628
  getRouteId ()
66938
66629
  {
66939
- return X3DRoute .getRouteId (this [_sourceField], this [_destinationField]);
66630
+ return X3DRoute .getRouteId (this [_sourceNode], this [_sourceFieldName], this [_destinationNode], this [_destinationFieldName]);
66940
66631
  },
66941
66632
  getSourceNode ()
66942
66633
  {
@@ -66946,7 +66637,18 @@ Object .assign (Object .setPrototypeOf (X3DRoute .prototype, Base_X3DObject .pro
66946
66637
  getSourceField ()
66947
66638
  {
66948
66639
  /// SAI
66949
- return this [_sourceField];
66640
+
66641
+ if (this [_sourceField])
66642
+ {
66643
+ return this [_sourceField] .getAccessType () === Base_X3DConstants .inputOutput
66644
+ ? this [_sourceField] .getName () + "_changed"
66645
+ : this [_sourceField] .getName ();
66646
+ }
66647
+ else
66648
+ {
66649
+ return this [_sourceFieldName];
66650
+ }
66651
+
66950
66652
  },
66951
66653
  getDestinationNode ()
66952
66654
  {
@@ -66956,47 +66658,138 @@ Object .assign (Object .setPrototypeOf (X3DRoute .prototype, Base_X3DObject .pro
66956
66658
  getDestinationField ()
66957
66659
  {
66958
66660
  /// SAI
66959
- return this [_destinationField];
66661
+
66662
+ if (this [_destinationField])
66663
+ {
66664
+ return this [_destinationField] .getAccessType () === Base_X3DConstants .inputOutput
66665
+ ? "set_" + this [_destinationField] .getName ()
66666
+ : this [_destinationField] .getName ();
66667
+ }
66668
+ else
66669
+ {
66670
+ return this [_destinationFieldName];
66671
+ }
66672
+ },
66673
+ reconnect ()
66674
+ {
66675
+ try
66676
+ {
66677
+ this .disconnect ();
66678
+ this .connect ();
66679
+ }
66680
+ catch (error)
66681
+ {
66682
+ if ((this [_sourceNode] instanceof Core_X3DNode ||
66683
+ this [_sourceNode] .getInlineNode () .checkLoadState () === Base_X3DConstants .COMPLETE_STATE) &&
66684
+ (this [_destinationNode] instanceof Core_X3DNode ||
66685
+ this [_destinationNode] .getInlineNode () .checkLoadState () === Base_X3DConstants .COMPLETE_STATE))
66686
+ {
66687
+ console .warn (error .message);
66688
+ }
66689
+ }
66690
+ },
66691
+ connect ()
66692
+ {
66693
+ if (this [_disposed])
66694
+ return;
66695
+
66696
+ try
66697
+ {
66698
+ const sourceNode = this [_sourceNode] instanceof Core_X3DNode
66699
+ ? this [_sourceNode]
66700
+ : this [_sourceNode] .getExportedNode ();
66701
+
66702
+ this [_sourceField] = sourceNode .getField (this [_sourceFieldName]);
66703
+
66704
+ this [_sourceField] .addOutputRoute (this);
66705
+ }
66706
+ catch (error)
66707
+ {
66708
+ var firstError = error;
66709
+ }
66710
+
66711
+ try
66712
+ {
66713
+ const destinationNode = this [_destinationNode] instanceof Core_X3DNode
66714
+ ? this [_destinationNode]
66715
+ : this [_destinationNode] .getExportedNode ();
66716
+
66717
+ this [_destinationField] = destinationNode .getField (this [_destinationFieldName]);
66718
+
66719
+ this [_destinationField] .addInputRoute (this);
66720
+ }
66721
+ catch (error)
66722
+ {
66723
+ var secondError = error;
66724
+ }
66725
+
66726
+ if (this [_sourceField] && this [_destinationField])
66727
+ {
66728
+ if (this [_sourceField] .getFieldInterests () .has (this [_destinationField]))
66729
+ return;
66730
+
66731
+ this [_sourceField] .addFieldInterest (this [_destinationField]);
66732
+ }
66733
+ else
66734
+ {
66735
+ throw firstError ?? secondError;
66736
+ }
66960
66737
  },
66961
66738
  disconnect ()
66962
66739
  {
66963
- this [_sourceField] .removeFieldInterest (this [_destinationField]);
66740
+ this [_sourceField] ?.removeOutputRoute (this);
66741
+ this [_destinationField] ?.removeInputRoute (this);
66964
66742
 
66965
- this [_sourceField] .removeOutputRoute (this);
66966
- this [_destinationField] .removeInputRoute (this);
66743
+ if (this [_sourceField] && this [_destinationField])
66744
+ this [_sourceField] .removeFieldInterest (this [_destinationField]);
66745
+
66746
+ this [_sourceField] = null;
66747
+ this [_destinationField] = null;
66967
66748
  },
66968
66749
  toVRMLStream (generator)
66969
66750
  {
66970
- const
66971
- sourceNodeName = generator .LocalName (this .getSourceNode ()),
66972
- destinationNodeName = generator .LocalName (this .getDestinationNode ());
66751
+ if (!generator .ExistsRouteNode (this [_sourceNode]))
66752
+ throw new Error (`Source node does not exist in scene graph.`);
66753
+
66754
+ if (!generator .ExistsRouteNode (this [_destinationNode]))
66755
+ throw new Error (`Destination node does not exist in scene graph.`);
66756
+
66757
+ const sourceNodeName = this [_sourceNode] instanceof Core_X3DNode
66758
+ ? generator .Name (this [_sourceNode])
66759
+ : this [_sourceNode] .getImportedName ();
66760
+
66761
+ const destinationNodeName = this [_destinationNode] instanceof Core_X3DNode
66762
+ ? generator .Name (this [_destinationNode])
66763
+ : this [_destinationNode] .getImportedName ();
66973
66764
 
66974
66765
  generator .string += generator .Indent ();
66975
66766
  generator .string += "ROUTE";
66976
66767
  generator .string += generator .Space ();
66977
66768
  generator .string += sourceNodeName;
66978
66769
  generator .string += ".";
66979
- generator .string += this [_sourceField] .getName ();
66980
-
66981
- if (this [_sourceField] .getAccessType () === Base_X3DConstants .inputOutput)
66982
- generator .string += "_changed";
66983
-
66770
+ generator .string += this .getSourceField ();
66984
66771
  generator .string += generator .Space ();
66985
66772
  generator .string += "TO";
66986
66773
  generator .string += generator .Space ();
66987
66774
  generator .string += destinationNodeName;
66988
66775
  generator .string += ".";
66989
-
66990
- if (this [_destinationField] .getAccessType () === Base_X3DConstants .inputOutput)
66991
- generator .string += "set_";
66992
-
66993
- generator .string += this [_destinationField] .getName ();
66776
+ generator .string += this .getDestinationField ();
66994
66777
  },
66995
66778
  toXMLStream (generator)
66996
66779
  {
66997
- const
66998
- sourceNodeName = generator .LocalName (this .getSourceNode ()),
66999
- destinationNodeName = generator .LocalName (this .getDestinationNode ());
66780
+ if (!generator .ExistsRouteNode (this [_sourceNode]))
66781
+ throw new Error (`Source node does not exist in scene graph.`);
66782
+
66783
+ if (!generator .ExistsRouteNode (this [_destinationNode]))
66784
+ throw new Error (`Destination node does not exist in scene graph.`);
66785
+
66786
+ const sourceNodeName = this [_sourceNode] instanceof Core_X3DNode
66787
+ ? generator .Name (this [_sourceNode])
66788
+ : this [_sourceNode] .getImportedName ();
66789
+
66790
+ const destinationNodeName = this [_destinationNode] instanceof Core_X3DNode
66791
+ ? generator .Name (this [_destinationNode])
66792
+ : this [_destinationNode] .getImportedName ();
67000
66793
 
67001
66794
  generator .string += generator .Indent ();
67002
66795
  generator .string += "<ROUTE";
@@ -67006,11 +66799,7 @@ Object .assign (Object .setPrototypeOf (X3DRoute .prototype, Base_X3DObject .pro
67006
66799
  generator .string += "'";
67007
66800
  generator .string += generator .Space ();
67008
66801
  generator .string += "fromField='";
67009
- generator .string += generator .XMLEncode (this [_sourceField] .getName ());
67010
-
67011
- if (this [_sourceField] .getAccessType () === Base_X3DConstants .inputOutput)
67012
- generator .string += "_changed";
67013
-
66802
+ generator .string += generator .XMLEncode (this .getSourceField ());
67014
66803
  generator .string += "'";
67015
66804
  generator .string += generator .Space ();
67016
66805
  generator .string += "toNode='";
@@ -67018,19 +66807,25 @@ Object .assign (Object .setPrototypeOf (X3DRoute .prototype, Base_X3DObject .pro
67018
66807
  generator .string += "'";
67019
66808
  generator .string += generator .Space ();
67020
66809
  generator .string += "toField='";
67021
-
67022
- if (this [_destinationField] .getAccessType () === Base_X3DConstants .inputOutput)
67023
- generator .string += "set_";
67024
-
67025
- generator .string += generator .XMLEncode (this [_destinationField] .getName ());
66810
+ generator .string += generator .XMLEncode (this .getDestinationField ());
67026
66811
  generator .string += "'";
67027
66812
  generator .string += generator .closingTags ? "></ROUTE>" : "/>";
67028
66813
  },
67029
66814
  toJSONStream (generator)
67030
66815
  {
67031
- const
67032
- sourceNodeName = generator .LocalName (this .getSourceNode ()),
67033
- destinationNodeName = generator .LocalName (this .getDestinationNode ());
66816
+ if (!generator .ExistsRouteNode (this [_sourceNode]))
66817
+ throw new Error (`Source node does not exist in scene graph.`);
66818
+
66819
+ if (!generator .ExistsRouteNode (this [_destinationNode]))
66820
+ throw new Error (`Destination node does not exist in scene graph.`);
66821
+
66822
+ const sourceNodeName = this [_sourceNode] instanceof Core_X3DNode
66823
+ ? generator .Name (this [_sourceNode])
66824
+ : this [_sourceNode] .getImportedName ();
66825
+
66826
+ const destinationNodeName = this [_destinationNode] instanceof Core_X3DNode
66827
+ ? generator .Name (this [_destinationNode])
66828
+ : this [_destinationNode] .getImportedName ();
67034
66829
 
67035
66830
  generator .string += generator .Indent ();
67036
66831
  generator .string += '{';
@@ -67065,7 +66860,7 @@ Object .assign (Object .setPrototypeOf (X3DRoute .prototype, Base_X3DObject .pro
67065
66860
  generator .string += ':';
67066
66861
  generator .string += generator .TidySpace ();
67067
66862
  generator .string += '"';
67068
- generator .string += generator .JSONEncode (this [_sourceField] .getName ());
66863
+ generator .string += generator .JSONEncode (this .getSourceField ());
67069
66864
  generator .string += '"';
67070
66865
  generator .string += ',';
67071
66866
  generator .string += generator .TidyBreak ();
@@ -67089,7 +66884,7 @@ Object .assign (Object .setPrototypeOf (X3DRoute .prototype, Base_X3DObject .pro
67089
66884
  generator .string += ':';
67090
66885
  generator .string += generator .TidySpace ();
67091
66886
  generator .string += '"';
67092
- generator .string += generator .JSONEncode (this [_destinationField] .getName ());
66887
+ generator .string += generator .JSONEncode (this .getDestinationField ());
67093
66888
  generator .string += '"';
67094
66889
  generator .string += generator .TidyBreak ();
67095
66890
 
@@ -67103,8 +66898,19 @@ Object .assign (Object .setPrototypeOf (X3DRoute .prototype, Base_X3DObject .pro
67103
66898
  },
67104
66899
  dispose ()
67105
66900
  {
66901
+ if (this [_disposed])
66902
+ return;
66903
+
66904
+ this [_disposed] = true;
66905
+
67106
66906
  this .disconnect ();
67107
66907
 
66908
+ if (this [_sourceNode] instanceof Execution_X3DImportedNode)
66909
+ this [_sourceNode] .getInlineNode () .getLoadState () .removeInterest ("reconnect", this);
66910
+
66911
+ if (this [_destinationNode] instanceof Execution_X3DImportedNode)
66912
+ this [_destinationNode] .getInlineNode () .getLoadState () .removeInterest ("reconnect", this);
66913
+
67108
66914
  this [X3DRoute_executionContext] .deleteRoute (this);
67109
66915
 
67110
66916
  Base_X3DObject .prototype .dispose .call (this);
@@ -67120,32 +66926,32 @@ Object .defineProperties (X3DRoute .prototype,
67120
66926
  {
67121
66927
  get ()
67122
66928
  {
67123
- return Fields_SFNodeCache .get (this [_sourceNode]);
66929
+ if (this [_sourceNode] instanceof Core_X3DNode)
66930
+ return Fields_SFNodeCache .get (this [_sourceNode]);
66931
+ else
66932
+ return this [_sourceNode];
67124
66933
  },
67125
66934
  enumerable: true,
67126
66935
  },
67127
66936
  sourceField:
67128
66937
  {
67129
- get ()
67130
- {
67131
- return this [_sourceField] .getName ();
67132
- },
66938
+ get: X3DRoute .prototype .getSourceField,
67133
66939
  enumerable: true,
67134
66940
  },
67135
66941
  destinationNode:
67136
66942
  {
67137
66943
  get ()
67138
66944
  {
67139
- return Fields_SFNodeCache .get (this [_destinationNode]);
66945
+ if (this [_destinationNode] instanceof Core_X3DNode)
66946
+ return Fields_SFNodeCache .get (this [_destinationNode]);
66947
+ else
66948
+ return this [_destinationNode];
67140
66949
  },
67141
66950
  enumerable: true,
67142
66951
  },
67143
66952
  destinationField:
67144
66953
  {
67145
- get ()
67146
- {
67147
- return this [_destinationField] .getName ();
67148
- },
66954
+ get: X3DRoute .prototype .getDestinationField,
67149
66955
  enumerable: true,
67150
66956
  },
67151
66957
  });
@@ -67161,9 +66967,33 @@ Object .defineProperties (X3DRoute,
67161
66967
 
67162
66968
  Object .assign (X3DRoute,
67163
66969
  {
67164
- getRouteId (sourceField, destinationField)
66970
+ getRouteId (sourceNode, sourceFieldName, destinationNode, destinationFieldName)
67165
66971
  {
67166
- return `${sourceField .getId ()}.${destinationField .getId ()}`;
66972
+ const sourceField = sourceNode instanceof Core_X3DNode
66973
+ ? sourceNode .getField (sourceFieldName)
66974
+ : X3DRoute_$.try (() => sourceNode .getExportedNode () .getField (sourceFieldName));
66975
+
66976
+ const destinationField = destinationNode instanceof Core_X3DNode
66977
+ ? destinationNode .getField (destinationFieldName)
66978
+ : X3DRoute_$.try (() => destinationNode .getExportedNode () .getField (destinationFieldName));
66979
+
66980
+ if (sourceField)
66981
+ {
66982
+ sourceFieldName = sourceField .getName ();
66983
+
66984
+ if (sourceField .getAccessType () === Base_X3DConstants .inputOutput)
66985
+ sourceFieldName += "_changed";
66986
+ }
66987
+
66988
+ if (destinationField)
66989
+ {
66990
+ destinationFieldName = destinationField .getName ();
66991
+
66992
+ if (destinationField .getAccessType () === Base_X3DConstants .inputOutput)
66993
+ destinationFieldName = "set_" + destinationFieldName;
66994
+ }
66995
+
66996
+ return `${sourceNode .getId ()}.${sourceFieldName}.${destinationNode .getId ()}.${destinationFieldName}`;
67167
66997
  },
67168
66998
  });
67169
66999
 
@@ -67311,6 +67141,7 @@ x_ite_Namespace .add ("RouteArray", "x_ite/Routing/RouteArray", RouteArray_defau
67311
67141
 
67312
67142
 
67313
67143
 
67144
+
67314
67145
  const
67315
67146
  _namedNodes = Symbol (),
67316
67147
  _importedNodes = Symbol (),
@@ -67657,28 +67488,27 @@ Object .assign (Object .setPrototypeOf (X3DExecutionContext .prototype, Base_X3D
67657
67488
  throw new Error (`Unknown named or imported node '${name}'.`);
67658
67489
  }
67659
67490
  },
67660
- getLocalName (node)
67491
+ getLocalizedNode (node)
67661
67492
  {
67662
- node = Base_X3DCast (Base_X3DConstants .X3DNode, node, false);
67493
+ const importedNode = node instanceof Execution_X3DImportedNode ? node : null;
67663
67494
 
67664
- if (!node)
67665
- throw new Error ("Couldn't get local name: node must be of type X3DNode.");
67495
+ node = Base_X3DCast (Base_X3DConstants .X3DNode, node, false) ?? importedNode;
67666
67496
 
67667
- if (node .getExecutionContext () === this)
67668
- return node .getName ();
67497
+ if (!node)
67498
+ throw new Error ("Couldn't get localized node: node must be of type X3DNode.");
67669
67499
 
67670
67500
  for (const importedNode of this [_importedNodes])
67671
67501
  {
67672
67502
  try
67673
67503
  {
67674
67504
  if (importedNode .getExportedNode () === node)
67675
- return importedNode .getImportedName ();
67505
+ return importedNode;
67676
67506
  }
67677
67507
  catch
67678
67508
  { }
67679
67509
  }
67680
67510
 
67681
- throw new Error ("Couldn't get local name: node is shared.");
67511
+ return node;
67682
67512
  },
67683
67513
  setRootNodes () { },
67684
67514
  getRootNodes ()
@@ -67833,98 +67663,48 @@ Object .assign (Object .setPrototypeOf (X3DExecutionContext .prototype, Base_X3D
67833
67663
  },
67834
67664
  addRoute (sourceNode, sourceField, destinationNode, destinationField)
67835
67665
  {
67836
- let
67837
- importedSourceNode = sourceNode instanceof Execution_X3DImportedNode ? sourceNode : null,
67838
- importedDestinationNode = destinationNode instanceof Execution_X3DImportedNode ? destinationNode : null;
67839
-
67840
- sourceNode = Base_X3DCast (Base_X3DConstants .X3DNode, sourceNode, false);
67841
- sourceField = String (sourceField);
67842
- destinationNode = Base_X3DCast (Base_X3DConstants .X3DNode, destinationNode, false);
67843
- destinationField = String (destinationField);
67844
-
67845
- if (!(sourceNode || importedSourceNode))
67846
- throw new Error ("Bad ROUTE specification: source node must be of type X3DNode.");
67847
-
67848
- if (!(destinationNode || importedDestinationNode))
67849
- throw new Error ("Bad ROUTE specification: destination node must be of type X3DNode.");
67850
-
67851
- // Imported nodes handling.
67852
-
67853
67666
  try
67854
67667
  {
67855
- // If sourceNode is shared node try to find the corresponding X3DImportedNode.
67856
- if (sourceNode && sourceNode .getExecutionContext () !== this)
67857
- importedSourceNode = this .getLocalNode (this .getLocalName (sourceNode));
67858
- }
67859
- catch
67860
- {
67861
- // Source node is shared but not imported.
67862
- }
67668
+ // Normalize arguments.
67863
67669
 
67864
- try
67865
- {
67866
- // If destinationNode is shared node try to find the corresponding X3DImportedNode.
67867
- if (destinationNode && destinationNode .getExecutionContext () !== this)
67868
- importedDestinationNode = this .getLocalNode (this .getLocalName (destinationNode));
67869
- }
67870
- catch
67871
- {
67872
- // Destination node is shared but not imported.
67873
- }
67670
+ const
67671
+ importedSourceNode = sourceNode instanceof Execution_X3DImportedNode ? sourceNode : null,
67672
+ importedDestinationNode = destinationNode instanceof Execution_X3DImportedNode ? destinationNode : null;
67874
67673
 
67875
- if (importedSourceNode instanceof Execution_X3DImportedNode && importedDestinationNode instanceof Execution_X3DImportedNode)
67876
- {
67877
- importedSourceNode .addRoute (importedSourceNode, sourceField, importedDestinationNode, destinationField);
67878
- importedDestinationNode .addRoute (importedSourceNode, sourceField, importedDestinationNode, destinationField);
67879
- }
67880
- else if (importedSourceNode instanceof Execution_X3DImportedNode)
67881
- {
67882
- importedSourceNode .addRoute (importedSourceNode, sourceField, destinationNode, destinationField);
67883
- }
67884
- else if (importedDestinationNode instanceof Execution_X3DImportedNode)
67885
- {
67886
- importedDestinationNode .addRoute (sourceNode, sourceField, importedDestinationNode, destinationField);
67887
- }
67888
- else
67889
- {
67890
- // Create route and return.
67891
- return this .addSimpleRoute (sourceNode, sourceField, destinationNode, destinationField);
67892
- }
67893
- },
67894
- addSimpleRoute (sourceNode, sourceField, destinationNode, destinationField)
67895
- {
67896
- try
67897
- {
67898
- // Source and dest node must be here X3DNode, no check here.
67899
- // Private function.
67900
- // Create route and return.
67674
+ sourceNode = Base_X3DCast (Base_X3DConstants .X3DNode, sourceNode, false) ?? importedSourceNode;
67675
+ sourceField = String (sourceField);
67676
+ destinationNode = Base_X3DCast (Base_X3DConstants .X3DNode, destinationNode, false) ?? importedDestinationNode;
67677
+ destinationField = String (destinationField);
67901
67678
 
67902
- sourceField = sourceNode .getField (sourceField),
67903
- destinationField = destinationNode .getField (destinationField);
67679
+ if (!sourceNode)
67680
+ throw new Error ("source node must be of type X3DNode or X3DImportedNode.");
67904
67681
 
67905
- if (!sourceField .isOutput ())
67906
- throw new Error (`Field named '${sourceField .getName ()}' in node named '${sourceNode .getName ()}' of type ${sourceNode .getTypeName ()} is not an output field.`);
67682
+ if (!destinationNode)
67683
+ throw new Error ("destination node must be of type X3DNode or X3DImportedNode.");
67907
67684
 
67908
- if (!destinationField .isInput ())
67909
- throw new Error (`Field named '${destinationField .getName ()}' in node named '${destinationNode .getName ()}' of type ${destinationNode .getTypeName ()} is not an input field.`);
67685
+ // Resolve imported source and destination node.
67910
67686
 
67911
- if (sourceField .getType () !== destinationField .getType ())
67912
- throw new Error (`ROUTE types ${sourceField .getTypeName ()} and ${destinationField .getTypeName ()} do not match.`);
67687
+ sourceNode = this .getLocalizedNode (sourceNode);
67688
+ destinationNode = this .getLocalizedNode (destinationNode);
67913
67689
 
67914
- const id = Routing_X3DRoute .getRouteId (sourceField, destinationField);
67690
+ // Add route.
67915
67691
 
67916
- let route = this [X3DExecutionContext_routes] .get (id);
67692
+ const
67693
+ id = Routing_X3DRoute .getRouteId (sourceNode, sourceField, destinationNode, destinationField),
67694
+ route = this [X3DExecutionContext_routes] .get (id);
67917
67695
 
67918
67696
  if (route)
67697
+ {
67919
67698
  return route;
67699
+ }
67700
+ else
67701
+ {
67702
+ const route = new Routing_X3DRoute (this, sourceNode, sourceField, destinationNode, destinationField);
67920
67703
 
67921
- route = new Routing_X3DRoute (this, sourceNode, sourceField, destinationNode, destinationField);
67922
-
67923
- this [X3DExecutionContext_routes] .add (id, route);
67924
-
67925
- this ._routes_changed = this .getBrowser () .getCurrentTime ();
67704
+ this [X3DExecutionContext_routes] .add (id, route);
67926
67705
 
67927
- return route;
67706
+ return route;
67707
+ }
67928
67708
  }
67929
67709
  catch (error)
67930
67710
  {
@@ -67933,76 +67713,31 @@ Object .assign (Object .setPrototypeOf (X3DExecutionContext .prototype, Base_X3D
67933
67713
  },
67934
67714
  deleteRoute (route)
67935
67715
  {
67936
- // sourceNode, sourceField, destinationNode, destinationField
67716
+ // Case: sourceNode, sourceField, destinationNode, destinationField.
67937
67717
  if (arguments .length === 4)
67938
67718
  route = this .getRoute (... arguments);
67939
67719
 
67940
67720
  if (!(route instanceof Routing_X3DRoute))
67941
67721
  return;
67942
67722
 
67943
- if (route .getExecutionContext () !== this)
67723
+ if (this [X3DExecutionContext_routes] .get (route .getRouteId ()) !== route)
67944
67724
  return;
67945
67725
 
67946
- this .deleteSimpleRoute (route);
67947
- this .deleteImportedRoute (route .sourceNode, route .destinationNode, route);
67948
- },
67949
- deleteSimpleRoute (route)
67950
- {
67951
67726
  this [X3DExecutionContext_routes] .remove (route .getRouteId ());
67952
67727
 
67953
- route .disconnect ();
67954
-
67955
- this ._routes_changed = this .getBrowser () .getCurrentTime ();
67728
+ route .dispose ();
67956
67729
  },
67957
- deleteImportedRoute (sourceNode, destinationNode, route)
67730
+ getRoute (sourceNode, sourceField, destinationNode, destinationField)
67958
67731
  {
67959
- // Imported nodes handling.
67960
-
67961
- let
67962
- importedSourceNode = null,
67963
- importedDestinationNode = null;
67964
-
67965
- try
67966
- {
67967
- // If sourceNode is shared node try to find the corresponding X3DImportedNode.
67968
- if (sourceNode .getValue () .getExecutionContext () !== this)
67969
- importedSourceNode = this .getLocalNode (this .getLocalName (sourceNode));
67970
- }
67971
- catch
67972
- {
67973
- // Source node is shared but not imported.
67974
- }
67732
+ // Normalize arguments.
67975
67733
 
67976
- try
67977
- {
67978
- // If destinationNode is shared node try to find the corresponding X3DImportedNode.
67979
- if (destinationNode .getValue () .getExecutionContext () !== this)
67980
- importedDestinationNode = this .getLocalNode (this .getLocalName (destinationNode));
67981
- }
67982
- catch
67983
- {
67984
- // Destination node is shared but not imported.
67985
- }
67734
+ const
67735
+ importedSourceNode = sourceNode instanceof Execution_X3DImportedNode ? sourceNode : null,
67736
+ importedDestinationNode = destinationNode instanceof Execution_X3DImportedNode ? destinationNode : null;
67986
67737
 
67987
- if (importedSourceNode instanceof Execution_X3DImportedNode && importedDestinationNode instanceof Execution_X3DImportedNode)
67988
- {
67989
- importedSourceNode .deleteRoute (route);
67990
- importedDestinationNode .deleteRoute (route);
67991
- }
67992
- else if (importedSourceNode instanceof Execution_X3DImportedNode)
67993
- {
67994
- importedSourceNode .deleteRoute (route);
67995
- }
67996
- else if (importedDestinationNode instanceof Execution_X3DImportedNode)
67997
- {
67998
- importedDestinationNode .deleteRoute (route);
67999
- }
68000
- },
68001
- getRoute (sourceNode, sourceField, destinationNode, destinationField)
68002
- {
68003
- sourceNode = Base_X3DCast (Base_X3DConstants .X3DNode, sourceNode, false);
67738
+ sourceNode = Base_X3DCast (Base_X3DConstants .X3DNode, sourceNode, false) ?? importedSourceNode;
68004
67739
  sourceField = String (sourceField)
68005
- destinationNode = Base_X3DCast (Base_X3DConstants .X3DNode, destinationNode, false);
67740
+ destinationNode = Base_X3DCast (Base_X3DConstants .X3DNode, destinationNode, false) ?? importedDestinationNode;
68006
67741
  destinationField = String (destinationField)
68007
67742
 
68008
67743
  if (!sourceNode)
@@ -68011,10 +67746,14 @@ Object .assign (Object .setPrototypeOf (X3DExecutionContext .prototype, Base_X3D
68011
67746
  if (!destinationNode)
68012
67747
  throw new Error ("Bad ROUTE specification: destinationNode must be of type X3DNode.");
68013
67748
 
68014
- sourceField = sourceNode .getField (sourceField);
68015
- destinationField = destinationNode .getField (destinationField);
67749
+ // Resolve imported source and destination node.
68016
67750
 
68017
- return this [X3DExecutionContext_routes] .get (Routing_X3DRoute .getRouteId (sourceField, destinationField));
67751
+ sourceNode = this .getLocalizedNode (sourceNode);
67752
+ destinationNode = this .getLocalizedNode (destinationNode);
67753
+
67754
+ // Return route.
67755
+
67756
+ return this [X3DExecutionContext_routes] .get (Routing_X3DRoute .getRouteId (sourceNode, sourceField, destinationNode, destinationField));
68018
67757
  },
68019
67758
  getRoutes ()
68020
67759
  {
@@ -68449,11 +68188,11 @@ Object .assign (Object .setPrototypeOf (X3DPrototypeInstance .prototype, Core_X3
68449
68188
 
68450
68189
  // Copy proto.
68451
68190
 
68452
- this .importExternProtos (proto .getBody () .externprotos);
68453
- this .importProtos (proto .getBody () .protos);
68454
- this .copyRootNodes (proto .getBody () .rootNodes);
68455
- this .copyImportedNodes (proto .getBody (), proto .getBody () .getImportedNodes ());
68456
- this .copyRoutes (proto .getBody (), proto .getBody () .routes);
68191
+ this .importExternProtos (proto .getBody () .externprotos);
68192
+ this .importProtos (proto .getBody () .protos);
68193
+ this .copyRootNodes (proto .getBody () .rootNodes);
68194
+ this .importImportedNodes (proto .getBody () .importedNodes);
68195
+ this .copyRoutes (proto .getBody () .routes);
68457
68196
 
68458
68197
  this [X3DPrototypeInstance_body] .setup ();
68459
68198
 
@@ -68504,6 +68243,9 @@ Object .assign (Object .setPrototypeOf (X3DPrototypeInstance .prototype, Core_X3
68504
68243
  oldField .setAccessType (newField .getAccessType ());
68505
68244
  oldField .setName (newField .getName ());
68506
68245
 
68246
+ // Replace field, ie. reuse old field.
68247
+ this .getPredefinedFields () .update (newField .getName (), newField .getName (), oldField);
68248
+
68507
68249
  const references = new Set (oldField .getReferences ());
68508
68250
 
68509
68251
  // Remove references and routes.
@@ -68517,16 +68259,33 @@ Object .assign (Object .setPrototypeOf (X3DPrototypeInstance .prototype, Core_X3
68517
68259
  oldField .addReference (field);
68518
68260
  }
68519
68261
 
68520
- // Reconnect routes.
68521
- for (const route of oldField .getInputRoutes ())
68522
- route .getSourceField () .addFieldInterest (route .getDestinationField ());
68262
+ // Reconnect input routes.
68263
+ for (const route of new Set (oldField .getInputRoutes ()))
68264
+ {
68265
+ try
68266
+ {
68267
+ const { sourceNode, sourceField } = route;
68523
68268
 
68524
- // Reconnect routes.
68525
- for (const route of oldField .getOutputRoutes ())
68526
- route .getSourceField () .addFieldInterest (route .getDestinationField ());
68269
+ route .getExecutionContext () .deleteRoute (route);
68270
+ route .getExecutionContext () .addRoute (sourceNode, sourceField, this, oldField .getName ());
68271
+ }
68272
+ catch
68273
+ { }
68274
+ }
68527
68275
 
68528
- // Replace field, ie. reuse old field.
68529
- this .getPredefinedFields () .update (newField .getName (), newField .getName (), oldField);
68276
+ // Reconnect output routes.
68277
+ for (const route of new Set (oldField .getOutputRoutes ()))
68278
+ {
68279
+ try
68280
+ {
68281
+ const { destinationNode, destinationField } = route;
68282
+
68283
+ route .getExecutionContext () .deleteRoute (route);
68284
+ route .getExecutionContext () .addRoute (this, oldField .getName (), destinationNode, destinationField );
68285
+ }
68286
+ catch
68287
+ { }
68288
+ }
68530
68289
 
68531
68290
  // Remove from old fields and dispose new field.
68532
68291
  oldFields .delete (oldFieldName);
@@ -68611,34 +68370,35 @@ Object .assign (Object .setPrototypeOf (X3DPrototypeInstance .prototype, Core_X3
68611
68370
  for (const node of rootNodes1)
68612
68371
  rootNodes2 .push (node .copy (this));
68613
68372
  },
68614
- copyImportedNodes (executionContext, importedNodes)
68373
+ importImportedNodes (importedNodes)
68615
68374
  {
68616
68375
  for (const importedNode of importedNodes)
68617
68376
  {
68618
68377
  try
68619
68378
  {
68620
- const
68621
- inlineNode = this [X3DPrototypeInstance_body] .getNamedNode (importedNode .getInlineNode () .getName ()),
68622
- importedName = importedNode .getImportedName (),
68623
- exportedName = importedNode .getExportedName ();
68379
+ const inlineNode = this [X3DPrototypeInstance_body] .getNamedNode (importedNode .getInlineNode () .getName ());
68624
68380
 
68625
- this [X3DPrototypeInstance_body] .addImportedNode (inlineNode, exportedName, importedName);
68381
+ this [X3DPrototypeInstance_body] .addImportedNode (inlineNode, importedNode .getExportedName (), importedNode .getImportedName ());
68626
68382
  }
68627
68383
  catch (error)
68628
68384
  {
68629
- console .error ("Bad IMPORT specification in copy: ", error);
68385
+ console .error (error);
68630
68386
  }
68631
68387
  }
68632
68388
  },
68633
- copyRoutes (executionContext, routes)
68389
+ copyRoutes (routes)
68634
68390
  {
68635
68391
  for (const route of routes)
68636
68392
  {
68637
68393
  try
68638
68394
  {
68639
- const
68640
- sourceNode = this [X3DPrototypeInstance_body] .getLocalNode (executionContext .getLocalName (route .sourceNode)),
68641
- destinationNode = this [X3DPrototypeInstance_body] .getLocalNode (executionContext .getLocalName (route .destinationNode));
68395
+ const sourceNode = route .getSourceNode () instanceof Core_X3DNode
68396
+ ? this [X3DPrototypeInstance_body] .getLocalNode (route .getSourceNode () .getName ())
68397
+ : this [X3DPrototypeInstance_body] .getLocalNode (route .getSourceNode () .getImportedName ());
68398
+
68399
+ const destinationNode = route .getDestinationNode () instanceof Core_X3DNode
68400
+ ? this [X3DPrototypeInstance_body] .getLocalNode (route .getDestinationNode () .getName ())
68401
+ : this [X3DPrototypeInstance_body] .getLocalNode (route .getDestinationNode () .getImportedName ());
68642
68402
 
68643
68403
  this [X3DPrototypeInstance_body] .addRoute (sourceNode, route .sourceField, destinationNode, route .destinationField);
68644
68404
  }
@@ -89611,7 +89371,7 @@ const X3DShaderNode_default_ = X3DShaderNode;
89611
89371
  x_ite_Namespace .add ("X3DShaderNode", "x_ite/Components/Shaders/X3DShaderNode", X3DShaderNode_default_);
89612
89372
  /* harmony default export */ const Shaders_X3DShaderNode = (X3DShaderNode_default_);
89613
89373
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Shaders/X3DProgrammableShaderObject.js
89614
- /* provided dependency */ var X3DProgrammableShaderObject_$ = __webpack_require__(831);
89374
+ /* provided dependency */ var X3DProgrammableShaderObject_$ = __webpack_require__(548);
89615
89375
  /*******************************************************************************
89616
89376
  *
89617
89377
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -95252,7 +95012,7 @@ const ShaderCompiler_default_ = ShaderCompiler;
95252
95012
  x_ite_Namespace .add ("ShaderCompiler", "x_ite/Browser/Shaders/ShaderCompiler", ShaderCompiler_default_);
95253
95013
  /* harmony default export */ const Shaders_ShaderCompiler = (ShaderCompiler_default_);
95254
95014
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Shaders/ShaderPart.js
95255
- /* provided dependency */ var ShaderPart_$ = __webpack_require__(831);
95015
+ /* provided dependency */ var ShaderPart_$ = __webpack_require__(548);
95256
95016
  /*******************************************************************************
95257
95017
  *
95258
95018
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -95909,7 +95669,7 @@ const X3DAppearanceNode_default_ = X3DAppearanceNode;
95909
95669
  x_ite_Namespace .add ("X3DAppearanceNode", "x_ite/Components/Shape/X3DAppearanceNode", X3DAppearanceNode_default_);
95910
95670
  /* harmony default export */ const Shape_X3DAppearanceNode = (X3DAppearanceNode_default_);
95911
95671
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Shape/Appearance.js
95912
- /* provided dependency */ var Appearance_$ = __webpack_require__(831);
95672
+ /* provided dependency */ var Appearance_$ = __webpack_require__(548);
95913
95673
  /*******************************************************************************
95914
95674
  *
95915
95675
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -99327,7 +99087,7 @@ const Components_Shape_default_ = {
99327
99087
  x_ite_Namespace .add ("Shape", "x_ite/Components/Shape", Components_Shape_default_);
99328
99088
  /* harmony default export */ const Components_Shape = (Components_Shape_default_);
99329
99089
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Sound/X3DSoundProcessingNode.js
99330
- /* provided dependency */ var X3DSoundProcessingNode_$ = __webpack_require__(831);
99090
+ /* provided dependency */ var X3DSoundProcessingNode_$ = __webpack_require__(548);
99331
99091
  /*******************************************************************************
99332
99092
  *
99333
99093
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -99967,7 +99727,7 @@ const X3DSoundSourceNode_default_ = X3DSoundSourceNode;
99967
99727
  x_ite_Namespace .add ("X3DSoundSourceNode", "x_ite/Components/Sound/X3DSoundSourceNode", X3DSoundSourceNode_default_);
99968
99728
  /* harmony default export */ const Sound_X3DSoundSourceNode = (X3DSoundSourceNode_default_);
99969
99729
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Sound/AudioClip.js
99970
- /* provided dependency */ var AudioClip_$ = __webpack_require__(831);
99730
+ /* provided dependency */ var AudioClip_$ = __webpack_require__(548);
99971
99731
  /*******************************************************************************
99972
99732
  *
99973
99733
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -100269,7 +100029,7 @@ const X3DSoundNode_default_ = X3DSoundNode;
100269
100029
  x_ite_Namespace .add ("X3DSoundNode", "x_ite/Components/Sound/X3DSoundNode", X3DSoundNode_default_);
100270
100030
  /* harmony default export */ const Sound_X3DSoundNode = (X3DSoundNode_default_);
100271
100031
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Sound/X3DSoundDestinationNode.js
100272
- /* provided dependency */ var X3DSoundDestinationNode_$ = __webpack_require__(831);
100032
+ /* provided dependency */ var X3DSoundDestinationNode_$ = __webpack_require__(548);
100273
100033
  /*******************************************************************************
100274
100034
  *
100275
100035
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -101919,7 +101679,7 @@ const ListenerPointSource_default_ = ListenerPointSource;
101919
101679
  x_ite_Namespace .add ("ListenerPointSource", "x_ite/Components/Sound/ListenerPointSource", ListenerPointSource_default_);
101920
101680
  /* harmony default export */ const Sound_ListenerPointSource = (ListenerPointSource_default_);
101921
101681
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Sound/MicrophoneSource.js
101922
- /* provided dependency */ var MicrophoneSource_$ = __webpack_require__(831);
101682
+ /* provided dependency */ var MicrophoneSource_$ = __webpack_require__(548);
101923
101683
  /*******************************************************************************
101924
101684
  *
101925
101685
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -103588,8 +103348,8 @@ const GifMedia_default_ = GifMedia;
103588
103348
  x_ite_Namespace .add ("GifMedia", "x_ite/Browser/Texturing/GifMedia", GifMedia_default_);
103589
103349
  /* harmony default export */ const Texturing_GifMedia = (GifMedia_default_);
103590
103350
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Texturing/MovieTexture.js
103591
- /* provided dependency */ var MovieTexture_$ = __webpack_require__(831);
103592
- /* provided dependency */ var SuperGif = __webpack_require__(698);
103351
+ /* provided dependency */ var MovieTexture_$ = __webpack_require__(548);
103352
+ /* provided dependency */ var SuperGif = __webpack_require__(258);
103593
103353
  /*******************************************************************************
103594
103354
  *
103595
103355
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -106864,7 +106624,7 @@ const gettext_default_ = gettext;
106864
106624
  x_ite_Namespace .add ("gettext", "locale/gettext", gettext_default_);
106865
106625
  /* harmony default export */ const locale_gettext = (gettext_default_);
106866
106626
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/BrowserTimings.js
106867
- /* provided dependency */ var BrowserTimings_$ = __webpack_require__(831);
106627
+ /* provided dependency */ var BrowserTimings_$ = __webpack_require__(548);
106868
106628
  /*******************************************************************************
106869
106629
  *
106870
106630
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -107294,7 +107054,7 @@ const TextureQuality_default_ = TextureQuality;
107294
107054
  x_ite_Namespace .add ("TextureQuality", "x_ite/Browser/Core/TextureQuality", TextureQuality_default_);
107295
107055
  /* harmony default export */ const Core_TextureQuality = (TextureQuality_default_);
107296
107056
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/BrowserOptions.js
107297
- /* provided dependency */ var BrowserOptions_$ = __webpack_require__(831);
107057
+ /* provided dependency */ var BrowserOptions_$ = __webpack_require__(548);
107298
107058
  /*******************************************************************************
107299
107059
  *
107300
107060
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -107884,7 +107644,7 @@ const RenderingProperties_default_ = RenderingProperties;
107884
107644
  x_ite_Namespace .add ("RenderingProperties", "x_ite/Browser/Core/RenderingProperties", RenderingProperties_default_);
107885
107645
  /* harmony default export */ const Core_RenderingProperties = (RenderingProperties_default_);
107886
107646
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/Notification.js
107887
- /* provided dependency */ var Notification_$ = __webpack_require__(831);
107647
+ /* provided dependency */ var Notification_$ = __webpack_require__(548);
107888
107648
  /*******************************************************************************
107889
107649
  *
107890
107650
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -108007,8 +107767,8 @@ const Notification_default_ = Notification;
108007
107767
  x_ite_Namespace .add ("Notification", "x_ite/Browser/Core/Notification", Notification_default_);
108008
107768
  /* harmony default export */ const Core_Notification = (Notification_default_);
108009
107769
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/ContextMenu.js
108010
- /* provided dependency */ var jquery_fullscreen = __webpack_require__(561);
108011
- /* provided dependency */ var ContextMenu_$ = __webpack_require__(831);
107770
+ /* provided dependency */ var jquery_fullscreen = __webpack_require__(864);
107771
+ /* provided dependency */ var ContextMenu_$ = __webpack_require__(548);
108012
107772
  /*******************************************************************************
108013
107773
  *
108014
107774
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -109281,7 +109041,7 @@ Object .assign (Object .setPrototypeOf (X3DExportedNode .prototype, Base_X3DObje
109281
109041
  },
109282
109042
  toVRMLStream (generator)
109283
109043
  {
109284
- const localName = generator .LocalName (this .getLocalNode ());
109044
+ const localName = generator .Name (this .getLocalNode ());
109285
109045
 
109286
109046
  generator .string += generator .Indent ();
109287
109047
  generator .string += "EXPORT";
@@ -109298,7 +109058,7 @@ Object .assign (Object .setPrototypeOf (X3DExportedNode .prototype, Base_X3DObje
109298
109058
  },
109299
109059
  toXMLStream (generator)
109300
109060
  {
109301
- const localName = generator .LocalName (this .getLocalNode ());
109061
+ const localName = generator .Name (this .getLocalNode ());
109302
109062
 
109303
109063
  generator .string += generator .Indent ();
109304
109064
  generator .string += "<EXPORT";
@@ -109319,7 +109079,7 @@ Object .assign (Object .setPrototypeOf (X3DExportedNode .prototype, Base_X3DObje
109319
109079
  },
109320
109080
  toJSONStream (generator)
109321
109081
  {
109322
- const localName = generator .LocalName (this .getLocalNode ());
109082
+ const localName = generator .Name (this .getLocalNode ());
109323
109083
 
109324
109084
  generator .string += generator .Indent ();
109325
109085
  generator .string += '{';
@@ -110762,7 +110522,7 @@ const DataStorage_default_ = DataStorage;
110762
110522
  x_ite_Namespace .add ("DataStorage", "standard/Utility/DataStorage", DataStorage_default_);
110763
110523
  /* harmony default export */ const Utility_DataStorage = (DataStorage_default_);
110764
110524
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/X3DCoreContext.js
110765
- /* provided dependency */ var X3DCoreContext_$ = __webpack_require__(831);
110525
+ /* provided dependency */ var X3DCoreContext_$ = __webpack_require__(548);
110766
110526
  /*******************************************************************************
110767
110527
  *
110768
110528
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -113285,8 +113045,8 @@ const X3DViewer_default_ = X3DViewer;
113285
113045
  x_ite_Namespace .add ("X3DViewer", "x_ite/Browser/Navigation/X3DViewer", X3DViewer_default_);
113286
113046
  /* harmony default export */ const Navigation_X3DViewer = (X3DViewer_default_);
113287
113047
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Navigation/ExamineViewer.js
113288
- /* provided dependency */ var jquery_mousewheel = __webpack_require__(471);
113289
- /* provided dependency */ var ExamineViewer_$ = __webpack_require__(831);
113048
+ /* provided dependency */ var jquery_mousewheel = __webpack_require__(642);
113049
+ /* provided dependency */ var ExamineViewer_$ = __webpack_require__(548);
113290
113050
  /*******************************************************************************
113291
113051
  *
113292
113052
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -114158,8 +113918,8 @@ const ExamineViewer_default_ = ExamineViewer;
114158
113918
  x_ite_Namespace .add ("ExamineViewer", "x_ite/Browser/Navigation/ExamineViewer", ExamineViewer_default_);
114159
113919
  /* harmony default export */ const Navigation_ExamineViewer = (ExamineViewer_default_);
114160
113920
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Navigation/X3DFlyViewer.js
114161
- /* provided dependency */ var X3DFlyViewer_jquery_mousewheel = __webpack_require__(471);
114162
- /* provided dependency */ var X3DFlyViewer_$ = __webpack_require__(831);
113921
+ /* provided dependency */ var X3DFlyViewer_jquery_mousewheel = __webpack_require__(642);
113922
+ /* provided dependency */ var X3DFlyViewer_$ = __webpack_require__(548);
114163
113923
  /*******************************************************************************
114164
113924
  *
114165
113925
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -115168,8 +114928,8 @@ const FlyViewer_default_ = FlyViewer;
115168
114928
  x_ite_Namespace .add ("FlyViewer", "x_ite/Browser/Navigation/FlyViewer", FlyViewer_default_);
115169
114929
  /* harmony default export */ const Navigation_FlyViewer = (FlyViewer_default_);
115170
114930
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Navigation/PlaneViewer.js
115171
- /* provided dependency */ var PlaneViewer_jquery_mousewheel = __webpack_require__(471);
115172
- /* provided dependency */ var PlaneViewer_$ = __webpack_require__(831);
114931
+ /* provided dependency */ var PlaneViewer_jquery_mousewheel = __webpack_require__(642);
114932
+ /* provided dependency */ var PlaneViewer_$ = __webpack_require__(548);
115173
114933
  /*******************************************************************************
115174
114934
  *
115175
114935
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -115500,8 +115260,8 @@ const NoneViewer_default_ = NoneViewer;
115500
115260
  x_ite_Namespace .add ("NoneViewer", "x_ite/Browser/Navigation/NoneViewer", NoneViewer_default_);
115501
115261
  /* harmony default export */ const Navigation_NoneViewer = (NoneViewer_default_);
115502
115262
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Navigation/LookAtViewer.js
115503
- /* provided dependency */ var LookAtViewer_jquery_mousewheel = __webpack_require__(471);
115504
- /* provided dependency */ var LookAtViewer_$ = __webpack_require__(831);
115263
+ /* provided dependency */ var LookAtViewer_jquery_mousewheel = __webpack_require__(642);
115264
+ /* provided dependency */ var LookAtViewer_$ = __webpack_require__(548);
115505
115265
  /*******************************************************************************
115506
115266
  *
115507
115267
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -116640,8 +116400,8 @@ const X3DPickingContext_default_ = X3DPickingContext;
116640
116400
  x_ite_Namespace .add ("X3DPickingContext", "x_ite/Browser/Picking/X3DPickingContext", X3DPickingContext_default_);
116641
116401
  /* harmony default export */ const Picking_X3DPickingContext = (X3DPickingContext_default_);
116642
116402
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/PointingDeviceSensor/PointingDevice.js
116643
- /* provided dependency */ var PointingDevice_jquery_mousewheel = __webpack_require__(471);
116644
- /* provided dependency */ var PointingDevice_$ = __webpack_require__(831);
116403
+ /* provided dependency */ var PointingDevice_jquery_mousewheel = __webpack_require__(642);
116404
+ /* provided dependency */ var PointingDevice_$ = __webpack_require__(548);
116645
116405
  /*******************************************************************************
116646
116406
  *
116647
116407
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -117920,7 +117680,7 @@ const MultiSampleFrameBuffer_default_ = MultiSampleFrameBuffer;
117920
117680
  x_ite_Namespace .add ("MultiSampleFrameBuffer", "x_ite/Rendering/MultiSampleFrameBuffer", MultiSampleFrameBuffer_default_);
117921
117681
  /* harmony default export */ const Rendering_MultiSampleFrameBuffer = (MultiSampleFrameBuffer_default_);
117922
117682
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Rendering/X3DRenderingContext.js
117923
- /* provided dependency */ var X3DRenderingContext_$ = __webpack_require__(831);
117683
+ /* provided dependency */ var X3DRenderingContext_$ = __webpack_require__(548);
117924
117684
  /*******************************************************************************
117925
117685
  *
117926
117686
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -118018,7 +117778,7 @@ Object .assign (X3DRenderingContext .prototype,
118018
117778
  {
118019
117779
  const gl = this .getContext ();
118020
117780
 
118021
- if (! navigator .userAgent .match (/Firefox/))
117781
+ if (!navigator .userAgent .match (/Firefox/))
118022
117782
  {
118023
117783
  const dbgRenderInfo = gl .getExtension ("WEBGL_debug_renderer_info");
118024
117784
 
@@ -118032,7 +117792,7 @@ Object .assign (X3DRenderingContext .prototype,
118032
117792
  {
118033
117793
  const gl = this .getContext ();
118034
117794
 
118035
- if (! navigator .userAgent .match (/Firefox/))
117795
+ if (!navigator .userAgent .match (/Firefox/))
118036
117796
  {
118037
117797
  const dbgRenderInfo = gl .getExtension ("WEBGL_debug_renderer_info");
118038
117798
 
@@ -118181,16 +117941,15 @@ Object .assign (X3DRenderingContext .prototype,
118181
117941
  reshape ()
118182
117942
  {
118183
117943
  const
118184
- $canvas = this .getCanvas (),
117944
+ canvas = this .getCanvas (),
118185
117945
  contentScale = this .getRenderingProperty ("ContentScale"),
118186
117946
  samples = this .getRenderingProperty ("Multisampling"),
118187
117947
  oit = this .getBrowserOption ("OrderIndependentTransparency"),
118188
- width = $canvas .width () * contentScale,
118189
- height = $canvas .height () * contentScale,
118190
- canvas = $canvas [0];
117948
+ width = canvas .width () * contentScale,
117949
+ height = canvas .height () * contentScale;
118191
117950
 
118192
- canvas .width = width;
118193
- canvas .height = height;
117951
+ canvas .prop ("width", width);
117952
+ canvas .prop ("height", height);
118194
117953
 
118195
117954
  this [_viewport] [2] = width;
118196
117955
  this [_viewport] [3] = height;
@@ -118823,7 +118582,7 @@ const X3DSoundContext_default_ = X3DSoundContext;
118823
118582
  x_ite_Namespace .add ("X3DSoundContext", "x_ite/Browser/Sound/X3DSoundContext", X3DSoundContext_default_);
118824
118583
  /* harmony default export */ const Sound_X3DSoundContext = (X3DSoundContext_default_);
118825
118584
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Texturing/KTXDecoder.js
118826
- /* provided dependency */ var KTXDecoder_$ = __webpack_require__(831);
118585
+ /* provided dependency */ var KTXDecoder_$ = __webpack_require__(548);
118827
118586
  const KTXDecoder_default_ = class KTXDecoder
118828
118587
  {
118829
118588
  constructor (gl, externalKtxlib, scriptDir)
@@ -120376,7 +120135,7 @@ const Components_default_ = Components;
120376
120135
  x_ite_Namespace .add ("Components", "x_ite/Components", Components_default_);
120377
120136
  /* harmony default export */ const x_ite_Components = ((/* unused pure expression or super */ null && (Components_default_)));
120378
120137
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/DOMIntegration.js
120379
- /* provided dependency */ var DOMIntegration_$ = __webpack_require__(831);
120138
+ /* provided dependency */ var DOMIntegration_$ = __webpack_require__(548);
120380
120139
  /*******************************************************************************
120381
120140
  * MIT License
120382
120141
  *
@@ -121507,7 +121266,7 @@ const SupportedProfiles_default_ = SupportedProfiles;
121507
121266
  x_ite_Namespace .add ("SupportedProfiles", "x_ite/Configuration/SupportedProfiles", SupportedProfiles_default_);
121508
121267
  /* harmony default export */ const Configuration_SupportedProfiles = (SupportedProfiles_default_);
121509
121268
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/X3DBrowser.js
121510
- /* provided dependency */ var X3DBrowser_$ = __webpack_require__(831);
121269
+ /* provided dependency */ var X3DBrowser_$ = __webpack_require__(548);
121511
121270
  /*******************************************************************************
121512
121271
  *
121513
121272
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -122221,21 +121980,11 @@ Object .assign (Object .setPrototypeOf (X3DBrowser .prototype, Browser_X3DBrowse
122221
121980
  else
122222
121981
  return new Map ([... this [_browserCallbacks]] .flatMap (([event, map]) => [... map]));
122223
121982
  },
122224
- callBrowserCallbacks: (() =>
121983
+ callBrowserCallbacks (event)
122225
121984
  {
122226
- const values = [ ];
122227
-
122228
- return function (event)
122229
- {
122230
- const browserCallbacks = this [_browserCallbacks] .get (event);
122231
-
122232
- if (browserCallbacks .size)
122233
- {
122234
- for (const callback of Utility_MapUtilities .values (values, browserCallbacks))
122235
- callback (event);
122236
- }
122237
- };
122238
- })(),
121985
+ for (const callback of Utility_MapUtilities .values (this [_browserCallbacks] .get (event)))
121986
+ callback (event);
121987
+ },
122239
121988
  importDocument (dom)
122240
121989
  {
122241
121990
  const
@@ -122420,23 +122169,13 @@ Object .assign (Object .setPrototypeOf (X3DBrowser .prototype, Browser_X3DBrowse
122420
122169
 
122421
122170
  viewpointNode ._set_bind = true;
122422
122171
  },
122423
- addRoute (fromNode, fromEventOut, toNode, toEventIn)
122172
+ addRoute (sourceNode, sourceField, destinationNode, destinationField)
122424
122173
  {
122425
- this .currentScene .addRoute (fromNode, fromEventOut, toNode, toEventIn);
122174
+ this .currentScene .addRoute (sourceNode, sourceField, destinationNode, destinationField);
122426
122175
  },
122427
- deleteRoute (fromNode, fromEventOut, toNode, toEventIn)
122176
+ deleteRoute (sourceNode, sourceField, destinationNode, destinationField)
122428
122177
  {
122429
- try
122430
- {
122431
- const route = this .currentScene .getRoute (fromNode, fromEventOut, toNode, toEventIn);
122432
-
122433
- if (route)
122434
- this .currentScene .deleteRoute (route);
122435
- }
122436
- catch (error)
122437
- {
122438
- console .error (error);
122439
- }
122178
+ this .currentScene .deleteRoute (sourceNode, sourceField, destinationNode, destinationField);
122440
122179
  },
122441
122180
  beginUpdate ()
122442
122181
  {
@@ -122588,7 +122327,7 @@ const X3DBrowser_default_ = X3DBrowser;
122588
122327
  x_ite_Namespace .add ("X3DBrowser", "x_ite/Browser/X3DBrowser", X3DBrowser_default_);
122589
122328
  /* harmony default export */ const Browser_X3DBrowser = (X3DBrowser_default_);
122590
122329
  ;// CONCATENATED MODULE: ./src/x_ite/X3DCanvasElement.js
122591
- /* provided dependency */ var X3DCanvasElement_$ = __webpack_require__(831);
122330
+ /* provided dependency */ var X3DCanvasElement_$ = __webpack_require__(548);
122592
122331
  /*******************************************************************************
122593
122332
  *
122594
122333
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -122720,8 +122459,8 @@ const X3DCanvasElement_default_ = X3DCanvasElement;
122720
122459
  x_ite_Namespace .add ("X3DCanvasElement", "x_ite/X3DCanvasElement", X3DCanvasElement_default_);
122721
122460
  /* harmony default export */ const x_ite_X3DCanvasElement = (X3DCanvasElement_default_);
122722
122461
  ;// CONCATENATED MODULE: ./src/lib/jquery.js
122723
- /* provided dependency */ var jquery_$ = __webpack_require__(831);
122724
- /* provided dependency */ var pako = __webpack_require__(295);
122462
+ /* provided dependency */ var jquery_$ = __webpack_require__(548);
122463
+ /* provided dependency */ var pako = __webpack_require__(63);
122725
122464
  Object .assign (jquery_$,
122726
122465
  {
122727
122466
  decodeText (input)
@@ -122798,14 +122537,14 @@ const jquery_default_ = jquery_$;
122798
122537
  x_ite_Namespace .add ("jquery", "lib/jquery", jquery_default_);
122799
122538
  /* harmony default export */ const jquery = ((/* unused pure expression or super */ null && (jquery_default_)));
122800
122539
  ;// CONCATENATED MODULE: ./src/lib/libtess.js
122801
- /* provided dependency */ var libtess_libtess = __webpack_require__(864);
122540
+ /* provided dependency */ var libtess_libtess = __webpack_require__(527);
122802
122541
  const libtess_default_ = libtess_libtess;
122803
122542
  ;
122804
122543
 
122805
122544
  x_ite_Namespace .add ("libtess", "lib/libtess", libtess_default_);
122806
122545
  /* harmony default export */ const lib_libtess = ((/* unused pure expression or super */ null && (libtess_default_)));
122807
122546
  ;// CONCATENATED MODULE: ./src/x_ite/X3D.js
122808
- /* provided dependency */ var X3D_$ = __webpack_require__(831);
122547
+ /* provided dependency */ var X3D_$ = __webpack_require__(548);
122809
122548
  /*******************************************************************************
122810
122549
  *
122811
122550
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -123113,7 +122852,7 @@ Object .assign (X3D,
123113
122852
 
123114
122853
  // Assign X3D to global namespace.
123115
122854
 
123116
- window [Symbol .for ("X_ITE.X3D-9.1.11")] = x_ite_X3D;
122855
+ window [Symbol .for ("X_ITE.X3D-9.2.1")] = x_ite_X3D;
123117
122856
 
123118
122857
  customElements .define ("x3d-canvas", x_ite_X3DCanvasElement);
123119
122858