x_ite 10.0.4 → 10.1.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 (53) hide show
  1. package/LICENSE.md +5 -5
  2. package/README.md +12 -9
  3. package/dist/LICENSE.md +5 -5
  4. package/dist/X3DUOM.xml +1 -0
  5. package/dist/assets/components/Annotation.js +13 -14
  6. package/dist/assets/components/Annotation.min.js +1 -1
  7. package/dist/assets/components/CADGeometry.js +14 -15
  8. package/dist/assets/components/CADGeometry.min.js +1 -1
  9. package/dist/assets/components/CubeMapTexturing.js +25 -26
  10. package/dist/assets/components/CubeMapTexturing.min.js +1 -1
  11. package/dist/assets/components/DIS.js +13 -14
  12. package/dist/assets/components/DIS.min.js +1 -1
  13. package/dist/assets/components/EventUtilities.js +9 -10
  14. package/dist/assets/components/EventUtilities.min.js +1 -1
  15. package/dist/assets/components/Geometry2D.js +18 -19
  16. package/dist/assets/components/Geometry2D.min.js +1 -1
  17. package/dist/assets/components/Geospatial.js +33 -34
  18. package/dist/assets/components/Geospatial.min.js +1 -1
  19. package/dist/assets/components/HAnim.js +23 -24
  20. package/dist/assets/components/HAnim.min.js +1 -1
  21. package/dist/assets/components/KeyDeviceSensor.js +8 -9
  22. package/dist/assets/components/KeyDeviceSensor.min.js +1 -1
  23. package/dist/assets/components/Layout.js +61 -47
  24. package/dist/assets/components/Layout.min.js +1 -1
  25. package/dist/assets/components/NURBS.js +23 -24
  26. package/dist/assets/components/NURBS.min.js +1 -1
  27. package/dist/assets/components/ParticleSystems.js +26 -27
  28. package/dist/assets/components/ParticleSystems.min.js +1 -1
  29. package/dist/assets/components/Picking.js +18 -19
  30. package/dist/assets/components/Picking.min.js +1 -1
  31. package/dist/assets/components/RigidBodyPhysics.js +17 -18
  32. package/dist/assets/components/RigidBodyPhysics.min.js +1 -1
  33. package/dist/assets/components/Scripting.js +38 -39
  34. package/dist/assets/components/Scripting.min.js +1 -1
  35. package/dist/assets/components/Text.js +275 -201
  36. package/dist/assets/components/Text.min.js +1 -1
  37. package/dist/assets/components/TextureProjection.js +15 -16
  38. package/dist/assets/components/TextureProjection.min.js +1 -1
  39. package/dist/assets/components/Texturing3D.js +27 -28
  40. package/dist/assets/components/Texturing3D.min.js +1 -1
  41. package/dist/assets/components/VolumeRendering.js +23 -23
  42. package/dist/assets/components/VolumeRendering.min.js +1 -1
  43. package/dist/assets/components/X_ITE.js +19 -20
  44. package/dist/assets/components/X_ITE.min.js +1 -1
  45. package/dist/assets/lib/draco_decoder_gltf.js +1 -1
  46. package/dist/example.html +1 -1
  47. package/dist/x_ite.css +1 -1
  48. package/dist/x_ite.js +252 -207
  49. package/dist/x_ite.min.js +1 -1
  50. package/dist/x_ite.min.mjs +1 -1
  51. package/dist/x_ite.mjs +252 -207
  52. package/dist/x_ite.zip +0 -0
  53. package/package.json +3 -3
package/dist/x_ite.mjs CHANGED
@@ -1,9 +1,9 @@
1
- /* X_ITE v10.0.4 */var __webpack_modules__ = ({
1
+ /* X_ITE v10.1.0 */var __webpack_modules__ = ({
2
2
 
3
- /***/ 912:
3
+ /***/ 531:
4
4
  /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
5
5
 
6
- /* provided dependency */ var jQuery = __webpack_require__(404);
6
+ /* provided dependency */ var jQuery = __webpack_require__(439);
7
7
  /**
8
8
  * @preserve jquery.fullscreen 1.1.5
9
9
  * https://github.com/code-lts/jquery-fullscreen-plugin
@@ -199,7 +199,7 @@ installFullScreenHandlers();
199
199
 
200
200
  /***/ }),
201
201
 
202
- /***/ 290:
202
+ /***/ 583:
203
203
  /***/ ((module, exports, __webpack_require__) => {
204
204
 
205
205
  var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
@@ -213,7 +213,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
213
213
  (function (factory) {
214
214
  if ( true ) {
215
215
  // AMD. Register as an anonymous module.
216
- !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(404)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
216
+ !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(439)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
217
217
  __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
218
218
  (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
219
219
  __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
@@ -424,7 +424,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
424
424
 
425
425
  /***/ }),
426
426
 
427
- /***/ 404:
427
+ /***/ 439:
428
428
  /***/ (function(module, exports) {
429
429
 
430
430
  var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
@@ -11148,7 +11148,7 @@ return jQuery;
11148
11148
 
11149
11149
  /***/ }),
11150
11150
 
11151
- /***/ 185:
11151
+ /***/ 12:
11152
11152
  /***/ ((module) => {
11153
11153
 
11154
11154
  /**
@@ -15927,7 +15927,7 @@ if (true) {
15927
15927
 
15928
15928
  /***/ }),
15929
15929
 
15930
- /***/ 976:
15930
+ /***/ 964:
15931
15931
  /***/ (function(__unused_webpack_module, exports) {
15932
15932
 
15933
15933
 
@@ -19172,7 +19172,7 @@ if (true) {
19172
19172
 
19173
19173
  /***/ }),
19174
19174
 
19175
- /***/ 463:
19175
+ /***/ 448:
19176
19176
  /***/ (function(module, exports) {
19177
19177
 
19178
19178
  var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*
@@ -20297,7 +20297,7 @@ Object .defineProperty (Namespace, "add",
20297
20297
  }
20298
20298
  else
20299
20299
  {
20300
- const X3D = window [Symbol .for ("X_ITE.X3D-10.0.4")];
20300
+ const X3D = window [Symbol .for ("X_ITE.X3D-10.1.0")];
20301
20301
 
20302
20302
  if (X3D)
20303
20303
  X3D [name] = module;
@@ -30135,6 +30135,7 @@ x_ite_Namespace .add ("SFVec3", "x_ite/Fields/SFVec3", SFVec3_default_);
30135
30135
 
30136
30136
 
30137
30137
 
30138
+
30138
30139
  const
30139
30140
  SFVec3d = Fields_SFVec3 .SFVec3d,
30140
30141
  SFVec3f = Fields_SFVec3 .SFVec3f,
@@ -30222,6 +30223,25 @@ Object .assign (Object .setPrototypeOf (SFRotation .prototype, Base_X3DField .pr
30222
30223
  {
30223
30224
  return new SFMatrix3f (this .getValue () .getMatrix ());
30224
30225
  },
30226
+ setQuaternion: (function ()
30227
+ {
30228
+ const q = new Numbers_Quaternion ();
30229
+
30230
+ return function (x, y, z, w)
30231
+ {
30232
+ this .getValue () .setQuaternion (q .set (x, y, z, w));
30233
+ this .addEvent ();
30234
+ };
30235
+ })(),
30236
+ getQuaternion: (function ()
30237
+ {
30238
+ const q = new Numbers_Quaternion ();
30239
+
30240
+ return function ()
30241
+ {
30242
+ return [... this .getValue () .getQuaternion (q)];
30243
+ };
30244
+ })(),
30225
30245
  inverse ()
30226
30246
  {
30227
30247
  return new SFRotation (this .getValue () .copy () .inverse ());
@@ -34263,7 +34283,7 @@ const X3DBaseNode_default_ = X3DBaseNode;
34263
34283
  x_ite_Namespace .add ("X3DBaseNode", "x_ite/Base/X3DBaseNode", X3DBaseNode_default_);
34264
34284
  /* harmony default export */ const Base_X3DBaseNode = (X3DBaseNode_default_);
34265
34285
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Legacy.js
34266
- /* provided dependency */ var $ = __webpack_require__(404);
34286
+ /* provided dependency */ var $ = __webpack_require__(439);
34267
34287
  /*******************************************************************************
34268
34288
  *
34269
34289
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -34400,7 +34420,7 @@ x_ite_Namespace .add ("Legacy", "x_ite/Browser/Legacy", Legacy_default_);
34400
34420
  *
34401
34421
  ******************************************************************************/
34402
34422
 
34403
- const BROWSER_VERSION_default_ = "10.0.4";
34423
+ const BROWSER_VERSION_default_ = "10.1.0";
34404
34424
  ;
34405
34425
 
34406
34426
  x_ite_Namespace .add ("BROWSER_VERSION", "x_ite/BROWSER_VERSION", BROWSER_VERSION_default_);
@@ -37586,7 +37606,7 @@ const X3DBindableNode_default_ = X3DBindableNode;
37586
37606
  x_ite_Namespace .add ("X3DBindableNode", "x_ite/Components/Core/X3DBindableNode", X3DBindableNode_default_);
37587
37607
  /* harmony default export */ const Core_X3DBindableNode = (X3DBindableNode_default_);
37588
37608
  ;// CONCATENATED MODULE: ./src/standard/Math/Geometry/Triangle3.js
37589
- /* provided dependency */ var libtess = __webpack_require__(185);
37609
+ /* provided dependency */ var libtess = __webpack_require__(12);
37590
37610
  /*******************************************************************************
37591
37611
  *
37592
37612
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -40156,7 +40176,7 @@ const X3DProtoDeclaration_default_ = X3DProtoDeclaration;
40156
40176
  x_ite_Namespace .add ("X3DProtoDeclaration", "x_ite/Prototype/X3DProtoDeclaration", X3DProtoDeclaration_default_);
40157
40177
  /* harmony default export */ const Prototype_X3DProtoDeclaration = (X3DProtoDeclaration_default_);
40158
40178
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/X3DParser.js
40159
- /* provided dependency */ var X3DParser_$ = __webpack_require__(404);
40179
+ /* provided dependency */ var X3DParser_$ = __webpack_require__(439);
40160
40180
  /*******************************************************************************
40161
40181
  *
40162
40182
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -40414,7 +40434,7 @@ const Expressions_default_ = Expressions;
40414
40434
  x_ite_Namespace .add ("Expressions", "x_ite/Parser/Expressions", Expressions_default_);
40415
40435
  /* harmony default export */ const Parser_Expressions = (Expressions_default_);
40416
40436
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/VRMLParser.js
40417
- /* provided dependency */ var VRMLParser_$ = __webpack_require__(404);
40437
+ /* provided dependency */ var VRMLParser_$ = __webpack_require__(439);
40418
40438
  /*******************************************************************************
40419
40439
  *
40420
40440
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -43114,7 +43134,7 @@ const VRMLParser_default_ = VRMLParser;
43114
43134
  x_ite_Namespace .add ("VRMLParser", "x_ite/Parser/VRMLParser", VRMLParser_default_);
43115
43135
  /* harmony default export */ const Parser_VRMLParser = (VRMLParser_default_);
43116
43136
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/XMLParser.js
43117
- /* provided dependency */ var XMLParser_$ = __webpack_require__(404);
43137
+ /* provided dependency */ var XMLParser_$ = __webpack_require__(439);
43118
43138
  /*******************************************************************************
43119
43139
  *
43120
43140
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -45290,7 +45310,7 @@ const URLs_default_ = URLs;
45290
45310
  x_ite_Namespace .add ("URLs", "x_ite/Browser/Networking/URLs", URLs_default_);
45291
45311
  /* harmony default export */ const Networking_URLs = (URLs_default_);
45292
45312
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/GLTF2Parser.js
45293
- /* provided dependency */ var GLTF2Parser_$ = __webpack_require__(404);
45313
+ /* provided dependency */ var GLTF2Parser_$ = __webpack_require__(439);
45294
45314
  /*******************************************************************************
45295
45315
  *
45296
45316
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -47648,7 +47668,7 @@ Object .assign (Object .setPrototypeOf (GLTF2Parser .prototype, Parser_X3DParser
47648
47668
 
47649
47669
  const node = this .nodes [target .node] ?.transformNode;
47650
47670
 
47651
- if (!node)
47671
+ if (!node && target .path !== "pointer")
47652
47672
  return [ ];
47653
47673
 
47654
47674
  const sampler = samplers [channel .sampler];
@@ -48544,6 +48564,22 @@ Object .assign (Object .setPrototypeOf (GLTF2Parser .prototype, Parser_X3DParser
48544
48564
 
48545
48565
  return interpolatorNodes;
48546
48566
  }
48567
+ case "pointer":
48568
+ {
48569
+ // const
48570
+ // pointer = target .extensions ?.KHR_animation_pointer ?.pointer ?? "",
48571
+ // path = pointer .split ("/") .filter (p => p)
48572
+ // name = path .pop ();
48573
+
48574
+ // let glTF = this .input;
48575
+
48576
+ // for (const property of path)
48577
+ // glTF = glTF [property]
48578
+
48579
+ // console .log (glTF)
48580
+
48581
+ return [ ];
48582
+ }
48547
48583
  default:
48548
48584
  {
48549
48585
  return [ ];
@@ -48933,7 +48969,7 @@ const GLTF2Parser_default_ = GLTF2Parser;
48933
48969
  x_ite_Namespace .add ("GLTF2Parser", "x_ite/Parser/GLTF2Parser", GLTF2Parser_default_);
48934
48970
  /* harmony default export */ const Parser_GLTF2Parser = (GLTF2Parser_default_);
48935
48971
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/GLB2Parser.js
48936
- /* provided dependency */ var GLB2Parser_$ = __webpack_require__(404);
48972
+ /* provided dependency */ var GLB2Parser_$ = __webpack_require__(439);
48937
48973
  /*******************************************************************************
48938
48974
  *
48939
48975
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -49085,7 +49121,7 @@ const GLB2Parser_default_ = GLB2Parser;
49085
49121
  x_ite_Namespace .add ("GLB2Parser", "x_ite/Parser/GLB2Parser", GLB2Parser_default_);
49086
49122
  /* harmony default export */ const Parser_GLB2Parser = (GLB2Parser_default_);
49087
49123
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/OBJParser.js
49088
- /* provided dependency */ var OBJParser_$ = __webpack_require__(404);
49124
+ /* provided dependency */ var OBJParser_$ = __webpack_require__(439);
49089
49125
  /*******************************************************************************
49090
49126
  *
49091
49127
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -50866,7 +50902,8 @@ Object .assign (Object .setPrototypeOf (PLYAParser .prototype, Parser_X3DParser
50866
50902
  scene .setProfile (browser .getProfile ("Interchange"));
50867
50903
 
50868
50904
  await browser .loadComponents (scene);
50869
- await this .processElements (this .header ([ ]))
50905
+
50906
+ this .processElements (this .header ([ ]))
50870
50907
 
50871
50908
  // Create nodes.
50872
50909
 
@@ -51079,12 +51116,12 @@ Object .assign (Object .setPrototypeOf (PLYAParser .prototype, Parser_X3DParser
51079
51116
 
51080
51117
  return false;
51081
51118
  },
51082
- async processElements (elements)
51119
+ processElements (elements)
51083
51120
  {
51084
51121
  // console .log (elements)
51085
51122
 
51086
51123
  for (const element of elements)
51087
- await this .processElement (element);
51124
+ this .processElement (element);
51088
51125
 
51089
51126
  if (!this .coord)
51090
51127
  return;
@@ -51124,12 +51161,12 @@ Object .assign (Object .setPrototypeOf (PLYAParser .prototype, Parser_X3DParser
51124
51161
 
51125
51162
  scene .rootNodes .push (shape);
51126
51163
  },
51127
- async processElement (element)
51164
+ processElement (element)
51128
51165
  {
51129
51166
  switch (element .name)
51130
51167
  {
51131
51168
  case "vertex":
51132
- await this .parseVertices (element);
51169
+ this .parseVertices (element);
51133
51170
  break;
51134
51171
  case "face":
51135
51172
  this .parseFaces (element);
@@ -51145,27 +51182,17 @@ Object .assign (Object .setPrototypeOf (PLYAParser .prototype, Parser_X3DParser
51145
51182
  break;
51146
51183
  }
51147
51184
  },
51148
- async parseVertices ({ count, properties })
51185
+ parseVertices ({ count, properties })
51149
51186
  {
51150
51187
  const
51151
- browser = this .getBrowser (),
51152
- scene = this .getScene (),
51153
- colors = [ ],
51154
- texCoord = scene .createNode ("TextureCoordinate"),
51155
- texCoords = [ ],
51156
- normal = scene .createNode ("Normal"),
51157
- normals = [ ],
51158
- coord = scene .createNode ("Coordinate"),
51159
- points = [ ],
51160
- attributes = new Map ();
51161
-
51162
- for (const { name } of properties)
51163
- {
51164
- if (name .match (/^(?:red|green|blue|alpha|r|g|b|a|f_dc_0|f_dc_1|f_dc_2|opacity|s|t|u|v|nx|ny|nz|x|y|z)$/))
51165
- continue;
51166
-
51167
- attributes .set (name, [ ]);
51168
- }
51188
+ scene = this .getScene (),
51189
+ texCoord = scene .createNode ("TextureCoordinate"),
51190
+ normal = scene .createNode ("Normal"),
51191
+ coord = scene .createNode ("Coordinate"),
51192
+ colors = [ ],
51193
+ texCoords = [ ],
51194
+ normals = [ ],
51195
+ points = [ ];
51169
51196
 
51170
51197
  // console .time ("vertices")
51171
51198
 
@@ -51181,7 +51208,6 @@ Object .assign (Object .setPrototypeOf (PLYAParser .prototype, Parser_X3DParser
51181
51208
  switch (name)
51182
51209
  {
51183
51210
  default:
51184
- attributes .get (name) .push (this .value);
51185
51211
  break;
51186
51212
  case "red": case "green": case "blue": case "alpha":
51187
51213
  case "r": case "g": case "b": case "a":
@@ -51210,26 +51236,6 @@ Object .assign (Object .setPrototypeOf (PLYAParser .prototype, Parser_X3DParser
51210
51236
 
51211
51237
  // console .timeEnd ("vertices")
51212
51238
 
51213
- // Attributes
51214
-
51215
- if (attributes .size)
51216
- {
51217
- scene .addComponent (this .getBrowser () .getComponent ("Shaders", 1));
51218
-
51219
- await browser .loadComponents (scene);
51220
-
51221
- for (const [name, value] of attributes)
51222
- {
51223
- const floatVertexAttribute = scene .createNode ("FloatVertexAttribute");
51224
-
51225
- floatVertexAttribute .name = name;
51226
- floatVertexAttribute .numComponents = 1;
51227
- floatVertexAttribute .value = value;
51228
-
51229
- this .attrib .push (floatVertexAttribute);
51230
- }
51231
- }
51232
-
51233
51239
  // Geometric properties
51234
51240
 
51235
51241
  const
@@ -52460,8 +52466,8 @@ const MatrixStack_default_ = MatrixStack;
52460
52466
  x_ite_Namespace .add ("MatrixStack", "standard/Math/Utility/MatrixStack", MatrixStack_default_);
52461
52467
  /* harmony default export */ const Utility_MatrixStack = (MatrixStack_default_);
52462
52468
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/SVGParser.js
52463
- /* provided dependency */ var SVGParser_$ = __webpack_require__(404);
52464
- /* provided dependency */ var SVGParser_libtess = __webpack_require__(185);
52469
+ /* provided dependency */ var SVGParser_$ = __webpack_require__(439);
52470
+ /* provided dependency */ var SVGParser_libtess = __webpack_require__(12);
52465
52471
  /*******************************************************************************
52466
52472
  *
52467
52473
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -55232,7 +55238,7 @@ const SVGParser_default_ = SVGParser;
55232
55238
  x_ite_Namespace .add ("SVGParser", "x_ite/Parser/SVGParser", SVGParser_default_);
55233
55239
  /* harmony default export */ const Parser_SVGParser = (SVGParser_default_);
55234
55240
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/GoldenGate.js
55235
- /* provided dependency */ var GoldenGate_$ = __webpack_require__(404);
55241
+ /* provided dependency */ var GoldenGate_$ = __webpack_require__(439);
55236
55242
  /*******************************************************************************
55237
55243
  *
55238
55244
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -57689,8 +57695,8 @@ Object .assign (X3DRenderObject .prototype,
57689
57695
 
57690
57696
  // Clip planes and local lights
57691
57697
 
57692
- X3DRenderObject_assign (renderContext .localObjects, this .localObjects); // Fog, ClipPane, X3DLightNode
57693
- X3DRenderObject_assign (renderContext .objectsKeys, this .localObjectsKeys);
57698
+ X3DRenderObject_assign (renderContext .localObjects, this .localObjects); // Fog, ClipPane, X3DLightNode
57699
+ X3DRenderObject_assign (renderContext .localObjectsKeys, this .localObjectsKeys);
57694
57700
 
57695
57701
  return true;
57696
57702
  }
@@ -57706,7 +57712,7 @@ Object .assign (X3DRenderObject .prototype,
57706
57712
  modelViewMatrix: new Float32Array (16),
57707
57713
  scissor: new Numbers_Vector4 (),
57708
57714
  localObjects: [ ],
57709
- objectsKeys: [ ], // [clip planes, lights]
57715
+ localObjectsKeys: [ ], // [clip planes, lights]
57710
57716
  };
57711
57717
  },
57712
57718
  pointing: (() =>
@@ -61764,7 +61770,7 @@ function GeometryContext (options = { })
61764
61770
  hasNormals: false,
61765
61771
  hasTangents: false,
61766
61772
  textureNode: null,
61767
- objectsKeys: [ ],
61773
+ localObjectsKeys: [ ],
61768
61774
  textureCoordinateMapping: new Map (),
61769
61775
  textureCoordinateNode: null,
61770
61776
  },
@@ -62009,7 +62015,7 @@ function X3DBackgroundNode (executionContext)
62009
62015
  this .textureNodes = new Array (6);
62010
62016
  this .textureBits = new Utility_BitSet ();
62011
62017
  this .sphereContext = new Rendering_GeometryContext ({ colorMaterial: true });
62012
- this .texturesContext = new Rendering_GeometryContext ({ objectsKeys: this .sphereContext .objectsKeys});
62018
+ this .texturesContext = new Rendering_GeometryContext ({ localObjectsKeys: this .sphereContext .localObjectsKeys});
62013
62019
  }
62014
62020
 
62015
62021
  Object .assign (Object .setPrototypeOf (X3DBackgroundNode .prototype, Core_X3DBindableNode .prototype),
@@ -62360,9 +62366,9 @@ Object .assign (Object .setPrototypeOf (X3DBackgroundNode .prototype, Core_X3DBi
62360
62366
  case Rendering_TraverseType .DISPLAY:
62361
62367
  {
62362
62368
  const
62363
- localObjects = renderObject .getLocalObjects (),
62364
- clipPlanes = this .clipPlanes,
62365
- objectsKeys = this .sphereContext .objectsKeys;
62369
+ localObjects = renderObject .getLocalObjects (),
62370
+ clipPlanes = this .clipPlanes,
62371
+ localObjectsKeys = this .sphereContext .localObjectsKeys;
62366
62372
 
62367
62373
  let c = 0;
62368
62374
 
@@ -62372,9 +62378,9 @@ Object .assign (Object .setPrototypeOf (X3DBackgroundNode .prototype, Core_X3DBi
62372
62378
  clipPlanes [c ++] = localObject;
62373
62379
  }
62374
62380
 
62375
- clipPlanes .length = c;
62376
- objectsKeys .length = c;
62377
- objectsKeys .fill (0);
62381
+ clipPlanes .length = c;
62382
+ localObjectsKeys .length = c;
62383
+ localObjectsKeys .fill (0);
62378
62384
  return;
62379
62385
  }
62380
62386
  }
@@ -63200,7 +63206,7 @@ const X3DTexture2DNode_default_ = X3DTexture2DNode;
63200
63206
  x_ite_Namespace .add ("X3DTexture2DNode", "x_ite/Components/Texturing/X3DTexture2DNode", X3DTexture2DNode_default_);
63201
63207
  /* harmony default export */ const Texturing_X3DTexture2DNode = (X3DTexture2DNode_default_);
63202
63208
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Texturing/ImageTexture.js
63203
- /* provided dependency */ var ImageTexture_$ = __webpack_require__(404);
63209
+ /* provided dependency */ var ImageTexture_$ = __webpack_require__(439);
63204
63210
  /*******************************************************************************
63205
63211
  *
63206
63212
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -63859,8 +63865,14 @@ Object .assign (Object .setPrototypeOf (X3DLayerNode .prototype, Core_X3DNode .p
63859
63865
  },
63860
63866
  getUserViewpoints ()
63861
63867
  {
63862
- return this .viewpoints .get ()
63863
- .filter (viewpointNode => viewpointNode ._description .length);
63868
+ const
63869
+ browser = this .getBrowser (),
63870
+ enableInlineViewpoints = browser .getBrowserOption ("EnableInlineViewpoints"),
63871
+ currentScene = browser .currentScene;
63872
+
63873
+ return Array .from (new Set (this .viewpoints .get ()
63874
+ .filter (viewpointNode => viewpointNode ._description .length)
63875
+ .filter (viewpointNode => enableInlineViewpoints || viewpointNode .getScene () === currentScene)));
63864
63876
  },
63865
63877
  getBackgroundStack ()
63866
63878
  {
@@ -66784,7 +66796,7 @@ const X3DWorld_default_ = X3DWorld;
66784
66796
  x_ite_Namespace .add ("X3DWorld", "x_ite/Execution/X3DWorld", X3DWorld_default_);
66785
66797
  /* harmony default export */ const Execution_X3DWorld = (X3DWorld_default_);
66786
66798
  ;// CONCATENATED MODULE: ./src/x_ite/InputOutput/FileLoader.js
66787
- /* provided dependency */ var FileLoader_$ = __webpack_require__(404);
66799
+ /* provided dependency */ var FileLoader_$ = __webpack_require__(439);
66788
66800
  /*******************************************************************************
66789
66801
  *
66790
66802
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -67718,7 +67730,7 @@ const ProtoDeclarationArray_default_ = ProtoDeclarationArray;
67718
67730
  x_ite_Namespace .add ("ProtoDeclarationArray", "x_ite/Prototype/ProtoDeclarationArray", ProtoDeclarationArray_default_);
67719
67731
  /* harmony default export */ const Prototype_ProtoDeclarationArray = (ProtoDeclarationArray_default_);
67720
67732
  ;// CONCATENATED MODULE: ./src/x_ite/Routing/X3DRoute.js
67721
- /* provided dependency */ var X3DRoute_$ = __webpack_require__(404);
67733
+ /* provided dependency */ var X3DRoute_$ = __webpack_require__(439);
67722
67734
  /*******************************************************************************
67723
67735
  *
67724
67736
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -91268,7 +91280,7 @@ mediump samplerCube textureCube;
91268
91280
  x_ite_Namespace .add ("MaterialTextures", "assets/shaders/MaterialTextures", MaterialTextures_default_);
91269
91281
  /* harmony default export */ const MaterialTextures = (MaterialTextures_default_);
91270
91282
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Shaders/X3DProgrammableShaderObject.js
91271
- /* provided dependency */ var X3DProgrammableShaderObject_$ = __webpack_require__(404);
91283
+ /* provided dependency */ var X3DProgrammableShaderObject_$ = __webpack_require__(439);
91272
91284
  /*******************************************************************************
91273
91285
  *
91274
91286
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -96721,7 +96733,7 @@ const ShaderCompiler_default_ = ShaderCompiler;
96721
96733
  x_ite_Namespace .add ("ShaderCompiler", "x_ite/Browser/Shaders/ShaderCompiler", ShaderCompiler_default_);
96722
96734
  /* harmony default export */ const Shaders_ShaderCompiler = (ShaderCompiler_default_);
96723
96735
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Shaders/ShaderPart.js
96724
- /* provided dependency */ var ShaderPart_$ = __webpack_require__(404);
96736
+ /* provided dependency */ var ShaderPart_$ = __webpack_require__(439);
96725
96737
  /*******************************************************************************
96726
96738
  *
96727
96739
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -97392,7 +97404,7 @@ const X3DAppearanceNode_default_ = X3DAppearanceNode;
97392
97404
  x_ite_Namespace .add ("X3DAppearanceNode", "x_ite/Components/Shape/X3DAppearanceNode", X3DAppearanceNode_default_);
97393
97405
  /* harmony default export */ const Shape_X3DAppearanceNode = (X3DAppearanceNode_default_);
97394
97406
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Shape/Appearance.js
97395
- /* provided dependency */ var Appearance_$ = __webpack_require__(404);
97407
+ /* provided dependency */ var Appearance_$ = __webpack_require__(439);
97396
97408
  /*******************************************************************************
97397
97409
  *
97398
97410
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -98344,7 +98356,7 @@ Object .assign (Object .setPrototypeOf (X3DMaterialNode .prototype, Shape_X3DApp
98344
98356
 
98345
98357
  if (renderContext)
98346
98358
  {
98347
- const { renderObject, shadows, fogNode, shapeNode, appearanceNode, textureNode, humanoidNode, objectsKeys } = renderContext;
98359
+ const { renderObject, shadows, fogNode, shapeNode, appearanceNode, textureNode, humanoidNode, localObjectsKeys } = renderContext;
98348
98360
 
98349
98361
  key += shapeNode .getAlphaMode ();
98350
98362
  key += renderObject .getRenderAndGlobalLightsKey ();
@@ -98355,7 +98367,7 @@ Object .assign (Object .setPrototypeOf (X3DMaterialNode .prototype, Shape_X3DApp
98355
98367
  key += appearanceNode .getTextureTransformMapping () .size || 1;
98356
98368
  key += geometryContext .textureCoordinateMapping .size || 1;
98357
98369
  key += humanoidNode ?.getHumanoidKey () ?? "[]";
98358
- key += objectsKeys .sort () .join (""); // ClipPlane, X3DLightNode
98370
+ key += localObjectsKeys .sort () .join (""); // ClipPlane, X3DLightNode
98359
98371
  key += ".";
98360
98372
  key += textureNode ? 2 : appearanceNode .getTextureBits () .toString (16);
98361
98373
  }
@@ -98363,13 +98375,13 @@ Object .assign (Object .setPrototypeOf (X3DMaterialNode .prototype, Shape_X3DApp
98363
98375
  {
98364
98376
  // Rubberband, X3DBackgroundNode
98365
98377
 
98366
- const { renderObject, alphaMode, textureNode, objectsKeys } = geometryContext;
98378
+ const { renderObject, alphaMode, textureNode, localObjectsKeys } = geometryContext;
98367
98379
 
98368
98380
  key += alphaMode;
98369
98381
  key += ".";
98370
98382
  key += renderObject .getRenderKey ();
98371
98383
  key += "..000011[]";
98372
- key += objectsKeys .sort () .join (""); // ClipPlane
98384
+ key += localObjectsKeys .sort () .join (""); // ClipPlane
98373
98385
  key += ".";
98374
98386
  key += textureNode ?.getTextureBits () .toString (16) ?? 0;
98375
98387
  }
@@ -98424,7 +98436,7 @@ Object .assign (Object .setPrototypeOf (X3DMaterialNode .prototype, Shape_X3DApp
98424
98436
 
98425
98437
  if (renderContext)
98426
98438
  {
98427
- const { renderObject, fogNode, shapeNode, appearanceNode, humanoidNode, objectsKeys: localObjectsKeys, textureNode } = renderContext;
98439
+ const { renderObject, fogNode, shapeNode, appearanceNode, humanoidNode, localObjectsKeys, textureNode } = renderContext;
98428
98440
 
98429
98441
  const objectsKeys = localObjectsKeys .concat (renderObject .getGlobalLightsKeys ());
98430
98442
 
@@ -98560,7 +98572,7 @@ Object .assign (Object .setPrototypeOf (X3DMaterialNode .prototype, Shape_X3DApp
98560
98572
  }
98561
98573
  else
98562
98574
  {
98563
- const { renderObject, alphaMode, objectsKeys, textureNode } = geometryContext;
98575
+ const { renderObject, alphaMode, localObjectsKeys, textureNode } = geometryContext;
98564
98576
 
98565
98577
  if (renderObject .getLogarithmicDepthBuffer ())
98566
98578
  options .push ("X3D_LOGARITHMIC_DEPTH_BUFFER");
@@ -98588,7 +98600,7 @@ Object .assign (Object .setPrototypeOf (X3DMaterialNode .prototype, Shape_X3DApp
98588
98600
  }
98589
98601
  }
98590
98602
 
98591
- const numClipPlanes = objectsKeys .reduce ((a, c) => a + (c === 0), 0);
98603
+ const numClipPlanes = localObjectsKeys .reduce ((a, c) => a + (c === 0), 0);
98592
98604
 
98593
98605
  if (numClipPlanes)
98594
98606
  {
@@ -106316,8 +106328,8 @@ const GifMedia_default_ = GifMedia;
106316
106328
  x_ite_Namespace .add ("GifMedia", "x_ite/Browser/Texturing/GifMedia", GifMedia_default_);
106317
106329
  /* harmony default export */ const Texturing_GifMedia = (GifMedia_default_);
106318
106330
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Texturing/MovieTexture.js
106319
- /* provided dependency */ var MovieTexture_$ = __webpack_require__(404);
106320
- /* provided dependency */ var SuperGif = __webpack_require__(463);
106331
+ /* provided dependency */ var MovieTexture_$ = __webpack_require__(439);
106332
+ /* provided dependency */ var SuperGif = __webpack_require__(448);
106321
106333
  /*******************************************************************************
106322
106334
  *
106323
106335
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -109649,7 +109661,7 @@ const gettext_default_ = (string) => locale .get (string) || string;
109649
109661
  x_ite_Namespace .add ("gettext", "locale/gettext", gettext_default_);
109650
109662
  /* harmony default export */ const gettext = (gettext_default_);
109651
109663
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/BrowserTimings.js
109652
- /* provided dependency */ var BrowserTimings_$ = __webpack_require__(404);
109664
+ /* provided dependency */ var BrowserTimings_$ = __webpack_require__(439);
109653
109665
  /*******************************************************************************
109654
109666
  *
109655
109667
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -110221,8 +110233,69 @@ const TextureQuality_default_ = TextureQuality;
110221
110233
 
110222
110234
  x_ite_Namespace .add ("TextureQuality", "x_ite/Browser/Core/TextureQuality", TextureQuality_default_);
110223
110235
  /* harmony default export */ const Core_TextureQuality = (TextureQuality_default_);
110236
+ ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/TextCompression.js
110237
+ /*******************************************************************************
110238
+ *
110239
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
110240
+ *
110241
+ * Copyright create3000, Scheffelstraße 31a, Leipzig, Germany 2011 - 2022.
110242
+ *
110243
+ * All rights reserved. Holger Seelig <holger.seelig@yahoo.de>.
110244
+ *
110245
+ * The copyright notice above does not evidence any actual of intended
110246
+ * publication of such source code, and is an unpublished work by create3000.
110247
+ * This material contains CONFIDENTIAL INFORMATION that is the property of
110248
+ * create3000.
110249
+ *
110250
+ * No permission is granted to copy, distribute, or create derivative works from
110251
+ * the contents of this software, in whole or in part, without the prior written
110252
+ * permission of create3000.
110253
+ *
110254
+ * NON-MILITARY USE ONLY
110255
+ *
110256
+ * All create3000 software are effectively free software with a non-military use
110257
+ * restriction. It is free. Well commented source is provided. You may reuse the
110258
+ * source in any way you please with the exception anything that uses it must be
110259
+ * marked to indicate is contains 'non-military use only' components.
110260
+ *
110261
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
110262
+ *
110263
+ * Copyright 2011 - 2022, Holger Seelig <holger.seelig@yahoo.de>.
110264
+ *
110265
+ * This file is part of the X_ITE Project.
110266
+ *
110267
+ * X_ITE is free software: you can redistribute it and/or modify it under the
110268
+ * terms of the GNU General Public License version 3 only, as published by the
110269
+ * Free Software Foundation.
110270
+ *
110271
+ * X_ITE is distributed in the hope that it will be useful, but WITHOUT ANY
110272
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
110273
+ * A PARTICULAR PURPOSE. See the GNU General Public License version 3 for more
110274
+ * details (a copy is included in the LICENSE file that accompanied this code).
110275
+ *
110276
+ * You should have received a copy of the GNU General Public License version 3
110277
+ * along with X_ITE. If not, see <https://www.gnu.org/licenses/gpl.html> for a
110278
+ * copy of the GPLv3 License.
110279
+ *
110280
+ * For Silvio, Joy and Adi.
110281
+ *
110282
+ ******************************************************************************/
110283
+
110284
+ let TextCompression_i = 0;
110285
+
110286
+ const TextCompression =
110287
+ {
110288
+ CHAR_SPACING: TextCompression_i ++,
110289
+ SCALING: TextCompression_i ++,
110290
+ };
110291
+
110292
+ const TextCompression_default_ = TextCompression;
110293
+ ;
110294
+
110295
+ x_ite_Namespace .add ("TextCompression", "x_ite/Browser/Core/TextCompression", TextCompression_default_);
110296
+ /* harmony default export */ const Core_TextCompression = (TextCompression_default_);
110224
110297
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/BrowserOptions.js
110225
- /* provided dependency */ var BrowserOptions_$ = __webpack_require__(404);
110298
+ /* provided dependency */ var BrowserOptions_$ = __webpack_require__(439);
110226
110299
  /*******************************************************************************
110227
110300
  *
110228
110301
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -110280,6 +110353,7 @@ x_ite_Namespace .add ("TextureQuality", "x_ite/Browser/Core/TextureQuality", Tex
110280
110353
 
110281
110354
 
110282
110355
 
110356
+
110283
110357
  // https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/networking.html#BrowserProperties
110284
110358
 
110285
110359
  function BrowserOptions (executionContext)
@@ -110350,6 +110424,7 @@ Object .assign (Object .setPrototypeOf (BrowserOptions .prototype, Base_X3DBaseN
110350
110424
  "Notifications",
110351
110425
  "OrderIndependentTransparency",
110352
110426
  "SplashScreen",
110427
+ "TextCompression",
110353
110428
  "ToneMapping",
110354
110429
  ]);
110355
110430
 
@@ -110419,6 +110494,16 @@ Object .assign (Object .setPrototypeOf (BrowserOptions .prototype, Base_X3DBaseN
110419
110494
  {
110420
110495
  return this .textureQuality;
110421
110496
  },
110497
+ getTextCompression ()
110498
+ {
110499
+ switch (this ._TextCompression .getValue ())
110500
+ {
110501
+ default: // CHAR_SPACING
110502
+ return Core_TextCompression .CHAR_SPACING;
110503
+ case "SCALING":
110504
+ return Core_TextCompression .SCALING;
110505
+ }
110506
+ },
110422
110507
  set_Rubberband__ (rubberband)
110423
110508
  {
110424
110509
  this .localStorage .Rubberband = rubberband .getValue ();
@@ -110630,6 +110715,7 @@ Object .defineProperties (BrowserOptions,
110630
110715
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "Notifications", new x_ite_Fields .SFBool (true)),
110631
110716
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "OrderIndependentTransparency", new x_ite_Fields .SFBool ()),
110632
110717
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "StraightenHorizon", new x_ite_Fields .SFBool (true)),
110718
+ new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "TextCompression", new x_ite_Fields .SFString ("CHAR_SPACING")),
110633
110719
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "Timings", new x_ite_Fields .SFBool ()),
110634
110720
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "ToneMapping", new x_ite_Fields .SFString ("NONE")),
110635
110721
  ]),
@@ -110843,7 +110929,7 @@ const RenderingProperties_default_ = RenderingProperties;
110843
110929
  x_ite_Namespace .add ("RenderingProperties", "x_ite/Browser/Core/RenderingProperties", RenderingProperties_default_);
110844
110930
  /* harmony default export */ const Core_RenderingProperties = (RenderingProperties_default_);
110845
110931
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/Notification.js
110846
- /* provided dependency */ var Notification_$ = __webpack_require__(404);
110932
+ /* provided dependency */ var Notification_$ = __webpack_require__(439);
110847
110933
  /*******************************************************************************
110848
110934
  *
110849
110935
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -110966,8 +111052,8 @@ const Notification_default_ = Notification;
110966
111052
  x_ite_Namespace .add ("Notification", "x_ite/Browser/Core/Notification", Notification_default_);
110967
111053
  /* harmony default export */ const Core_Notification = (Notification_default_);
110968
111054
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/ContextMenu.js
110969
- /* provided dependency */ var jquery_fullscreen = __webpack_require__(912);
110970
- /* provided dependency */ var ContextMenu_$ = __webpack_require__(404);
111055
+ /* provided dependency */ var jquery_fullscreen = __webpack_require__(531);
111056
+ /* provided dependency */ var ContextMenu_$ = __webpack_require__(439);
110971
111057
  /*******************************************************************************
110972
111058
  *
110973
111059
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -111075,7 +111161,7 @@ Object .assign (Object .setPrototypeOf (ContextMenu .prototype, Base_X3DBaseNode
111075
111161
  browser = this .getBrowser (),
111076
111162
  fullscreen = browser .getElement () .fullScreen ();
111077
111163
 
111078
- if (! browser .getBrowserOption ("ContextMenu"))
111164
+ if (!browser .getBrowserOption ("ContextMenu"))
111079
111165
  return;
111080
111166
 
111081
111167
  const menu = {
@@ -111371,19 +111457,19 @@ Object .assign (Object .setPrototypeOf (ContextMenu .prototype, Base_X3DBaseNode
111371
111457
  delete menu .items ["available-viewers"];
111372
111458
  }
111373
111459
 
111374
- if (! browser .getCurrentViewer () .match (/^(?:EXAMINE|FLY)$/))
111460
+ if (!browser .getCurrentViewer () .match (/^(?:EXAMINE|FLY)$/))
111375
111461
  {
111376
111462
  delete menu .items ["straighten-horizon"];
111377
111463
  }
111378
111464
 
111379
- if (! browser .getBrowserOption ("Debug"))
111465
+ if (!browser .getBrowserOption ("Debug"))
111380
111466
  {
111381
111467
  delete menu .items ["shading"];
111382
111468
  }
111383
111469
 
111384
111470
  const worldInfo = browser .getExecutionContext () .getWorldInfos () [0];
111385
111471
 
111386
- if (! worldInfo || (worldInfo .title .length === 0 && worldInfo .info .length === 0))
111472
+ if (!worldInfo || (worldInfo .title .length === 0 && worldInfo .info .length === 0))
111387
111473
  {
111388
111474
  delete menu .items ["world-info"];
111389
111475
  }
@@ -111396,26 +111482,18 @@ Object .assign (Object .setPrototypeOf (ContextMenu .prototype, Base_X3DBaseNode
111396
111482
  browser = this .getBrowser (),
111397
111483
  activeLayer = browser .getActiveLayer ();
111398
111484
 
111399
- if (! activeLayer)
111485
+ if (!activeLayer)
111400
111486
  return { };
111401
111487
 
111402
111488
  const
111403
- enableInlineViewpoints = browser .getBrowserOption ("EnableInlineViewpoints"),
111404
- currentScene = browser .currentScene,
111405
- viewpoints = activeLayer .getViewpoints () .get (),
111406
- currentViewpoint = activeLayer .getViewpoint (),
111407
- menu = { };
111489
+ viewpoints = activeLayer .getUserViewpoints (),
111490
+ currentViewpoint = activeLayer .getViewpoint (),
111491
+ menu = { };
111408
111492
 
111409
111493
  for (const viewpoint of viewpoints)
111410
111494
  {
111411
111495
  const description = viewpoint .getDescriptions () .join (" » ");
111412
111496
 
111413
- if (description === "")
111414
- continue;
111415
-
111416
- if (! enableInlineViewpoints && viewpoint .getScene () !== currentScene)
111417
- continue;
111418
-
111419
111497
  const item = {
111420
111498
  name: description,
111421
111499
  callback: () =>
@@ -111428,7 +111506,7 @@ Object .assign (Object .setPrototypeOf (ContextMenu .prototype, Base_X3DBaseNode
111428
111506
  if (viewpoint === currentViewpoint)
111429
111507
  item .className = "context-menu-selected";
111430
111508
 
111431
- menu ["Viewpoint" + viewpoint .getId ()] = item;
111509
+ menu [`Viewpoint-${viewpoint .getId ()}`] = item;
111432
111510
  }
111433
111511
 
111434
111512
  return menu;
@@ -111494,7 +111572,7 @@ Object .assign (Object .setPrototypeOf (ContextMenu .prototype, Base_X3DBaseNode
111494
111572
  menu = options .build (event),
111495
111573
  level = 1;
111496
111574
 
111497
- if (! menu) return;
111575
+ if (!menu) return;
111498
111576
 
111499
111577
  // Layer
111500
111578
 
@@ -111573,7 +111651,7 @@ Object .assign (Object .setPrototypeOf (ContextMenu .prototype, Base_X3DBaseNode
111573
111651
  t = ContextMenu_$(event .target) .closest ("li"),
111574
111652
  e = t .children ("ul");
111575
111653
 
111576
- if (! e .length)
111654
+ if (!e .length)
111577
111655
  return;
111578
111656
 
111579
111657
  e .css ("top", "");
@@ -113720,7 +113798,7 @@ const DataStorage_default_ = DataStorage;
113720
113798
  x_ite_Namespace .add ("DataStorage", "standard/Utility/DataStorage", DataStorage_default_);
113721
113799
  /* harmony default export */ const Utility_DataStorage = (DataStorage_default_);
113722
113800
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/X3DCoreContext.js
113723
- /* provided dependency */ var X3DCoreContext_$ = __webpack_require__(404);
113801
+ /* provided dependency */ var X3DCoreContext_$ = __webpack_require__(439);
113724
113802
  /*******************************************************************************
113725
113803
  *
113726
113804
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -114117,6 +114195,12 @@ Object .assign (X3DCoreContext .prototype,
114117
114195
 
114118
114196
  break;
114119
114197
  }
114198
+ case "textCompression":
114199
+ case "textcompression":
114200
+ {
114201
+ this .setBrowserOption ("TextCompression", newValue);
114202
+ break;
114203
+ }
114120
114204
  case "timings":
114121
114205
  {
114122
114206
  this .setBrowserOption ("Timings", this .parseBooleanAttribute (newValue, false));
@@ -116300,8 +116384,8 @@ const X3DViewer_default_ = X3DViewer;
116300
116384
  x_ite_Namespace .add ("X3DViewer", "x_ite/Browser/Navigation/X3DViewer", X3DViewer_default_);
116301
116385
  /* harmony default export */ const Navigation_X3DViewer = (X3DViewer_default_);
116302
116386
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Navigation/ExamineViewer.js
116303
- /* provided dependency */ var jquery_mousewheel = __webpack_require__(290);
116304
- /* provided dependency */ var ExamineViewer_$ = __webpack_require__(404);
116387
+ /* provided dependency */ var jquery_mousewheel = __webpack_require__(583);
116388
+ /* provided dependency */ var ExamineViewer_$ = __webpack_require__(439);
116305
116389
  /*******************************************************************************
116306
116390
  *
116307
116391
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -117217,8 +117301,8 @@ const ExamineViewer_default_ = ExamineViewer;
117217
117301
  x_ite_Namespace .add ("ExamineViewer", "x_ite/Browser/Navigation/ExamineViewer", ExamineViewer_default_);
117218
117302
  /* harmony default export */ const Navigation_ExamineViewer = (ExamineViewer_default_);
117219
117303
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Navigation/X3DFlyViewer.js
117220
- /* provided dependency */ var X3DFlyViewer_jquery_mousewheel = __webpack_require__(290);
117221
- /* provided dependency */ var X3DFlyViewer_$ = __webpack_require__(404);
117304
+ /* provided dependency */ var X3DFlyViewer_jquery_mousewheel = __webpack_require__(583);
117305
+ /* provided dependency */ var X3DFlyViewer_$ = __webpack_require__(439);
117222
117306
  /*******************************************************************************
117223
117307
  *
117224
117308
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -118233,8 +118317,8 @@ const FlyViewer_default_ = FlyViewer;
118233
118317
  x_ite_Namespace .add ("FlyViewer", "x_ite/Browser/Navigation/FlyViewer", FlyViewer_default_);
118234
118318
  /* harmony default export */ const Navigation_FlyViewer = (FlyViewer_default_);
118235
118319
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Navigation/PlaneViewer.js
118236
- /* provided dependency */ var PlaneViewer_jquery_mousewheel = __webpack_require__(290);
118237
- /* provided dependency */ var PlaneViewer_$ = __webpack_require__(404);
118320
+ /* provided dependency */ var PlaneViewer_jquery_mousewheel = __webpack_require__(583);
118321
+ /* provided dependency */ var PlaneViewer_$ = __webpack_require__(439);
118238
118322
  /*******************************************************************************
118239
118323
  *
118240
118324
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -118565,8 +118649,8 @@ const NoneViewer_default_ = NoneViewer;
118565
118649
  x_ite_Namespace .add ("NoneViewer", "x_ite/Browser/Navigation/NoneViewer", NoneViewer_default_);
118566
118650
  /* harmony default export */ const Navigation_NoneViewer = (NoneViewer_default_);
118567
118651
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Navigation/LookAtViewer.js
118568
- /* provided dependency */ var LookAtViewer_jquery_mousewheel = __webpack_require__(290);
118569
- /* provided dependency */ var LookAtViewer_$ = __webpack_require__(404);
118652
+ /* provided dependency */ var LookAtViewer_jquery_mousewheel = __webpack_require__(583);
118653
+ /* provided dependency */ var LookAtViewer_$ = __webpack_require__(439);
118570
118654
  /*******************************************************************************
118571
118655
  *
118572
118656
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -119705,8 +119789,8 @@ const X3DPickingContext_default_ = X3DPickingContext;
119705
119789
  x_ite_Namespace .add ("X3DPickingContext", "x_ite/Browser/Picking/X3DPickingContext", X3DPickingContext_default_);
119706
119790
  /* harmony default export */ const Picking_X3DPickingContext = (X3DPickingContext_default_);
119707
119791
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/PointingDeviceSensor/PointingDevice.js
119708
- /* provided dependency */ var PointingDevice_jquery_mousewheel = __webpack_require__(290);
119709
- /* provided dependency */ var PointingDevice_$ = __webpack_require__(404);
119792
+ /* provided dependency */ var PointingDevice_jquery_mousewheel = __webpack_require__(583);
119793
+ /* provided dependency */ var PointingDevice_$ = __webpack_require__(439);
119710
119794
  /*******************************************************************************
119711
119795
  *
119712
119796
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -121007,7 +121091,7 @@ const MultiSampleFrameBuffer_default_ = MultiSampleFrameBuffer;
121007
121091
  x_ite_Namespace .add ("MultiSampleFrameBuffer", "x_ite/Rendering/MultiSampleFrameBuffer", MultiSampleFrameBuffer_default_);
121008
121092
  /* harmony default export */ const Rendering_MultiSampleFrameBuffer = (MultiSampleFrameBuffer_default_);
121009
121093
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Rendering/X3DRenderingContext.js
121010
- /* provided dependency */ var X3DRenderingContext_$ = __webpack_require__(404);
121094
+ /* provided dependency */ var X3DRenderingContext_$ = __webpack_require__(439);
121011
121095
  /*******************************************************************************
121012
121096
  *
121013
121097
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -121074,12 +121158,11 @@ const
121074
121158
 
121075
121159
  function X3DRenderingContext ()
121076
121160
  {
121077
-
121078
121161
  this .addChildObjects (Base_X3DConstants .outputOnly, "viewport", new x_ite_Fields .MFInt32 (0, 0, 300, 150));
121079
121162
 
121080
121163
  this [_frameBuffer] = new Rendering_MultiSampleFrameBuffer (this, 300, 150, 4);
121081
- this [_localObjects] = [ ]; // shader objects dumpster
121082
121164
  this [_depthShaders] = new Map ();
121165
+ this [_localObjects] = [ ]; // shader objects dumpster
121083
121166
  }
121084
121167
 
121085
121168
  Object .assign (X3DRenderingContext .prototype,
@@ -121287,14 +121370,18 @@ Object .assign (X3DRenderingContext .prototype,
121287
121370
  {
121288
121371
  return new Promise (resolve =>
121289
121372
  {
121290
- const key = Symbol ();
121373
+ const
121374
+ contentScale = this .getRenderingProperty ("ContentScale"),
121375
+ viewportWidth = Math .max (width * contentScale, 1),
121376
+ viewportHeight = Math .max (height * contentScale, 1),
121377
+ key = Symbol ();
121291
121378
 
121292
121379
  const test = () =>
121293
121380
  {
121294
- if (this ._viewport [2] !== width)
121381
+ if (this ._viewport [2] !== viewportWidth)
121295
121382
  return;
121296
121383
 
121297
- if (this ._viewport [2] !== height)
121384
+ if (this ._viewport [3] !== viewportHeight)
121298
121385
  return;
121299
121386
 
121300
121387
  this ._viewport .removeFieldCallback (key);
@@ -122011,7 +122098,7 @@ const X3DSoundContext_default_ = X3DSoundContext;
122011
122098
  x_ite_Namespace .add ("X3DSoundContext", "x_ite/Browser/Sound/X3DSoundContext", X3DSoundContext_default_);
122012
122099
  /* harmony default export */ const Sound_X3DSoundContext = (X3DSoundContext_default_);
122013
122100
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Texturing/KTXDecoder.js
122014
- /* provided dependency */ var KTXDecoder_$ = __webpack_require__(404);
122101
+ /* provided dependency */ var KTXDecoder_$ = __webpack_require__(439);
122015
122102
  const KTXDecoder_default_ = class KTXDecoder
122016
122103
  {
122017
122104
  constructor (gl, externalKtxlib, scriptDir)
@@ -123625,7 +123712,7 @@ const Components_default_ = Components;
123625
123712
  x_ite_Namespace .add ("Components", "x_ite/Components", Components_default_);
123626
123713
  /* harmony default export */ const x_ite_Components = ((/* unused pure expression or super */ null && (Components_default_)));
123627
123714
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/DOMIntegration.js
123628
- /* provided dependency */ var DOMIntegration_$ = __webpack_require__(404);
123715
+ /* provided dependency */ var DOMIntegration_$ = __webpack_require__(439);
123629
123716
  /*******************************************************************************
123630
123717
  * MIT License
123631
123718
  *
@@ -124893,7 +124980,7 @@ const FieldTypes_default_ = new Configuration_FieldTypesArray (Object .values (x
124893
124980
  x_ite_Namespace .add ("FieldTypes", "x_ite/Configuration/FieldTypes", FieldTypes_default_);
124894
124981
  /* harmony default export */ const FieldTypes = (FieldTypes_default_);
124895
124982
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/X3DBrowser.js
124896
- /* provided dependency */ var X3DBrowser_$ = __webpack_require__(404);
124983
+ /* provided dependency */ var X3DBrowser_$ = __webpack_require__(439);
124897
124984
  /*******************************************************************************
124898
124985
  *
124899
124986
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -125715,88 +125802,50 @@ Object .assign (Object .setPrototypeOf (X3DBrowser .prototype, Browser_X3DBrowse
125715
125802
 
125716
125803
  layerNode = Base_X3DCast (Base_X3DConstants .X3DLayerNode, layerNode) ?? this .getActiveLayer ();
125717
125804
 
125718
- if (!layerNode)
125719
- return;
125720
-
125721
- layerNode .viewAll (transitionTime, 1, this .getBrowserOption ("StraightenHorizon"));
125805
+ layerNode ?.viewAll (transitionTime, 1, this .getBrowserOption ("StraightenHorizon"));
125722
125806
  },
125723
125807
  firstViewpoint (layerNode)
125724
125808
  {
125725
125809
  layerNode = Base_X3DCast (Base_X3DConstants .X3DLayerNode, layerNode) ?? this .getActiveLayer ();
125726
125810
 
125727
- const viewpoints = layerNode .getUserViewpoints ();
125811
+ const viewpoints = layerNode ?.getUserViewpoints ();
125728
125812
 
125729
- if (viewpoints .length)
125730
- this .bindViewpoint (layerNode, viewpoints [0]);
125813
+ if (viewpoints ?.length)
125814
+ this .bindViewpoint (layerNode, viewpoints .at (0));
125731
125815
  },
125732
125816
  previousViewpoint (layerNode)
125733
125817
  {
125734
125818
  layerNode = Base_X3DCast (Base_X3DConstants .X3DLayerNode, layerNode) ?? this .getActiveLayer ();
125735
125819
 
125736
- if (!layerNode)
125737
- return;
125738
-
125739
- const viewpoints = layerNode .getUserViewpoints ();
125820
+ const viewpoints = layerNode ?.getUserViewpoints ();
125740
125821
 
125741
- if (viewpoints .length === 0)
125822
+ if (!viewpoints ?.length)
125742
125823
  return;
125743
125824
 
125744
- for (var i = 0, length = viewpoints .length; i < length; ++ i)
125745
- {
125746
- if (viewpoints [i] ._isBound .getValue ())
125747
- break;
125748
- }
125825
+ const i = viewpoints .findIndex (viewpointNode => viewpointNode ._isBound .getValue ());
125749
125826
 
125750
- if (i < viewpoints .length)
125751
- {
125752
- if (i === 0)
125753
- this .bindViewpoint (layerNode, viewpoints .at (-1));
125754
-
125755
- else
125756
- this .bindViewpoint (layerNode, viewpoints [i - 1]);
125757
- }
125758
- else
125759
- this .bindViewpoint (layerNode, viewpoints .at (-1));
125827
+ this .bindViewpoint (layerNode, viewpoints .at (i > -1 ? i - 1 : -1));
125760
125828
  },
125761
125829
  nextViewpoint (layerNode)
125762
125830
  {
125763
125831
  layerNode = Base_X3DCast (Base_X3DConstants .X3DLayerNode, layerNode) ?? this .getActiveLayer ();
125764
125832
 
125765
- if (!layerNode)
125766
- return;
125767
-
125768
- const viewpoints = layerNode .getUserViewpoints ();
125833
+ const viewpoints = layerNode ?.getUserViewpoints ();
125769
125834
 
125770
- if (viewpoints .length === 0)
125835
+ if (!viewpoints ?.length)
125771
125836
  return;
125772
125837
 
125773
- for (var i = 0, length = viewpoints .length; i < length; ++ i)
125774
- {
125775
- if (viewpoints [i] ._isBound .getValue ())
125776
- break;
125777
- }
125778
-
125779
- if (i < viewpoints .length)
125780
- {
125781
- if (i === viewpoints .length - 1)
125782
- this .bindViewpoint (layerNode, viewpoints [0]);
125838
+ const i = viewpoints .findIndex (viewpointNode => viewpointNode ._isBound .getValue ());
125783
125839
 
125784
- else
125785
- this .bindViewpoint (layerNode, viewpoints [i + 1]);
125786
- }
125787
- else
125788
- this .bindViewpoint (layerNode, viewpoints [0]);
125840
+ this .bindViewpoint (layerNode, viewpoints .at ((i + 1) % viewpoints .length));
125789
125841
  },
125790
125842
  lastViewpoint (layerNode)
125791
125843
  {
125792
125844
  layerNode = Base_X3DCast (Base_X3DConstants .X3DLayerNode, layerNode) ?? this .getActiveLayer ();
125793
125845
 
125794
- if (!layerNode)
125795
- return;
125846
+ const viewpoints = layerNode ?.getUserViewpoints ();
125796
125847
 
125797
- const viewpoints = layerNode .getUserViewpoints ();
125798
-
125799
- if (viewpoints .length)
125848
+ if (viewpoints ?.length)
125800
125849
  this .bindViewpoint (layerNode, viewpoints .at (-1));
125801
125850
  },
125802
125851
  changeViewpoint (layerNode, name)
@@ -125809,17 +125858,11 @@ Object .assign (Object .setPrototypeOf (X3DBrowser .prototype, Browser_X3DBrowse
125809
125858
 
125810
125859
  layerNode = Base_X3DCast (Base_X3DConstants .X3DLayerNode, layerNode) ?? this .getActiveLayer ();
125811
125860
 
125812
- if (!layerNode)
125813
- return;
125814
-
125815
- for (const viewpointNode of layerNode .getViewpoints () .get ())
125816
- {
125817
- if (viewpointNode .getName () !== name)
125818
- continue;
125861
+ const viewpointNode = layerNode ?.getViewpoints () .get ()
125862
+ .find (viewpointNode => viewpointNode .getName () === name);
125819
125863
 
125864
+ if (viewpointNode)
125820
125865
  this .bindViewpoint (layerNode, viewpointNode);
125821
- break;
125822
- }
125823
125866
  },
125824
125867
  bindViewpoint (layerNode, viewpointNode)
125825
125868
  {
@@ -125995,7 +126038,7 @@ const X3DBrowser_default_ = X3DBrowser;
125995
126038
  x_ite_Namespace .add ("X3DBrowser", "x_ite/Browser/X3DBrowser", X3DBrowser_default_);
125996
126039
  /* harmony default export */ const Browser_X3DBrowser = (X3DBrowser_default_);
125997
126040
  ;// CONCATENATED MODULE: ./src/x_ite/X3DCanvasElement.js
125998
- /* provided dependency */ var X3DCanvasElement_$ = __webpack_require__(404);
126041
+ /* provided dependency */ var X3DCanvasElement_$ = __webpack_require__(439);
125999
126042
  /*******************************************************************************
126000
126043
  *
126001
126044
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -126102,6 +126145,8 @@ class X3DCanvasElement extends HTMLElement
126102
126145
  "splashScreen",
126103
126146
  "splashscreen",
126104
126147
  "src",
126148
+ "textCompression",
126149
+ "textcompression",
126105
126150
  "timings",
126106
126151
  "toneMapping",
126107
126152
  "tonemapping",
@@ -126145,8 +126190,8 @@ const X3DCanvasElement_default_ = X3DCanvasElement;
126145
126190
  x_ite_Namespace .add ("X3DCanvasElement", "x_ite/X3DCanvasElement", X3DCanvasElement_default_);
126146
126191
  /* harmony default export */ const x_ite_X3DCanvasElement = (X3DCanvasElement_default_);
126147
126192
  ;// CONCATENATED MODULE: ./src/lib/jquery.js
126148
- /* provided dependency */ var jquery_$ = __webpack_require__(404);
126149
- /* provided dependency */ var pako = __webpack_require__(976);
126193
+ /* provided dependency */ var jquery_$ = __webpack_require__(439);
126194
+ /* provided dependency */ var pako = __webpack_require__(964);
126150
126195
  Object .assign (jquery_$,
126151
126196
  {
126152
126197
  decodeText (input)
@@ -126223,14 +126268,14 @@ const jquery_default_ = jquery_$;
126223
126268
  x_ite_Namespace .add ("jquery", "lib/jquery", jquery_default_);
126224
126269
  /* harmony default export */ const jquery = ((/* unused pure expression or super */ null && (jquery_default_)));
126225
126270
  ;// CONCATENATED MODULE: ./src/lib/libtess.js
126226
- /* provided dependency */ var libtess_libtess = __webpack_require__(185);
126271
+ /* provided dependency */ var libtess_libtess = __webpack_require__(12);
126227
126272
  const libtess_default_ = libtess_libtess;
126228
126273
  ;
126229
126274
 
126230
126275
  x_ite_Namespace .add ("libtess", "lib/libtess", libtess_default_);
126231
126276
  /* harmony default export */ const lib_libtess = ((/* unused pure expression or super */ null && (libtess_default_)));
126232
126277
  ;// CONCATENATED MODULE: ./src/x_ite/X3D.js
126233
- /* provided dependency */ var X3D_$ = __webpack_require__(404);
126278
+ /* provided dependency */ var X3D_$ = __webpack_require__(439);
126234
126279
  /*******************************************************************************
126235
126280
  *
126236
126281
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -126538,7 +126583,7 @@ Object .assign (X3D,
126538
126583
 
126539
126584
  // Assign X3D to global namespace.
126540
126585
 
126541
- window [Symbol .for ("X_ITE.X3D-10.0.4")] = x_ite_X3D;
126586
+ window [Symbol .for ("X_ITE.X3D-10.1.0")] = x_ite_X3D;
126542
126587
 
126543
126588
  customElements .define ("x3d-canvas", x_ite_X3DCanvasElement);
126544
126589