x_ite 8.12.1 → 8.12.3

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 (47) hide show
  1. package/dist/assets/components/Annotation.js +13 -13
  2. package/dist/assets/components/Annotation.min.js +1 -1
  3. package/dist/assets/components/CADGeometry.js +14 -14
  4. package/dist/assets/components/CADGeometry.min.js +1 -1
  5. package/dist/assets/components/CubeMapTexturing.js +25 -25
  6. package/dist/assets/components/CubeMapTexturing.min.js +1 -1
  7. package/dist/assets/components/DIS.js +13 -13
  8. package/dist/assets/components/DIS.min.js +1 -1
  9. package/dist/assets/components/EventUtilities.js +9 -9
  10. package/dist/assets/components/EventUtilities.min.js +1 -1
  11. package/dist/assets/components/Geometry2D.js +19 -19
  12. package/dist/assets/components/Geometry2D.min.js +1 -1
  13. package/dist/assets/components/Geospatial.js +33 -33
  14. package/dist/assets/components/Geospatial.min.js +1 -1
  15. package/dist/assets/components/HAnim.js +70 -61
  16. package/dist/assets/components/HAnim.min.js +1 -1
  17. package/dist/assets/components/KeyDeviceSensor.js +8 -8
  18. package/dist/assets/components/KeyDeviceSensor.min.js +1 -1
  19. package/dist/assets/components/Layout.js +26 -26
  20. package/dist/assets/components/Layout.min.js +1 -1
  21. package/dist/assets/components/NURBS.js +24 -24
  22. package/dist/assets/components/NURBS.min.js +1 -1
  23. package/dist/assets/components/ParticleSystems.js +23 -23
  24. package/dist/assets/components/ParticleSystems.min.js +1 -1
  25. package/dist/assets/components/Picking.js +18 -18
  26. package/dist/assets/components/Picking.min.js +1 -1
  27. package/dist/assets/components/RigidBodyPhysics.js +17 -17
  28. package/dist/assets/components/RigidBodyPhysics.min.js +1 -1
  29. package/dist/assets/components/Scripting.js +38 -38
  30. package/dist/assets/components/Scripting.min.js +1 -1
  31. package/dist/assets/components/Text.js +24 -24
  32. package/dist/assets/components/Text.min.js +1 -1
  33. package/dist/assets/components/TextureProjector.js +14 -14
  34. package/dist/assets/components/TextureProjector.min.js +1 -1
  35. package/dist/assets/components/Texturing3D.js +30 -30
  36. package/dist/assets/components/Texturing3D.min.js +1 -1
  37. package/dist/assets/components/VolumeRendering.js +18 -18
  38. package/dist/assets/components/VolumeRendering.min.js +1 -1
  39. package/dist/assets/components/X_ITE.js +9 -9
  40. package/dist/assets/components/X_ITE.min.js +1 -1
  41. package/dist/x_ite.css +1 -1
  42. package/dist/x_ite.js +240 -132
  43. package/dist/x_ite.min.js +1 -1
  44. package/dist/x_ite.min.mjs +1 -1
  45. package/dist/x_ite.mjs +240 -132
  46. package/dist/x_ite.zip +0 -0
  47. package/package.json +1 -1
package/dist/x_ite.mjs CHANGED
@@ -1,9 +1,9 @@
1
- /* X_ITE v8.12.1 */var __webpack_modules__ = ({
1
+ /* X_ITE v8.12.3 */var __webpack_modules__ = ({
2
2
 
3
- /***/ 141:
3
+ /***/ 920:
4
4
  /***/ (function(module, exports, __webpack_require__) {
5
5
 
6
- /* provided dependency */ var jQuery = __webpack_require__(81);
6
+ /* provided dependency */ var jQuery = __webpack_require__(855);
7
7
  var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;
8
8
 
9
9
  /**
@@ -375,10 +375,10 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;
375
375
 
376
376
  /***/ }),
377
377
 
378
- /***/ 890:
378
+ /***/ 893:
379
379
  /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
380
380
 
381
- /* provided dependency */ var jQuery = __webpack_require__(81);
381
+ /* provided dependency */ var jQuery = __webpack_require__(855);
382
382
  /**
383
383
  * @preserve jquery.fullscreen 1.1.5
384
384
  * https://github.com/code-lts/jquery-fullscreen-plugin
@@ -574,7 +574,7 @@ installFullScreenHandlers();
574
574
 
575
575
  /***/ }),
576
576
 
577
- /***/ 662:
577
+ /***/ 517:
578
578
  /***/ ((module, exports, __webpack_require__) => {
579
579
 
580
580
  var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
@@ -588,7 +588,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
588
588
  (function (factory) {
589
589
  if ( true ) {
590
590
  // AMD. Register as an anonymous module.
591
- !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(81)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
591
+ !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(855)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
592
592
  __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
593
593
  (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
594
594
  __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
@@ -799,7 +799,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
799
799
 
800
800
  /***/ }),
801
801
 
802
- /***/ 81:
802
+ /***/ 855:
803
803
  /***/ (function(module, exports) {
804
804
 
805
805
  var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
@@ -11523,7 +11523,7 @@ return jQuery;
11523
11523
 
11524
11524
  /***/ }),
11525
11525
 
11526
- /***/ 275:
11526
+ /***/ 250:
11527
11527
  /***/ ((module) => {
11528
11528
 
11529
11529
  /**
@@ -16302,7 +16302,7 @@ if (true) {
16302
16302
 
16303
16303
  /***/ }),
16304
16304
 
16305
- /***/ 52:
16305
+ /***/ 932:
16306
16306
  /***/ (function(__unused_webpack_module, exports) {
16307
16307
 
16308
16308
 
@@ -19547,7 +19547,7 @@ if (true) {
19547
19547
 
19548
19548
  /***/ }),
19549
19549
 
19550
- /***/ 893:
19550
+ /***/ 669:
19551
19551
  /***/ (function(module, exports) {
19552
19552
 
19553
19553
  var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*
@@ -20674,7 +20674,7 @@ Object .defineProperty (Namespace, "add",
20674
20674
  }
20675
20675
  else
20676
20676
  {
20677
- const X3D = window [Symbol .for ("X_ITE.X3D-8.12.1")];
20677
+ const X3D = window [Symbol .for ("X_ITE.X3D-8.12.3")];
20678
20678
 
20679
20679
  if (X3D)
20680
20680
  X3D [name] = module;
@@ -20922,6 +20922,10 @@ const Algorithm =
20922
20922
 
20923
20923
  return value;
20924
20924
  },
20925
+ roundToMultiple (value, multiple)
20926
+ {
20927
+ return Math .ceil (value / multiple) * multiple;
20928
+ },
20925
20929
  lerp (source, destination, t)
20926
20930
  {
20927
20931
  return source + t * (destination - source);
@@ -34390,7 +34394,7 @@ const X3DBaseNode_default_ = X3DBaseNode;
34390
34394
  x_ite_Namespace .add ("X3DBaseNode", "x_ite/Base/X3DBaseNode", X3DBaseNode_default_);
34391
34395
  /* harmony default export */ const Base_X3DBaseNode = (X3DBaseNode_default_);
34392
34396
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Legacy.js
34393
- /* provided dependency */ var $ = __webpack_require__(81);
34397
+ /* provided dependency */ var $ = __webpack_require__(855);
34394
34398
  /*******************************************************************************
34395
34399
  *
34396
34400
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -34527,7 +34531,7 @@ x_ite_Namespace .add ("Legacy", "x_ite/Browser/Legacy", Legacy_default_);
34527
34531
  *
34528
34532
  ******************************************************************************/
34529
34533
 
34530
- const VERSION_default_ = "8.12.1";
34534
+ const VERSION_default_ = "8.12.3";
34531
34535
  ;
34532
34536
 
34533
34537
  x_ite_Namespace .add ("VERSION", "x_ite/Browser/VERSION", VERSION_default_);
@@ -35890,7 +35894,7 @@ Object .assign (Object .setPrototypeOf (X3DNode .prototype, Base_X3DBaseNode .pr
35890
35894
  if (!(secondParent instanceof x_ite_Fields .MFNode))
35891
35895
  continue;
35892
35896
 
35893
- secondParent .assign (secondParent .filter (node => node ?.getValue () !== this))
35897
+ secondParent .setValue ([... secondParent] .filter (node => node ?.getValue () !== this))
35894
35898
  }
35895
35899
  }
35896
35900
 
@@ -38415,7 +38419,7 @@ const X3DProtoDeclarationNode_default_ = X3DProtoDeclarationNode;
38415
38419
  x_ite_Namespace .add ("X3DProtoDeclarationNode", "x_ite/Prototype/X3DProtoDeclarationNode", X3DProtoDeclarationNode_default_);
38416
38420
  /* harmony default export */ const Prototype_X3DProtoDeclarationNode = (X3DProtoDeclarationNode_default_);
38417
38421
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/X3DParser.js
38418
- /* provided dependency */ var X3DParser_$ = __webpack_require__(81);
38422
+ /* provided dependency */ var X3DParser_$ = __webpack_require__(855);
38419
38423
  /*******************************************************************************
38420
38424
  *
38421
38425
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -39240,7 +39244,7 @@ const X3DProtoDeclaration_default_ = X3DProtoDeclaration;
39240
39244
  x_ite_Namespace .add ("X3DProtoDeclaration", "x_ite/Prototype/X3DProtoDeclaration", X3DProtoDeclaration_default_);
39241
39245
  /* harmony default export */ const Prototype_X3DProtoDeclaration = (X3DProtoDeclaration_default_);
39242
39246
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/VRMLParser.js
39243
- /* provided dependency */ var VRMLParser_$ = __webpack_require__(81);
39247
+ /* provided dependency */ var VRMLParser_$ = __webpack_require__(855);
39244
39248
  /*******************************************************************************
39245
39249
  *
39246
39250
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -41785,7 +41789,7 @@ const VRMLParser_default_ = VRMLParser;
41785
41789
  x_ite_Namespace .add ("VRMLParser", "x_ite/Parser/VRMLParser", VRMLParser_default_);
41786
41790
  /* harmony default export */ const Parser_VRMLParser = (VRMLParser_default_);
41787
41791
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/XMLParser.js
41788
- /* provided dependency */ var XMLParser_$ = __webpack_require__(81);
41792
+ /* provided dependency */ var XMLParser_$ = __webpack_require__(855);
41789
41793
  /*******************************************************************************
41790
41794
  *
41791
41795
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -43450,6 +43454,7 @@ x_ite_Namespace .add ("JSONParser", "x_ite/Parser/JSONParser", JSONParser_defaul
43450
43454
 
43451
43455
 
43452
43456
 
43457
+
43453
43458
  function X3DOptimizer () { }
43454
43459
 
43455
43460
  Object .assign (X3DOptimizer .prototype,
@@ -43457,6 +43462,7 @@ Object .assign (X3DOptimizer .prototype,
43457
43462
  removeGroups: false,
43458
43463
  removeEmptyGroups: false,
43459
43464
  combineGroupingNodes: false,
43465
+ optimizeInterpolators: false,
43460
43466
  optimizeSceneGraph (nodes)
43461
43467
  {
43462
43468
  const removedNodes = [ ];
@@ -43474,6 +43480,9 @@ Object .assign (X3DOptimizer .prototype,
43474
43480
  if (!node)
43475
43481
  return [ ];
43476
43482
 
43483
+ if (this .optimizeInterpolators)
43484
+ this .removeInterpolatorsWithOnlyOneValue (node, removedNodes);
43485
+
43477
43486
  switch (node .getNodeTypeName ())
43478
43487
  {
43479
43488
  case "Transform":
@@ -43561,6 +43570,30 @@ Object .assign (X3DOptimizer .prototype,
43561
43570
 
43562
43571
  return node;
43563
43572
  },
43573
+ removeInterpolatorsWithOnlyOneValue (node, removedNodes)
43574
+ {
43575
+ for (const field of node .getValue () .getFields ())
43576
+ {
43577
+ if (field .getInputRoutes () .size !== 1)
43578
+ continue;
43579
+
43580
+ const
43581
+ route = Array .from (field .getInputRoutes ()) [0],
43582
+ sourceNode = route .sourceNode;
43583
+
43584
+ if (!sourceNode .getNodeType () .includes (Base_X3DConstants .X3DInterpolatorNode))
43585
+ continue;
43586
+
43587
+ if (sourceNode .key .length !== 1)
43588
+ continue;
43589
+
43590
+ node [route .destinationField] = sourceNode .keyValue [0];
43591
+
43592
+ removedNodes .push (sourceNode);
43593
+
43594
+ route .dispose ();
43595
+ }
43596
+ },
43564
43597
  combineSingleChild (node, removedNodes)
43565
43598
  {
43566
43599
  if (node .children .length !== 1)
@@ -43811,7 +43844,7 @@ const URLs_default_ = URLs;
43811
43844
  x_ite_Namespace .add ("URLs", "x_ite/Browser/Networking/URLs", URLs_default_);
43812
43845
  /* harmony default export */ const Networking_URLs = (URLs_default_);
43813
43846
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/GLTF2Parser.js
43814
- /* provided dependency */ var GLTF2Parser_$ = __webpack_require__(81);
43847
+ /* provided dependency */ var GLTF2Parser_$ = __webpack_require__(855);
43815
43848
  /*******************************************************************************
43816
43849
  *
43817
43850
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -43883,9 +43916,10 @@ function GLTF2Parser (scene)
43883
43916
 
43884
43917
  // Optimizer
43885
43918
 
43886
- this .removeGroups = false;
43887
- this .removeEmptyGroups = true;
43888
- this .combineGroupingNodes = true;
43919
+ this .removeGroups = false;
43920
+ this .removeEmptyGroups = true;
43921
+ this .combineGroupingNodes = true;
43922
+ this .optimizeInterpolators = true;
43889
43923
 
43890
43924
  // Globals
43891
43925
 
@@ -44026,7 +44060,7 @@ Object .assign (Object .setPrototypeOf (GLTF2Parser .prototype, Parser_X3DParser
44026
44060
 
44027
44061
  try
44028
44062
  {
44029
- this .optimizeSceneGraph (this .getExecutionContext () .getRootNodes ());
44063
+ this .optimizeSceneGraph (this .getExecutionContext () .getRootNodes ());
44030
44064
  }
44031
44065
  catch (error)
44032
44066
  {
@@ -44157,7 +44191,7 @@ Object .assign (Object .setPrototypeOf (GLTF2Parser .prototype, Parser_X3DParser
44157
44191
 
44158
44192
  if (name)
44159
44193
  {
44160
- scene .addNamedNode (scene .getUniqueName (name), lightNode);
44194
+ scene .addNamedNode (scene .getUniqueName (name), lightNode);
44161
44195
  scene .addExportedNode (scene .getUniqueExportName (name), lightNode);
44162
44196
  }
44163
44197
 
@@ -44431,7 +44465,7 @@ Object .assign (Object .setPrototypeOf (GLTF2Parser .prototype, Parser_X3DParser
44431
44465
 
44432
44466
  if (name)
44433
44467
  {
44434
- scene .addNamedNode (scene .getUniqueName (name), texturePropertiesNode);
44468
+ scene .addNamedNode (scene .getUniqueName (name), texturePropertiesNode);
44435
44469
  scene .addExportedNode (scene .getUniqueExportName (name), texturePropertiesNode);
44436
44470
  }
44437
44471
 
@@ -44532,11 +44566,12 @@ Object .assign (Object .setPrototypeOf (GLTF2Parser .prototype, Parser_X3DParser
44532
44566
 
44533
44567
  if (name)
44534
44568
  {
44535
- scene .addNamedNode (scene .getUniqueName (name), textureNode);
44569
+ scene .addNamedNode (scene .getUniqueName (name), textureNode);
44536
44570
  scene .addExportedNode (scene .getUniqueExportName (name), textureNode);
44537
44571
  }
44538
44572
 
44539
- textureNode ._url = images .map (image => image .uri);
44573
+ textureNode ._url = images .map (image => image .uri);
44574
+ textureNode ._colorSpaceConversion = false;
44540
44575
 
44541
44576
  const sampler = this .samplers [texture .sampler];
44542
44577
 
@@ -44620,7 +44655,7 @@ Object .assign (Object .setPrototypeOf (GLTF2Parser .prototype, Parser_X3DParser
44620
44655
 
44621
44656
  if (name)
44622
44657
  {
44623
- scene .addNamedNode (scene .getUniqueName (name), appearanceNode);
44658
+ scene .addNamedNode (scene .getUniqueName (name), appearanceNode);
44624
44659
  scene .addExportedNode (scene .getUniqueExportName (name), appearanceNode);
44625
44660
  }
44626
44661
 
@@ -44940,7 +44975,7 @@ Object .assign (Object .setPrototypeOf (GLTF2Parser .prototype, Parser_X3DParser
44940
44975
  {
44941
44976
  for (const shapeNode of shapeNodes)
44942
44977
  {
44943
- scene .addNamedNode (scene .getUniqueName (name), shapeNode);
44978
+ scene .addNamedNode (scene .getUniqueName (name), shapeNode);
44944
44979
  scene .addExportedNode (scene .getUniqueExportName (name), shapeNode);
44945
44980
  }
44946
44981
  }
@@ -45177,7 +45212,7 @@ Object .assign (Object .setPrototypeOf (GLTF2Parser .prototype, Parser_X3DParser
45177
45212
 
45178
45213
  if (name)
45179
45214
  {
45180
- scene .addNamedNode (scene .getUniqueName (name), viewpointNode);
45215
+ scene .addNamedNode (scene .getUniqueName (name), viewpointNode);
45181
45216
  scene .addExportedNode (scene .getUniqueExportName (name), viewpointNode);
45182
45217
  }
45183
45218
 
@@ -45322,7 +45357,7 @@ Object .assign (Object .setPrototypeOf (GLTF2Parser .prototype, Parser_X3DParser
45322
45357
 
45323
45358
  if (name)
45324
45359
  {
45325
- scene .addNamedNode (scene .getUniqueName (name), transformNode);
45360
+ scene .addNamedNode (scene .getUniqueName (name), transformNode);
45326
45361
  scene .addExportedNode (scene .getUniqueExportName (name), transformNode);
45327
45362
 
45328
45363
  if (transformNode .getTypeName () === "HAnimJoint")
@@ -45401,7 +45436,7 @@ Object .assign (Object .setPrototypeOf (GLTF2Parser .prototype, Parser_X3DParser
45401
45436
 
45402
45437
  if (name)
45403
45438
  {
45404
- scene .addNamedNode (scene .getUniqueName (name), humanoidNode);
45439
+ scene .addNamedNode (scene .getUniqueName (name), humanoidNode);
45405
45440
  scene .addExportedNode (scene .getUniqueExportName (name), humanoidNode);
45406
45441
  }
45407
45442
 
@@ -45497,13 +45532,17 @@ Object .assign (Object .setPrototypeOf (GLTF2Parser .prototype, Parser_X3DParser
45497
45532
  skin .skeleton = skin .skeleton ?? this .skeleton (skin .joints);
45498
45533
  skin .inverseBindMatrices = this .inverseBindMatricesAccessors (this .accessors [skin .inverseBindMatrices]);
45499
45534
 
45500
- skin .textureCoordinateNode = scene .createNode ("TextureCoordinate", false);
45501
- skin .normalNode = scene .createNode ("Normal", false);
45502
- skin .coordinateNode = scene .createNode ("Coordinate", false);
45535
+ skin .textureCoordinateNode = scene .createNode ("TextureCoordinate", false);
45536
+ skin .multiTextureCoordinateNode = scene .createNode ("MultiTextureCoordinate", false);
45537
+ skin .normalNode = scene .createNode ("Normal", false);
45538
+ skin .coordinateNode = scene .createNode ("Coordinate", false);
45539
+
45540
+ skin .textureCoordinateNode ._mapping = "TEXCOORD_0";
45503
45541
 
45504
- skin .textureCoordinateNode .setup ();
45505
- skin .normalNode .setup ();
45506
- skin .coordinateNode .setup ();
45542
+ skin .textureCoordinateNode .setup ();
45543
+ skin .multiTextureCoordinateNode .setup ();
45544
+ skin .normalNode .setup ();
45545
+ skin .coordinateNode .setup ();
45507
45546
  },
45508
45547
  jointsArray: function (joints)
45509
45548
  {
@@ -45576,7 +45615,7 @@ Object .assign (Object .setPrototypeOf (GLTF2Parser .prototype, Parser_X3DParser
45576
45615
 
45577
45616
  const switchNode = scene .createNode ("Switch", false);
45578
45617
 
45579
- scene .addNamedNode (scene .getUniqueName ("Scenes"), switchNode);
45618
+ scene .addNamedNode (scene .getUniqueName ("Scenes"), switchNode);
45580
45619
  scene .addExportedNode (scene .getUniqueExportName ("Scenes"), switchNode);
45581
45620
 
45582
45621
  // Scenes.
@@ -45617,7 +45656,7 @@ Object .assign (Object .setPrototypeOf (GLTF2Parser .prototype, Parser_X3DParser
45617
45656
 
45618
45657
  if (name)
45619
45658
  {
45620
- scene .addNamedNode (scene .getUniqueName (name), groupNode);
45659
+ scene .addNamedNode (scene .getUniqueName (name), groupNode);
45621
45660
  scene .addExportedNode (scene .getUniqueExportName (name), groupNode);
45622
45661
  }
45623
45662
 
@@ -45649,7 +45688,7 @@ Object .assign (Object .setPrototypeOf (GLTF2Parser .prototype, Parser_X3DParser
45649
45688
  scene = this .getExecutionContext (),
45650
45689
  groupNode = scene .createNode ("Group", false);
45651
45690
 
45652
- scene .addNamedNode (scene .getUniqueName ("Animations"), groupNode);
45691
+ scene .addNamedNode (scene .getUniqueName ("Animations"), groupNode);
45653
45692
  scene .addExportedNode (scene .getUniqueExportName ("Animations"), groupNode);
45654
45693
 
45655
45694
  groupNode ._children = animationNodes;
@@ -46384,13 +46423,11 @@ Object .assign (Object .setPrototypeOf (GLTF2Parser .prototype, Parser_X3DParser
46384
46423
  return;
46385
46424
 
46386
46425
  const
46387
- skinTextureCoordinateNode = skin .textureCoordinateNode,
46388
- skinNormalNode = skin .normalNode,
46389
- skinCoordinateNode = skin .coordinateNode,
46390
- start = skinCoordinateNode ._point .length,
46391
- textureCoordinateNode = geometryNode ._texCoord ?.getValue (),
46392
- normalNode = geometryNode ._normal ?.getValue (),
46393
- coordinateNode = geometryNode ._coord ?.getValue ();
46426
+ skinCoordinateNode = skin .coordinateNode,
46427
+ start = skinCoordinateNode ._point .length,
46428
+ textureCoordinateNode = geometryNode ._texCoord ?.getValue (),
46429
+ normalNode = geometryNode ._normal ?.getValue (),
46430
+ coordinateNode = geometryNode ._coord ?.getValue ();
46394
46431
 
46395
46432
  if (geometryNode ._coordIndex)
46396
46433
  geometryNode ._coordIndex = geometryNode ._coordIndex .map (index => index < 0 ? -1 : index + start);
@@ -46400,14 +46437,61 @@ Object .assign (Object .setPrototypeOf (GLTF2Parser .prototype, Parser_X3DParser
46400
46437
 
46401
46438
  if (textureCoordinateNode)
46402
46439
  {
46403
- const point = skinTextureCoordinateNode ._point;
46404
- textureCoordinateNode ._point .forEach ((p, i) => point [i + start] = p);
46405
- geometryNode ._texCoord = skinTextureCoordinateNode;
46440
+ switch (textureCoordinateNode .getTypeName ())
46441
+ {
46442
+ case "TextureCoordinate":
46443
+ {
46444
+ const
46445
+ skinTextureCoordinateNode = skin .textureCoordinateNode,
46446
+ point = skinTextureCoordinateNode ._point;
46447
+
46448
+ textureCoordinateNode ._point .forEach ((p, i) => point [i + start] = p);
46449
+ geometryNode ._texCoord = skinTextureCoordinateNode;
46450
+
46451
+ break;
46452
+ }
46453
+ case "MultiTextureCoordinate":
46454
+ {
46455
+ const skinMultiTextureCoordinateNode = skin .multiTextureCoordinateNode;
46456
+
46457
+ for (const t of textureCoordinateNode ._texCoord)
46458
+ {
46459
+ let s = skinMultiTextureCoordinateNode ._texCoord .find (s => s .mapping === t .mapping) ?.getValue ();
46460
+
46461
+ if (!s)
46462
+ {
46463
+ if (t .mapping === "TEXCOORD_0")
46464
+ {
46465
+ s = skin .textureCoordinateNode;
46466
+ }
46467
+ else
46468
+ {
46469
+ s = this .getScene () .createNode ("TextureCoordinate", false);
46470
+ s ._mapping = t .mapping;
46471
+
46472
+ s .setup ();
46473
+ }
46474
+
46475
+ skinMultiTextureCoordinateNode ._texCoord .push (s);
46476
+ }
46477
+
46478
+ const point = s ._point;
46479
+
46480
+ t .point .forEach ((p, i) => point [i + start] = p);
46481
+ }
46482
+
46483
+ geometryNode ._texCoord = skinMultiTextureCoordinateNode;
46484
+ break;
46485
+ }
46486
+ }
46406
46487
  }
46407
46488
 
46408
46489
  if (normalNode)
46409
46490
  {
46410
- const vector = skinNormalNode ._vector;
46491
+ const
46492
+ skinNormalNode = skin .normalNode,
46493
+ vector = skinNormalNode ._vector;
46494
+
46411
46495
  normalNode ._vector .forEach ((v, i) => vector [i + start] = v);
46412
46496
  geometryNode ._normal = skinNormalNode;
46413
46497
  }
@@ -46883,7 +46967,7 @@ const GLTF2Parser_default_ = GLTF2Parser;
46883
46967
  x_ite_Namespace .add ("GLTF2Parser", "x_ite/Parser/GLTF2Parser", GLTF2Parser_default_);
46884
46968
  /* harmony default export */ const Parser_GLTF2Parser = (GLTF2Parser_default_);
46885
46969
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/GLB2Parser.js
46886
- /* provided dependency */ var GLB2Parser_$ = __webpack_require__(81);
46970
+ /* provided dependency */ var GLB2Parser_$ = __webpack_require__(855);
46887
46971
  /*******************************************************************************
46888
46972
  *
46889
46973
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -47035,7 +47119,7 @@ const GLB2Parser_default_ = GLB2Parser;
47035
47119
  x_ite_Namespace .add ("GLB2Parser", "x_ite/Parser/GLB2Parser", GLB2Parser_default_);
47036
47120
  /* harmony default export */ const Parser_GLB2Parser = (GLB2Parser_default_);
47037
47121
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/OBJParser.js
47038
- /* provided dependency */ var OBJParser_$ = __webpack_require__(81);
47122
+ /* provided dependency */ var OBJParser_$ = __webpack_require__(855);
47039
47123
  /*******************************************************************************
47040
47124
  *
47041
47125
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -50390,8 +50474,8 @@ const MatrixStack_default_ = MatrixStack;
50390
50474
  x_ite_Namespace .add ("MatrixStack", "standard/Math/Utility/MatrixStack", MatrixStack_default_);
50391
50475
  /* harmony default export */ const Utility_MatrixStack = (MatrixStack_default_);
50392
50476
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/SVGParser.js
50393
- /* provided dependency */ var SVGParser_$ = __webpack_require__(81);
50394
- /* provided dependency */ var libtess = __webpack_require__(275);
50477
+ /* provided dependency */ var SVGParser_$ = __webpack_require__(855);
50478
+ /* provided dependency */ var libtess = __webpack_require__(250);
50395
50479
  /*******************************************************************************
50396
50480
  *
50397
50481
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -53159,7 +53243,7 @@ const SVGParser_default_ = SVGParser;
53159
53243
  x_ite_Namespace .add ("SVGParser", "x_ite/Parser/SVGParser", SVGParser_default_);
53160
53244
  /* harmony default export */ const Parser_SVGParser = (SVGParser_default_);
53161
53245
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/GoldenGate.js
53162
- /* provided dependency */ var GoldenGate_$ = __webpack_require__(81);
53246
+ /* provided dependency */ var GoldenGate_$ = __webpack_require__(855);
53163
53247
  /*******************************************************************************
53164
53248
  *
53165
53249
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -53496,7 +53580,7 @@ const Plane3_default_ = Plane3;
53496
53580
  x_ite_Namespace .add ("Plane3", "standard/Math/Geometry/Plane3", Plane3_default_);
53497
53581
  /* harmony default export */ const Geometry_Plane3 = (Plane3_default_);
53498
53582
  ;// CONCATENATED MODULE: ./src/standard/Math/Geometry/Triangle3.js
53499
- /* provided dependency */ var Triangle3_libtess = __webpack_require__(275);
53583
+ /* provided dependency */ var Triangle3_libtess = __webpack_require__(250);
53500
53584
  /*******************************************************************************
53501
53585
  *
53502
53586
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -60881,7 +60965,7 @@ const X3DTexture2DNode_default_ = X3DTexture2DNode;
60881
60965
  x_ite_Namespace .add ("X3DTexture2DNode", "x_ite/Components/Texturing/X3DTexture2DNode", X3DTexture2DNode_default_);
60882
60966
  /* harmony default export */ const Texturing_X3DTexture2DNode = (X3DTexture2DNode_default_);
60883
60967
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Texturing/ImageTexture.js
60884
- /* provided dependency */ var ImageTexture_$ = __webpack_require__(81);
60968
+ /* provided dependency */ var ImageTexture_$ = __webpack_require__(855);
60885
60969
  /*******************************************************************************
60886
60970
  *
60887
60971
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -60957,6 +61041,8 @@ Object .assign (Object .setPrototypeOf (ImageTexture .prototype, Texturing_X3DTe
60957
61041
  Texturing_X3DTexture2DNode .prototype .initialize .call (this);
60958
61042
  Networking_X3DUrlObject .prototype .initialize .call (this);
60959
61043
 
61044
+ this ._colorSpaceConversion .addInterest ("loadNow", this);
61045
+
60960
61046
  this .image .on ("load", this .setImage .bind (this));
60961
61047
  this .image .on ("abort error", this .setError .bind (this));
60962
61048
  this .image .prop ("crossOrigin", "Anonymous");
@@ -61058,7 +61144,7 @@ Object .assign (Object .setPrototypeOf (ImageTexture .prototype, Texturing_X3DTe
61058
61144
  else
61059
61145
  {
61060
61146
  const
61061
- data = await this .getImageData (image),
61147
+ data = await this .getImageData (image, this ._colorSpaceConversion .getValue ()),
61062
61148
  transparent = this .isImageTransparent (data),
61063
61149
  width = image .width,
61064
61150
  height = image .height;
@@ -61079,7 +61165,7 @@ Object .assign (Object .setPrototypeOf (ImageTexture .prototype, Texturing_X3DTe
61079
61165
  this .setError ({ type: error .message });
61080
61166
  }
61081
61167
  },
61082
- getImageData: async function (image, colorspaceConversion = true)
61168
+ getImageData: async function (image, colorSpaceConversion = true)
61083
61169
  {
61084
61170
  const
61085
61171
  gl = this .getBrowser () .getContext (),
@@ -61089,7 +61175,7 @@ Object .assign (Object .setPrototypeOf (ImageTexture .prototype, Texturing_X3DTe
61089
61175
 
61090
61176
  gl .bindFramebuffer (gl .FRAMEBUFFER, framebuffer);
61091
61177
  gl .bindTexture (gl .TEXTURE_2D, texture);
61092
- gl .pixelStorei (gl .UNPACK_COLORSPACE_CONVERSION_WEBGL, colorspaceConversion ? gl .BROWSER_DEFAULT_WEBGL : gl .NONE);
61178
+ gl .pixelStorei (gl .UNPACK_COLORSPACE_CONVERSION_WEBGL, colorSpaceConversion ? gl .BROWSER_DEFAULT_WEBGL : gl .NONE);
61093
61179
  gl .texImage2D (gl .TEXTURE_2D, 0, gl .RGBA, gl .RGBA, gl .UNSIGNED_BYTE, image);
61094
61180
  gl .pixelStorei (gl .UNPACK_COLORSPACE_CONVERSION_WEBGL, gl .BROWSER_DEFAULT_WEBGL);
61095
61181
  gl .framebufferTexture2D (gl .FRAMEBUFFER, gl .COLOR_ATTACHMENT0, gl .TEXTURE_2D, texture, 0);
@@ -61167,6 +61253,7 @@ Object .defineProperties (ImageTexture,
61167
61253
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "url", new x_ite_Fields .MFString ()),
61168
61254
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "autoRefresh", new x_ite_Fields .SFTime ()),
61169
61255
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "autoRefreshTimeLimit", new x_ite_Fields .SFTime (3600)),
61256
+ new Base_X3DFieldDefinition (Base_X3DConstants .initializeOnly, "colorSpaceConversion", new x_ite_Fields .SFBool (true)), // experimental
61170
61257
  new Base_X3DFieldDefinition (Base_X3DConstants .initializeOnly, "repeatS", new x_ite_Fields .SFBool (true)),
61171
61258
  new Base_X3DFieldDefinition (Base_X3DConstants .initializeOnly, "repeatT", new x_ite_Fields .SFBool (true)),
61172
61259
  new Base_X3DFieldDefinition (Base_X3DConstants .initializeOnly, "textureProperties", new x_ite_Fields .SFNode ()),
@@ -65483,7 +65570,7 @@ const X3DWorld_default_ = X3DWorld;
65483
65570
  x_ite_Namespace .add ("X3DWorld", "x_ite/Execution/X3DWorld", X3DWorld_default_);
65484
65571
  /* harmony default export */ const Execution_X3DWorld = (X3DWorld_default_);
65485
65572
  ;// CONCATENATED MODULE: ./src/x_ite/InputOutput/FileLoader.js
65486
- /* provided dependency */ var FileLoader_$ = __webpack_require__(81);
65573
+ /* provided dependency */ var FileLoader_$ = __webpack_require__(855);
65487
65574
  /*******************************************************************************
65488
65575
  *
65489
65576
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -88992,7 +89079,7 @@ const X3DShaderNode_default_ = X3DShaderNode;
88992
89079
  x_ite_Namespace .add ("X3DShaderNode", "x_ite/Components/Shaders/X3DShaderNode", X3DShaderNode_default_);
88993
89080
  /* harmony default export */ const Shaders_X3DShaderNode = (X3DShaderNode_default_);
88994
89081
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Shaders/X3DProgrammableShaderObject.js
88995
- /* provided dependency */ var X3DProgrammableShaderObject_$ = __webpack_require__(81);
89082
+ /* provided dependency */ var X3DProgrammableShaderObject_$ = __webpack_require__(855);
88996
89083
  /*******************************************************************************
88997
89084
  *
88998
89085
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -92227,7 +92314,7 @@ return normalize(normal)*facing;
92227
92314
  x_ite_Namespace .add ("Normal1.glsl", "assets/shaders/webgl1/include/Normal1.glsl", Normal1_glsl_default_);
92228
92315
  /* harmony default export */ const Normal1_glsl = (Normal1_glsl_default_);
92229
92316
  ;// CONCATENATED MODULE: ./src/assets/shaders/webgl1/include/Perlin1.glsl.js
92230
- const Perlin1_glsl_default_ = /* glsl */ `float rand(vec2 co){return fract(sin(dot(co.xy,vec2(12.9898,78.233)))*43758.5453);}float rand(vec2 co,float l){return rand(vec2(rand(co),l));}float rand(vec2 co,float l,float t){return rand(vec2(rand(co,l),t));}float perlin(vec2 p,float dim,float time){const float M_PI=3.14159265358979323846;vec2 pos=floor(p*dim);vec2 posx=pos+vec2(1.0,0.0);vec2 posy=pos+vec2(0.0,1.0);vec2 posxy=pos+vec2(1.0);float c=rand(pos,dim,time);float cx=rand(posx,dim,time);float cy=rand(posy,dim,time);float cxy=rand(posxy,dim,time);vec2 d=fract(p*dim);d=-0.5*cos(d*M_PI)+0.5;float ccx=mix(c,cx,d.x);float cycxy=mix(cy,cxy,d.x);float center=mix(ccx,cycxy,d.y);return center*2.0-1.0;}vec3 perlin(vec3 p){return vec3(perlin(p.xy,1.0,0.0),perlin(p.yz,1.0,0.0),perlin(p.zx,1.0,0.0));}
92317
+ const Perlin1_glsl_default_ = /* glsl */ `float rand(const in vec2 co){return fract(sin(dot(co.xy,vec2(12.9898,78.233)))*43758.5453);}float rand(const in vec2 co,const in float l){return rand(vec2(rand(co),l));}float rand(const in vec2 co,const in float l,const in float t){return rand(vec2(rand(co,l),t));}float perlin(const in vec2 p,const in float dim,const in float time){const float M_PI=3.14159265358979323846;vec2 pos=floor(p*dim);vec2 posx=pos+vec2(1.0,0.0);vec2 posy=pos+vec2(0.0,1.0);vec2 posxy=pos+vec2(1.0);float c=rand(pos,dim,time);float cx=rand(posx,dim,time);float cy=rand(posy,dim,time);float cxy=rand(posxy,dim,time);vec2 d=fract(p*dim);d=-0.5*cos(d*M_PI)+0.5;float ccx=mix(c,cx,d.x);float cycxy=mix(cy,cxy,d.x);float center=mix(ccx,cycxy,d.y);return center*2.0-1.0;}vec3 perlin(const in vec3 p){return vec3(perlin(p.xy,1.0,0.0),perlin(p.yz,1.0,0.0),perlin(p.zx,1.0,0.0));}
92231
92318
  `
92232
92319
  ;
92233
92320
 
@@ -92808,7 +92895,7 @@ in mat4 x3d_ParticleMatrix;vec4 getParticleVertex(const in vec4 vertex){return x
92808
92895
  x_ite_Namespace .add ("Particle2.glsl", "assets/shaders/webgl2/include/Particle2.glsl", Particle2_glsl_default_);
92809
92896
  /* harmony default export */ const Particle2_glsl = (Particle2_glsl_default_);
92810
92897
  ;// CONCATENATED MODULE: ./src/assets/shaders/webgl2/include/Perlin2.glsl.js
92811
- const Perlin2_glsl_default_ = /* glsl */ `float rand(vec2 co){return fract(sin(dot(co.xy,vec2(12.9898,78.233)))*43758.5453);}float rand(vec2 co,float l){return rand(vec2(rand(co),l));}float rand(vec2 co,float l,float t){return rand(vec2(rand(co,l),t));}float perlin(vec2 p,float dim,float time){const float M_PI=3.14159265358979323846;vec2 pos=floor(p*dim);vec2 posx=pos+vec2(1.0,0.0);vec2 posy=pos+vec2(0.0,1.0);vec2 posxy=pos+vec2(1.0);float c=rand(pos,dim,time);float cx=rand(posx,dim,time);float cy=rand(posy,dim,time);float cxy=rand(posxy,dim,time);vec2 d=fract(p*dim);d=-0.5*cos(d*M_PI)+0.5;float ccx=mix(c,cx,d.x);float cycxy=mix(cy,cxy,d.x);float center=mix(ccx,cycxy,d.y);return center*2.0-1.0;}vec3 perlin(vec3 p){return vec3(perlin(p.xy,1.0,0.0),perlin(p.yz,1.0,0.0),perlin(p.zx,1.0,0.0));}
92898
+ const Perlin2_glsl_default_ = /* glsl */ `float rand(const in vec2 co){return fract(sin(dot(co.xy,vec2(12.9898,78.233)))*43758.5453);}float rand(const in vec2 co,const in float l){return rand(vec2(rand(co),l));}float rand(const in vec2 co,const in float l,const in float t){return rand(vec2(rand(co,l),t));}float perlin(const in vec2 p,const in float dim,const in float time){const float M_PI=3.14159265358979323846;vec2 pos=floor(p*dim);vec2 posx=pos+vec2(1.0,0.0);vec2 posy=pos+vec2(0.0,1.0);vec2 posxy=pos+vec2(1.0);float c=rand(pos,dim,time);float cx=rand(posx,dim,time);float cy=rand(posy,dim,time);float cxy=rand(posxy,dim,time);vec2 d=fract(p*dim);d=-0.5*cos(d*M_PI)+0.5;float ccx=mix(c,cx,d.x);float cycxy=mix(cy,cxy,d.x);float center=mix(ccx,cycxy,d.y);return center*2.0-1.0;}vec3 perlin(const in vec3 p){return vec3(perlin(p.xy,1.0,0.0),perlin(p.yz,1.0,0.0),perlin(p.zx,1.0,0.0));}
92812
92899
  `
92813
92900
  ;
92814
92901
 
@@ -92910,15 +92997,20 @@ const Skin2_glsl_default_ = /* glsl */ `#if defined(X3D_SKINNING)
92910
92997
  in float x3d_CoordIndex;uniform sampler2D x3d_JointsTexture;uniform sampler2D x3d_DisplacementsTexture;uniform sampler2D x3d_JointMatricesTexture;mat4 getJointMatrix(const in int joint){vec4 a=texelFetch(x3d_JointMatricesTexture,joint*8,0);vec4 b=texelFetch(x3d_JointMatricesTexture,joint*8+1,0);vec4 c=texelFetch(x3d_JointMatricesTexture,joint*8+2,0);vec4 d=texelFetch(x3d_JointMatricesTexture,joint*8+3,0);return mat4(a,b,c,d);}mat3 getDisplacementJointMatrix(const in int joint){mat4 m=getJointMatrix(joint);return mat3(m[0].xyz,m[1].xyz,m[2].xyz);}
92911
92998
  #if defined(X3D_NORMALS)
92912
92999
  vec3 skinNormal=vec3(0.0);mat3 getJointNormalMatrix(const in int joint){vec4 a=texelFetch(x3d_JointMatricesTexture,joint*8+4,0);vec4 b=texelFetch(x3d_JointMatricesTexture,joint*8+5,0);vec4 c=texelFetch(x3d_JointMatricesTexture,joint*8+6,0);return mat3(a.xyz,vec3(a.w,b.xy),vec3(b.zw,c.x));}
93000
+ #define getSkinNormal(normal)(skinNormal)
92913
93001
  #endif
92914
- vec4 getSkinVertex(const in vec4 vertex,const in vec3 normal){int coordIndex2=int(x3d_CoordIndex)*2;ivec4 joints=ivec4(texelFetch(x3d_JointsTexture,coordIndex2,0));vec4 weights=texelFetch(x3d_JointsTexture,coordIndex2+1,0);int width=textureSize(x3d_DisplacementsTexture,0).x;int offset=(width*width)/2;vec4 skin=vertex;for(int i=0;i<2;++i){vec4 displacement=texelFetch(x3d_DisplacementsTexture,coordIndex2+i,0);float weight=texelFetch(x3d_DisplacementsTexture,coordIndex2+offset,0)[i];skin.xyz+=(getDisplacementJointMatrix(int(displacement.w))*displacement.xyz)*weight;}for(int i=0;i<4;++i)skin+=(getJointMatrix(joints[i])*vertex-vertex)*weights[i];
93002
+ vec4 getSkinVertex(const in vec4 vertex,const in vec3 normal){int coordIndex=int(x3d_CoordIndex);vec4 skin=vertex;
92915
93003
  #if defined(X3D_NORMALS)
92916
- {skinNormal=normal;for(int i=0;i<4;++i)skinNormal+=(getJointNormalMatrix(joints[i])*normal-normal)*weights[i];}
93004
+ skinNormal=normal;
93005
+ #endif
93006
+ #if X3D_NUM_DISPLACEMENTS>0
93007
+ {int coordIndexD=coordIndex*X3D_NUM_DISPLACEMENTS;int width=textureSize(x3d_DisplacementsTexture,0).x;int offset=(width*width)/2;for(int i=0;i<X3D_NUM_DISPLACEMENTS;++i){int index=coordIndexD+i;vec4 displacement=texelFetch(x3d_DisplacementsTexture,index,0);float weight=texelFetch(x3d_DisplacementsTexture,index+offset,0).x;skin.xyz+=getDisplacementJointMatrix(int(displacement.w))*displacement.xyz*weight;}}
92917
93008
  #endif
92918
- return skin;}
93009
+ int coordIndexJ=coordIndex*(X3D_NUM_JOINT_SETS*2);for(int i=0;i<X3D_NUM_JOINT_SETS;++i){int index=coordIndexJ+i;ivec4 joints=ivec4(texelFetch(x3d_JointsTexture,index,0));vec4 weights=texelFetch(x3d_JointsTexture,index+X3D_NUM_JOINT_SETS,0);for(int i=0;i<4;++i){int joint=joints[i];float weight=weights[i];skin+=(getJointMatrix(joint)*vertex-vertex)*weight;
92919
93010
  #if defined(X3D_NORMALS)
92920
- vec3 getSkinNormal(const in vec3 normal){return skinNormal;}
93011
+ skinNormal+=(getJointNormalMatrix(joint)*normal-normal)*weight;
92921
93012
  #endif
93013
+ }}return skin;}
92922
93014
  #else
92923
93015
  #define getSkinVertex(vertex,normal)(vertex)
92924
93016
  #define getSkinNormal(normal)(normal)
@@ -94379,7 +94471,7 @@ const ShaderCompiler_default_ = ShaderCompiler;
94379
94471
  x_ite_Namespace .add ("ShaderCompiler", "x_ite/Browser/Shaders/ShaderCompiler", ShaderCompiler_default_);
94380
94472
  /* harmony default export */ const Shaders_ShaderCompiler = (ShaderCompiler_default_);
94381
94473
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Shaders/ShaderPart.js
94382
- /* provided dependency */ var ShaderPart_$ = __webpack_require__(81);
94474
+ /* provided dependency */ var ShaderPart_$ = __webpack_require__(855);
94383
94475
  /*******************************************************************************
94384
94476
  *
94385
94477
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -95036,7 +95128,7 @@ const X3DAppearanceNode_default_ = X3DAppearanceNode;
95036
95128
  x_ite_Namespace .add ("X3DAppearanceNode", "x_ite/Components/Shape/X3DAppearanceNode", X3DAppearanceNode_default_);
95037
95129
  /* harmony default export */ const Shape_X3DAppearanceNode = (X3DAppearanceNode_default_);
95038
95130
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Shape/Appearance.js
95039
- /* provided dependency */ var Appearance_$ = __webpack_require__(81);
95131
+ /* provided dependency */ var Appearance_$ = __webpack_require__(855);
95040
95132
  /*******************************************************************************
95041
95133
  *
95042
95134
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -95987,7 +96079,8 @@ Object .assign (Object .setPrototypeOf (X3DMaterialNode .prototype, Shape_X3DApp
95987
96079
  key += appearanceNode .getStyleProperties (geometryContext .geometryType) ?.getStyleKey () ?? 0;
95988
96080
  key += appearanceNode .getTextureTransformMapping () .size || 1;
95989
96081
  key += geometryContext .textureCoordinateMapping .size || 1;
95990
- key += humanoidNode ? 1 : 0;
96082
+ key += ".";
96083
+ key += humanoidNode ?.getHumanoidKey () ?? "";
95991
96084
  key += ".";
95992
96085
  key += objectsCount [0]; // Clip planes
95993
96086
  key += ".";
@@ -96005,8 +96098,7 @@ Object .assign (Object .setPrototypeOf (X3DMaterialNode .prototype, Shape_X3DApp
96005
96098
 
96006
96099
  key += geometryContext .alphaMode;
96007
96100
  key += this .getMaterialKey (false);
96008
- key += "00000110";
96009
- key += ".";
96101
+ key += "0000011.0.";
96010
96102
  key += objectsCount [0]; // Clip planes
96011
96103
  key += ".";
96012
96104
  key += objectsCount [1]; // Lights
@@ -96079,7 +96171,11 @@ Object .assign (Object .setPrototypeOf (X3DMaterialNode .prototype, Shape_X3DApp
96079
96171
  }
96080
96172
 
96081
96173
  if (humanoidNode)
96174
+ {
96082
96175
  options .push ("X3D_SKINNING");
96176
+ options .push (`X3D_NUM_JOINT_SETS ${humanoidNode .getNumJoints () / 4}`);
96177
+ options .push (`X3D_NUM_DISPLACEMENTS ${humanoidNode .getNumDisplacements ()}`);
96178
+ }
96083
96179
 
96084
96180
  if (objectsCount [0])
96085
96181
  {
@@ -98313,7 +98409,7 @@ const Components_Shape_default_ = {
98313
98409
  x_ite_Namespace .add ("Shape", "x_ite/Components/Shape", Components_Shape_default_);
98314
98410
  /* harmony default export */ const Components_Shape = (Components_Shape_default_);
98315
98411
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Sound/X3DSoundProcessingNode.js
98316
- /* provided dependency */ var X3DSoundProcessingNode_$ = __webpack_require__(81);
98412
+ /* provided dependency */ var X3DSoundProcessingNode_$ = __webpack_require__(855);
98317
98413
  /*******************************************************************************
98318
98414
  *
98319
98415
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -98728,13 +98824,13 @@ Object .defineProperties (Analyser,
98728
98824
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "maxDecibels", new x_ite_Fields .SFFloat (-30)),
98729
98825
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "smoothingTimeConstant", new x_ite_Fields .SFFloat (0.8)),
98730
98826
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "tailTime", new x_ite_Fields .SFTime ()),
98731
- new Base_X3DFieldDefinition (Base_X3DConstants .outputOnly, "frequencyBinCount", new x_ite_Fields .SFInt32 ()),
98732
- new Base_X3DFieldDefinition (Base_X3DConstants .outputOnly, "byteFrequencyData", new x_ite_Fields .MFInt32 ()),
98733
- new Base_X3DFieldDefinition (Base_X3DConstants .outputOnly, "byteTimeDomainData", new x_ite_Fields .MFInt32 ()),
98734
- new Base_X3DFieldDefinition (Base_X3DConstants .outputOnly, "floatFrequencyData", new x_ite_Fields .MFFloat ()),
98735
- new Base_X3DFieldDefinition (Base_X3DConstants .outputOnly, "floatTimeDomainData", new x_ite_Fields .MFFloat ()),
98827
+ new Base_X3DFieldDefinition (Base_X3DConstants .outputOnly, "frequencyBinCount", new x_ite_Fields .SFInt32 ()), // skip test
98828
+ new Base_X3DFieldDefinition (Base_X3DConstants .outputOnly, "byteFrequencyData", new x_ite_Fields .MFInt32 ()), // experimental
98829
+ new Base_X3DFieldDefinition (Base_X3DConstants .outputOnly, "byteTimeDomainData", new x_ite_Fields .MFInt32 ()), // experimental
98830
+ new Base_X3DFieldDefinition (Base_X3DConstants .outputOnly, "floatFrequencyData", new x_ite_Fields .MFFloat ()), // experimental
98831
+ new Base_X3DFieldDefinition (Base_X3DConstants .outputOnly, "floatTimeDomainData", new x_ite_Fields .MFFloat ()), // experimental
98736
98832
 
98737
- new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "channelCount", new x_ite_Fields .SFInt32 ()),
98833
+ new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "channelCount", new x_ite_Fields .SFInt32 ()), // skip test
98738
98834
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "channelCountMode", new x_ite_Fields .SFString ("MAX")),
98739
98835
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "channelInterpretation", new x_ite_Fields .SFString ("SPEAKERS")),
98740
98836
 
@@ -98953,7 +99049,7 @@ const X3DSoundSourceNode_default_ = X3DSoundSourceNode;
98953
99049
  x_ite_Namespace .add ("X3DSoundSourceNode", "x_ite/Components/Sound/X3DSoundSourceNode", X3DSoundSourceNode_default_);
98954
99050
  /* harmony default export */ const Sound_X3DSoundSourceNode = (X3DSoundSourceNode_default_);
98955
99051
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Sound/AudioClip.js
98956
- /* provided dependency */ var AudioClip_$ = __webpack_require__(81);
99052
+ /* provided dependency */ var AudioClip_$ = __webpack_require__(855);
98957
99053
  /*******************************************************************************
98958
99054
  *
98959
99055
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -99255,7 +99351,7 @@ const X3DSoundNode_default_ = X3DSoundNode;
99255
99351
  x_ite_Namespace .add ("X3DSoundNode", "x_ite/Components/Sound/X3DSoundNode", X3DSoundNode_default_);
99256
99352
  /* harmony default export */ const Sound_X3DSoundNode = (X3DSoundNode_default_);
99257
99353
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Sound/X3DSoundDestinationNode.js
99258
- /* provided dependency */ var X3DSoundDestinationNode_$ = __webpack_require__(81);
99354
+ /* provided dependency */ var X3DSoundDestinationNode_$ = __webpack_require__(855);
99259
99355
  /*******************************************************************************
99260
99356
  *
99261
99357
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -99608,14 +99704,14 @@ Object .defineProperties (AudioDestination,
99608
99704
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "enabled", new x_ite_Fields .SFBool (true)),
99609
99705
 
99610
99706
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "gain", new x_ite_Fields .SFFloat (1)),
99611
- new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "mediaDeviceID", new x_ite_Fields .SFString ()),
99707
+ new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "mediaDeviceID", new x_ite_Fields .SFString ()), // skip test
99612
99708
 
99613
- new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "channelCount", new x_ite_Fields .SFInt32 ()),
99709
+ new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "channelCount", new x_ite_Fields .SFInt32 ()), // skip test
99614
99710
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "channelCountMode", new x_ite_Fields .SFString ("MAX")),
99615
99711
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "channelInterpretation", new x_ite_Fields .SFString ("SPEAKERS")),
99616
99712
 
99617
99713
  new Base_X3DFieldDefinition (Base_X3DConstants .outputOnly, "isActive", new x_ite_Fields .SFBool ()),
99618
- new Base_X3DFieldDefinition (Base_X3DConstants .outputOnly, "maxChannelCount", new x_ite_Fields .SFInt32 ()),
99714
+ new Base_X3DFieldDefinition (Base_X3DConstants .outputOnly, "maxChannelCount", new x_ite_Fields .SFInt32 ()), // skip test
99619
99715
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "children", new x_ite_Fields .MFNode ()),
99620
99716
  ]),
99621
99717
  enumerable: true,
@@ -99726,7 +99822,7 @@ Object .defineProperties (BiquadFilter,
99726
99822
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "qualityFactor", new x_ite_Fields .SFFloat (1)),
99727
99823
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "tailTime", new x_ite_Fields .SFTime ()),
99728
99824
 
99729
- new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "channelCount", new x_ite_Fields .SFInt32 ()),
99825
+ new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "channelCount", new x_ite_Fields .SFInt32 ()), // skip test
99730
99826
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "channelCountMode", new x_ite_Fields .SFString ("MAX")),
99731
99827
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "channelInterpretation", new x_ite_Fields .SFString ("SPEAKERS")),
99732
99828
 
@@ -99872,7 +99968,7 @@ Object .defineProperties (BufferAudioSource,
99872
99968
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "loopStart", new x_ite_Fields .SFTime ()),
99873
99969
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "loopEnd", new x_ite_Fields .SFTime ()),
99874
99970
 
99875
- new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "channelCount", new x_ite_Fields .SFInt32 ()),
99971
+ new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "channelCount", new x_ite_Fields .SFInt32 ()), // skip test
99876
99972
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "channelCountMode", new x_ite_Fields .SFString ("MAX")),
99877
99973
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "channelInterpretation", new x_ite_Fields .SFString ("SPEAKERS")),
99878
99974
 
@@ -100067,7 +100163,7 @@ Object .defineProperties (ChannelMerger,
100067
100163
 
100068
100164
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "gain", new x_ite_Fields .SFFloat (1)),
100069
100165
 
100070
- new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "channelCount", new x_ite_Fields .SFInt32 ()),
100166
+ new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "channelCount", new x_ite_Fields .SFInt32 ()), // skip test
100071
100167
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "channelCountMode", new x_ite_Fields .SFString ("MAX")),
100072
100168
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "channelInterpretation", new x_ite_Fields .SFString ("SPEAKERS")),
100073
100169
 
@@ -100177,7 +100273,7 @@ Object .defineProperties (ChannelSelector,
100177
100273
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "gain", new x_ite_Fields .SFFloat (1)),
100178
100274
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "channelSelection", new x_ite_Fields .SFInt32 (0)),
100179
100275
 
100180
- new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "channelCount", new x_ite_Fields .SFInt32 ()),
100276
+ new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "channelCount", new x_ite_Fields .SFInt32 ()), // skip test
100181
100277
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "channelCountMode", new x_ite_Fields .SFString ("MAX")),
100182
100278
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "channelInterpretation", new x_ite_Fields .SFString ("SPEAKERS")),
100183
100279
 
@@ -100286,7 +100382,7 @@ Object .defineProperties (ChannelSplitter,
100286
100382
 
100287
100383
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "gain", new x_ite_Fields .SFFloat (1)),
100288
100384
 
100289
- new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "channelCount", new x_ite_Fields .SFInt32 ()),
100385
+ new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "channelCount", new x_ite_Fields .SFInt32 ()), // skip test
100290
100386
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "channelCountMode", new x_ite_Fields .SFString ("MAX")),
100291
100387
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "channelInterpretation", new x_ite_Fields .SFString ("SPEAKERS")),
100292
100388
 
@@ -100399,7 +100495,7 @@ Object .defineProperties (Convolver,
100399
100495
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "normalize", new x_ite_Fields .SFBool ()),
100400
100496
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "tailTime", new x_ite_Fields .SFTime ()),
100401
100497
 
100402
- new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "channelCount", new x_ite_Fields .SFInt32 ()),
100498
+ new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "channelCount", new x_ite_Fields .SFInt32 ()), // skip test
100403
100499
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "channelCountMode", new x_ite_Fields .SFString ("MAX")),
100404
100500
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "channelInterpretation", new x_ite_Fields .SFString ("SPEAKERS")),
100405
100501
 
@@ -100519,7 +100615,7 @@ Object .defineProperties (Delay,
100519
100615
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "maxDelayTime", new x_ite_Fields .SFTime (1)),
100520
100616
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "tailTime", new x_ite_Fields .SFTime ()),
100521
100617
 
100522
- new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "channelCount", new x_ite_Fields .SFInt32 ()),
100618
+ new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "channelCount", new x_ite_Fields .SFInt32 ()), // skip test
100523
100619
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "channelCountMode", new x_ite_Fields .SFString ("MAX")),
100524
100620
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "channelInterpretation", new x_ite_Fields .SFString ("SPEAKERS")),
100525
100621
 
@@ -100643,7 +100739,7 @@ Object .defineProperties (DynamicsCompressor,
100643
100739
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "threshold", new x_ite_Fields .SFFloat (-24)),
100644
100740
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "tailTime", new x_ite_Fields .SFTime ()),
100645
100741
 
100646
- new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "channelCount", new x_ite_Fields .SFInt32 ()),
100742
+ new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "channelCount", new x_ite_Fields .SFInt32 ()), // skip test
100647
100743
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "channelCountMode", new x_ite_Fields .SFString ("MAX")),
100648
100744
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "channelInterpretation", new x_ite_Fields .SFString ("SPEAKERS")),
100649
100745
 
@@ -100761,7 +100857,7 @@ Object .defineProperties (Gain,
100761
100857
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "gain", new x_ite_Fields .SFFloat (1)),
100762
100858
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "tailTime", new x_ite_Fields .SFTime ()),
100763
100859
 
100764
- new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "channelCount", new x_ite_Fields .SFInt32 ()),
100860
+ new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "channelCount", new x_ite_Fields .SFInt32 ()), // skip test
100765
100861
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "channelCountMode", new x_ite_Fields .SFString ("MAX")),
100766
100862
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "channelInterpretation", new x_ite_Fields .SFString ("SPEAKERS")),
100767
100863
 
@@ -100905,7 +101001,7 @@ const ListenerPointSource_default_ = ListenerPointSource;
100905
101001
  x_ite_Namespace .add ("ListenerPointSource", "x_ite/Components/Sound/ListenerPointSource", ListenerPointSource_default_);
100906
101002
  /* harmony default export */ const Sound_ListenerPointSource = (ListenerPointSource_default_);
100907
101003
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Sound/MicrophoneSource.js
100908
- /* provided dependency */ var MicrophoneSource_$ = __webpack_require__(81);
101004
+ /* provided dependency */ var MicrophoneSource_$ = __webpack_require__(855);
100909
101005
  /*******************************************************************************
100910
101006
  *
100911
101007
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -102076,14 +102172,14 @@ Object .defineProperties (StreamAudioDestination,
102076
102172
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "enabled", new x_ite_Fields .SFBool (true)),
102077
102173
 
102078
102174
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "gain", new x_ite_Fields .SFFloat (1)),
102079
- // new X3DFieldDefinition (X3DConstants .inputOutput, "mediaDeviceID", new Fields .SFString ()),
102175
+ // new X3DFieldDefinition (X3DConstants .inputOutput, "mediaDeviceID", new Fields .SFString ()), // skip test
102080
102176
 
102081
- new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "channelCount", new x_ite_Fields .SFInt32 ()),
102177
+ new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "channelCount", new x_ite_Fields .SFInt32 ()), // skip test
102082
102178
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "channelCountMode", new x_ite_Fields .SFString ("MAX")),
102083
102179
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "channelInterpretation", new x_ite_Fields .SFString ("SPEAKERS")),
102084
102180
 
102085
102181
  new Base_X3DFieldDefinition (Base_X3DConstants .outputOnly, "isActive", new x_ite_Fields .SFBool ()),
102086
- new Base_X3DFieldDefinition (Base_X3DConstants .outputOnly, "streamIdentifier", new x_ite_Fields .MFString ()),
102182
+ new Base_X3DFieldDefinition (Base_X3DConstants .outputOnly, "streamIdentifier", new x_ite_Fields .MFString ()), // skip test
102087
102183
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "children", new x_ite_Fields .MFNode ()),
102088
102184
  ]),
102089
102185
  enumerable: true,
@@ -102306,7 +102402,7 @@ Object .defineProperties (WaveShaper,
102306
102402
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "oversample", new x_ite_Fields .SFString ("NONE")),
102307
102403
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "tailTime", new x_ite_Fields .SFTime ()),
102308
102404
 
102309
- new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "channelCount", new x_ite_Fields .SFInt32 ()),
102405
+ new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "channelCount", new x_ite_Fields .SFInt32 ()), // skip test
102310
102406
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "channelCountMode", new x_ite_Fields .SFString ("MAX")),
102311
102407
  new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "channelInterpretation", new x_ite_Fields .SFString ("SPEAKERS")),
102312
102408
 
@@ -102574,8 +102670,8 @@ const GIFMedia_default_ = GifMedia;
102574
102670
  x_ite_Namespace .add ("GIFMedia", "x_ite/Browser/Texturing/GIFMedia", GIFMedia_default_);
102575
102671
  /* harmony default export */ const GIFMedia = (GIFMedia_default_);
102576
102672
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Texturing/MovieTexture.js
102577
- /* provided dependency */ var MovieTexture_$ = __webpack_require__(81);
102578
- /* provided dependency */ var SuperGif = __webpack_require__(893);
102673
+ /* provided dependency */ var MovieTexture_$ = __webpack_require__(855);
102674
+ /* provided dependency */ var SuperGif = __webpack_require__(669);
102579
102675
  /*******************************************************************************
102580
102676
  *
102581
102677
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -103746,7 +103842,7 @@ const MultiTextureTransform_default_ = MultiTextureTransform;
103746
103842
  x_ite_Namespace .add ("MultiTextureTransform", "x_ite/Components/Texturing/MultiTextureTransform", MultiTextureTransform_default_);
103747
103843
  /* harmony default export */ const Texturing_MultiTextureTransform = (MultiTextureTransform_default_);
103748
103844
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Texturing/PixelTexture.js
103749
- /* provided dependency */ var PixelTexture_$ = __webpack_require__(81);
103845
+ /* provided dependency */ var PixelTexture_$ = __webpack_require__(855);
103750
103846
  /*******************************************************************************
103751
103847
  *
103752
103848
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -105900,7 +105996,7 @@ const gettext_default_ = gettext;
105900
105996
  x_ite_Namespace .add ("gettext", "locale/gettext", gettext_default_);
105901
105997
  /* harmony default export */ const locale_gettext = (gettext_default_);
105902
105998
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/BrowserTimings.js
105903
- /* provided dependency */ var BrowserTimings_$ = __webpack_require__(81);
105999
+ /* provided dependency */ var BrowserTimings_$ = __webpack_require__(855);
105904
106000
  /*******************************************************************************
105905
106001
  *
105906
106002
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -106330,7 +106426,7 @@ const TextureQuality_default_ = TextureQuality;
106330
106426
  x_ite_Namespace .add ("TextureQuality", "x_ite/Browser/Core/TextureQuality", TextureQuality_default_);
106331
106427
  /* harmony default export */ const Core_TextureQuality = (TextureQuality_default_);
106332
106428
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/BrowserOptions.js
106333
- /* provided dependency */ var BrowserOptions_$ = __webpack_require__(81);
106429
+ /* provided dependency */ var BrowserOptions_$ = __webpack_require__(855);
106334
106430
  /*******************************************************************************
106335
106431
  *
106336
106432
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -106923,7 +107019,7 @@ const RenderingProperties_default_ = RenderingProperties;
106923
107019
  x_ite_Namespace .add ("RenderingProperties", "x_ite/Browser/Core/RenderingProperties", RenderingProperties_default_);
106924
107020
  /* harmony default export */ const Core_RenderingProperties = (RenderingProperties_default_);
106925
107021
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/Notification.js
106926
- /* provided dependency */ var Notification_$ = __webpack_require__(81);
107022
+ /* provided dependency */ var Notification_$ = __webpack_require__(855);
106927
107023
  /*******************************************************************************
106928
107024
  *
106929
107025
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -107046,8 +107142,8 @@ const Notification_default_ = Notification;
107046
107142
  x_ite_Namespace .add ("Notification", "x_ite/Browser/Core/Notification", Notification_default_);
107047
107143
  /* harmony default export */ const Core_Notification = (Notification_default_);
107048
107144
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/ContextMenu.js
107049
- /* provided dependency */ var jquery_fullscreen = __webpack_require__(890);
107050
- /* provided dependency */ var ContextMenu_$ = __webpack_require__(81);
107145
+ /* provided dependency */ var jquery_fullscreen = __webpack_require__(893);
107146
+ /* provided dependency */ var ContextMenu_$ = __webpack_require__(855);
107051
107147
  /*******************************************************************************
107052
107148
  *
107053
107149
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -109799,7 +109895,7 @@ const DataStorage_default_ = DataStorage;
109799
109895
  x_ite_Namespace .add ("DataStorage", "standard/Utility/DataStorage", DataStorage_default_);
109800
109896
  /* harmony default export */ const Utility_DataStorage = (DataStorage_default_);
109801
109897
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/X3DCoreContext.js
109802
- /* provided dependency */ var X3DCoreContext_$ = __webpack_require__(81);
109898
+ /* provided dependency */ var X3DCoreContext_$ = __webpack_require__(855);
109803
109899
  /*******************************************************************************
109804
109900
  *
109805
109901
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -111845,8 +111941,8 @@ const X3DViewer_default_ = X3DViewer;
111845
111941
  x_ite_Namespace .add ("X3DViewer", "x_ite/Browser/Navigation/X3DViewer", X3DViewer_default_);
111846
111942
  /* harmony default export */ const Navigation_X3DViewer = (X3DViewer_default_);
111847
111943
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Navigation/ExamineViewer.js
111848
- /* provided dependency */ var jquery_mousewheel = __webpack_require__(662);
111849
- /* provided dependency */ var ExamineViewer_$ = __webpack_require__(81);
111944
+ /* provided dependency */ var jquery_mousewheel = __webpack_require__(517);
111945
+ /* provided dependency */ var ExamineViewer_$ = __webpack_require__(855);
111850
111946
  /*******************************************************************************
111851
111947
  *
111852
111948
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -112718,8 +112814,8 @@ const ExamineViewer_default_ = ExamineViewer;
112718
112814
  x_ite_Namespace .add ("ExamineViewer", "x_ite/Browser/Navigation/ExamineViewer", ExamineViewer_default_);
112719
112815
  /* harmony default export */ const Navigation_ExamineViewer = (ExamineViewer_default_);
112720
112816
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Navigation/X3DFlyViewer.js
112721
- /* provided dependency */ var X3DFlyViewer_jquery_mousewheel = __webpack_require__(662);
112722
- /* provided dependency */ var X3DFlyViewer_$ = __webpack_require__(81);
112817
+ /* provided dependency */ var X3DFlyViewer_jquery_mousewheel = __webpack_require__(517);
112818
+ /* provided dependency */ var X3DFlyViewer_$ = __webpack_require__(855);
112723
112819
  /*******************************************************************************
112724
112820
  *
112725
112821
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -113723,8 +113819,8 @@ const FlyViewer_default_ = FlyViewer;
113723
113819
  x_ite_Namespace .add ("FlyViewer", "x_ite/Browser/Navigation/FlyViewer", FlyViewer_default_);
113724
113820
  /* harmony default export */ const Navigation_FlyViewer = (FlyViewer_default_);
113725
113821
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Navigation/PlaneViewer.js
113726
- /* provided dependency */ var PlaneViewer_jquery_mousewheel = __webpack_require__(662);
113727
- /* provided dependency */ var PlaneViewer_$ = __webpack_require__(81);
113822
+ /* provided dependency */ var PlaneViewer_jquery_mousewheel = __webpack_require__(517);
113823
+ /* provided dependency */ var PlaneViewer_$ = __webpack_require__(855);
113728
113824
  /*******************************************************************************
113729
113825
  *
113730
113826
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -114055,8 +114151,8 @@ const NoneViewer_default_ = NoneViewer;
114055
114151
  x_ite_Namespace .add ("NoneViewer", "x_ite/Browser/Navigation/NoneViewer", NoneViewer_default_);
114056
114152
  /* harmony default export */ const Navigation_NoneViewer = (NoneViewer_default_);
114057
114153
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Navigation/LookAtViewer.js
114058
- /* provided dependency */ var LookAtViewer_jquery_mousewheel = __webpack_require__(662);
114059
- /* provided dependency */ var LookAtViewer_$ = __webpack_require__(81);
114154
+ /* provided dependency */ var LookAtViewer_jquery_mousewheel = __webpack_require__(517);
114155
+ /* provided dependency */ var LookAtViewer_$ = __webpack_require__(855);
114060
114156
  /*******************************************************************************
114061
114157
  *
114062
114158
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -115195,8 +115291,8 @@ const X3DPickingContext_default_ = X3DPickingContext;
115195
115291
  x_ite_Namespace .add ("X3DPickingContext", "x_ite/Browser/Picking/X3DPickingContext", X3DPickingContext_default_);
115196
115292
  /* harmony default export */ const Picking_X3DPickingContext = (X3DPickingContext_default_);
115197
115293
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/PointingDeviceSensor/PointingDevice.js
115198
- /* provided dependency */ var PointingDevice_jquery_mousewheel = __webpack_require__(662);
115199
- /* provided dependency */ var PointingDevice_$ = __webpack_require__(81);
115294
+ /* provided dependency */ var PointingDevice_jquery_mousewheel = __webpack_require__(517);
115295
+ /* provided dependency */ var PointingDevice_$ = __webpack_require__(855);
115200
115296
  /*******************************************************************************
115201
115297
  *
115202
115298
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -116018,7 +116114,9 @@ Object .assign (X3DPointingDeviceSensorContext .prototype,
116018
116114
  key += ".";
116019
116115
  key += shapeNode .getShapeKey ();
116020
116116
  key += geometryContext .geometryType;
116021
- key += humanoidNode ? 1 : 0;
116117
+ key += ".";
116118
+ key += humanoidNode ?.getHumanoidKey () ?? "";
116119
+ key += ".";
116022
116120
 
116023
116121
  if (geometryContext .geometryType >= 2)
116024
116122
  {
@@ -116059,7 +116157,11 @@ Object .assign (X3DPointingDeviceSensorContext .prototype,
116059
116157
  options .push ("X3D_STYLE_PROPERTIES");
116060
116158
 
116061
116159
  if (humanoidNode)
116160
+ {
116062
116161
  options .push ("X3D_SKINNING");
116162
+ options .push (`X3D_NUM_JOINT_SETS ${humanoidNode .getNumJoints () / 4}`);
116163
+ options .push (`X3D_NUM_DISPLACEMENTS ${humanoidNode .getNumDisplacements ()}`);
116164
+ }
116063
116165
 
116064
116166
  const shaderNode = this .createShader ("PointingShader", "Pointing", "Pointing", options);
116065
116167
 
@@ -116474,8 +116576,8 @@ const MultiSampleFrameBuffer_default_ = MultiSampleFrameBuffer;
116474
116576
  x_ite_Namespace .add ("MultiSampleFrameBuffer", "x_ite/Rendering/MultiSampleFrameBuffer", MultiSampleFrameBuffer_default_);
116475
116577
  /* harmony default export */ const Rendering_MultiSampleFrameBuffer = (MultiSampleFrameBuffer_default_);
116476
116578
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Rendering/X3DRenderingContext.js
116477
- /* provided dependency */ var X3DRenderingContext_$ = __webpack_require__(81);
116478
- /* provided dependency */ var ResizeSensor = __webpack_require__(141);
116579
+ /* provided dependency */ var X3DRenderingContext_$ = __webpack_require__(855);
116580
+ /* provided dependency */ var ResizeSensor = __webpack_require__(920);
116479
116581
  /*******************************************************************************
116480
116582
  *
116481
116583
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -116657,7 +116759,9 @@ Object .assign (X3DRenderingContext .prototype,
116657
116759
  key += ".";
116658
116760
  key += shapeNode .getShapeKey ();
116659
116761
  key += geometryContext .geometryType;
116660
- key += humanoidNode ? 1 : 0;
116762
+ key += ".";
116763
+ key += humanoidNode ?.getHumanoidKey () ?? "";
116764
+ key += ".";
116661
116765
 
116662
116766
  if (geometryContext .geometryType >= 2)
116663
116767
  {
@@ -116698,7 +116802,11 @@ Object .assign (X3DRenderingContext .prototype,
116698
116802
  options .push ("X3D_STYLE_PROPERTIES");
116699
116803
 
116700
116804
  if (humanoidNode)
116805
+ {
116701
116806
  options .push ("X3D_SKINNING");
116807
+ options .push (`X3D_NUM_JOINT_SETS ${humanoidNode .getNumJoints () / 4}`);
116808
+ options .push (`X3D_NUM_DISPLACEMENTS ${humanoidNode .getNumDisplacements ()}`);
116809
+ }
116702
116810
 
116703
116811
  const shaderNode = this .createShader ("DepthShader", "Depth", "Depth", options);
116704
116812
 
@@ -118756,7 +118864,7 @@ const Components_default_ = Components;
118756
118864
  x_ite_Namespace .add ("Components", "x_ite/Components", Components_default_);
118757
118865
  /* harmony default export */ const x_ite_Components = ((/* unused pure expression or super */ null && (Components_default_)));
118758
118866
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/DOMIntegration.js
118759
- /* provided dependency */ var DOMIntegration_$ = __webpack_require__(81);
118867
+ /* provided dependency */ var DOMIntegration_$ = __webpack_require__(855);
118760
118868
  /*******************************************************************************
118761
118869
  * MIT License
118762
118870
  *
@@ -119894,7 +120002,7 @@ const SupportedProfiles_default_ = SupportedProfiles;
119894
120002
  x_ite_Namespace .add ("SupportedProfiles", "x_ite/Configuration/SupportedProfiles", SupportedProfiles_default_);
119895
120003
  /* harmony default export */ const Configuration_SupportedProfiles = (SupportedProfiles_default_);
119896
120004
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/X3DBrowser.js
119897
- /* provided dependency */ var X3DBrowser_$ = __webpack_require__(81);
120005
+ /* provided dependency */ var X3DBrowser_$ = __webpack_require__(855);
119898
120006
  /*******************************************************************************
119899
120007
  *
119900
120008
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -120975,7 +121083,7 @@ const X3DBrowser_default_ = X3DBrowser;
120975
121083
  x_ite_Namespace .add ("X3DBrowser", "x_ite/Browser/X3DBrowser", X3DBrowser_default_);
120976
121084
  /* harmony default export */ const Browser_X3DBrowser = (X3DBrowser_default_);
120977
121085
  ;// CONCATENATED MODULE: ./src/x_ite/X3DCanvasElement.js
120978
- /* provided dependency */ var X3DCanvasElement_$ = __webpack_require__(81);
121086
+ /* provided dependency */ var X3DCanvasElement_$ = __webpack_require__(855);
120979
121087
  /*******************************************************************************
120980
121088
  *
120981
121089
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -121107,8 +121215,8 @@ const X3DCanvasElement_default_ = X3DCanvasElement;
121107
121215
  x_ite_Namespace .add ("X3DCanvasElement", "x_ite/X3DCanvasElement", X3DCanvasElement_default_);
121108
121216
  /* harmony default export */ const x_ite_X3DCanvasElement = (X3DCanvasElement_default_);
121109
121217
  ;// CONCATENATED MODULE: ./src/lib/jquery.js
121110
- /* provided dependency */ var jquery_$ = __webpack_require__(81);
121111
- /* provided dependency */ var pako = __webpack_require__(52);
121218
+ /* provided dependency */ var jquery_$ = __webpack_require__(855);
121219
+ /* provided dependency */ var pako = __webpack_require__(932);
121112
121220
  Object .assign (jquery_$,
121113
121221
  {
121114
121222
  decodeText (input)
@@ -121185,14 +121293,14 @@ const jquery_default_ = jquery_$;
121185
121293
  x_ite_Namespace .add ("jquery", "lib/jquery", jquery_default_);
121186
121294
  /* harmony default export */ const jquery = ((/* unused pure expression or super */ null && (jquery_default_)));
121187
121295
  ;// CONCATENATED MODULE: ./src/lib/libtess.js
121188
- /* provided dependency */ var libtess_libtess = __webpack_require__(275);
121296
+ /* provided dependency */ var libtess_libtess = __webpack_require__(250);
121189
121297
  const libtess_default_ = libtess_libtess;
121190
121298
  ;
121191
121299
 
121192
121300
  x_ite_Namespace .add ("libtess", "lib/libtess", libtess_default_);
121193
121301
  /* harmony default export */ const lib_libtess = ((/* unused pure expression or super */ null && (libtess_default_)));
121194
121302
  ;// CONCATENATED MODULE: ./src/x_ite/X3D.js
121195
- /* provided dependency */ var X3D_$ = __webpack_require__(81);
121303
+ /* provided dependency */ var X3D_$ = __webpack_require__(855);
121196
121304
  /*******************************************************************************
121197
121305
  *
121198
121306
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -121586,7 +121694,7 @@ x_ite_Namespace .add ("shim", "shim", shim_default_);
121586
121694
 
121587
121695
  // Assign X3D to global namespace.
121588
121696
 
121589
- window [Symbol .for ("X_ITE.X3D-8.12.1")] = x_ite_X3D;
121697
+ window [Symbol .for ("X_ITE.X3D-8.12.3")] = x_ite_X3D;
121590
121698
 
121591
121699
  customElements .define ("x3d-canvas", x_ite_X3DCanvasElement);
121592
121700