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.js CHANGED
@@ -1,4 +1,4 @@
1
- /* X_ITE v10.0.4 */(function webpackUniversalModuleDefinition(root, factory) {
1
+ /* X_ITE v10.1.0 */(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
- /***/ 912:
14
+ /***/ 531:
15
15
  /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
16
16
 
17
- /* provided dependency */ var jQuery = __webpack_require__(404);
17
+ /* provided dependency */ var jQuery = __webpack_require__(439);
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
- /***/ 290:
213
+ /***/ 583:
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__(404)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
227
+ !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(439)], __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
- /***/ 404:
438
+ /***/ 439:
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
- /***/ 185:
11162
+ /***/ 12:
11163
11163
  /***/ ((module) => {
11164
11164
 
11165
11165
  /**
@@ -15938,7 +15938,7 @@ if (true) {
15938
15938
 
15939
15939
  /***/ }),
15940
15940
 
15941
- /***/ 976:
15941
+ /***/ 964:
15942
15942
  /***/ (function(__unused_webpack_module, exports) {
15943
15943
 
15944
15944
 
@@ -19183,7 +19183,7 @@ if (true) {
19183
19183
 
19184
19184
  /***/ }),
19185
19185
 
19186
- /***/ 463:
19186
+ /***/ 448:
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-10.0.4")];
20314
+ const X3D = window [Symbol .for ("X_ITE.X3D-10.1.0")];
20315
20315
 
20316
20316
  if (X3D)
20317
20317
  X3D [name] = module;
@@ -30149,6 +30149,7 @@ x_ite_Namespace .add ("SFVec3", "x_ite/Fields/SFVec3", SFVec3_default_);
30149
30149
 
30150
30150
 
30151
30151
 
30152
+
30152
30153
  const
30153
30154
  SFVec3d = Fields_SFVec3 .SFVec3d,
30154
30155
  SFVec3f = Fields_SFVec3 .SFVec3f,
@@ -30236,6 +30237,25 @@ Object .assign (Object .setPrototypeOf (SFRotation .prototype, Base_X3DField .pr
30236
30237
  {
30237
30238
  return new SFMatrix3f (this .getValue () .getMatrix ());
30238
30239
  },
30240
+ setQuaternion: (function ()
30241
+ {
30242
+ const q = new Numbers_Quaternion ();
30243
+
30244
+ return function (x, y, z, w)
30245
+ {
30246
+ this .getValue () .setQuaternion (q .set (x, y, z, w));
30247
+ this .addEvent ();
30248
+ };
30249
+ })(),
30250
+ getQuaternion: (function ()
30251
+ {
30252
+ const q = new Numbers_Quaternion ();
30253
+
30254
+ return function ()
30255
+ {
30256
+ return [... this .getValue () .getQuaternion (q)];
30257
+ };
30258
+ })(),
30239
30259
  inverse ()
30240
30260
  {
30241
30261
  return new SFRotation (this .getValue () .copy () .inverse ());
@@ -34277,7 +34297,7 @@ const X3DBaseNode_default_ = X3DBaseNode;
34277
34297
  x_ite_Namespace .add ("X3DBaseNode", "x_ite/Base/X3DBaseNode", X3DBaseNode_default_);
34278
34298
  /* harmony default export */ const Base_X3DBaseNode = (X3DBaseNode_default_);
34279
34299
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Legacy.js
34280
- /* provided dependency */ var $ = __webpack_require__(404);
34300
+ /* provided dependency */ var $ = __webpack_require__(439);
34281
34301
  /*******************************************************************************
34282
34302
  *
34283
34303
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -34414,7 +34434,7 @@ x_ite_Namespace .add ("Legacy", "x_ite/Browser/Legacy", Legacy_default_);
34414
34434
  *
34415
34435
  ******************************************************************************/
34416
34436
 
34417
- const BROWSER_VERSION_default_ = "10.0.4";
34437
+ const BROWSER_VERSION_default_ = "10.1.0";
34418
34438
  ;
34419
34439
 
34420
34440
  x_ite_Namespace .add ("BROWSER_VERSION", "x_ite/BROWSER_VERSION", BROWSER_VERSION_default_);
@@ -37600,7 +37620,7 @@ const X3DBindableNode_default_ = X3DBindableNode;
37600
37620
  x_ite_Namespace .add ("X3DBindableNode", "x_ite/Components/Core/X3DBindableNode", X3DBindableNode_default_);
37601
37621
  /* harmony default export */ const Core_X3DBindableNode = (X3DBindableNode_default_);
37602
37622
  ;// CONCATENATED MODULE: ./src/standard/Math/Geometry/Triangle3.js
37603
- /* provided dependency */ var libtess = __webpack_require__(185);
37623
+ /* provided dependency */ var libtess = __webpack_require__(12);
37604
37624
  /*******************************************************************************
37605
37625
  *
37606
37626
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -40170,7 +40190,7 @@ const X3DProtoDeclaration_default_ = X3DProtoDeclaration;
40170
40190
  x_ite_Namespace .add ("X3DProtoDeclaration", "x_ite/Prototype/X3DProtoDeclaration", X3DProtoDeclaration_default_);
40171
40191
  /* harmony default export */ const Prototype_X3DProtoDeclaration = (X3DProtoDeclaration_default_);
40172
40192
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/X3DParser.js
40173
- /* provided dependency */ var X3DParser_$ = __webpack_require__(404);
40193
+ /* provided dependency */ var X3DParser_$ = __webpack_require__(439);
40174
40194
  /*******************************************************************************
40175
40195
  *
40176
40196
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -40428,7 +40448,7 @@ const Expressions_default_ = Expressions;
40428
40448
  x_ite_Namespace .add ("Expressions", "x_ite/Parser/Expressions", Expressions_default_);
40429
40449
  /* harmony default export */ const Parser_Expressions = (Expressions_default_);
40430
40450
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/VRMLParser.js
40431
- /* provided dependency */ var VRMLParser_$ = __webpack_require__(404);
40451
+ /* provided dependency */ var VRMLParser_$ = __webpack_require__(439);
40432
40452
  /*******************************************************************************
40433
40453
  *
40434
40454
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -43128,7 +43148,7 @@ const VRMLParser_default_ = VRMLParser;
43128
43148
  x_ite_Namespace .add ("VRMLParser", "x_ite/Parser/VRMLParser", VRMLParser_default_);
43129
43149
  /* harmony default export */ const Parser_VRMLParser = (VRMLParser_default_);
43130
43150
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/XMLParser.js
43131
- /* provided dependency */ var XMLParser_$ = __webpack_require__(404);
43151
+ /* provided dependency */ var XMLParser_$ = __webpack_require__(439);
43132
43152
  /*******************************************************************************
43133
43153
  *
43134
43154
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -45304,7 +45324,7 @@ const URLs_default_ = URLs;
45304
45324
  x_ite_Namespace .add ("URLs", "x_ite/Browser/Networking/URLs", URLs_default_);
45305
45325
  /* harmony default export */ const Networking_URLs = (URLs_default_);
45306
45326
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/GLTF2Parser.js
45307
- /* provided dependency */ var GLTF2Parser_$ = __webpack_require__(404);
45327
+ /* provided dependency */ var GLTF2Parser_$ = __webpack_require__(439);
45308
45328
  /*******************************************************************************
45309
45329
  *
45310
45330
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -47662,7 +47682,7 @@ Object .assign (Object .setPrototypeOf (GLTF2Parser .prototype, Parser_X3DParser
47662
47682
 
47663
47683
  const node = this .nodes [target .node] ?.transformNode;
47664
47684
 
47665
- if (!node)
47685
+ if (!node && target .path !== "pointer")
47666
47686
  return [ ];
47667
47687
 
47668
47688
  const sampler = samplers [channel .sampler];
@@ -48558,6 +48578,22 @@ Object .assign (Object .setPrototypeOf (GLTF2Parser .prototype, Parser_X3DParser
48558
48578
 
48559
48579
  return interpolatorNodes;
48560
48580
  }
48581
+ case "pointer":
48582
+ {
48583
+ // const
48584
+ // pointer = target .extensions ?.KHR_animation_pointer ?.pointer ?? "",
48585
+ // path = pointer .split ("/") .filter (p => p)
48586
+ // name = path .pop ();
48587
+
48588
+ // let glTF = this .input;
48589
+
48590
+ // for (const property of path)
48591
+ // glTF = glTF [property]
48592
+
48593
+ // console .log (glTF)
48594
+
48595
+ return [ ];
48596
+ }
48561
48597
  default:
48562
48598
  {
48563
48599
  return [ ];
@@ -48947,7 +48983,7 @@ const GLTF2Parser_default_ = GLTF2Parser;
48947
48983
  x_ite_Namespace .add ("GLTF2Parser", "x_ite/Parser/GLTF2Parser", GLTF2Parser_default_);
48948
48984
  /* harmony default export */ const Parser_GLTF2Parser = (GLTF2Parser_default_);
48949
48985
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/GLB2Parser.js
48950
- /* provided dependency */ var GLB2Parser_$ = __webpack_require__(404);
48986
+ /* provided dependency */ var GLB2Parser_$ = __webpack_require__(439);
48951
48987
  /*******************************************************************************
48952
48988
  *
48953
48989
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -49099,7 +49135,7 @@ const GLB2Parser_default_ = GLB2Parser;
49099
49135
  x_ite_Namespace .add ("GLB2Parser", "x_ite/Parser/GLB2Parser", GLB2Parser_default_);
49100
49136
  /* harmony default export */ const Parser_GLB2Parser = (GLB2Parser_default_);
49101
49137
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/OBJParser.js
49102
- /* provided dependency */ var OBJParser_$ = __webpack_require__(404);
49138
+ /* provided dependency */ var OBJParser_$ = __webpack_require__(439);
49103
49139
  /*******************************************************************************
49104
49140
  *
49105
49141
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -50880,7 +50916,8 @@ Object .assign (Object .setPrototypeOf (PLYAParser .prototype, Parser_X3DParser
50880
50916
  scene .setProfile (browser .getProfile ("Interchange"));
50881
50917
 
50882
50918
  await browser .loadComponents (scene);
50883
- await this .processElements (this .header ([ ]))
50919
+
50920
+ this .processElements (this .header ([ ]))
50884
50921
 
50885
50922
  // Create nodes.
50886
50923
 
@@ -51093,12 +51130,12 @@ Object .assign (Object .setPrototypeOf (PLYAParser .prototype, Parser_X3DParser
51093
51130
 
51094
51131
  return false;
51095
51132
  },
51096
- async processElements (elements)
51133
+ processElements (elements)
51097
51134
  {
51098
51135
  // console .log (elements)
51099
51136
 
51100
51137
  for (const element of elements)
51101
- await this .processElement (element);
51138
+ this .processElement (element);
51102
51139
 
51103
51140
  if (!this .coord)
51104
51141
  return;
@@ -51138,12 +51175,12 @@ Object .assign (Object .setPrototypeOf (PLYAParser .prototype, Parser_X3DParser
51138
51175
 
51139
51176
  scene .rootNodes .push (shape);
51140
51177
  },
51141
- async processElement (element)
51178
+ processElement (element)
51142
51179
  {
51143
51180
  switch (element .name)
51144
51181
  {
51145
51182
  case "vertex":
51146
- await this .parseVertices (element);
51183
+ this .parseVertices (element);
51147
51184
  break;
51148
51185
  case "face":
51149
51186
  this .parseFaces (element);
@@ -51159,27 +51196,17 @@ Object .assign (Object .setPrototypeOf (PLYAParser .prototype, Parser_X3DParser
51159
51196
  break;
51160
51197
  }
51161
51198
  },
51162
- async parseVertices ({ count, properties })
51199
+ parseVertices ({ count, properties })
51163
51200
  {
51164
51201
  const
51165
- browser = this .getBrowser (),
51166
- scene = this .getScene (),
51167
- colors = [ ],
51168
- texCoord = scene .createNode ("TextureCoordinate"),
51169
- texCoords = [ ],
51170
- normal = scene .createNode ("Normal"),
51171
- normals = [ ],
51172
- coord = scene .createNode ("Coordinate"),
51173
- points = [ ],
51174
- attributes = new Map ();
51175
-
51176
- for (const { name } of properties)
51177
- {
51178
- 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)$/))
51179
- continue;
51180
-
51181
- attributes .set (name, [ ]);
51182
- }
51202
+ scene = this .getScene (),
51203
+ texCoord = scene .createNode ("TextureCoordinate"),
51204
+ normal = scene .createNode ("Normal"),
51205
+ coord = scene .createNode ("Coordinate"),
51206
+ colors = [ ],
51207
+ texCoords = [ ],
51208
+ normals = [ ],
51209
+ points = [ ];
51183
51210
 
51184
51211
  // console .time ("vertices")
51185
51212
 
@@ -51195,7 +51222,6 @@ Object .assign (Object .setPrototypeOf (PLYAParser .prototype, Parser_X3DParser
51195
51222
  switch (name)
51196
51223
  {
51197
51224
  default:
51198
- attributes .get (name) .push (this .value);
51199
51225
  break;
51200
51226
  case "red": case "green": case "blue": case "alpha":
51201
51227
  case "r": case "g": case "b": case "a":
@@ -51224,26 +51250,6 @@ Object .assign (Object .setPrototypeOf (PLYAParser .prototype, Parser_X3DParser
51224
51250
 
51225
51251
  // console .timeEnd ("vertices")
51226
51252
 
51227
- // Attributes
51228
-
51229
- if (attributes .size)
51230
- {
51231
- scene .addComponent (this .getBrowser () .getComponent ("Shaders", 1));
51232
-
51233
- await browser .loadComponents (scene);
51234
-
51235
- for (const [name, value] of attributes)
51236
- {
51237
- const floatVertexAttribute = scene .createNode ("FloatVertexAttribute");
51238
-
51239
- floatVertexAttribute .name = name;
51240
- floatVertexAttribute .numComponents = 1;
51241
- floatVertexAttribute .value = value;
51242
-
51243
- this .attrib .push (floatVertexAttribute);
51244
- }
51245
- }
51246
-
51247
51253
  // Geometric properties
51248
51254
 
51249
51255
  const
@@ -52474,8 +52480,8 @@ const MatrixStack_default_ = MatrixStack;
52474
52480
  x_ite_Namespace .add ("MatrixStack", "standard/Math/Utility/MatrixStack", MatrixStack_default_);
52475
52481
  /* harmony default export */ const Utility_MatrixStack = (MatrixStack_default_);
52476
52482
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/SVGParser.js
52477
- /* provided dependency */ var SVGParser_$ = __webpack_require__(404);
52478
- /* provided dependency */ var SVGParser_libtess = __webpack_require__(185);
52483
+ /* provided dependency */ var SVGParser_$ = __webpack_require__(439);
52484
+ /* provided dependency */ var SVGParser_libtess = __webpack_require__(12);
52479
52485
  /*******************************************************************************
52480
52486
  *
52481
52487
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -55246,7 +55252,7 @@ const SVGParser_default_ = SVGParser;
55246
55252
  x_ite_Namespace .add ("SVGParser", "x_ite/Parser/SVGParser", SVGParser_default_);
55247
55253
  /* harmony default export */ const Parser_SVGParser = (SVGParser_default_);
55248
55254
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/GoldenGate.js
55249
- /* provided dependency */ var GoldenGate_$ = __webpack_require__(404);
55255
+ /* provided dependency */ var GoldenGate_$ = __webpack_require__(439);
55250
55256
  /*******************************************************************************
55251
55257
  *
55252
55258
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -57703,8 +57709,8 @@ Object .assign (X3DRenderObject .prototype,
57703
57709
 
57704
57710
  // Clip planes and local lights
57705
57711
 
57706
- X3DRenderObject_assign (renderContext .localObjects, this .localObjects); // Fog, ClipPane, X3DLightNode
57707
- X3DRenderObject_assign (renderContext .objectsKeys, this .localObjectsKeys);
57712
+ X3DRenderObject_assign (renderContext .localObjects, this .localObjects); // Fog, ClipPane, X3DLightNode
57713
+ X3DRenderObject_assign (renderContext .localObjectsKeys, this .localObjectsKeys);
57708
57714
 
57709
57715
  return true;
57710
57716
  }
@@ -57720,7 +57726,7 @@ Object .assign (X3DRenderObject .prototype,
57720
57726
  modelViewMatrix: new Float32Array (16),
57721
57727
  scissor: new Numbers_Vector4 (),
57722
57728
  localObjects: [ ],
57723
- objectsKeys: [ ], // [clip planes, lights]
57729
+ localObjectsKeys: [ ], // [clip planes, lights]
57724
57730
  };
57725
57731
  },
57726
57732
  pointing: (() =>
@@ -61778,7 +61784,7 @@ function GeometryContext (options = { })
61778
61784
  hasNormals: false,
61779
61785
  hasTangents: false,
61780
61786
  textureNode: null,
61781
- objectsKeys: [ ],
61787
+ localObjectsKeys: [ ],
61782
61788
  textureCoordinateMapping: new Map (),
61783
61789
  textureCoordinateNode: null,
61784
61790
  },
@@ -62023,7 +62029,7 @@ function X3DBackgroundNode (executionContext)
62023
62029
  this .textureNodes = new Array (6);
62024
62030
  this .textureBits = new Utility_BitSet ();
62025
62031
  this .sphereContext = new Rendering_GeometryContext ({ colorMaterial: true });
62026
- this .texturesContext = new Rendering_GeometryContext ({ objectsKeys: this .sphereContext .objectsKeys});
62032
+ this .texturesContext = new Rendering_GeometryContext ({ localObjectsKeys: this .sphereContext .localObjectsKeys});
62027
62033
  }
62028
62034
 
62029
62035
  Object .assign (Object .setPrototypeOf (X3DBackgroundNode .prototype, Core_X3DBindableNode .prototype),
@@ -62374,9 +62380,9 @@ Object .assign (Object .setPrototypeOf (X3DBackgroundNode .prototype, Core_X3DBi
62374
62380
  case Rendering_TraverseType .DISPLAY:
62375
62381
  {
62376
62382
  const
62377
- localObjects = renderObject .getLocalObjects (),
62378
- clipPlanes = this .clipPlanes,
62379
- objectsKeys = this .sphereContext .objectsKeys;
62383
+ localObjects = renderObject .getLocalObjects (),
62384
+ clipPlanes = this .clipPlanes,
62385
+ localObjectsKeys = this .sphereContext .localObjectsKeys;
62380
62386
 
62381
62387
  let c = 0;
62382
62388
 
@@ -62386,9 +62392,9 @@ Object .assign (Object .setPrototypeOf (X3DBackgroundNode .prototype, Core_X3DBi
62386
62392
  clipPlanes [c ++] = localObject;
62387
62393
  }
62388
62394
 
62389
- clipPlanes .length = c;
62390
- objectsKeys .length = c;
62391
- objectsKeys .fill (0);
62395
+ clipPlanes .length = c;
62396
+ localObjectsKeys .length = c;
62397
+ localObjectsKeys .fill (0);
62392
62398
  return;
62393
62399
  }
62394
62400
  }
@@ -63214,7 +63220,7 @@ const X3DTexture2DNode_default_ = X3DTexture2DNode;
63214
63220
  x_ite_Namespace .add ("X3DTexture2DNode", "x_ite/Components/Texturing/X3DTexture2DNode", X3DTexture2DNode_default_);
63215
63221
  /* harmony default export */ const Texturing_X3DTexture2DNode = (X3DTexture2DNode_default_);
63216
63222
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Texturing/ImageTexture.js
63217
- /* provided dependency */ var ImageTexture_$ = __webpack_require__(404);
63223
+ /* provided dependency */ var ImageTexture_$ = __webpack_require__(439);
63218
63224
  /*******************************************************************************
63219
63225
  *
63220
63226
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -63873,8 +63879,14 @@ Object .assign (Object .setPrototypeOf (X3DLayerNode .prototype, Core_X3DNode .p
63873
63879
  },
63874
63880
  getUserViewpoints ()
63875
63881
  {
63876
- return this .viewpoints .get ()
63877
- .filter (viewpointNode => viewpointNode ._description .length);
63882
+ const
63883
+ browser = this .getBrowser (),
63884
+ enableInlineViewpoints = browser .getBrowserOption ("EnableInlineViewpoints"),
63885
+ currentScene = browser .currentScene;
63886
+
63887
+ return Array .from (new Set (this .viewpoints .get ()
63888
+ .filter (viewpointNode => viewpointNode ._description .length)
63889
+ .filter (viewpointNode => enableInlineViewpoints || viewpointNode .getScene () === currentScene)));
63878
63890
  },
63879
63891
  getBackgroundStack ()
63880
63892
  {
@@ -66798,7 +66810,7 @@ const X3DWorld_default_ = X3DWorld;
66798
66810
  x_ite_Namespace .add ("X3DWorld", "x_ite/Execution/X3DWorld", X3DWorld_default_);
66799
66811
  /* harmony default export */ const Execution_X3DWorld = (X3DWorld_default_);
66800
66812
  ;// CONCATENATED MODULE: ./src/x_ite/InputOutput/FileLoader.js
66801
- /* provided dependency */ var FileLoader_$ = __webpack_require__(404);
66813
+ /* provided dependency */ var FileLoader_$ = __webpack_require__(439);
66802
66814
  /*******************************************************************************
66803
66815
  *
66804
66816
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -67732,7 +67744,7 @@ const ProtoDeclarationArray_default_ = ProtoDeclarationArray;
67732
67744
  x_ite_Namespace .add ("ProtoDeclarationArray", "x_ite/Prototype/ProtoDeclarationArray", ProtoDeclarationArray_default_);
67733
67745
  /* harmony default export */ const Prototype_ProtoDeclarationArray = (ProtoDeclarationArray_default_);
67734
67746
  ;// CONCATENATED MODULE: ./src/x_ite/Routing/X3DRoute.js
67735
- /* provided dependency */ var X3DRoute_$ = __webpack_require__(404);
67747
+ /* provided dependency */ var X3DRoute_$ = __webpack_require__(439);
67736
67748
  /*******************************************************************************
67737
67749
  *
67738
67750
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -91282,7 +91294,7 @@ mediump samplerCube textureCube;
91282
91294
  x_ite_Namespace .add ("MaterialTextures", "assets/shaders/MaterialTextures", MaterialTextures_default_);
91283
91295
  /* harmony default export */ const MaterialTextures = (MaterialTextures_default_);
91284
91296
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Shaders/X3DProgrammableShaderObject.js
91285
- /* provided dependency */ var X3DProgrammableShaderObject_$ = __webpack_require__(404);
91297
+ /* provided dependency */ var X3DProgrammableShaderObject_$ = __webpack_require__(439);
91286
91298
  /*******************************************************************************
91287
91299
  *
91288
91300
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -96735,7 +96747,7 @@ const ShaderCompiler_default_ = ShaderCompiler;
96735
96747
  x_ite_Namespace .add ("ShaderCompiler", "x_ite/Browser/Shaders/ShaderCompiler", ShaderCompiler_default_);
96736
96748
  /* harmony default export */ const Shaders_ShaderCompiler = (ShaderCompiler_default_);
96737
96749
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Shaders/ShaderPart.js
96738
- /* provided dependency */ var ShaderPart_$ = __webpack_require__(404);
96750
+ /* provided dependency */ var ShaderPart_$ = __webpack_require__(439);
96739
96751
  /*******************************************************************************
96740
96752
  *
96741
96753
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -97406,7 +97418,7 @@ const X3DAppearanceNode_default_ = X3DAppearanceNode;
97406
97418
  x_ite_Namespace .add ("X3DAppearanceNode", "x_ite/Components/Shape/X3DAppearanceNode", X3DAppearanceNode_default_);
97407
97419
  /* harmony default export */ const Shape_X3DAppearanceNode = (X3DAppearanceNode_default_);
97408
97420
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Shape/Appearance.js
97409
- /* provided dependency */ var Appearance_$ = __webpack_require__(404);
97421
+ /* provided dependency */ var Appearance_$ = __webpack_require__(439);
97410
97422
  /*******************************************************************************
97411
97423
  *
97412
97424
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -98358,7 +98370,7 @@ Object .assign (Object .setPrototypeOf (X3DMaterialNode .prototype, Shape_X3DApp
98358
98370
 
98359
98371
  if (renderContext)
98360
98372
  {
98361
- const { renderObject, shadows, fogNode, shapeNode, appearanceNode, textureNode, humanoidNode, objectsKeys } = renderContext;
98373
+ const { renderObject, shadows, fogNode, shapeNode, appearanceNode, textureNode, humanoidNode, localObjectsKeys } = renderContext;
98362
98374
 
98363
98375
  key += shapeNode .getAlphaMode ();
98364
98376
  key += renderObject .getRenderAndGlobalLightsKey ();
@@ -98369,7 +98381,7 @@ Object .assign (Object .setPrototypeOf (X3DMaterialNode .prototype, Shape_X3DApp
98369
98381
  key += appearanceNode .getTextureTransformMapping () .size || 1;
98370
98382
  key += geometryContext .textureCoordinateMapping .size || 1;
98371
98383
  key += humanoidNode ?.getHumanoidKey () ?? "[]";
98372
- key += objectsKeys .sort () .join (""); // ClipPlane, X3DLightNode
98384
+ key += localObjectsKeys .sort () .join (""); // ClipPlane, X3DLightNode
98373
98385
  key += ".";
98374
98386
  key += textureNode ? 2 : appearanceNode .getTextureBits () .toString (16);
98375
98387
  }
@@ -98377,13 +98389,13 @@ Object .assign (Object .setPrototypeOf (X3DMaterialNode .prototype, Shape_X3DApp
98377
98389
  {
98378
98390
  // Rubberband, X3DBackgroundNode
98379
98391
 
98380
- const { renderObject, alphaMode, textureNode, objectsKeys } = geometryContext;
98392
+ const { renderObject, alphaMode, textureNode, localObjectsKeys } = geometryContext;
98381
98393
 
98382
98394
  key += alphaMode;
98383
98395
  key += ".";
98384
98396
  key += renderObject .getRenderKey ();
98385
98397
  key += "..000011[]";
98386
- key += objectsKeys .sort () .join (""); // ClipPlane
98398
+ key += localObjectsKeys .sort () .join (""); // ClipPlane
98387
98399
  key += ".";
98388
98400
  key += textureNode ?.getTextureBits () .toString (16) ?? 0;
98389
98401
  }
@@ -98438,7 +98450,7 @@ Object .assign (Object .setPrototypeOf (X3DMaterialNode .prototype, Shape_X3DApp
98438
98450
 
98439
98451
  if (renderContext)
98440
98452
  {
98441
- const { renderObject, fogNode, shapeNode, appearanceNode, humanoidNode, objectsKeys: localObjectsKeys, textureNode } = renderContext;
98453
+ const { renderObject, fogNode, shapeNode, appearanceNode, humanoidNode, localObjectsKeys, textureNode } = renderContext;
98442
98454
 
98443
98455
  const objectsKeys = localObjectsKeys .concat (renderObject .getGlobalLightsKeys ());
98444
98456
 
@@ -98574,7 +98586,7 @@ Object .assign (Object .setPrototypeOf (X3DMaterialNode .prototype, Shape_X3DApp
98574
98586
  }
98575
98587
  else
98576
98588
  {
98577
- const { renderObject, alphaMode, objectsKeys, textureNode } = geometryContext;
98589
+ const { renderObject, alphaMode, localObjectsKeys, textureNode } = geometryContext;
98578
98590
 
98579
98591
  if (renderObject .getLogarithmicDepthBuffer ())
98580
98592
  options .push ("X3D_LOGARITHMIC_DEPTH_BUFFER");
@@ -98602,7 +98614,7 @@ Object .assign (Object .setPrototypeOf (X3DMaterialNode .prototype, Shape_X3DApp
98602
98614
  }
98603
98615
  }
98604
98616
 
98605
- const numClipPlanes = objectsKeys .reduce ((a, c) => a + (c === 0), 0);
98617
+ const numClipPlanes = localObjectsKeys .reduce ((a, c) => a + (c === 0), 0);
98606
98618
 
98607
98619
  if (numClipPlanes)
98608
98620
  {
@@ -106330,8 +106342,8 @@ const GifMedia_default_ = GifMedia;
106330
106342
  x_ite_Namespace .add ("GifMedia", "x_ite/Browser/Texturing/GifMedia", GifMedia_default_);
106331
106343
  /* harmony default export */ const Texturing_GifMedia = (GifMedia_default_);
106332
106344
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Texturing/MovieTexture.js
106333
- /* provided dependency */ var MovieTexture_$ = __webpack_require__(404);
106334
- /* provided dependency */ var SuperGif = __webpack_require__(463);
106345
+ /* provided dependency */ var MovieTexture_$ = __webpack_require__(439);
106346
+ /* provided dependency */ var SuperGif = __webpack_require__(448);
106335
106347
  /*******************************************************************************
106336
106348
  *
106337
106349
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -109663,7 +109675,7 @@ const gettext_default_ = (string) => locale .get (string) || string;
109663
109675
  x_ite_Namespace .add ("gettext", "locale/gettext", gettext_default_);
109664
109676
  /* harmony default export */ const gettext = (gettext_default_);
109665
109677
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/BrowserTimings.js
109666
- /* provided dependency */ var BrowserTimings_$ = __webpack_require__(404);
109678
+ /* provided dependency */ var BrowserTimings_$ = __webpack_require__(439);
109667
109679
  /*******************************************************************************
109668
109680
  *
109669
109681
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -110235,8 +110247,69 @@ const TextureQuality_default_ = TextureQuality;
110235
110247
 
110236
110248
  x_ite_Namespace .add ("TextureQuality", "x_ite/Browser/Core/TextureQuality", TextureQuality_default_);
110237
110249
  /* harmony default export */ const Core_TextureQuality = (TextureQuality_default_);
110250
+ ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/TextCompression.js
110251
+ /*******************************************************************************
110252
+ *
110253
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
110254
+ *
110255
+ * Copyright create3000, Scheffelstraße 31a, Leipzig, Germany 2011 - 2022.
110256
+ *
110257
+ * All rights reserved. Holger Seelig <holger.seelig@yahoo.de>.
110258
+ *
110259
+ * The copyright notice above does not evidence any actual of intended
110260
+ * publication of such source code, and is an unpublished work by create3000.
110261
+ * This material contains CONFIDENTIAL INFORMATION that is the property of
110262
+ * create3000.
110263
+ *
110264
+ * No permission is granted to copy, distribute, or create derivative works from
110265
+ * the contents of this software, in whole or in part, without the prior written
110266
+ * permission of create3000.
110267
+ *
110268
+ * NON-MILITARY USE ONLY
110269
+ *
110270
+ * All create3000 software are effectively free software with a non-military use
110271
+ * restriction. It is free. Well commented source is provided. You may reuse the
110272
+ * source in any way you please with the exception anything that uses it must be
110273
+ * marked to indicate is contains 'non-military use only' components.
110274
+ *
110275
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
110276
+ *
110277
+ * Copyright 2011 - 2022, Holger Seelig <holger.seelig@yahoo.de>.
110278
+ *
110279
+ * This file is part of the X_ITE Project.
110280
+ *
110281
+ * X_ITE is free software: you can redistribute it and/or modify it under the
110282
+ * terms of the GNU General Public License version 3 only, as published by the
110283
+ * Free Software Foundation.
110284
+ *
110285
+ * X_ITE is distributed in the hope that it will be useful, but WITHOUT ANY
110286
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
110287
+ * A PARTICULAR PURPOSE. See the GNU General Public License version 3 for more
110288
+ * details (a copy is included in the LICENSE file that accompanied this code).
110289
+ *
110290
+ * You should have received a copy of the GNU General Public License version 3
110291
+ * along with X_ITE. If not, see <https://www.gnu.org/licenses/gpl.html> for a
110292
+ * copy of the GPLv3 License.
110293
+ *
110294
+ * For Silvio, Joy and Adi.
110295
+ *
110296
+ ******************************************************************************/
110297
+
110298
+ let TextCompression_i = 0;
110299
+
110300
+ const TextCompression =
110301
+ {
110302
+ CHAR_SPACING: TextCompression_i ++,
110303
+ SCALING: TextCompression_i ++,
110304
+ };
110305
+
110306
+ const TextCompression_default_ = TextCompression;
110307
+ ;
110308
+
110309
+ x_ite_Namespace .add ("TextCompression", "x_ite/Browser/Core/TextCompression", TextCompression_default_);
110310
+ /* harmony default export */ const Core_TextCompression = (TextCompression_default_);
110238
110311
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/BrowserOptions.js
110239
- /* provided dependency */ var BrowserOptions_$ = __webpack_require__(404);
110312
+ /* provided dependency */ var BrowserOptions_$ = __webpack_require__(439);
110240
110313
  /*******************************************************************************
110241
110314
  *
110242
110315
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -110294,6 +110367,7 @@ x_ite_Namespace .add ("TextureQuality", "x_ite/Browser/Core/TextureQuality", Tex
110294
110367
 
110295
110368
 
110296
110369
 
110370
+
110297
110371
  // https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/networking.html#BrowserProperties
110298
110372
 
110299
110373
  function BrowserOptions (executionContext)
@@ -110364,6 +110438,7 @@ Object .assign (Object .setPrototypeOf (BrowserOptions .prototype, Base_X3DBaseN
110364
110438
  "Notifications",
110365
110439
  "OrderIndependentTransparency",
110366
110440
  "SplashScreen",
110441
+ "TextCompression",
110367
110442
  "ToneMapping",
110368
110443
  ]);
110369
110444
 
@@ -110433,6 +110508,16 @@ Object .assign (Object .setPrototypeOf (BrowserOptions .prototype, Base_X3DBaseN
110433
110508
  {
110434
110509
  return this .textureQuality;
110435
110510
  },
110511
+ getTextCompression ()
110512
+ {
110513
+ switch (this ._TextCompression .getValue ())
110514
+ {
110515
+ default: // CHAR_SPACING
110516
+ return Core_TextCompression .CHAR_SPACING;
110517
+ case "SCALING":
110518
+ return Core_TextCompression .SCALING;
110519
+ }
110520
+ },
110436
110521
  set_Rubberband__ (rubberband)
110437
110522
  {
110438
110523
  this .localStorage .Rubberband = rubberband .getValue ();
@@ -110644,6 +110729,7 @@ Object .defineProperties (BrowserOptions,
110644
110729
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "Notifications", new x_ite_Fields .SFBool (true)),
110645
110730
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "OrderIndependentTransparency", new x_ite_Fields .SFBool ()),
110646
110731
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "StraightenHorizon", new x_ite_Fields .SFBool (true)),
110732
+ new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "TextCompression", new x_ite_Fields .SFString ("CHAR_SPACING")),
110647
110733
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "Timings", new x_ite_Fields .SFBool ()),
110648
110734
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "ToneMapping", new x_ite_Fields .SFString ("NONE")),
110649
110735
  ]),
@@ -110857,7 +110943,7 @@ const RenderingProperties_default_ = RenderingProperties;
110857
110943
  x_ite_Namespace .add ("RenderingProperties", "x_ite/Browser/Core/RenderingProperties", RenderingProperties_default_);
110858
110944
  /* harmony default export */ const Core_RenderingProperties = (RenderingProperties_default_);
110859
110945
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/Notification.js
110860
- /* provided dependency */ var Notification_$ = __webpack_require__(404);
110946
+ /* provided dependency */ var Notification_$ = __webpack_require__(439);
110861
110947
  /*******************************************************************************
110862
110948
  *
110863
110949
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -110980,8 +111066,8 @@ const Notification_default_ = Notification;
110980
111066
  x_ite_Namespace .add ("Notification", "x_ite/Browser/Core/Notification", Notification_default_);
110981
111067
  /* harmony default export */ const Core_Notification = (Notification_default_);
110982
111068
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/ContextMenu.js
110983
- /* provided dependency */ var jquery_fullscreen = __webpack_require__(912);
110984
- /* provided dependency */ var ContextMenu_$ = __webpack_require__(404);
111069
+ /* provided dependency */ var jquery_fullscreen = __webpack_require__(531);
111070
+ /* provided dependency */ var ContextMenu_$ = __webpack_require__(439);
110985
111071
  /*******************************************************************************
110986
111072
  *
110987
111073
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -111089,7 +111175,7 @@ Object .assign (Object .setPrototypeOf (ContextMenu .prototype, Base_X3DBaseNode
111089
111175
  browser = this .getBrowser (),
111090
111176
  fullscreen = browser .getElement () .fullScreen ();
111091
111177
 
111092
- if (! browser .getBrowserOption ("ContextMenu"))
111178
+ if (!browser .getBrowserOption ("ContextMenu"))
111093
111179
  return;
111094
111180
 
111095
111181
  const menu = {
@@ -111385,19 +111471,19 @@ Object .assign (Object .setPrototypeOf (ContextMenu .prototype, Base_X3DBaseNode
111385
111471
  delete menu .items ["available-viewers"];
111386
111472
  }
111387
111473
 
111388
- if (! browser .getCurrentViewer () .match (/^(?:EXAMINE|FLY)$/))
111474
+ if (!browser .getCurrentViewer () .match (/^(?:EXAMINE|FLY)$/))
111389
111475
  {
111390
111476
  delete menu .items ["straighten-horizon"];
111391
111477
  }
111392
111478
 
111393
- if (! browser .getBrowserOption ("Debug"))
111479
+ if (!browser .getBrowserOption ("Debug"))
111394
111480
  {
111395
111481
  delete menu .items ["shading"];
111396
111482
  }
111397
111483
 
111398
111484
  const worldInfo = browser .getExecutionContext () .getWorldInfos () [0];
111399
111485
 
111400
- if (! worldInfo || (worldInfo .title .length === 0 && worldInfo .info .length === 0))
111486
+ if (!worldInfo || (worldInfo .title .length === 0 && worldInfo .info .length === 0))
111401
111487
  {
111402
111488
  delete menu .items ["world-info"];
111403
111489
  }
@@ -111410,26 +111496,18 @@ Object .assign (Object .setPrototypeOf (ContextMenu .prototype, Base_X3DBaseNode
111410
111496
  browser = this .getBrowser (),
111411
111497
  activeLayer = browser .getActiveLayer ();
111412
111498
 
111413
- if (! activeLayer)
111499
+ if (!activeLayer)
111414
111500
  return { };
111415
111501
 
111416
111502
  const
111417
- enableInlineViewpoints = browser .getBrowserOption ("EnableInlineViewpoints"),
111418
- currentScene = browser .currentScene,
111419
- viewpoints = activeLayer .getViewpoints () .get (),
111420
- currentViewpoint = activeLayer .getViewpoint (),
111421
- menu = { };
111503
+ viewpoints = activeLayer .getUserViewpoints (),
111504
+ currentViewpoint = activeLayer .getViewpoint (),
111505
+ menu = { };
111422
111506
 
111423
111507
  for (const viewpoint of viewpoints)
111424
111508
  {
111425
111509
  const description = viewpoint .getDescriptions () .join (" » ");
111426
111510
 
111427
- if (description === "")
111428
- continue;
111429
-
111430
- if (! enableInlineViewpoints && viewpoint .getScene () !== currentScene)
111431
- continue;
111432
-
111433
111511
  const item = {
111434
111512
  name: description,
111435
111513
  callback: () =>
@@ -111442,7 +111520,7 @@ Object .assign (Object .setPrototypeOf (ContextMenu .prototype, Base_X3DBaseNode
111442
111520
  if (viewpoint === currentViewpoint)
111443
111521
  item .className = "context-menu-selected";
111444
111522
 
111445
- menu ["Viewpoint" + viewpoint .getId ()] = item;
111523
+ menu [`Viewpoint-${viewpoint .getId ()}`] = item;
111446
111524
  }
111447
111525
 
111448
111526
  return menu;
@@ -111508,7 +111586,7 @@ Object .assign (Object .setPrototypeOf (ContextMenu .prototype, Base_X3DBaseNode
111508
111586
  menu = options .build (event),
111509
111587
  level = 1;
111510
111588
 
111511
- if (! menu) return;
111589
+ if (!menu) return;
111512
111590
 
111513
111591
  // Layer
111514
111592
 
@@ -111587,7 +111665,7 @@ Object .assign (Object .setPrototypeOf (ContextMenu .prototype, Base_X3DBaseNode
111587
111665
  t = ContextMenu_$(event .target) .closest ("li"),
111588
111666
  e = t .children ("ul");
111589
111667
 
111590
- if (! e .length)
111668
+ if (!e .length)
111591
111669
  return;
111592
111670
 
111593
111671
  e .css ("top", "");
@@ -113734,7 +113812,7 @@ const DataStorage_default_ = DataStorage;
113734
113812
  x_ite_Namespace .add ("DataStorage", "standard/Utility/DataStorage", DataStorage_default_);
113735
113813
  /* harmony default export */ const Utility_DataStorage = (DataStorage_default_);
113736
113814
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/X3DCoreContext.js
113737
- /* provided dependency */ var X3DCoreContext_$ = __webpack_require__(404);
113815
+ /* provided dependency */ var X3DCoreContext_$ = __webpack_require__(439);
113738
113816
  /*******************************************************************************
113739
113817
  *
113740
113818
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -114131,6 +114209,12 @@ Object .assign (X3DCoreContext .prototype,
114131
114209
 
114132
114210
  break;
114133
114211
  }
114212
+ case "textCompression":
114213
+ case "textcompression":
114214
+ {
114215
+ this .setBrowserOption ("TextCompression", newValue);
114216
+ break;
114217
+ }
114134
114218
  case "timings":
114135
114219
  {
114136
114220
  this .setBrowserOption ("Timings", this .parseBooleanAttribute (newValue, false));
@@ -116314,8 +116398,8 @@ const X3DViewer_default_ = X3DViewer;
116314
116398
  x_ite_Namespace .add ("X3DViewer", "x_ite/Browser/Navigation/X3DViewer", X3DViewer_default_);
116315
116399
  /* harmony default export */ const Navigation_X3DViewer = (X3DViewer_default_);
116316
116400
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Navigation/ExamineViewer.js
116317
- /* provided dependency */ var jquery_mousewheel = __webpack_require__(290);
116318
- /* provided dependency */ var ExamineViewer_$ = __webpack_require__(404);
116401
+ /* provided dependency */ var jquery_mousewheel = __webpack_require__(583);
116402
+ /* provided dependency */ var ExamineViewer_$ = __webpack_require__(439);
116319
116403
  /*******************************************************************************
116320
116404
  *
116321
116405
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -117231,8 +117315,8 @@ const ExamineViewer_default_ = ExamineViewer;
117231
117315
  x_ite_Namespace .add ("ExamineViewer", "x_ite/Browser/Navigation/ExamineViewer", ExamineViewer_default_);
117232
117316
  /* harmony default export */ const Navigation_ExamineViewer = (ExamineViewer_default_);
117233
117317
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Navigation/X3DFlyViewer.js
117234
- /* provided dependency */ var X3DFlyViewer_jquery_mousewheel = __webpack_require__(290);
117235
- /* provided dependency */ var X3DFlyViewer_$ = __webpack_require__(404);
117318
+ /* provided dependency */ var X3DFlyViewer_jquery_mousewheel = __webpack_require__(583);
117319
+ /* provided dependency */ var X3DFlyViewer_$ = __webpack_require__(439);
117236
117320
  /*******************************************************************************
117237
117321
  *
117238
117322
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -118247,8 +118331,8 @@ const FlyViewer_default_ = FlyViewer;
118247
118331
  x_ite_Namespace .add ("FlyViewer", "x_ite/Browser/Navigation/FlyViewer", FlyViewer_default_);
118248
118332
  /* harmony default export */ const Navigation_FlyViewer = (FlyViewer_default_);
118249
118333
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Navigation/PlaneViewer.js
118250
- /* provided dependency */ var PlaneViewer_jquery_mousewheel = __webpack_require__(290);
118251
- /* provided dependency */ var PlaneViewer_$ = __webpack_require__(404);
118334
+ /* provided dependency */ var PlaneViewer_jquery_mousewheel = __webpack_require__(583);
118335
+ /* provided dependency */ var PlaneViewer_$ = __webpack_require__(439);
118252
118336
  /*******************************************************************************
118253
118337
  *
118254
118338
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -118579,8 +118663,8 @@ const NoneViewer_default_ = NoneViewer;
118579
118663
  x_ite_Namespace .add ("NoneViewer", "x_ite/Browser/Navigation/NoneViewer", NoneViewer_default_);
118580
118664
  /* harmony default export */ const Navigation_NoneViewer = (NoneViewer_default_);
118581
118665
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Navigation/LookAtViewer.js
118582
- /* provided dependency */ var LookAtViewer_jquery_mousewheel = __webpack_require__(290);
118583
- /* provided dependency */ var LookAtViewer_$ = __webpack_require__(404);
118666
+ /* provided dependency */ var LookAtViewer_jquery_mousewheel = __webpack_require__(583);
118667
+ /* provided dependency */ var LookAtViewer_$ = __webpack_require__(439);
118584
118668
  /*******************************************************************************
118585
118669
  *
118586
118670
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -119719,8 +119803,8 @@ const X3DPickingContext_default_ = X3DPickingContext;
119719
119803
  x_ite_Namespace .add ("X3DPickingContext", "x_ite/Browser/Picking/X3DPickingContext", X3DPickingContext_default_);
119720
119804
  /* harmony default export */ const Picking_X3DPickingContext = (X3DPickingContext_default_);
119721
119805
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/PointingDeviceSensor/PointingDevice.js
119722
- /* provided dependency */ var PointingDevice_jquery_mousewheel = __webpack_require__(290);
119723
- /* provided dependency */ var PointingDevice_$ = __webpack_require__(404);
119806
+ /* provided dependency */ var PointingDevice_jquery_mousewheel = __webpack_require__(583);
119807
+ /* provided dependency */ var PointingDevice_$ = __webpack_require__(439);
119724
119808
  /*******************************************************************************
119725
119809
  *
119726
119810
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -121021,7 +121105,7 @@ const MultiSampleFrameBuffer_default_ = MultiSampleFrameBuffer;
121021
121105
  x_ite_Namespace .add ("MultiSampleFrameBuffer", "x_ite/Rendering/MultiSampleFrameBuffer", MultiSampleFrameBuffer_default_);
121022
121106
  /* harmony default export */ const Rendering_MultiSampleFrameBuffer = (MultiSampleFrameBuffer_default_);
121023
121107
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Rendering/X3DRenderingContext.js
121024
- /* provided dependency */ var X3DRenderingContext_$ = __webpack_require__(404);
121108
+ /* provided dependency */ var X3DRenderingContext_$ = __webpack_require__(439);
121025
121109
  /*******************************************************************************
121026
121110
  *
121027
121111
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -121088,12 +121172,11 @@ const
121088
121172
 
121089
121173
  function X3DRenderingContext ()
121090
121174
  {
121091
-
121092
121175
  this .addChildObjects (Base_X3DConstants .outputOnly, "viewport", new x_ite_Fields .MFInt32 (0, 0, 300, 150));
121093
121176
 
121094
121177
  this [_frameBuffer] = new Rendering_MultiSampleFrameBuffer (this, 300, 150, 4);
121095
- this [_localObjects] = [ ]; // shader objects dumpster
121096
121178
  this [_depthShaders] = new Map ();
121179
+ this [_localObjects] = [ ]; // shader objects dumpster
121097
121180
  }
121098
121181
 
121099
121182
  Object .assign (X3DRenderingContext .prototype,
@@ -121301,14 +121384,18 @@ Object .assign (X3DRenderingContext .prototype,
121301
121384
  {
121302
121385
  return new Promise (resolve =>
121303
121386
  {
121304
- const key = Symbol ();
121387
+ const
121388
+ contentScale = this .getRenderingProperty ("ContentScale"),
121389
+ viewportWidth = Math .max (width * contentScale, 1),
121390
+ viewportHeight = Math .max (height * contentScale, 1),
121391
+ key = Symbol ();
121305
121392
 
121306
121393
  const test = () =>
121307
121394
  {
121308
- if (this ._viewport [2] !== width)
121395
+ if (this ._viewport [2] !== viewportWidth)
121309
121396
  return;
121310
121397
 
121311
- if (this ._viewport [2] !== height)
121398
+ if (this ._viewport [3] !== viewportHeight)
121312
121399
  return;
121313
121400
 
121314
121401
  this ._viewport .removeFieldCallback (key);
@@ -122025,7 +122112,7 @@ const X3DSoundContext_default_ = X3DSoundContext;
122025
122112
  x_ite_Namespace .add ("X3DSoundContext", "x_ite/Browser/Sound/X3DSoundContext", X3DSoundContext_default_);
122026
122113
  /* harmony default export */ const Sound_X3DSoundContext = (X3DSoundContext_default_);
122027
122114
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Texturing/KTXDecoder.js
122028
- /* provided dependency */ var KTXDecoder_$ = __webpack_require__(404);
122115
+ /* provided dependency */ var KTXDecoder_$ = __webpack_require__(439);
122029
122116
  const KTXDecoder_default_ = class KTXDecoder
122030
122117
  {
122031
122118
  constructor (gl, externalKtxlib, scriptDir)
@@ -123639,7 +123726,7 @@ const Components_default_ = Components;
123639
123726
  x_ite_Namespace .add ("Components", "x_ite/Components", Components_default_);
123640
123727
  /* harmony default export */ const x_ite_Components = ((/* unused pure expression or super */ null && (Components_default_)));
123641
123728
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/DOMIntegration.js
123642
- /* provided dependency */ var DOMIntegration_$ = __webpack_require__(404);
123729
+ /* provided dependency */ var DOMIntegration_$ = __webpack_require__(439);
123643
123730
  /*******************************************************************************
123644
123731
  * MIT License
123645
123732
  *
@@ -124907,7 +124994,7 @@ const FieldTypes_default_ = new Configuration_FieldTypesArray (Object .values (x
124907
124994
  x_ite_Namespace .add ("FieldTypes", "x_ite/Configuration/FieldTypes", FieldTypes_default_);
124908
124995
  /* harmony default export */ const FieldTypes = (FieldTypes_default_);
124909
124996
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/X3DBrowser.js
124910
- /* provided dependency */ var X3DBrowser_$ = __webpack_require__(404);
124997
+ /* provided dependency */ var X3DBrowser_$ = __webpack_require__(439);
124911
124998
  /*******************************************************************************
124912
124999
  *
124913
125000
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -125729,88 +125816,50 @@ Object .assign (Object .setPrototypeOf (X3DBrowser .prototype, Browser_X3DBrowse
125729
125816
 
125730
125817
  layerNode = Base_X3DCast (Base_X3DConstants .X3DLayerNode, layerNode) ?? this .getActiveLayer ();
125731
125818
 
125732
- if (!layerNode)
125733
- return;
125734
-
125735
- layerNode .viewAll (transitionTime, 1, this .getBrowserOption ("StraightenHorizon"));
125819
+ layerNode ?.viewAll (transitionTime, 1, this .getBrowserOption ("StraightenHorizon"));
125736
125820
  },
125737
125821
  firstViewpoint (layerNode)
125738
125822
  {
125739
125823
  layerNode = Base_X3DCast (Base_X3DConstants .X3DLayerNode, layerNode) ?? this .getActiveLayer ();
125740
125824
 
125741
- const viewpoints = layerNode .getUserViewpoints ();
125825
+ const viewpoints = layerNode ?.getUserViewpoints ();
125742
125826
 
125743
- if (viewpoints .length)
125744
- this .bindViewpoint (layerNode, viewpoints [0]);
125827
+ if (viewpoints ?.length)
125828
+ this .bindViewpoint (layerNode, viewpoints .at (0));
125745
125829
  },
125746
125830
  previousViewpoint (layerNode)
125747
125831
  {
125748
125832
  layerNode = Base_X3DCast (Base_X3DConstants .X3DLayerNode, layerNode) ?? this .getActiveLayer ();
125749
125833
 
125750
- if (!layerNode)
125751
- return;
125752
-
125753
- const viewpoints = layerNode .getUserViewpoints ();
125834
+ const viewpoints = layerNode ?.getUserViewpoints ();
125754
125835
 
125755
- if (viewpoints .length === 0)
125836
+ if (!viewpoints ?.length)
125756
125837
  return;
125757
125838
 
125758
- for (var i = 0, length = viewpoints .length; i < length; ++ i)
125759
- {
125760
- if (viewpoints [i] ._isBound .getValue ())
125761
- break;
125762
- }
125839
+ const i = viewpoints .findIndex (viewpointNode => viewpointNode ._isBound .getValue ());
125763
125840
 
125764
- if (i < viewpoints .length)
125765
- {
125766
- if (i === 0)
125767
- this .bindViewpoint (layerNode, viewpoints .at (-1));
125768
-
125769
- else
125770
- this .bindViewpoint (layerNode, viewpoints [i - 1]);
125771
- }
125772
- else
125773
- this .bindViewpoint (layerNode, viewpoints .at (-1));
125841
+ this .bindViewpoint (layerNode, viewpoints .at (i > -1 ? i - 1 : -1));
125774
125842
  },
125775
125843
  nextViewpoint (layerNode)
125776
125844
  {
125777
125845
  layerNode = Base_X3DCast (Base_X3DConstants .X3DLayerNode, layerNode) ?? this .getActiveLayer ();
125778
125846
 
125779
- if (!layerNode)
125780
- return;
125781
-
125782
- const viewpoints = layerNode .getUserViewpoints ();
125847
+ const viewpoints = layerNode ?.getUserViewpoints ();
125783
125848
 
125784
- if (viewpoints .length === 0)
125849
+ if (!viewpoints ?.length)
125785
125850
  return;
125786
125851
 
125787
- for (var i = 0, length = viewpoints .length; i < length; ++ i)
125788
- {
125789
- if (viewpoints [i] ._isBound .getValue ())
125790
- break;
125791
- }
125792
-
125793
- if (i < viewpoints .length)
125794
- {
125795
- if (i === viewpoints .length - 1)
125796
- this .bindViewpoint (layerNode, viewpoints [0]);
125852
+ const i = viewpoints .findIndex (viewpointNode => viewpointNode ._isBound .getValue ());
125797
125853
 
125798
- else
125799
- this .bindViewpoint (layerNode, viewpoints [i + 1]);
125800
- }
125801
- else
125802
- this .bindViewpoint (layerNode, viewpoints [0]);
125854
+ this .bindViewpoint (layerNode, viewpoints .at ((i + 1) % viewpoints .length));
125803
125855
  },
125804
125856
  lastViewpoint (layerNode)
125805
125857
  {
125806
125858
  layerNode = Base_X3DCast (Base_X3DConstants .X3DLayerNode, layerNode) ?? this .getActiveLayer ();
125807
125859
 
125808
- if (!layerNode)
125809
- return;
125860
+ const viewpoints = layerNode ?.getUserViewpoints ();
125810
125861
 
125811
- const viewpoints = layerNode .getUserViewpoints ();
125812
-
125813
- if (viewpoints .length)
125862
+ if (viewpoints ?.length)
125814
125863
  this .bindViewpoint (layerNode, viewpoints .at (-1));
125815
125864
  },
125816
125865
  changeViewpoint (layerNode, name)
@@ -125823,17 +125872,11 @@ Object .assign (Object .setPrototypeOf (X3DBrowser .prototype, Browser_X3DBrowse
125823
125872
 
125824
125873
  layerNode = Base_X3DCast (Base_X3DConstants .X3DLayerNode, layerNode) ?? this .getActiveLayer ();
125825
125874
 
125826
- if (!layerNode)
125827
- return;
125828
-
125829
- for (const viewpointNode of layerNode .getViewpoints () .get ())
125830
- {
125831
- if (viewpointNode .getName () !== name)
125832
- continue;
125875
+ const viewpointNode = layerNode ?.getViewpoints () .get ()
125876
+ .find (viewpointNode => viewpointNode .getName () === name);
125833
125877
 
125878
+ if (viewpointNode)
125834
125879
  this .bindViewpoint (layerNode, viewpointNode);
125835
- break;
125836
- }
125837
125880
  },
125838
125881
  bindViewpoint (layerNode, viewpointNode)
125839
125882
  {
@@ -126009,7 +126052,7 @@ const X3DBrowser_default_ = X3DBrowser;
126009
126052
  x_ite_Namespace .add ("X3DBrowser", "x_ite/Browser/X3DBrowser", X3DBrowser_default_);
126010
126053
  /* harmony default export */ const Browser_X3DBrowser = (X3DBrowser_default_);
126011
126054
  ;// CONCATENATED MODULE: ./src/x_ite/X3DCanvasElement.js
126012
- /* provided dependency */ var X3DCanvasElement_$ = __webpack_require__(404);
126055
+ /* provided dependency */ var X3DCanvasElement_$ = __webpack_require__(439);
126013
126056
  /*******************************************************************************
126014
126057
  *
126015
126058
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -126116,6 +126159,8 @@ class X3DCanvasElement extends HTMLElement
126116
126159
  "splashScreen",
126117
126160
  "splashscreen",
126118
126161
  "src",
126162
+ "textCompression",
126163
+ "textcompression",
126119
126164
  "timings",
126120
126165
  "toneMapping",
126121
126166
  "tonemapping",
@@ -126159,8 +126204,8 @@ const X3DCanvasElement_default_ = X3DCanvasElement;
126159
126204
  x_ite_Namespace .add ("X3DCanvasElement", "x_ite/X3DCanvasElement", X3DCanvasElement_default_);
126160
126205
  /* harmony default export */ const x_ite_X3DCanvasElement = (X3DCanvasElement_default_);
126161
126206
  ;// CONCATENATED MODULE: ./src/lib/jquery.js
126162
- /* provided dependency */ var jquery_$ = __webpack_require__(404);
126163
- /* provided dependency */ var pako = __webpack_require__(976);
126207
+ /* provided dependency */ var jquery_$ = __webpack_require__(439);
126208
+ /* provided dependency */ var pako = __webpack_require__(964);
126164
126209
  Object .assign (jquery_$,
126165
126210
  {
126166
126211
  decodeText (input)
@@ -126237,14 +126282,14 @@ const jquery_default_ = jquery_$;
126237
126282
  x_ite_Namespace .add ("jquery", "lib/jquery", jquery_default_);
126238
126283
  /* harmony default export */ const jquery = ((/* unused pure expression or super */ null && (jquery_default_)));
126239
126284
  ;// CONCATENATED MODULE: ./src/lib/libtess.js
126240
- /* provided dependency */ var libtess_libtess = __webpack_require__(185);
126285
+ /* provided dependency */ var libtess_libtess = __webpack_require__(12);
126241
126286
  const libtess_default_ = libtess_libtess;
126242
126287
  ;
126243
126288
 
126244
126289
  x_ite_Namespace .add ("libtess", "lib/libtess", libtess_default_);
126245
126290
  /* harmony default export */ const lib_libtess = ((/* unused pure expression or super */ null && (libtess_default_)));
126246
126291
  ;// CONCATENATED MODULE: ./src/x_ite/X3D.js
126247
- /* provided dependency */ var X3D_$ = __webpack_require__(404);
126292
+ /* provided dependency */ var X3D_$ = __webpack_require__(439);
126248
126293
  /*******************************************************************************
126249
126294
  *
126250
126295
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -126552,7 +126597,7 @@ Object .assign (X3D,
126552
126597
 
126553
126598
  // Assign X3D to global namespace.
126554
126599
 
126555
- window [Symbol .for ("X_ITE.X3D-10.0.4")] = x_ite_X3D;
126600
+ window [Symbol .for ("X_ITE.X3D-10.1.0")] = x_ite_X3D;
126556
126601
 
126557
126602
  customElements .define ("x3d-canvas", x_ite_X3DCanvasElement);
126558
126603