x_ite 16.2.0 → 16.3.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 (55) hide show
  1. package/README.md +6 -6
  2. package/dist/assets/components/AnnotationComponent.js +1 -1
  3. package/dist/assets/components/AnnotationComponent.min.js +1 -1
  4. package/dist/assets/components/CADGeometryComponent.js +1 -1
  5. package/dist/assets/components/CADGeometryComponent.min.js +1 -1
  6. package/dist/assets/components/CubeMapTexturingComponent.js +1 -1
  7. package/dist/assets/components/CubeMapTexturingComponent.min.js +1 -1
  8. package/dist/assets/components/DISComponent.js +1 -1
  9. package/dist/assets/components/DISComponent.min.js +1 -1
  10. package/dist/assets/components/EventUtilitiesComponent.js +1 -1
  11. package/dist/assets/components/EventUtilitiesComponent.min.js +1 -1
  12. package/dist/assets/components/GaussianSplatsComponent.js +1 -1
  13. package/dist/assets/components/GaussianSplatsComponent.min.js +1 -1
  14. package/dist/assets/components/Geometry2DComponent.js +1 -1
  15. package/dist/assets/components/Geometry2DComponent.min.js +1 -1
  16. package/dist/assets/components/Geometry3DComponent.js +1 -1
  17. package/dist/assets/components/Geometry3DComponent.min.js +1 -1
  18. package/dist/assets/components/GeospatialComponent.js +1 -1
  19. package/dist/assets/components/GeospatialComponent.min.js +1 -1
  20. package/dist/assets/components/HAnimComponent.js +1 -1
  21. package/dist/assets/components/HAnimComponent.min.js +1 -1
  22. package/dist/assets/components/KeyDeviceSensorComponent.js +1 -1
  23. package/dist/assets/components/KeyDeviceSensorComponent.min.js +1 -1
  24. package/dist/assets/components/LayoutComponent.js +1 -1
  25. package/dist/assets/components/LayoutComponent.min.js +1 -1
  26. package/dist/assets/components/NURBSComponent.js +1 -1
  27. package/dist/assets/components/NURBSComponent.min.js +1 -1
  28. package/dist/assets/components/ParticleSystemsComponent.js +1 -1
  29. package/dist/assets/components/ParticleSystemsComponent.min.js +1 -1
  30. package/dist/assets/components/PickingComponent.js +1 -1
  31. package/dist/assets/components/PickingComponent.min.js +1 -1
  32. package/dist/assets/components/RigidBodyPhysicsComponent.js +2 -2
  33. package/dist/assets/components/RigidBodyPhysicsComponent.min.js +1 -1
  34. package/dist/assets/components/ScriptingComponent.js +1 -1
  35. package/dist/assets/components/ScriptingComponent.min.js +1 -1
  36. package/dist/assets/components/TextComponent.js +1 -1
  37. package/dist/assets/components/TextComponent.min.js +1 -1
  38. package/dist/assets/components/TextureProjectionComponent.js +1 -1
  39. package/dist/assets/components/TextureProjectionComponent.min.js +1 -1
  40. package/dist/assets/components/Texturing3DComponent.js +9 -9
  41. package/dist/assets/components/Texturing3DComponent.min.js +2 -2
  42. package/dist/assets/components/VolumeRenderingComponent.js +1 -1
  43. package/dist/assets/components/VolumeRenderingComponent.min.js +1 -1
  44. package/dist/assets/components/WebXRComponent.js +1 -1
  45. package/dist/assets/components/WebXRComponent.min.js +1 -1
  46. package/dist/assets/components/X_ITEComponent.js +107 -1
  47. package/dist/assets/components/X_ITEComponent.min.js +2 -2
  48. package/dist/example.html +1 -1
  49. package/dist/x_ite.css +1 -1
  50. package/dist/x_ite.js +89 -30
  51. package/dist/x_ite.min.js +2 -2
  52. package/dist/x_ite.min.mjs +2 -2
  53. package/dist/x_ite.mjs +89 -30
  54. package/dist/x_ite.zip +0 -0
  55. package/package.json +5 -5
package/dist/x_ite.mjs CHANGED
@@ -1,7 +1,7 @@
1
- /* X_ITE v16.2.0 */
1
+ /* X_ITE v16.3.0 */
2
2
  var __webpack_modules__ = ({
3
3
 
4
- /***/ 627
4
+ /***/ 133
5
5
  (module, exports) {
6
6
 
7
7
  var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*
@@ -1006,7 +1006,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
1006
1006
 
1007
1007
  /***/ },
1008
1008
 
1009
- /***/ 249
1009
+ /***/ 991
1010
1010
  (module) {
1011
1011
 
1012
1012
  (function webpackUniversalModuleDefinition(root, factory) {
@@ -2002,7 +2002,7 @@ return /******/ (function(modules) { // webpackBootstrap
2002
2002
 
2003
2003
  /***/ },
2004
2004
 
2005
- /***/ 289
2005
+ /***/ 643
2006
2006
  (module) {
2007
2007
 
2008
2008
  /**
@@ -18865,7 +18865,7 @@ const Legacy_default_ = Legacy;
18865
18865
 
18866
18866
  /* harmony default export */ const Browser_Legacy = (x_ite_Namespace .add ("Legacy", Legacy_default_));
18867
18867
  ;// ./src/x_ite/BROWSER_VERSION.js
18868
- const BROWSER_VERSION_default_ = "16.2.0";
18868
+ const BROWSER_VERSION_default_ = "16.3.0";
18869
18869
  ;
18870
18870
 
18871
18871
  /* harmony default export */ const BROWSER_VERSION = (x_ite_Namespace .add ("BROWSER_VERSION", BROWSER_VERSION_default_));
@@ -31192,7 +31192,7 @@ const Plane3_default_ = Plane3;
31192
31192
 
31193
31193
  /* harmony default export */ const Geometry_Plane3 = (x_ite_Namespace .add ("Plane3", Plane3_default_));
31194
31194
  ;// ./src/standard/Math/Geometry/Triangle3.js
31195
- /* provided dependency */ var libtess = __webpack_require__(289);
31195
+ /* provided dependency */ var libtess = __webpack_require__(643);
31196
31196
 
31197
31197
 
31198
31198
  const Triangle3 =
@@ -39071,8 +39071,9 @@ Object .assign (Object .setPrototypeOf (TimeSensor .prototype, Core_X3DSensorNod
39071
39071
  {
39072
39072
  this .cycle += this .interval * Math .floor ((time - this .cycle) / this .interval);
39073
39073
 
39074
- this ._elapsedTime = this .getElapsedTime ();
39075
- this ._cycleTime = time;
39074
+ this ._elapsedTime = this .getElapsedTime ();
39075
+ this ._cycleComplete = time;
39076
+ this ._cycleTime = time;
39076
39077
 
39077
39078
  this .set_fraction (time);
39078
39079
  }
@@ -39080,6 +39081,7 @@ Object .assign (Object .setPrototypeOf (TimeSensor .prototype, Core_X3DSensorNod
39080
39081
  else
39081
39082
  {
39082
39083
  this ._elapsedTime = this .getElapsedTime ();
39084
+ this ._cycleComplete = time;
39083
39085
  this ._fraction_changed = this .fraction = this .last;
39084
39086
 
39085
39087
  this .stop ();
@@ -39117,6 +39119,7 @@ Object .defineProperties (TimeSensor,
39117
39119
  new Base_X3DFieldDefinition (Base_X3DConstants .outputOnly, "isPaused", new x_ite_Fields .SFBool ()),
39118
39120
  new Base_X3DFieldDefinition (Base_X3DConstants .outputOnly, "isActive", new x_ite_Fields .SFBool ()),
39119
39121
  new Base_X3DFieldDefinition (Base_X3DConstants .outputOnly, "cycleTime", new x_ite_Fields .SFTime ()),
39122
+ new Base_X3DFieldDefinition (Base_X3DConstants .outputOnly, "cycleComplete", new x_ite_Fields .SFTime ()),
39120
39123
  new Base_X3DFieldDefinition (Base_X3DConstants .outputOnly, "elapsedTime", new x_ite_Fields .SFTime ()),
39121
39124
  new Base_X3DFieldDefinition (Base_X3DConstants .outputOnly, "fraction_changed", new x_ite_Fields .SFFloat ()),
39122
39125
  new Base_X3DFieldDefinition (Base_X3DConstants .outputOnly, "time", new x_ite_Fields .SFTime ()),
@@ -40663,6 +40666,7 @@ Object .assign (Object .setPrototypeOf (GLTF2Parser .prototype, Parser_X3DParser
40663
40666
  case "KHR_materials_ior":
40664
40667
  case "KHR_materials_iridescence":
40665
40668
  case "KHR_materials_pbrSpecularGlossiness":
40669
+ case "KHR_materials_retroreflection":
40666
40670
  case "KHR_materials_sheen":
40667
40671
  case "KHR_materials_specular":
40668
40672
  case "KHR_materials_transmission":
@@ -41731,6 +41735,9 @@ Object .assign (Object .setPrototypeOf (GLTF2Parser .prototype, Parser_X3DParser
41731
41735
  case "KHR_materials_iridescence":
41732
41736
  this .khrMaterialsIridescenceObject (value, materialNode);
41733
41737
  break;
41738
+ case "KHR_materials_retroreflection":
41739
+ this .khrMaterialsRetroreflectionObject (value, materialNode);
41740
+ break;
41734
41741
  case "KHR_materials_sheen":
41735
41742
  this .khrMaterialsSheenObject (value, materialNode);
41736
41743
  break;
@@ -41878,6 +41885,23 @@ Object .assign (Object .setPrototypeOf (GLTF2Parser .prototype, Parser_X3DParser
41878
41885
 
41879
41886
  materialNode ._extensions .push (extension);
41880
41887
  },
41888
+ khrMaterialsRetroreflectionObject (KHR_materials_retroreflection, materialNode)
41889
+ {
41890
+ if (!(KHR_materials_retroreflection instanceof Object))
41891
+ return;
41892
+
41893
+ const extension = this .getScene () .createNode ("RetroreflectionMaterialExtension", false);
41894
+
41895
+ extension ._retroreflection = this .numberValue (KHR_materials_retroreflection .retroreflectionFactor, 0);
41896
+ extension ._retroreflectionTexture = this .textureInfo (KHR_materials_retroreflection .retroreflectionTexture);
41897
+ extension ._retroreflectionTextureMapping = this .textureMapping (KHR_materials_retroreflection .retroreflectionTexture);
41898
+
41899
+ extension .setup ();
41900
+
41901
+ KHR_materials_retroreflection .pointers = [extension];
41902
+
41903
+ materialNode ._extensions .push (extension);
41904
+ },
41881
41905
  khrMaterialsSheenObject (KHR_materials_sheen, materialNode)
41882
41906
  {
41883
41907
  if (!(KHR_materials_sheen instanceof Object))
@@ -47892,7 +47916,7 @@ const Bezier_default_ = Bezier;
47892
47916
 
47893
47917
  /* harmony default export */ const Algorithms_Bezier = (x_ite_Namespace .add ("Bezier", Bezier_default_));
47894
47918
  ;// ./src/x_ite/Parser/SVGParser.js
47895
- /* provided dependency */ var SVGParser_libtess = __webpack_require__(289);
47919
+ /* provided dependency */ var SVGParser_libtess = __webpack_require__(643);
47896
47920
 
47897
47921
 
47898
47922
 
@@ -54638,7 +54662,7 @@ function X3DCoreContext (element)
54638
54662
  {
54639
54663
  const link = document .createElement ("link");
54640
54664
 
54641
- link .integrity = "sha384-OncRzbLtLD5Caw7AMriMRlhuhJ/fW3gh5dFvrdeifrhlqF+YTzx/lbZh5l6JjYau";
54665
+ link .integrity = "sha384-dhnoOI+clBqqFYGBrUCL7KhjerG/JEhXRHWvaNS1qEwbCU/f0MWYgFRQj2esJwbi";
54642
54666
  link .rel = "stylesheet";
54643
54667
  link .crossOrigin = "anonymous";
54644
54668
  link .onload = resolve;
@@ -64034,11 +64058,13 @@ const
64034
64058
  _loadingTotal = Symbol (),
64035
64059
  X3DNetworkingContext_loadingObjects = Symbol (),
64036
64060
  _browserLoading = Symbol (),
64037
- _browserTime = Symbol (),
64061
+ _percentTime = Symbol (),
64038
64062
  _set_loadCount = Symbol (),
64039
64063
  _loadFractions = Symbol (),
64040
64064
  _defaultScene = Symbol ();
64041
64065
 
64066
+ const PERCENT_TIME = 8_000; // in ms
64067
+
64042
64068
  function getBaseURI (element)
64043
64069
  {
64044
64070
  const { baseURI } = element;
@@ -64095,7 +64121,7 @@ Object .assign (X3DNetworkingContext .prototype,
64095
64121
  setBrowserLoading (value)
64096
64122
  {
64097
64123
  this [_browserLoading] = value;
64098
- this [_browserTime] = Date .now ();
64124
+ this [_percentTime] = Date .now ();
64099
64125
 
64100
64126
  if (value)
64101
64127
  {
@@ -64159,7 +64185,8 @@ Object .assign (X3DNetworkingContext .prototype,
64159
64185
 
64160
64186
  this ._loadCount = this [X3DNetworkingContext_loadingObjects] .size;
64161
64187
 
64162
- this [_browserTime] = Date .now ();
64188
+ if (Date .now () - this [_percentTime] < PERCENT_TIME)
64189
+ this [_percentTime] = Date .now ();
64163
64190
  },
64164
64191
  removeLoadingObject (object)
64165
64192
  {
@@ -64167,7 +64194,8 @@ Object .assign (X3DNetworkingContext .prototype,
64167
64194
 
64168
64195
  this ._loadCount = this [X3DNetworkingContext_loadingObjects] .size;
64169
64196
 
64170
- this [_browserTime] = Date .now ();
64197
+ if (Date .now () - this [_percentTime] < PERCENT_TIME)
64198
+ this [_percentTime] = Date .now ();
64171
64199
  },
64172
64200
  getDisplayLoadCount ()
64173
64201
  {
@@ -64203,8 +64231,8 @@ Object .assign (X3DNetworkingContext .prototype,
64203
64231
  if (this ._loadCount .getValue () || this [_browserLoading])
64204
64232
  {
64205
64233
  string = ((loadingDisplay || 1) === 1
64206
- ? gettext ("Loading %1 file")
64207
- : gettext ("Loading %1 files")) .replace ("%1", loadingDisplay || 1);
64234
+ ? gettext("Loading %1 file")
64235
+ : gettext("Loading %1 files")) .replace ("%1", loadingDisplay || 1);
64208
64236
  }
64209
64237
  else
64210
64238
  {
@@ -64224,8 +64252,8 @@ Object .assign (X3DNetworkingContext .prototype,
64224
64252
  const percent = fractions * 100;
64225
64253
 
64226
64254
  // Show progress in % if loading takes too long.
64227
- if (Date .now () - this [_browserTime] > 8_000)
64228
- string += ` (${percent .toFixed (2)} %)`;
64255
+ if (Date .now () - this [_percentTime] > PERCENT_TIME)
64256
+ string += ` (${percent .toFixed (2)}\u202F%)`;
64229
64257
 
64230
64258
  this .getSplashScreen () .querySelector (".x_ite-private-spinner-text") .textContent = string;
64231
64259
  this .getSplashScreen () .querySelector (".x_ite-private-progressbar div") .style .width = `${percent}%`;
@@ -67076,7 +67104,7 @@ vec3 getIBLRadianceCharlie(const in vec3 n,const in vec3 v,const in float sheenR
67076
67104
 
67077
67105
 
67078
67106
  const MaterialInfo2_glsl_default_ = () => /* glsl */ `
67079
- struct MaterialInfo{float ior;float perceptualRoughness;vec3 f0_dielectric;float alphaRoughness;float fresnel_w;vec3 f90;vec3 f90_dielectric;float metallic;vec3 baseColor;float sheenRoughnessFactor;vec3 sheenColorFactor;vec3 clearcoatF0;vec3 clearcoatF90;float clearcoatFactor;vec3 clearcoatNormal;float clearcoatRoughness;float specularWeight;float transmissionFactor;float thickness;vec3 attenuationColor;float attenuationDistance;float iridescenceFactor;float iridescenceIor;float iridescenceThickness;float diffuseTransmissionFactor;vec3 diffuseTransmissionColorFactor;vec3 anisotropicT;vec3 anisotropicB;float anisotropyStrength;float dispersion;vec3 multiscatterColor;};
67107
+ struct MaterialInfo{float ior;float perceptualRoughness;vec3 f0_dielectric;float alphaRoughness;float fresnel_w;vec3 f90;vec3 f90_dielectric;float metallic;vec3 baseColor;float sheenRoughnessFactor;vec3 sheenColorFactor;vec3 clearcoatF0;vec3 clearcoatF90;float clearcoatFactor;vec3 clearcoatNormal;float clearcoatRoughness;float specularWeight;float transmissionFactor;float thickness;vec3 attenuationColor;float attenuationDistance;float iridescenceFactor;float iridescenceIor;float iridescenceThickness;float diffuseTransmissionFactor;vec3 diffuseTransmissionColorFactor;vec3 anisotropicT;vec3 anisotropicB;float anisotropyStrength;float dispersion;vec3 multiscatterColor;float retroreflectionFactor;};
67080
67108
  #if defined(X3D_MATERIAL_METALLIC_ROUGHNESS)
67081
67109
  ${MaterialTextures .texture ("x3d_BaseTexture", "rgba", "linear")}
67082
67110
  vec4 getBaseColor(){float alpha=1.-x3d_Material.transparency;vec4 baseColor=vec4(x3d_Material.baseColor,alpha);
@@ -67241,6 +67269,14 @@ vec3 anisotropySample=getAnisotropyTextureEXT();direction=anisotropySample.xy*2.
67241
67269
  #endif
67242
67270
  vec2 directionRotation=x3d_AnisotropyEXT.xy;mat2 rotationMatrix=mat2(directionRotation.xy,-directionRotation.y,directionRotation.x);direction=rotationMatrix*direction;info.anisotropicT=mat3(normalInfo.t,normalInfo.b,normalInfo.n)*normalize(vec3(direction,0.));info.anisotropicB=cross(normalInfo.ng,info.anisotropicT);info.anisotropyStrength=clamp(x3d_AnisotropyEXT.z*strengthFactor,0.,1.);return info;}
67243
67271
  #endif
67272
+ #if defined(X3D_RETROREFLECTION_MATERIAL_EXT)
67273
+ ${MaterialTextures .texture ("x3d_RetroreflectionTextureEXT", "r")}
67274
+ uniform float x3d_RetroreflectionEXT;MaterialInfo getRetroreflectionInfo(in MaterialInfo info){float retroreflectionFactor=x3d_RetroreflectionEXT;
67275
+ #if defined(X3D_RETROREFLECTION_TEXTURE_EXT)
67276
+ retroreflectionFactor*=getRetroreflectionTextureEXT();
67277
+ #endif
67278
+ info.retroreflectionFactor=retroreflectionFactor;return info;}
67279
+ #endif
67244
67280
  `
67245
67281
  ;
67246
67282
 
@@ -67283,6 +67319,9 @@ baseColor.rgb*=getTextureProjectorColor();
67283
67319
  vec3 color=vec3(0);vec3 v=normalize(-vertex);
67284
67320
  #if defined(X3D_USE_IBL)||defined(X3D_LIGHTING)
67285
67321
  NormalInfo normalInfo=getNormalInfo(x3d_Material.normalScale);vec3 n=normalInfo.n;float NdotV=clamp(dot(n,v),0.,1.);
67322
+ #if defined(X3D_RETROREFLECTION_MATERIAL_EXT)
67323
+ vec3 v_retro=reflect(-v,n);float NdotV_retro=clamp(dot(n,v_retro),0.,1.);
67324
+ #endif
67286
67325
  #endif
67287
67326
  MaterialInfo materialInfo;materialInfo.baseColor=baseColor.rgb;materialInfo.ior=1.5;materialInfo.f0_dielectric=vec3(.04);materialInfo.specularWeight=1.;materialInfo.f90=vec3(1);materialInfo.f90_dielectric=materialInfo.f90;
67288
67327
  #if defined(X3D_IOR_MATERIAL_EXT)
@@ -67318,10 +67357,17 @@ materialInfo=getVolumeScatterInfo(materialInfo);
67318
67357
  #if defined(X3D_ANISOTROPY_MATERIAL_EXT)
67319
67358
  materialInfo=getAnisotropyInfo(materialInfo,normalInfo);
67320
67359
  #endif
67360
+ #if defined(X3D_RETROREFLECTION_MATERIAL_EXT)
67361
+ materialInfo=getRetroreflectionInfo(materialInfo);
67362
+ #endif
67321
67363
  materialInfo.perceptualRoughness=clamp(materialInfo.perceptualRoughness,0.,1.);materialInfo.metallic=clamp(materialInfo.metallic,0.,1.);materialInfo.alphaRoughness=materialInfo.perceptualRoughness*materialInfo.perceptualRoughness;vec3 f_specular_dielectric=vec3(0);vec3 f_specular_metal=vec3(0);vec3 f_diffuse=vec3(0);vec3 f_dielectric_brdf_ibl=vec3(0);vec3 f_metal_brdf_ibl=vec3(0);vec3 f_emissive=vec3(0);vec3 clearcoat_brdf=vec3(0);vec3 f_sheen=vec3(0);vec3 f_specular_transmission=vec3(0);vec3 f_diffuse_transmission=vec3(0);float clearcoatFactor=0.;vec3 clearcoatFresnel=vec3(0);float albedoSheenScaling=1.;float diffuseTransmissionThickness=1.;vec3 diffuseTransmissionIBL=vec3(0);
67322
67364
  #if defined(X3D_USE_IBL)||defined(X3D_LIGHTING)
67323
67365
  #if defined(X3D_IRIDESCENCE_MATERIAL_EXT)
67324
- vec3 iridescenceFresnel_dielectric=evalIridescence(1.,materialInfo.iridescenceIor,NdotV,materialInfo.iridescenceThickness,materialInfo.f0_dielectric);vec3 iridescenceFresnel_metallic=evalIridescence(1.,materialInfo.iridescenceIor,NdotV,materialInfo.iridescenceThickness,baseColor.rgb);if(materialInfo.iridescenceThickness==0.)materialInfo.iridescenceFactor=0.;
67366
+ vec3 iridescenceFresnel_dielectric=evalIridescence(1.,materialInfo.iridescenceIor,NdotV,materialInfo.iridescenceThickness,materialInfo.f0_dielectric);vec3 iridescenceFresnel_metallic=evalIridescence(1.,materialInfo.iridescenceIor,NdotV,materialInfo.iridescenceThickness,baseColor.rgb);
67367
+ #if defined(X3D_RETROREFLECTION_MATERIAL_EXT)
67368
+ vec3 iridescenceFresnel_dielectric_retro=evalIridescence(1.,materialInfo.iridescenceIor,NdotV_retro,materialInfo.iridescenceThickness,materialInfo.f0_dielectric);vec3 iridescenceFresnel_metallic_retro=evalIridescence(1.,materialInfo.iridescenceIor,NdotV_retro,materialInfo.iridescenceThickness,baseColor.rgb);
67369
+ #endif
67370
+ if(materialInfo.iridescenceThickness==0.)materialInfo.iridescenceFactor=0.;
67325
67371
  #endif
67326
67372
  #endif
67327
67373
  #if defined(X3D_DIFFUSE_TRANSMISSION_MATERIAL_EXT)
@@ -67400,6 +67446,19 @@ l_metal_brdf=metal_fresnel*l_specular_metal;l_dielectric_brdf=mix(l_diffuse,l_sp
67400
67446
  #if defined(X3D_IRIDESCENCE_MATERIAL_EXT)
67401
67447
  l_metal_brdf=mix(l_metal_brdf,l_specular_metal*iridescenceFresnel_metallic,materialInfo.iridescenceFactor);l_dielectric_brdf=mix(l_dielectric_brdf,rgb_mix(l_diffuse,l_specular_dielectric,iridescenceFresnel_dielectric),materialInfo.iridescenceFactor);
67402
67448
  #endif
67449
+ #if defined(X3D_RETROREFLECTION_MATERIAL_EXT)
67450
+ vec3 h_retro=normalize(l+v_retro);float NdotH_retro=clamp(dot(n,h_retro),0.,1.);float VdotH_retro=clamp(dot(v_retro,h_retro),0.,1.);vec3 dielectric_fresnel_retro=F_Schlick(materialInfo.f0_dielectric*materialInfo.specularWeight,materialInfo.f90_dielectric,abs(VdotH_retro));vec3 metal_fresnel_retro=F_Schlick(baseColor.rgb,vec3(1),abs(VdotH_retro));vec3 l_specular_metal_retro;
67451
+ #if defined(X3D_ANISOTROPY_MATERIAL_EXT)
67452
+ l_specular_metal_retro=intensity*NdotL*BRDF_specularGGXAnisotropy(materialInfo.alphaRoughness,materialInfo.anisotropyStrength,n,v_retro,l,h_retro,materialInfo.anisotropicT,materialInfo.anisotropicB);
67453
+ #else
67454
+ l_specular_metal_retro=intensity*NdotL*BRDF_specularGGX(materialInfo.alphaRoughness,NdotL,NdotV_retro,NdotH_retro);
67455
+ #endif
67456
+ vec3 l_specular_dielectric_retro=l_specular_metal_retro;vec3 l_metal_brdf_retro=metal_fresnel_retro*l_specular_metal_retro;vec3 l_dielectric_brdf_retro=mix(l_diffuse,l_specular_dielectric_retro,dielectric_fresnel_retro);
67457
+ #if defined(X3D_IRIDESCENCE_MATERIAL_EXT)
67458
+ l_metal_brdf_retro=mix(l_metal_brdf_retro,l_specular_metal*iridescenceFresnel_metallic_retro,materialInfo.iridescenceFactor);l_dielectric_brdf_retro=mix(l_dielectric_brdf_retro,rgb_mix(l_diffuse,l_specular_dielectric,iridescenceFresnel_dielectric_retro),materialInfo.iridescenceFactor);
67459
+ #endif
67460
+ l_metal_brdf=mix(l_metal_brdf,l_metal_brdf_retro,materialInfo.retroreflectionFactor);l_dielectric_brdf=mix(l_dielectric_brdf,l_dielectric_brdf_retro,materialInfo.retroreflectionFactor);
67461
+ #endif
67403
67462
  #if defined(X3D_CLEARCOAT_MATERIAL_EXT)
67404
67463
  l_clearcoat_brdf=intensity*getPunctualRadianceClearCoat(materialInfo.clearcoatNormal,v,l,h,VdotH,materialInfo.clearcoatF0,materialInfo.clearcoatF90,materialInfo.clearcoatRoughness);
67405
67464
  #endif
@@ -72878,7 +72937,7 @@ const
72878
72937
  _animFrame = Symbol (),
72879
72938
  _previousTime = Symbol (),
72880
72939
  _systemTime = Symbol (),
72881
- X3DBrowserContext_browserTime = Symbol (),
72940
+ _browserTime = Symbol (),
72882
72941
  _cameraTime = Symbol (),
72883
72942
  _collisionTime = Symbol (),
72884
72943
  _displayTime = Symbol (),
@@ -72930,7 +72989,7 @@ function X3DBrowserContext (element)
72930
72989
  this [_previousTime] = 0;
72931
72990
  this [_renderCallback] = this [_traverse] .bind (this);
72932
72991
  this [_systemTime] = new Time_StopWatch ();
72933
- this [X3DBrowserContext_browserTime] = new Time_StopWatch ();
72992
+ this [_browserTime] = new Time_StopWatch ();
72934
72993
  this [_cameraTime] = new Time_StopWatch ();
72935
72994
  this [_collisionTime] = new Time_StopWatch ();
72936
72995
  this [_displayTime] = new Time_StopWatch ();
@@ -73050,7 +73109,7 @@ Object .assign (Object .setPrototypeOf (X3DBrowserContext .prototype, Base_X3DBa
73050
73109
  // Start
73051
73110
 
73052
73111
  this [_systemTime] .stop ();
73053
- this [X3DBrowserContext_browserTime] .start ();
73112
+ this [_browserTime] .start ();
73054
73113
 
73055
73114
  // Time
73056
73115
 
@@ -73111,7 +73170,7 @@ Object .assign (Object .setPrototypeOf (X3DBrowserContext .prototype, Base_X3DBa
73111
73170
 
73112
73171
  // Finish
73113
73172
 
73114
- this [X3DBrowserContext_browserTime] .stop ();
73173
+ this [_browserTime] .stop ();
73115
73174
  this [_systemTime] .start ();
73116
73175
  },
73117
73176
  getSystemTime ()
@@ -73120,7 +73179,7 @@ Object .assign (Object .setPrototypeOf (X3DBrowserContext .prototype, Base_X3DBa
73120
73179
  },
73121
73180
  getBrowserTime ()
73122
73181
  {
73123
- return this [X3DBrowserContext_browserTime];
73182
+ return this [_browserTime];
73124
73183
  },
73125
73184
  getCameraTime ()
73126
73185
  {
@@ -87261,7 +87320,7 @@ Object .assign (Object .setPrototypeOf (PhysicalMaterial .prototype, Shape_X3DOn
87261
87320
 
87262
87321
  this .setTransmission (extensionNodes .some (extensionNode => extensionNode .getType () .includes (Base_X3DConstants .TransmissionMaterialExtension)));
87263
87322
 
87264
- this .setVolumeScatter (extensionNodes .some (extensionNode => extensionNode .getType () .includes (Base_X3DConstants .VolumeScatterMaterialExtension)) && extensionNodes .some (extensionNode => extensionNode .getType () .includes (Base_X3DConstants .VolumeMaterialExtension)));
87323
+ this .setVolumeScatter (extensionNodes .some (extensionNode => extensionNode .getType () .includes (Base_X3DConstants .VolumeScatterMaterialExtension)));
87265
87324
 
87266
87325
  this .set_extensionsKey__ ();
87267
87326
  this .set_renderedTextures__ ();
@@ -91422,8 +91481,8 @@ const PNGMedia_default_ = PNGMedia;
91422
91481
 
91423
91482
  /* harmony default export */ const Texturing_PNGMedia = (x_ite_Namespace .add ("PNGMedia", PNGMedia_default_));
91424
91483
  ;// ./src/x_ite/Components/Texturing/MovieTexture.js
91425
- /* provided dependency */ var SuperGif = __webpack_require__(627);
91426
- /* provided dependency */ var APNG = __webpack_require__(249);
91484
+ /* provided dependency */ var SuperGif = __webpack_require__(133);
91485
+ /* provided dependency */ var APNG = __webpack_require__(991);
91427
91486
 
91428
91487
 
91429
91488
 
@@ -93374,7 +93433,7 @@ Object .assign (Object .setPrototypeOf (X3DBrowser .prototype, Browser_X3DBrowse
93374
93433
  {
93375
93434
  const spinnerText = this .getSplashScreen () .querySelector (".x_ite-private-spinner-text");
93376
93435
 
93377
- spinnerText .textContent = gettext ("Failed loading world.");
93436
+ spinnerText .textContent = gettext("Failed loading world.");
93378
93437
  });
93379
93438
 
93380
93439
  reject (new Error ("Couldn't load X3D file."));
@@ -94067,7 +94126,7 @@ const QuickSort_default_ = QuickSort;
94067
94126
 
94068
94127
  /* harmony default export */ const Algorithms_QuickSort = (x_ite_Namespace .add ("QuickSort", QuickSort_default_));
94069
94128
  ;// ./src/lib/libtess.js
94070
- /* provided dependency */ var libtess_libtess = __webpack_require__(289);
94129
+ /* provided dependency */ var libtess_libtess = __webpack_require__(643);
94071
94130
  const libtess_default_ = libtess_libtess;
94072
94131
  ;
94073
94132
 
package/dist/x_ite.zip CHANGED
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "x_ite",
3
- "version": "16.2.0",
3
+ "version": "16.3.0",
4
4
  "description": "X_ITE X3D Browser and VRML Viewer — View and Manipulate X3D, VRML, glTF and Other 3D Sources in HTML",
5
5
  "main": "dist/x_ite.js",
6
6
  "module": "dist/x_ite.mjs",
@@ -35,7 +35,7 @@
35
35
  "docs:update": "cd docs && bundle update --all",
36
36
  "docs:components": "node build/docs/components.js",
37
37
  "docs:nodes": "perl build/docs/nodes.pl",
38
- "docs:browser-compatibility": "node build/docs/browser-compatibility.js",
38
+ "docs:compatibility": "node build/docs/compatibility.js",
39
39
  "docs:reference": "node build/docs/reference.js",
40
40
  "docs:table": "node build/docs/table.js",
41
41
  "glTF:samples": "perl build/docs/glTF-samples.pl",
@@ -121,9 +121,9 @@
121
121
  "apng-js": "^1.1.5",
122
122
  "CharLS.js": "^2.0.1",
123
123
  "dicom-parser": "^1.8.21",
124
- "eslint": "^10.9.1",
124
+ "eslint": "^10.10.0",
125
125
  "fast-xml-parser": "^5.11.1",
126
- "globals": "^17.11.0",
126
+ "globals": "^17.12.0",
127
127
  "jpeg-js": "^0.4.4",
128
128
  "jpeg-lossless-decoder-js": "2.1.2",
129
129
  "libtess": "^1.2.2",
@@ -137,7 +137,7 @@
137
137
  "string-replace-webpack-plugin": "^0.1.3",
138
138
  "terser": "5.51.2",
139
139
  "terser-webpack-plugin": "^5.6.1",
140
- "webpack": "^5.110.1",
140
+ "webpack": "^5.110.3",
141
141
  "webpack-cli": "^7.2.3",
142
142
  "webpack-shell-plugin-next": "^2.3.3",
143
143
  "woff2-encoder": "^2.0.0",