x_ite 16.3.1 → 16.4.0

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 (59) hide show
  1. package/README.md +6 -6
  2. package/dist/assets/components/AnnotationComponent.js +1 -1
  3. package/dist/assets/components/AnnotationComponent.min.js +1 -1
  4. package/dist/assets/components/CADGeometryComponent.js +1 -1
  5. package/dist/assets/components/CADGeometryComponent.min.js +1 -1
  6. package/dist/assets/components/CubeMapTexturingComponent.js +1 -1
  7. package/dist/assets/components/CubeMapTexturingComponent.min.js +1 -1
  8. package/dist/assets/components/DISComponent.js +1 -1
  9. package/dist/assets/components/DISComponent.min.js +1 -1
  10. package/dist/assets/components/EventUtilitiesComponent.js +6 -5
  11. package/dist/assets/components/EventUtilitiesComponent.min.js +2 -2
  12. package/dist/assets/components/GaussianSplatsComponent.js +1 -1
  13. package/dist/assets/components/GaussianSplatsComponent.min.js +1 -1
  14. package/dist/assets/components/Geometry2DComponent.js +1 -1
  15. package/dist/assets/components/Geometry2DComponent.min.js +1 -1
  16. package/dist/assets/components/Geometry3DComponent.js +1 -1
  17. package/dist/assets/components/Geometry3DComponent.min.js +1 -1
  18. package/dist/assets/components/GeospatialComponent.js +1 -1
  19. package/dist/assets/components/GeospatialComponent.min.js +1 -1
  20. package/dist/assets/components/HAnimComponent.js +1 -1
  21. package/dist/assets/components/HAnimComponent.min.js +1 -1
  22. package/dist/assets/components/KeyDeviceSensorComponent.js +1 -1
  23. package/dist/assets/components/KeyDeviceSensorComponent.min.js +1 -1
  24. package/dist/assets/components/LayoutComponent.js +1 -1
  25. package/dist/assets/components/LayoutComponent.min.js +1 -1
  26. package/dist/assets/components/NURBSComponent.js +1 -1
  27. package/dist/assets/components/NURBSComponent.min.js +1 -1
  28. package/dist/assets/components/ParticleSystemsComponent.js +1 -1
  29. package/dist/assets/components/ParticleSystemsComponent.min.js +1 -1
  30. package/dist/assets/components/PickingComponent.js +1 -1
  31. package/dist/assets/components/PickingComponent.min.js +1 -1
  32. package/dist/assets/components/RigidBodyPhysicsComponent.js +1 -1
  33. package/dist/assets/components/RigidBodyPhysicsComponent.min.js +1 -1
  34. package/dist/assets/components/ScriptingComponent.js +1 -1
  35. package/dist/assets/components/ScriptingComponent.min.js +1 -1
  36. package/dist/assets/components/TextComponent.js +1 -1
  37. package/dist/assets/components/TextComponent.min.js +1 -1
  38. package/dist/assets/components/TextureProjectionComponent.js +1 -1
  39. package/dist/assets/components/TextureProjectionComponent.min.js +1 -1
  40. package/dist/assets/components/Texturing3DComponent.js +10 -10
  41. package/dist/assets/components/Texturing3DComponent.min.js +2 -2
  42. package/dist/assets/components/VolumeRenderingComponent.js +1 -1
  43. package/dist/assets/components/VolumeRenderingComponent.min.js +1 -1
  44. package/dist/assets/components/WebXRComponent.js +5 -3
  45. package/dist/assets/components/WebXRComponent.min.js +2 -2
  46. package/dist/assets/components/X_ITEComponent.js +1 -1
  47. package/dist/assets/components/X_ITEComponent.min.js +1 -1
  48. package/dist/assets/images/background-light.svg +1 -1
  49. package/dist/assets/images/head_mounted_device.svg +1 -0
  50. package/dist/assets/images/no_sound.svg +1 -1
  51. package/dist/example.html +1 -1
  52. package/dist/x_ite.css +1 -1
  53. package/dist/x_ite.js +104 -123
  54. package/dist/x_ite.min.js +2 -2
  55. package/dist/x_ite.min.mjs +2 -2
  56. package/dist/x_ite.mjs +104 -123
  57. package/dist/x_ite.zip +0 -0
  58. package/package.json +3 -3
  59. package/dist/assets/images/xr.svg +0 -1
package/dist/x_ite.mjs CHANGED
@@ -1,7 +1,7 @@
1
- /* X_ITE v16.3.1 */
1
+ /* X_ITE v16.4.0 */
2
2
  var __webpack_modules__ = ({
3
3
 
4
- /***/ 617
4
+ /***/ 530
5
5
  (module, exports) {
6
6
 
7
7
  var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*
@@ -1006,7 +1006,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
1006
1006
 
1007
1007
  /***/ },
1008
1008
 
1009
- /***/ 851
1009
+ /***/ 504
1010
1010
  (module) {
1011
1011
 
1012
1012
  (function webpackUniversalModuleDefinition(root, factory) {
@@ -2002,7 +2002,7 @@ return /******/ (function(modules) { // webpackBootstrap
2002
2002
 
2003
2003
  /***/ },
2004
2004
 
2005
- /***/ 775
2005
+ /***/ 780
2006
2006
  (module) {
2007
2007
 
2008
2008
  /**
@@ -18869,7 +18869,7 @@ const Legacy_default_ = Legacy;
18869
18869
 
18870
18870
  /* harmony default export */ const Browser_Legacy = (x_ite_Namespace .add ("Legacy", Legacy_default_));
18871
18871
  ;// ./src/x_ite/BROWSER_VERSION.js
18872
- const BROWSER_VERSION_default_ = "16.3.1";
18872
+ const BROWSER_VERSION_default_ = "16.4.0";
18873
18873
  ;
18874
18874
 
18875
18875
  /* harmony default export */ const BROWSER_VERSION = (x_ite_Namespace .add ("BROWSER_VERSION", BROWSER_VERSION_default_));
@@ -19326,7 +19326,7 @@ Object .assign (Object .setPrototypeOf (BrowserTimings .prototype, Base_X3DBaseN
19326
19326
  // HTML
19327
19327
 
19328
19328
  const html = /* html */ `
19329
- <div class="x_ite-private-browser-timings x_ite-private-hidden"><table>
19329
+ <div class="x_ite-private-browser-timings x_ite-private-fade x_ite-private-hidden"><table>
19330
19330
  <thead>
19331
19331
  <tr>
19332
19332
  <th colspan="2">${gettext("Browser Timings")}</th>
@@ -19429,8 +19429,7 @@ Object .assign (Object .setPrototypeOf (BrowserTimings .prototype, Base_X3DBaseN
19429
19429
 
19430
19430
  if (this .getBrowser () .getBrowserOption ("Timings"))
19431
19431
  {
19432
- element .classList .remove ("x_ite-private-fade-out-300", "x_ite-private-hidden");
19433
- element .classList .add ("x_ite-private-fade-in-300");
19432
+ element .classList .remove ("x_ite-private-hidden");
19434
19433
 
19435
19434
  this .getBrowser () .addBrowserCallback (this, Base_X3DConstants .INITIALIZED_EVENT, () => this .reset ());
19436
19435
  this .getBrowser () .prepareEvents () .addInterest ("update", this);
@@ -19438,8 +19437,7 @@ Object .assign (Object .setPrototypeOf (BrowserTimings .prototype, Base_X3DBaseN
19438
19437
  }
19439
19438
  else
19440
19439
  {
19441
- element .classList .remove ("x_ite-private-fade-in-300");
19442
- element .classList .add ("x_ite-private-fade-out-300");
19440
+ element .classList .add ("x_ite-private-hidden");
19443
19441
 
19444
19442
  this .getBrowser () .removeBrowserCallback (this, Base_X3DConstants .INITIALIZED_EVENT);
19445
19443
  this .getBrowser () .prepareEvents () .removeInterest ("update", this);
@@ -20344,19 +20342,18 @@ Object .assign (Object .setPrototypeOf (Notification .prototype, Base_X3DBaseNod
20344
20342
  {
20345
20343
  Base_X3DBaseNode .prototype .initialize .call (this);
20346
20344
 
20347
- this .element = (() =>
20348
- {
20349
- const element = document .createElement ("div");
20345
+ const
20346
+ element = document .createElement ("div"),
20347
+ span = document .createElement ("span");
20350
20348
 
20351
- element .style .visibility = "hidden";
20349
+ element .classList .add ("x_ite-private-notification");
20352
20350
 
20353
- element .append (document .createElement ("span"));
20354
- element .classList .add ("x_ite-private-notification");
20351
+ element .append (span);
20355
20352
 
20356
- this .getBrowser () .getSurface () .append (element);
20353
+ this .getBrowser () .getSurface () .append (element);
20357
20354
 
20358
- return element;
20359
- })();
20355
+ this .element = element;
20356
+ this .span = span;
20360
20357
 
20361
20358
  this ._string .addInterest ("set_string__", this);
20362
20359
  },
@@ -20370,12 +20367,12 @@ Object .assign (Object .setPrototypeOf (Notification .prototype, Base_X3DBaseNod
20370
20367
 
20371
20368
  clearTimeout (this .timeoutId);
20372
20369
 
20373
- this .element .querySelector ("span") .textContent = this ._string .getValue ();
20370
+ this .span .textContent = this ._string .getValue ();
20374
20371
 
20375
20372
  Object .assign (this .element .style,
20376
20373
  {
20377
20374
  visibility: "visible",
20378
- width: `${this .textWidth (this .element)}px`,
20375
+ width: `${this .span .clientWidth}px`,
20379
20376
  transition: "width 300ms ease-in-out",
20380
20377
  });
20381
20378
 
@@ -20390,22 +20387,6 @@ Object .assign (Object .setPrototypeOf (Notification .prototype, Base_X3DBaseNod
20390
20387
  },
20391
20388
  5000);
20392
20389
  },
20393
- textWidth (element)
20394
- {
20395
- const
20396
- children = Array .from (element .children),
20397
- span = document .createElement ("span");
20398
-
20399
- span .textContent = element .textContent;
20400
-
20401
- element .replaceChildren (span);
20402
-
20403
- const width = span .clientWidth;
20404
-
20405
- element .replaceChildren (... children);
20406
-
20407
- return width;
20408
- },
20409
20390
  });
20410
20391
 
20411
20392
  Object .defineProperties (Notification,
@@ -20508,12 +20489,9 @@ Object .assign (Object .setPrototypeOf (ContextMenu .prototype, Base_X3DBaseNode
20508
20489
  layer .remove ();
20509
20490
 
20510
20491
  for (const child of ul .children)
20511
- {
20512
- child .classList .remove ("x_ite-private-fade-in-300");
20513
- child .classList .add ("x_ite-private-fade-out-300");
20514
- }
20492
+ child .classList .add ("x_ite-private-hidden");
20515
20493
 
20516
- setTimeout (() => ul .remove (), 1000);
20494
+ setTimeout (() => ul .remove (), 1_000);
20517
20495
 
20518
20496
  return false;
20519
20497
  };
@@ -20524,8 +20502,6 @@ Object .assign (Object .setPrototypeOf (ContextMenu .prototype, Base_X3DBaseNode
20524
20502
 
20525
20503
  ul .classList .add ("context-menu-root", "context-menu-list", menu .className);
20526
20504
 
20527
- ul .style .display = "none";
20528
-
20529
20505
  ul .addEventListener ("contextmenu", () => this .hide ());
20530
20506
 
20531
20507
  root .append (ul);
@@ -20543,15 +20519,12 @@ Object .assign (Object .setPrototypeOf (ContextMenu .prototype, Base_X3DBaseNode
20543
20519
  // Must animate children because of blurish background.
20544
20520
 
20545
20521
  for (const child of ul .children)
20546
- child .classList .add ("x_ite-private-hidden");
20522
+ child .classList .add ("x_ite-private-fade", "x_ite-private-hidden");
20547
20523
 
20548
20524
  ul .style .display = "block";
20549
20525
 
20550
20526
  for (const child of ul .children)
20551
- {
20552
20527
  child .classList .remove ("x_ite-private-hidden");
20553
- child .classList .add ("x_ite-private-fade-in-300");
20554
- }
20555
20528
 
20556
20529
  // Reposition menu if to right or to low.
20557
20530
 
@@ -20745,7 +20718,7 @@ Object .assign (Object .setPrototypeOf (ContextMenu .prototype, Base_X3DBaseNode
20745
20718
  className: "x_ite-private-menu",
20746
20719
  items: {
20747
20720
  "title": {
20748
- name: `${browser .getName ()} Browser v${browser .getVersion ()}`,
20721
+ name: `${browser .getName ()} v${browser .getVersion ()}`,
20749
20722
  className: "context-menu-title context-menu-icon x_ite-private-icon-logo context-menu-not-selectable",
20750
20723
  },
20751
20724
  "separator0": "--------",
@@ -20980,8 +20953,7 @@ Object .assign (Object .setPrototypeOf (ContextMenu .prototype, Base_X3DBaseNode
20980
20953
  overlay .classList .add ("x_ite-private-world-info-overlay");
20981
20954
  priv .append (overlay);
20982
20955
 
20983
- div .style .display = "none";
20984
- div .classList .add ("x_ite-private-world-info", "x_ite-private-hidden");
20956
+ div .classList .add ("x_ite-private-world-info", "x_ite-private-fade", "x_ite-private-hidden");
20985
20957
  overlay .append (div);
20986
20958
 
20987
20959
  const buttons = document .createElement ("div");
@@ -21112,13 +21084,12 @@ Object .assign (Object .setPrototypeOf (ContextMenu .prototype, Base_X3DBaseNode
21112
21084
 
21113
21085
  div .append (content);
21114
21086
 
21115
- div .style .display = "block";
21116
21087
  div .classList .remove ("x_ite-private-hidden");
21117
- div .classList .add ("x_ite-private-fade-in-300");
21118
21088
 
21119
21089
  overlay .addEventListener ("click", () =>
21120
21090
  {
21121
- div .classList .add ("x_ite-private-fade-out-300");
21091
+ div .classList .add ("x_ite-private-hidden");
21092
+
21122
21093
  setTimeout (() => overlay .remove (), 300);
21123
21094
  });
21124
21095
  },
@@ -21442,6 +21413,8 @@ Object .assign (Object .setPrototypeOf (X3DNode .prototype, Base_X3DBaseNode .pr
21442
21413
  {
21443
21414
  if (instance ?.getType () .includes (Base_X3DConstants .X3DExecutionContext) ?? true)
21444
21415
  {
21416
+ // Make flat copy:
21417
+
21445
21418
  const copy = this .create (instance);
21446
21419
 
21447
21420
  for (const field of this .getPredefinedFields ())
@@ -21457,6 +21430,8 @@ Object .assign (Object .setPrototypeOf (X3DNode .prototype, Base_X3DBaseNode .pr
21457
21430
  }
21458
21431
  else
21459
21432
  {
21433
+ // Make a copy for a X3DPrototypeInstance.
21434
+
21460
21435
  const executionContext = instance .getBody ();
21461
21436
 
21462
21437
  // First try to get a named node with the node's name.
@@ -26127,7 +26102,7 @@ Object .assign (X3DParser .prototype,
26127
26102
  if (!this .isInsideProtoDeclaration ())
26128
26103
  nodes .forEach (node => node .setup ());
26129
26104
 
26130
- nodes .length = 0;;
26105
+ nodes .length = 0;
26131
26106
  },
26132
26107
  rotateAxes90 (array)
26133
26108
  {
@@ -31195,7 +31170,7 @@ const Plane3_default_ = Plane3;
31195
31170
 
31196
31171
  /* harmony default export */ const Geometry_Plane3 = (x_ite_Namespace .add ("Plane3", Plane3_default_));
31197
31172
  ;// ./src/standard/Math/Geometry/Triangle3.js
31198
- /* provided dependency */ var libtess = __webpack_require__(775);
31173
+ /* provided dependency */ var libtess = __webpack_require__(780);
31199
31174
 
31200
31175
 
31201
31176
  const Triangle3 =
@@ -47942,7 +47917,7 @@ const Bezier_default_ = Bezier;
47942
47917
 
47943
47918
  /* harmony default export */ const Algorithms_Bezier = (x_ite_Namespace .add ("Bezier", Bezier_default_));
47944
47919
  ;// ./src/x_ite/Parser/SVGParser.js
47945
- /* provided dependency */ var SVGParser_libtess = __webpack_require__(775);
47920
+ /* provided dependency */ var SVGParser_libtess = __webpack_require__(780);
47946
47921
 
47947
47922
 
47948
47923
 
@@ -50725,11 +50700,6 @@ class GoldenGate extends Parser_X3DParser
50725
50700
  return this .#parsers .slice ();
50726
50701
  }
50727
50702
 
50728
- /**
50729
- * @deprecated Use `GoldenGate.add/remove/getParsers`.
50730
- */
50731
- static get Parser () { return this .#parsers; }
50732
-
50733
50703
  parseIntoScene (x3dSyntax, resolve, reject)
50734
50704
  {
50735
50705
  for (const Parser of GoldenGate .#parsers)
@@ -50777,14 +50747,7 @@ class GoldenGate extends Parser_X3DParser
50777
50747
  }
50778
50748
  else
50779
50749
  {
50780
- if (this .#inputs .has (encoding))
50781
- return this .#inputs .get (encoding);
50782
-
50783
- const input = this .createInput (encoding, x3dSyntax);
50784
-
50785
- this .#inputs .set (encoding, input);
50786
-
50787
- return input;
50750
+ return this .#inputs .getOrInsertComputed (encoding, () => this .createInput (encoding, x3dSyntax));
50788
50751
  }
50789
50752
  }
50790
50753
 
@@ -50796,7 +50759,7 @@ class GoldenGate extends Parser_X3DParser
50796
50759
  {
50797
50760
  case "STRING":
50798
50761
  {
50799
- const string = helper.decodeText (x3dSyntax);;
50762
+ const string = helper.decodeText (x3dSyntax);
50800
50763
 
50801
50764
  if (x3dSyntax instanceof ArrayBuffer)
50802
50765
  {
@@ -54670,9 +54633,9 @@ function X3DCoreContext (element)
54670
54633
  <div class="x_ite-private-browser" part="browser" tabindex="0">
54671
54634
  <div class="x_ite-private-surface" part="surface">
54672
54635
  <canvas class="x_ite-private-canvas" part="canvas"></canvas>
54673
- <div class="x_ite-private-buttons" part="buttons"></div>
54636
+ <div class="x_ite-private-buttons x_ite-private-fade" part="buttons"></div>
54674
54637
  </div>
54675
- <div class="x_ite-private-splash-screen x_ite-private-hidden">
54638
+ <div class="x_ite-private-splash-screen x_ite-private-fade x_ite-private-hidden">
54676
54639
  <div class="x_ite-private-spinner"></div>
54677
54640
  <div class="x_ite-private-progress">
54678
54641
  <div class="x_ite-private-x_ite">
@@ -54696,7 +54659,7 @@ function X3DCoreContext (element)
54696
54659
  {
54697
54660
  const link = document .createElement ("link");
54698
54661
 
54699
- link .integrity = "sha384-x6y/hxdrQVgxMyDh++oW/v2xiaW7k1Rmjai5PMfLQ+DLzcx2odeW89DVDfzQkGs9";
54662
+ link .integrity = "sha384-/SECsklivyOEI8wp6xcDS0QDczGbqmxoaXDzSZCmJLpGmYfD16XJmOZr0O2QNDmj";
54700
54663
  link .rel = "stylesheet";
54701
54664
  link .crossOrigin = "anonymous";
54702
54665
  link .onload = resolve;
@@ -54995,12 +54958,7 @@ Object .assign (X3DCoreContext .prototype,
54995
54958
  this .setBrowserOption ("SplashScreen", this .parseBooleanAttribute (newValue) ?? true);
54996
54959
 
54997
54960
  if (!this .getBrowserOption ("SplashScreen"))
54998
- {
54999
- this .getCanvas () .style .display = "block";
55000
-
55001
- this .getSplashScreen () .classList .remove ("x_ite-private-fade-out-splash-screen");
55002
54961
  this .getSplashScreen () .classList .add ("x_ite-private-hidden");
55003
- }
55004
54962
 
55005
54963
  break;
55006
54964
  }
@@ -64168,7 +64126,7 @@ Object .assign (X3DNetworkingContext .prototype,
64168
64126
  {
64169
64127
  this .getContextMenu () .hide ();
64170
64128
  this .getCanvas () .style .display = "none";
64171
- this .getSplashScreen () .classList .remove ("x_ite-private-fade-out-splash-screen", "x_ite-private-hidden");
64129
+ this .getSplashScreen () .classList .remove ("x_ite-private-hidden");
64172
64130
  }
64173
64131
  }
64174
64132
  else
@@ -64183,7 +64141,7 @@ Object .assign (X3DNetworkingContext .prototype,
64183
64141
  setTimeout (() =>
64184
64142
  {
64185
64143
  if (!this [_browserLoading])
64186
- this .getSplashScreen () .classList .add ("x_ite-private-fade-out-splash-screen");
64144
+ this .getSplashScreen () .classList .add ("x_ite-private-hidden");
64187
64145
  });
64188
64146
  }
64189
64147
  }
@@ -66136,10 +66094,16 @@ Object .assign (X3DRenderingContext .prototype,
66136
66094
  {
66137
66095
  return Utility_Lock .acquire (this [_buttonLock], async () =>
66138
66096
  {
66139
- this .getSurface () .querySelector (".x_ite-private-xr-button") ?.remove ();
66140
66097
 
66141
66098
  if (!await this .xrCheckSupport ())
66099
+ {
66100
+ const button = this .getSurface () .querySelector (".x_ite-private-xr-button");
66101
+
66102
+ if (button)
66103
+ button .classList .add ("x_ite-private-hidden");
66104
+
66142
66105
  return;
66106
+ }
66143
66107
 
66144
66108
  await this .loadComponents (this .getComponent ("WebXR"), this .getComponent ("Geometry2D"));
66145
66109
 
@@ -71922,7 +71886,6 @@ const PeriodicWave_default_ = PeriodicWave;
71922
71886
 
71923
71887
 
71924
71888
 
71925
-
71926
71889
  const
71927
71890
  _audioContext = Symbol (),
71928
71891
  _soundDestinationNodes = Symbol (),
@@ -72033,7 +71996,7 @@ Object .assign (X3DSoundContext .prototype,
72033
71996
  noSoundButton = document .createElement ("div"),
72034
71997
  startAudioElements = () => this .startAudioElements ();
72035
71998
 
72036
- noSoundButton .classList .add ("x_ite-private-no-sound-button", "x_ite-private-button");
71999
+ noSoundButton .classList .add ("x_ite-private-no-sound-button", "x_ite-private-button", "x_ite-private-fade");
72037
72000
  noSoundButton .part ?.add ("no-sound-button");
72038
72001
 
72039
72002
  noSoundButton .title = gettext("Activate sound.");
@@ -72045,24 +72008,12 @@ Object .assign (X3DSoundContext .prototype,
72045
72008
  return noSoundButton;
72046
72009
  })();
72047
72010
 
72048
- const
72049
- count = !! this [_audioElements] .size,
72050
- fade = count ? "x_ite-private-fade-in-300" : "x_ite-private-fade-out-300";
72011
+ const count = !! this [_audioElements] .size;
72051
72012
 
72052
72013
  if (count)
72053
- this [_noSoundButton] .style .display = "";
72054
-
72055
- this [_noSoundButton] .classList .add (fade);
72056
-
72057
- await helper.sleep (400);
72058
-
72059
- this [_noSoundButton] .classList .remove (fade);
72060
-
72061
- if (count !== !! this [_audioElements] .size)
72062
- return;
72063
-
72064
- if (!count)
72065
- this [_noSoundButton] .style .display = "none";
72014
+ this [_noSoundButton] .classList .remove ("x_ite-private-hidden");
72015
+ else
72016
+ this [_noSoundButton] .classList .add ("x_ite-private-hidden");
72066
72017
  },
72067
72018
  200);
72068
72019
  },
@@ -84048,7 +83999,9 @@ const Inline_default_ = Inline;
84048
83999
  * THIS NODE IS STILL EXPERIMENTAL.
84049
84000
  */
84050
84001
 
84051
- const InlineGeometry_cache = Symbol .for ("X_ITE.cache");
84002
+ const
84003
+ InlineGeometry_cache = Symbol .for ("X_ITE.cache"),
84004
+ _lock = Symbol ();
84052
84005
 
84053
84006
  function InlineGeometry (executionContext)
84054
84007
  {
@@ -84079,43 +84032,54 @@ Object .assign (Object .setPrototypeOf (InlineGeometry .prototype, Rendering_X3D
84079
84032
  },
84080
84033
  set_solid__ ()
84081
84034
  {
84082
- if (!this .geometryNode)
84035
+ const { geometryNode } = this;
84036
+
84037
+ if (!geometryNode)
84083
84038
  return;
84084
84039
 
84085
- if (this .geometryNode .getGeometryType () < 2)
84040
+ if (geometryNode .getGeometryType () < 2)
84086
84041
  return;
84087
84042
 
84088
- this .geometryNode ._solid = this ._solid;
84043
+ geometryNode ._solid = this ._solid;
84089
84044
  },
84090
84045
  set_smooth__ ()
84091
84046
  {
84092
- if (!this .geometryNode)
84047
+ const { geometryNode } = this;
84048
+
84049
+ if (!geometryNode)
84093
84050
  return;
84094
84051
 
84095
- if (this .geometryNode .getGeometryType () < 2)
84052
+ if (geometryNode .getGeometryType () < 3)
84053
+ return;
84054
+
84055
+ if (geometryNode ._normal ?.getValue ())
84096
84056
  return;
84097
84057
 
84098
84058
  const smooth = this ._smooth .getValue ();
84099
84059
 
84100
- if (this .geometryNode ._creaseAngle)
84060
+ if (geometryNode ._creaseAngle)
84101
84061
  {
84102
84062
  const creaseAngle = smooth ? Math .PI : 0;
84103
84063
 
84104
- if (this .geometryNode ._creaseAngle .equals (creaseAngle))
84064
+ if (geometryNode ._creaseAngle .equals (creaseAngle))
84105
84065
  return;
84106
84066
 
84107
- this .geometryNode ._creaseAngle = creaseAngle;
84067
+ geometryNode ._creaseAngle = creaseAngle;
84108
84068
  }
84109
- else if (this .geometryNode ._normal && !this .geometryNode ._normal .getValue ())
84069
+
84070
+ if (geometryNode ._normalPerVertex)
84110
84071
  {
84111
- if (this .geometryNode ._normalPerVertex .equals (smooth))
84072
+ if (geometryNode ._normalPerVertex .equals (smooth))
84112
84073
  return;
84113
84074
 
84114
- this .geometryNode ._normalPerVertex = smooth;
84075
+ geometryNode ._normalPerVertex = smooth;
84115
84076
  }
84116
84077
  },
84117
84078
  unloadData ()
84118
84079
  {
84080
+ if (this .geometryNode)
84081
+ this .geometryNode [_lock] = false;
84082
+
84119
84083
  this .fileLoader ?.abort ();
84120
84084
  this .setInternalScene (null);
84121
84085
  },
@@ -84123,6 +84087,9 @@ Object .assign (Object .setPrototypeOf (InlineGeometry .prototype, Rendering_X3D
84123
84087
  {
84124
84088
  const cache = this .getBrowser () .getBrowserOption ("Cache");
84125
84089
 
84090
+ if (this .geometryNode)
84091
+ this .geometryNode [_lock] = false;
84092
+
84126
84093
  this .fileLoader ?.abort ();
84127
84094
 
84128
84095
  this .fileLoader = new InputOutput_FileLoader (this, { cacheScene: cache })
@@ -84132,13 +84099,8 @@ Object .assign (Object .setPrototypeOf (InlineGeometry .prototype, Rendering_X3D
84132
84099
  {
84133
84100
  // Remove old scene.
84134
84101
 
84135
- if (this .scene)
84136
- {
84137
- this .getLive () .removeFieldInterest (this .scene .getLive ());
84138
-
84139
- if (!this .scene [InlineGeometry_cache])
84140
- this .scene .dispose ();
84141
- }
84102
+ if (!this .scene ?.[InlineGeometry_cache])
84103
+ this .scene ?.dispose ();
84142
84104
 
84143
84105
  // Set new scene.
84144
84106
 
@@ -84158,6 +84120,19 @@ Object .assign (Object .setPrototypeOf (InlineGeometry .prototype, Rendering_X3D
84158
84120
  if (!this .geometryNode)
84159
84121
  throw new Error ("No X3DGeometryNode found.");
84160
84122
 
84123
+ if (this .geometryNode [_lock])
84124
+ {
84125
+ this .geometryNode = this .geometryNode .copy (this .getExecutionContext ());
84126
+
84127
+ this .geometryNode .setup ();
84128
+
84129
+ // TODO: add routes.
84130
+ }
84131
+ else
84132
+ {
84133
+ this .geometryNode [_lock] = true;
84134
+ }
84135
+
84161
84136
  this .scene .setExecutionContext (scene [InlineGeometry_cache] ? browser .getDefaultScene () : this .getExecutionContext ());
84162
84137
  this .scene .setLive (true);
84163
84138
 
@@ -84239,6 +84214,9 @@ Object .assign (Object .setPrototypeOf (InlineGeometry .prototype, Rendering_X3D
84239
84214
  { },
84240
84215
  dispose ()
84241
84216
  {
84217
+ if (this .geometryNode)
84218
+ this .geometryNode [_lock] = false;
84219
+
84242
84220
  Networking_X3DUrlObject .prototype .dispose .call (this);
84243
84221
  Rendering_X3DGeometryNode .prototype .dispose .call (this);
84244
84222
  },
@@ -88705,7 +88683,10 @@ Object .assign (Object .setPrototypeOf (AudioDestination .prototype, Sound_X3DSo
88705
88683
  },
88706
88684
  set_mediaDeviceID_impl__ ()
88707
88685
  {
88708
- const sinkId = this ._mediaDeviceID .getValue () || "default";
88686
+ const sinkId = this ._mediaDeviceID .getValue ();
88687
+
88688
+ if (this .audioElement .sinkId === sinkId)
88689
+ return Promise .resolve ();
88709
88690
 
88710
88691
  return this .audioElement .setSinkId ?.(sinkId) ?? Promise .resolve ();
88711
88692
  },
@@ -91545,8 +91526,8 @@ const PNGMedia_default_ = PNGMedia;
91545
91526
 
91546
91527
  /* harmony default export */ const Texturing_PNGMedia = (x_ite_Namespace .add ("PNGMedia", PNGMedia_default_));
91547
91528
  ;// ./src/x_ite/Components/Texturing/MovieTexture.js
91548
- /* provided dependency */ var SuperGif = __webpack_require__(617);
91549
- /* provided dependency */ var APNG = __webpack_require__(851);
91529
+ /* provided dependency */ var SuperGif = __webpack_require__(530);
91530
+ /* provided dependency */ var APNG = __webpack_require__(504);
91550
91531
 
91551
91532
 
91552
91533
 
@@ -94190,7 +94171,7 @@ const QuickSort_default_ = QuickSort;
94190
94171
 
94191
94172
  /* harmony default export */ const Algorithms_QuickSort = (x_ite_Namespace .add ("QuickSort", QuickSort_default_));
94192
94173
  ;// ./src/lib/libtess.js
94193
- /* provided dependency */ var libtess_libtess = __webpack_require__(775);
94174
+ /* provided dependency */ var libtess_libtess = __webpack_require__(780);
94194
94175
  const libtess_default_ = libtess_libtess;
94195
94176
  ;
94196
94177
 
package/dist/x_ite.zip CHANGED
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "x_ite",
3
- "version": "16.3.1",
3
+ "version": "16.4.0",
4
4
  "description": "X_ITE X3D Browser and VRML Viewer — View and Manipulate X3D, VRML, glTF and Other 3D Sources in HTML",
5
5
  "main": "dist/x_ite.js",
6
6
  "module": "dist/x_ite.mjs",
@@ -121,7 +121,7 @@
121
121
  "apng-js": "^1.1.5",
122
122
  "CharLS.js": "^2.0.1",
123
123
  "dicom-parser": "^1.8.21",
124
- "eslint": "^10.10.0",
124
+ "eslint": "^10.11.0",
125
125
  "fast-xml-parser": "^5.11.1",
126
126
  "globals": "^17.12.0",
127
127
  "jpeg-js": "^0.4.4",
@@ -137,7 +137,7 @@
137
137
  "string-replace-webpack-plugin": "^0.1.3",
138
138
  "terser": "5.51.2",
139
139
  "terser-webpack-plugin": "^5.6.1",
140
- "webpack": "^5.110.3",
140
+ "webpack": "^5.111.1",
141
141
  "webpack-cli": "^7.2.3",
142
142
  "webpack-shell-plugin-next": "^2.3.3",
143
143
  "woff2-encoder": "^2.0.0",
@@ -1 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" id="svg1" width="32" height="18" version="1.1" viewBox="0 0 8.467 4.762"><style>@keyframes fill{0%{fill:#ffe32d}50%{fill:#ff9f2e}to{fill:#d71f1f}}</style><path id="layer1" d="M151.606 66.08a.99.99 0 0 1 .992.984.997.997 0 0 1-.992.984.997.997 0 0 1-.992-.984.99.99 0 0 1 .992-.984zm3.704 0c.553 0 .993.45.993.992 0 .541-.451.992-.993.992-.54 0-.992-.45-.992-.992 0-.541.451-.992.992-.992zm-5.041 3.307h2.348l.54-.96a.34.34 0 0 1 .306-.178c.127 0 .244.062.307.177l.54.961h2.348a.83.83 0 0 0 .835-.825l-.01-2.716a.833.833 0 0 0-.835-.825h-6.389a.83.83 0 0 0-.836.825l.01 2.706c.002.459.37.835.836.835z" style="animation:fill 12s alternate infinite linear;fill:#cdcdcd;fill-opacity:1;stroke:#000;stroke-width:.132292;stroke-dasharray:none;stroke-opacity:1" transform="translate(-149.225 -64.823)"/></svg>