x_ite 10.1.0 → 10.2.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 (71) hide show
  1. package/README.md +18 -18
  2. package/dist/X3DUOM.xml +69 -11
  3. package/dist/assets/components/Annotation.js +13 -13
  4. package/dist/assets/components/Annotation.min.js +1 -1
  5. package/dist/assets/components/CADGeometry.js +16 -16
  6. package/dist/assets/components/CADGeometry.min.js +1 -1
  7. package/dist/assets/components/CubeMapTexturing.js +39 -27
  8. package/dist/assets/components/CubeMapTexturing.min.js +1 -1
  9. package/dist/assets/components/DIS.js +13 -13
  10. package/dist/assets/components/DIS.min.js +1 -1
  11. package/dist/assets/components/EventUtilities.js +9 -9
  12. package/dist/assets/components/EventUtilities.min.js +1 -1
  13. package/dist/assets/components/Geometry2D.js +51 -35
  14. package/dist/assets/components/Geometry2D.min.js +1 -1
  15. package/dist/assets/components/Geospatial.js +34 -34
  16. package/dist/assets/components/Geospatial.min.js +1 -1
  17. package/dist/assets/components/HAnim.js +23 -23
  18. package/dist/assets/components/HAnim.min.js +1 -1
  19. package/dist/assets/components/KeyDeviceSensor.js +8 -8
  20. package/dist/assets/components/KeyDeviceSensor.min.js +1 -1
  21. package/dist/assets/components/Layout.js +27 -27
  22. package/dist/assets/components/Layout.min.js +1 -1
  23. package/dist/assets/components/NURBS.js +25 -25
  24. package/dist/assets/components/NURBS.min.js +1 -1
  25. package/dist/assets/components/ParticleSystems.js +26 -26
  26. package/dist/assets/components/ParticleSystems.min.js +1 -1
  27. package/dist/assets/components/Picking.js +18 -18
  28. package/dist/assets/components/Picking.min.js +1 -1
  29. package/dist/assets/components/RigidBodyPhysics.js +17 -17
  30. package/dist/assets/components/RigidBodyPhysics.min.js +1 -1
  31. package/dist/assets/components/Scripting.js +38 -38
  32. package/dist/assets/components/Scripting.min.js +1 -1
  33. package/dist/assets/components/Text.js +40 -42
  34. package/dist/assets/components/Text.min.js +1 -1
  35. package/dist/assets/components/TextureProjection.js +15 -15
  36. package/dist/assets/components/TextureProjection.min.js +1 -1
  37. package/dist/assets/components/Texturing3D.js +28 -28
  38. package/dist/assets/components/Texturing3D.min.js +1 -1
  39. package/dist/assets/components/VolumeRendering.js +19 -19
  40. package/dist/assets/components/VolumeRendering.min.js +1 -1
  41. package/dist/assets/components/X_ITE.js +1254 -1053
  42. package/dist/assets/components/X_ITE.min.js +1 -1
  43. package/dist/assets/fonts/PT_Sans/OFL.txt +94 -0
  44. package/dist/assets/fonts/PT_Sans/PTSans-Bold.ttf +0 -0
  45. package/dist/assets/fonts/PT_Sans/PTSans-BoldItalic.ttf +0 -0
  46. package/dist/assets/fonts/PT_Sans/PTSans-Italic.ttf +0 -0
  47. package/dist/assets/fonts/PT_Sans/PTSans-Regular.ttf +0 -0
  48. package/dist/assets/lib/mikktspace_bg.wasm +0 -0
  49. package/dist/example.html +1 -1
  50. package/dist/x_ite.css +1 -1
  51. package/dist/x_ite.d.ts +60 -11
  52. package/dist/x_ite.js +851 -600
  53. package/dist/x_ite.min.js +1 -1
  54. package/dist/x_ite.min.mjs +1 -1
  55. package/dist/x_ite.mjs +851 -600
  56. package/dist/x_ite.zip +0 -0
  57. package/package.json +1 -1
  58. /package/dist/assets/fonts/{DroidSerif Apache License.txt → Droid/DroidSerif Apache License.txt} +0 -0
  59. /package/dist/assets/fonts/{DroidSerif-Bold.ttf → Droid/DroidSerif-Bold.ttf} +0 -0
  60. /package/dist/assets/fonts/{DroidSerif-BoldItalic.ttf → Droid/DroidSerif-BoldItalic.ttf} +0 -0
  61. /package/dist/assets/fonts/{DroidSerif-Italic.ttf → Droid/DroidSerif-Italic.ttf} +0 -0
  62. /package/dist/assets/fonts/{DroidSerif-Regular.ttf → Droid/DroidSerif-Regular.ttf} +0 -0
  63. /package/dist/assets/fonts/{Ubuntu LICENCE.txt → Ubuntu/Ubuntu LICENCE.txt} +0 -0
  64. /package/dist/assets/fonts/{Ubuntu-B.ttf → Ubuntu/Ubuntu-B.ttf} +0 -0
  65. /package/dist/assets/fonts/{Ubuntu-BI.ttf → Ubuntu/Ubuntu-BI.ttf} +0 -0
  66. /package/dist/assets/fonts/{Ubuntu-R.ttf → Ubuntu/Ubuntu-R.ttf} +0 -0
  67. /package/dist/assets/fonts/{Ubuntu-RI.ttf → Ubuntu/Ubuntu-RI.ttf} +0 -0
  68. /package/dist/assets/fonts/{UbuntuMono-B.ttf → Ubuntu/UbuntuMono-B.ttf} +0 -0
  69. /package/dist/assets/fonts/{UbuntuMono-BI.ttf → Ubuntu/UbuntuMono-BI.ttf} +0 -0
  70. /package/dist/assets/fonts/{UbuntuMono-R.ttf → Ubuntu/UbuntuMono-R.ttf} +0 -0
  71. /package/dist/assets/fonts/{UbuntuMono-RI.ttf → Ubuntu/UbuntuMono-RI.ttf} +0 -0
@@ -1 +1 @@
1
- /* X_ITE v10.1.0 */(()=>{"use strict";var e={n:t=>{var s=t&&t.__esModule?()=>t.default:()=>t;return e.d(s,{a:s}),s},d:(t,s)=>{for(var i in s)e.o(s,i)&&!e.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:s[i]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)};const t=window[Symbol.for("X_ITE.X3D-10.1.0")].require("x_ite/Components");var s=e.n(t);const i=window[Symbol.for("X_ITE.X3D-10.1.0")].require("x_ite/Fields");var n=e.n(i);const r=window[Symbol.for("X_ITE.X3D-10.1.0")].require("x_ite/Base/X3DFieldDefinition");var o=e.n(r);const a=window[Symbol.for("X_ITE.X3D-10.1.0")].require("x_ite/Base/FieldDefinitionArray");var u=e.n(a);const _=window[Symbol.for("X_ITE.X3D-10.1.0")].require("x_ite/Components/Shape/X3DAppearanceChildNode");var l=e.n(_);const h=window[Symbol.for("X_ITE.X3D-10.1.0")].require("x_ite/Base/X3DConstants");var c=e.n(h);const p=window[Symbol.for("X_ITE.X3D-10.1.0")].require("x_ite/Namespace");var d=e.n(p);function T(e){l().call(this,e),this.addType(c().BlendMode),this.factorTypes=new Map,this.equationTypes=new Map}Object.assign(Object.setPrototypeOf(T.prototype,l().prototype),{initialize(){l().prototype.initialize.call(this);const e=this.getBrowser().getContext(),t=e.getExtension("EXT_blend_minmax");this.factorTypes.set("ZERO",e.ZERO),this.factorTypes.set("ONE",e.ONE),this.factorTypes.set("SRC_COLOR",e.SRC_COLOR),this.factorTypes.set("ONE_MINUS_SRC_COLOR",e.ONE_MINUS_SRC_COLOR),this.factorTypes.set("DST_COLOR",e.DST_COLOR),this.factorTypes.set("ONE_MINUS_DST_COLOR",e.ONE_MINUS_DST_COLOR),this.factorTypes.set("SRC_ALPHA",e.SRC_ALPHA),this.factorTypes.set("ONE_MINUS_SRC_ALPHA",e.ONE_MINUS_SRC_ALPHA),this.factorTypes.set("DST_ALPHA",e.DST_ALPHA),this.factorTypes.set("ONE_MINUS_DST_ALPHA",e.ONE_MINUS_DST_ALPHA),this.factorTypes.set("SRC_ALPHA_SATURATE",e.SRC_ALPHA_SATURATE),this.factorTypes.set("CONSTANT_COLOR",e.CONSTANT_COLOR),this.factorTypes.set("ONE_MINUS_CONSTANT_COLOR",e.ONE_MINUS_CONSTANT_COLOR),this.factorTypes.set("CONSTANT_ALPHA",e.CONSTANT_ALPHA),this.factorTypes.set("ONE_MINUS_CONSTANT_ALPHA",e.ONE_MINUS_CONSTANT_ALPHA),this.equationTypes.set("FUNC_ADD",e.FUNC_ADD),this.equationTypes.set("FUNC_SUBTRACT",e.FUNC_SUBTRACT),this.equationTypes.set("FUNC_REVERSE_SUBTRACT",e.FUNC_REVERSE_SUBTRACT),this.equationTypes.set("MIN",e.MIN||t&&t.MIN_EXT),this.equationTypes.set("MAX",e.MAX||t&&t.MAX_EXT),this._sourceColorFactor.addInterest("set_sourceColorFactor__",this),this._sourceAlphaFactor.addInterest("set_sourceAlphaFactor__",this),this._destinationColorFactor.addInterest("set_destinationColorFactor__",this),this._destinationAlphaFactor.addInterest("set_destinationAlphaFactor__",this),this._colorEquation.addInterest("set_colorEquation__",this),this._alphaEquation.addInterest("set_alphaEquation__",this),this.set_sourceColorFactor__(),this.set_sourceAlphaFactor__(),this.set_destinationColorFactor__(),this.set_destinationAlphaFactor__(),this.set_colorEquation__(),this.set_alphaEquation__()},set_sourceColorFactor__(){this.sourceColorFactorType=this.factorTypes.get(this._sourceColorFactor.getValue())??this.factorTypes.get("SRC_ALPHA")},set_sourceAlphaFactor__(){this.sourceAlphaFactorType=this.factorTypes.get(this._sourceAlphaFactor.getValue())??this.factorTypes.get("ONE")},set_destinationColorFactor__(){this.destinationColorFactorType=this.factorTypes.get(this._destinationColorFactor.getValue())??this.factorTypes.get("ONE_MINUS_SRC_ALPHA")},set_destinationAlphaFactor__(){this.destinationAlphaFactorType=this.factorTypes.get(this._destinationAlphaFactor.getValue())??this.factorTypes.get("ONE_MINUS_SRC_ALPHA")},set_colorEquation__(){this.colorEquationType=this.equationTypes.get(this._colorEquation.getValue())??this.equationTypes.get("FUNC_ADD")},set_alphaEquation__(){this.alphaEquationType=this.equationTypes.get(this._alphaEquation.getValue())??this.equationTypes.get("FUNC_ADD")},enable(e){const t=this._blendColor.getValue();e.blendColor(t.r,t.g,t.b,t.a),e.blendFuncSeparate(this.sourceColorFactorType,this.destinationColorFactorType,this.sourceAlphaFactorType,this.destinationAlphaFactorType),e.blendEquationSeparate(this.colorEquationType,this.alphaEquationType)},disable(e){e.blendFuncSeparate(e.SRC_ALPHA,e.ONE_MINUS_SRC_ALPHA,e.ONE,e.ONE_MINUS_SRC_ALPHA),e.blendEquationSeparate(e.FUNC_ADD,e.FUNC_ADD)}}),Object.defineProperties(T,{typeName:{value:"BlendMode",enumerable:!0},componentInfo:{value:Object.freeze({name:"X_ITE",level:1}),enumerable:!0},containerField:{value:"blendMode",enumerable:!0},specificationRange:{value:Object.freeze({from:"3.3",to:"Infinity"}),enumerable:!0},fieldDefinitions:{value:new(u())([new(o())(c().inputOutput,"metadata",new(n().SFNode)),new(o())(c().inputOutput,"blendColor",new(n().SFColorRGBA)),new(o())(c().inputOutput,"sourceColorFactor",new(n().SFString)("SRC_ALPHA")),new(o())(c().inputOutput,"sourceAlphaFactor",new(n().SFString)("ONE")),new(o())(c().inputOutput,"destinationColorFactor",new(n().SFString)("ONE_MINUS_SRC_ALPHA")),new(o())(c().inputOutput,"destinationAlphaFactor",new(n().SFString)("ONE_MINUS_SRC_ALPHA")),new(o())(c().inputOutput,"colorEquation",new(n().SFString)("FUNC_ADD")),new(o())(c().inputOutput,"alphaEquation",new(n().SFString)("FUNC_ADD"))]),enumerable:!0}});const x=T;d().add("BlendMode","x_ite/Components/X_ITE/BlendMode",x);const S=x;function E(e){l().call(this,e),this.addType(c().DepthMode),this.addAlias("depthFunc",this._depthFunction)}Object.assign(Object.setPrototypeOf(E.prototype,l().prototype),{initialize(){l().prototype.initialize.call(this),this._depthFunction.addInterest("set_depthFunction__",this),this.set_depthFunction__()},set_depthFunction__:function(){const e=new Map([["NEVER","NEVER"],["LESS","LESS"],["EQUAL","EQUAL"],["LESS_EQUAL","LEQUAL"],["GREATER","GREATER"],["NOT_EQUAL","NOTEQUAL"],["GREATER_EQUAL","GEQUAL"],["ALWAYS","ALWAYS"]]);return function(){const t=this.getBrowser().getContext();this.depthFunction=t[e.get(this._depthFunction.getValue())??"LEQUAL"]}}(),enable(e){this.depthTest=e.isEnabled(e.DEPTH_TEST),this.depthWriteMask=e.getParameter(e.DEPTH_WRITEMASK),e.enable(e.POLYGON_OFFSET_FILL),e.polygonOffset(...this._polygonOffset),this._depthTest.getValue()?e.enable(e.DEPTH_TEST):e.disable(e.DEPTH_TEST),e.depthFunc(this.depthFunction),e.depthRange(...this._depthRange.getValue()),e.depthMask(this._depthMask.getValue())},disable(e){e.disable(e.POLYGON_OFFSET_FILL),this.depthTest?e.enable(e.DEPTH_TEST):e.disable(e.DEPTH_TEST),e.depthFunc(e.LEQUAL),e.depthRange(0,1),e.depthMask(this.depthWriteMask)}}),Object.defineProperties(E,{typeName:{value:"DepthMode",enumerable:!0},componentInfo:{value:Object.freeze({name:"X_ITE",level:1}),enumerable:!0},containerField:{value:"depthMode",enumerable:!0},specificationRange:{value:Object.freeze({from:"4.0",to:"Infinity"}),enumerable:!0},fieldDefinitions:{value:new(u())([new(o())(c().inputOutput,"metadata",new(n().SFNode)),new(o())(c().inputOutput,"polygonOffset",new(n().SFVec2f)),new(o())(c().inputOutput,"depthRange",new(n().SFVec2f)(0,1)),new(o())(c().inputOutput,"depthTest",new(n().SFBool)(!0)),new(o())(c().inputOutput,"depthFunction",new(n().SFString)("LESS_EQUAL")),new(o())(c().inputOutput,"depthMask",new(n().SFBool)(!0))]),enumerable:!0}});const m=E;d().add("DepthMode","x_ite/Components/X_ITE/DepthMode",m);const f=m,g=window[Symbol.for("X_ITE.X3D-10.1.0")].require("x_ite/Components/Shape/X3DShapeNode");var O=e.n(g);const N=window[Symbol.for("X_ITE.X3D-10.1.0")].require("x_ite/Rendering/TraverseType");var I=e.n(N);const y=window[Symbol.for("X_ITE.X3D-10.1.0")].require("x_ite/Rendering/VertexArray");var w=e.n(y);const A=window[Symbol.for("X_ITE.X3D-10.1.0")].require("standard/Math/Numbers/Vector3");var R=e.n(A);const C=window[Symbol.for("X_ITE.X3D-10.1.0")].require("standard/Math/Numbers/Matrix4");var b=e.n(C);const M=window[Symbol.for("X_ITE.X3D-10.1.0")].require("standard/Math/Geometry/Box3");var F=e.n(M);function X(e){O().call(this,e),this.addType(c().InstancedShape),this.addChildObjects(c().outputOnly,"matrices",new(n().SFTime)),this.min=new(R()),this.max=new(R()),this.scale=new(R())(1,1,1),this.numInstances=0,this.instancesStride=25*Float32Array.BYTES_PER_ELEMENT,this.matrixOffset=0,this.normalMatrixOffset=16*Float32Array.BYTES_PER_ELEMENT}Object.assign(Object.setPrototypeOf(X.prototype,O().prototype),{initialize(){O().prototype.initialize.call(this);const e=this.getBrowser(),t=e.getContext();e.getContext().getVersion()<2||(this.instances=Object.assign(t.createBuffer(),{vertexArrayObject:new(w())(t),thickLinesVertexArrayObject:new(w())(t),lineTrianglesBuffer:t.createBuffer(),numLines:0}),this._translations.addInterest("set_transform__",this),this._rotations.addInterest("set_transform__",this),this._scales.addInterest("set_transform__",this),this._matrices.addInterest("set_matrices__",this),this.set_transform__())},getShapeKey:()=>3,getNumInstances(){return this.numInstances},getInstances(){return this.instances},set_bbox__:function(){const e=new(R()),t=new(R()),s=new(F());return function(){if(this.numInstances)if(this._bboxSize.getValue().equals(this.getDefaultBBoxSize())){this.getGeometry()?s.assign(this.getGeometry().getBBox()):s.set();const i=s.size.multiply(this.scale.magnitude()/2),n=s.center;e.assign(this.min).add(n).subtract(i),t.assign(this.max).add(n).add(i),this.bbox.setExtents(e,t)}else this.bbox.set(this._bboxSize.getValue(),this._bboxCenter.getValue());else this.bbox.set();this.getBBoxSize().assign(this.bbox.size),this.getBBoxCenter().assign(this.bbox.center)}}(),set_transform__(){this._matrices=this.getBrowser().getCurrentTime()},set_matrices__(){const e=this.getBrowser().getContext(),t=this._translations,s=this._rotations,i=this._scales,n=t.length,r=s.length,o=i.length,a=Math.max(n,r,o),u=this.instancesStride/Float32Array.BYTES_PER_ELEMENT,_=this.instancesStride*a,l=new Float32Array(_),h=new(b());this.numInstances=a;const c=this.min.set(Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY),p=this.max.set(Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY),d=this.scale.assign(o?p:R().One);for(let e=0,_=0;e<a;++e,_+=u)h.set(n?t[Math.min(e,n-1)].getValue():null,r?s[Math.min(e,r-1)].getValue():null,o?i[Math.min(e,o-1)].getValue():null),o&&d.max(i[Math.min(e,o-1)].getValue()),l.set(h,_),l.set(h.submatrix.transpose().inverse(),_+16),c.min(h.origin),p.max(h.origin);e.bindBuffer(e.ARRAY_BUFFER,this.instances),e.bufferData(e.ARRAY_BUFFER,l,e.DYNAMIC_DRAW),this.set_bbox__()},set_geometry__(){O().prototype.set_geometry__.call(this),this.getGeometry()?delete this.traverse:this.traverse=Function.prototype,this.set_transform__()},intersectsBox(e,t,s){},traverse(e,t){if(this.numInstances){switch(e){case I().POINTER:this._pointerEvents.getValue()&&t.addPointingShape(this);break;case I().PICKING:break;case I().COLLISION:t.addCollisionShape(this);break;case I().SHADOW:this._castShadow.getValue()&&t.addShadowShape(this);break;case I().DISPLAY:t.addDisplayShape(this)&&this.getAppearance().traverse(e,t)}this.getGeometry().traverse(e,t)}},displaySimple(e,t,s){this.getGeometry().displaySimpleInstanced(e,s,this)},display(e,t){this.getGeometry().displayInstanced(e,t,this)}}),Object.defineProperties(X,{typeName:{value:"InstancedShape",enumerable:!0},componentInfo:{value:Object.freeze({name:"X_ITE",level:1}),enumerable:!0},containerField:{value:"children",enumerable:!0},specificationRange:{value:Object.freeze({from:"2.0",to:"Infinity"}),enumerable:!0},fieldDefinitions:{value:new(u())([new(o())(c().inputOutput,"metadata",new(n().SFNode)),new(o())(c().inputOutput,"translations",new(n().MFVec3f)),new(o())(c().inputOutput,"rotations",new(n().MFRotation)),new(o())(c().inputOutput,"scales",new(n().MFVec3f)),new(o())(c().inputOutput,"pointerEvents",new(n().SFBool)(!0)),new(o())(c().inputOutput,"castShadow",new(n().SFBool)(!0)),new(o())(c().inputOutput,"visible",new(n().SFBool)(!0)),new(o())(c().inputOutput,"bboxDisplay",new(n().SFBool)),new(o())(c().initializeOnly,"bboxSize",new(n().SFVec3f)(-1,-1,-1)),new(o())(c().initializeOnly,"bboxCenter",new(n().SFVec3f)),new(o())(c().inputOutput,"appearance",new(n().SFNode)),new(o())(c().inputOutput,"geometry",new(n().SFNode))]),enumerable:!0}});const D=X;d().add("InstancedShape","x_ite/Components/X_ITE/InstancedShape",D);const v=D,L=window[Symbol.for("X_ITE.X3D-10.1.0")].require("x_ite/Components/Shape/X3DOneSidedMaterialNode");var U=e.n(L);const P=window[Symbol.for("X_ITE.X3D-10.1.0")].require("x_ite/Base/X3DCast");var V=e.n(P);const j=window[Symbol.for("X_ITE.X3D-10.1.0")].require("standard/Math/Algorithm");var B=e.n(j);function z(e){console.warn("SpecularGlossinessMaterial is depreciated, please use PhysicalMaterial instead."),U().call(this,e),this.addType(c().SpecularGlossinessMaterial),this.materialKey="4/",this.diffuseColorArray=new Float32Array(3),this.specularColorArray=new Float32Array(3),this.extensionNodes=[]}Object.assign(Object.setPrototypeOf(z.prototype,U().prototype),{initialize(){U().prototype.initialize.call(this),this._diffuseColor.addInterest("set_diffuseColor__",this),this._diffuseTexture.addInterest("set_diffuseTexture__",this),this._diffuseTexture.addInterest("set_transparent__",this),this._specularColor.addInterest("set_specularColor__",this),this._glossiness.addInterest("set_glossiness__",this),this._specularGlossinessTexture.addInterest("set_specularGlossinessTexture__",this),this._occlusionStrength.addInterest("set_occlusionStrength__",this),this._occlusionTexture.addInterest("set_occlusionTexture__",this),this._extensions.addInterest("set_extensions__",this),this.set_diffuseColor__(),this.set_diffuseTexture__(),this.set_specularColor__(),this.set_glossiness__(),this.set_specularGlossinessTexture__(),this.set_occlusionStrength__(),this.set_occlusionTexture__(),this.set_extensions__(),this.set_transparent__()},getMaterialKey(){return this.materialKey},getTextureIndices:(()=>{let e=0;const t={DIFFUSE_TEXTURE:e++,SPECULAR_GLOSSINESS_TEXTURE:e++,EMISSIVE_TEXTURE:e++,OCCLUSION_TEXTURE:e++,NORMAL_TEXTURE:e++};return function(){return t}})(),getBaseTexture(){return this.diffuseTextureNode},set_diffuseColor__(){const e=this.diffuseColorArray,t=this._diffuseColor.getValue();e[0]=t.r,e[1]=t.g,e[2]=t.b},set_diffuseTexture__(){const e=this.getTextureIndices().DIFFUSE_TEXTURE;this.diffuseTextureNode&&(this.diffuseTextureNode._transparent.removeInterest("set_transparent__",this),this.diffuseTextureNode._linear.removeInterest(`setTexture${e}`,this)),this.diffuseTextureNode=V()(c().X3DSingleTextureNode,this._diffuseTexture),this.diffuseTextureNode&&(this.diffuseTextureNode._transparent.addInterest("set_transparent__",this),this.diffuseTextureNode._linear.addInterest(`setTexture${e}`,this,e,this.diffuseTextureNode)),this.setTexture(e,this.diffuseTextureNode)},set_specularColor__(){const e=this.specularColorArray,t=this._specularColor.getValue();e[0]=t.r,e[1]=t.g,e[2]=t.b},set_glossiness__(){this.glossiness=B().clamp(this._glossiness.getValue(),0,1)},set_specularGlossinessTexture__(){this.specularGlossinessTextureNode=V()(c().X3DSingleTextureNode,this._specularGlossinessTexture),this.setTexture(this.getTextureIndices().SPECULAR_GLOSSINESS_TEXTURE,this.specularGlossinessTextureNode)},set_occlusionStrength__(){this.occlusionStrength=B().clamp(this._occlusionStrength.getValue(),0,1)},set_occlusionTexture__(){this.occlusionTextureNode=V()(c().X3DSingleTextureNode,this._occlusionTexture),this.setTexture(this.getTextureIndices().OCCLUSION_TEXTURE,this.occlusionTextureNode)},set_transparent__(){this.setTransparent(this.getTransparency()||this.diffuseTextureNode?.isTransparent())},set_extensions__(){const e=this.extensionNodes;for(const t of e)t.removeInterest("set_extensionsKey__",this);e.length=0;for(const t of this._extensions){const s=V()(c().X3DMaterialExtensionNode,t);s&&e.push(s)}e.sort(((e,t)=>e.getExtensionKey()-t.getExtensionKey()));for(const t of e)t.addInterest("set_extensionsKey__",this);this.setTransmission(e.some((e=>e.getType().includes(c().TransmissionMaterialExtension)))),this.set_extensionsKey__()},set_extensionsKey__(){const e=this.extensionNodes.map((e=>`${e.getExtensionKey().toString(16)}${e.getTextureBits().toString(16)}`)).join("");this.materialKey=`[4.${e}]`},createShader(e,t,s){const i=this.getBrowser(),n=this.getShaderOptions(t,s);for(const e of this.extensionNodes)e.getShaderOptions(n);n.push("X3D_PHYSICAL_MATERIAL","X3D_MATERIAL_SPECULAR_GLOSSINESS"),+this.getTextureBits()&&(this.diffuseTextureNode?.getShaderOptions(n,"DIFFUSE"),this.specularGlossinessTextureNode?.getShaderOptions(n,"SPECULAR_GLOSSINESS"),this.occlusionTextureNode?.getShaderOptions(n,"OCCLUSION"));const r=i.createShader("SpecularGlossiness","Default","Physical",n);return i.getShaders().set(e,r),r},setShaderUniforms(e,t,s,i,n){U().prototype.setShaderUniforms.call(this,e,t,s,i,n);for(const r of this.extensionNodes)r.setShaderUniforms(e,t,s,i,n);e.uniform3fv(t.x3d_DiffuseColor,this.diffuseColorArray),e.uniform3fv(t.x3d_SpecularColor,this.specularColorArray),e.uniform1f(t.x3d_Glossiness,this.glossiness),+this.getTextureBits()&&(this.diffuseTextureNode?.setNamedShaderUniforms(e,t,s,t.x3d_DiffuseTexture,this._diffuseTextureMapping.getValue(),i,n),this.specularGlossinessTextureNode?.setNamedShaderUniforms(e,t,s,t.x3d_SpecularGlossinessTexture,this._specularGlossinessTextureMapping.getValue(),i,n),this.occlusionTextureNode&&e.uniform1f(t.x3d_OcclusionStrength,this.occlusionStrength),this.occlusionTextureNode?.setNamedShaderUniforms(e,t,s,t.x3d_OcclusionTexture,this._occlusionTextureMapping.getValue(),i,n))}}),Object.defineProperties(z,{typeName:{value:"SpecularGlossinessMaterial",enumerable:!0},componentInfo:{value:Object.freeze({name:"X_ITE",level:1}),enumerable:!0},containerField:{value:"material",enumerable:!0},specificationRange:{value:Object.freeze({from:"4.0",to:"Infinity"}),enumerable:!0},fieldDefinitions:{value:new(u())([new(o())(c().inputOutput,"metadata",new(n().SFNode)),new(o())(c().inputOutput,"diffuseColor",new(n().SFColor)(1,1,1)),new(o())(c().inputOutput,"diffuseTextureMapping",new(n().SFString)),new(o())(c().inputOutput,"diffuseTexture",new(n().SFNode)),new(o())(c().inputOutput,"specularColor",new(n().SFColor)(1,1,1)),new(o())(c().inputOutput,"glossiness",new(n().SFFloat)(1)),new(o())(c().inputOutput,"specularGlossinessTextureMapping",new(n().SFString)),new(o())(c().inputOutput,"specularGlossinessTexture",new(n().SFNode)),new(o())(c().inputOutput,"emissiveColor",new(n().SFColor)),new(o())(c().inputOutput,"emissiveTextureMapping",new(n().SFString)),new(o())(c().inputOutput,"emissiveTexture",new(n().SFNode)),new(o())(c().inputOutput,"occlusionStrength",new(n().SFFloat)(1)),new(o())(c().inputOutput,"occlusionTextureMapping",new(n().SFString)),new(o())(c().inputOutput,"occlusionTexture",new(n().SFNode)),new(o())(c().inputOutput,"normalScale",new(n().SFFloat)(1)),new(o())(c().inputOutput,"normalTextureMapping",new(n().SFString)),new(o())(c().inputOutput,"normalTexture",new(n().SFNode)),new(o())(c().inputOutput,"transparency",new(n().SFFloat)),new(o())(c().inputOutput,"extensions",new(n().MFNode))]),enumerable:!0}});for(const e of Object.values(z.prototype.getTextureIndices()))z.prototype[`setTexture${e}`]=function(e,t){this.setTexture(e,t)};const k=z;d().add("SpecularGlossinessMaterial","x_ite/Components/X_ITE/SpecularGlossinessMaterial",k);const q=k,G=window[Symbol.for("X_ITE.X3D-10.1.0")].require("x_ite/Components/Core/X3DNode");var H=e.n(G);const K=window[Symbol.for("X_ITE.X3D-10.1.0")].require("standard/Utility/BitSet");var Y=e.n(K);function Q(e){H().call(this,e),this.addType(c().X3DMaterialExtensionNode),this.textureBits=new(Y())}Object.assign(Object.setPrototypeOf(Q.prototype,H().prototype),{setTexture(e,t){e*=4,this.textureBits.remove(e,15),this.textureBits.add(e,t?.getTextureBits()??0)},getTextureBits(){return this.textureBits}}),Object.defineProperties(Q,{typeName:{value:"X3DMaterialExtensionNode",enumerable:!0},componentInfo:{value:Object.freeze({name:"X_ITE",level:1}),enumerable:!0}});const W=Q;d().add("X3DMaterialExtensionNode","x_ite/Components/X_ITE/X3DMaterialExtensionNode",W);const $=W;let Z=0;const J={ANISOTROPY_MATERIAL_EXTENSION:Z++,CLEARCOAT_MATERIAL_EXTENSION:Z++,DISPERSION_MATERIAL_EXTENSION:Z++,EMISSIVE_STRENGTH_MATERIAL_EXTENSION:Z++,IOR_MATERIAL_EXTENSION:Z++,IRIDESCENCE_MATERIAL_EXTENSION:Z++,SHEEN_MATERIAL_EXTENSION:Z++,SPECULAR_MATERIAL_EXTENSION:Z++,TRANSMISSION_MATERIAL_EXTENSION:Z++,UNLIT_MATERIAL_EXTENSION:Z++,VOLUME_MATERIAL_EXTENSION:Z++};d().add("ExtensionKeys","x_ite/Browser/X_ITE/ExtensionKeys",J);const ee=J;function te(e){$.call(this,e),this.addType(c().AnisotropyMaterialExtension),this.anisotropyArray=new Float32Array(3)}Object.assign(Object.setPrototypeOf(te.prototype,$.prototype),{initialize(){$.prototype.initialize.call(this),this._anisotropyStrength.addInterest("set_anisotropyStrength__",this),this._anisotropyRotation.addInterest("set_anisotropyRotation__",this),this._anisotropyTexture.addInterest("set_anisotropyTexture__",this),this.set_anisotropyStrength__(),this.set_anisotropyRotation__(),this.set_anisotropyTexture__()},set_anisotropyStrength__(){this.anisotropyArray[2]=Math.max(this._anisotropyStrength.getValue(),0)},set_anisotropyRotation__(){const e=this._anisotropyRotation.getValue();this.anisotropyArray[0]=Math.cos(e),this.anisotropyArray[1]=Math.sin(e)},set_anisotropyTexture__(){this.anisotropyTextureNode=V()(c().X3DSingleTextureNode,this._anisotropyTexture),this.setTexture(0,this.anisotropyTextureNode)},getExtensionKey:()=>ee.ANISOTROPY_MATERIAL_EXTENSION,getShaderOptions(e){e.push("X3D_ANISOTROPY_MATERIAL_EXT"),+this.getTextureBits()&&(e.push("X3D_MATERIAL_TEXTURES"),this.anisotropyTextureNode?.getShaderOptions(e,"ANISOTROPY",!0))},setShaderUniforms(e,t,s,i,n){e.uniform3fv(t.x3d_AnisotropyEXT,this.anisotropyArray),this.anisotropyTextureNode?.setNamedShaderUniforms(e,t,s,t.x3d_AnisotropyTextureEXT,this._anisotropyTextureMapping.getValue(),i,n)}}),Object.defineProperties(te,{typeName:{value:"AnisotropyMaterialExtension",enumerable:!0},componentInfo:{value:Object.freeze({name:"X_ITE",level:1}),enumerable:!0},containerField:{value:"extensions",enumerable:!0},specificationRange:{value:Object.freeze({from:"4.0",to:"Infinity"}),enumerable:!0},fieldDefinitions:{value:new(u())([new(o())(c().inputOutput,"metadata",new(n().SFNode)),new(o())(c().inputOutput,"anisotropyStrength",new(n().SFFloat)),new(o())(c().inputOutput,"anisotropyRotation",new(n().SFFloat)),new(o())(c().inputOutput,"anisotropyTextureMapping",new(n().SFString)),new(o())(c().inputOutput,"anisotropyTexture",new(n().SFNode))]),enumerable:!0}});const se=te;d().add("AnisotropyMaterialExtension","x_ite/Components/X_ITE/AnisotropyMaterialExtension",se);const ie=se;function ne(e){$.call(this,e),this.addType(c().ClearcoatMaterialExtension)}Object.assign(Object.setPrototypeOf(ne.prototype,$.prototype),{initialize(){$.prototype.initialize.call(this),this._clearcoat.addInterest("set_clearcoat__",this),this._clearcoatTexture.addInterest("set_clearcoatTexture__",this),this._clearcoatRoughness.addInterest("set_clearcoatRoughness__",this),this._clearcoatRoughnessTexture.addInterest("set_clearcoatRoughnessTexture__",this),this._clearcoatNormalTexture.addInterest("set_clearcoatNormalTexture__",this),this.set_clearcoat__(),this.set_clearcoatTexture__(),this.set_clearcoatRoughness__(),this.set_clearcoatRoughnessTexture__(),this.set_clearcoatNormalTexture__()},set_clearcoat__(){this.clearcoat=Math.max(this._clearcoat.getValue(),0)},set_clearcoatTexture__(){this.clearcoatTextureNode=V()(c().X3DSingleTextureNode,this._clearcoatTexture),this.setTexture(0,this.clearcoatTextureNode)},set_clearcoatRoughness__(){this.clearcoatRoughness=B().clamp(this._clearcoatRoughness.getValue(),0,1)},set_clearcoatRoughnessTexture__(){this.clearcoatRoughnessTextureNode=V()(c().X3DSingleTextureNode,this._clearcoatRoughnessTexture),this.setTexture(1,this.clearcoatRoughnessTextureNode)},set_clearcoatNormalTexture__(){this.clearcoatNormalTextureNode=V()(c().X3DSingleTextureNode,this._clearcoatNormalTexture),this.setTexture(2,this.clearcoatNormalTextureNode)},getExtensionKey:()=>ee.CLEARCOAT_MATERIAL_EXTENSION,getShaderOptions(e){e.push("X3D_CLEARCOAT_MATERIAL_EXT"),+this.getTextureBits()&&(e.push("X3D_MATERIAL_TEXTURES"),this.clearcoatTextureNode?.getShaderOptions(e,"CLEARCOAT",!0),this.clearcoatRoughnessTextureNode?.getShaderOptions(e,"CLEARCOAT_ROUGHNESS",!0),this.clearcoatNormalTextureNode?.getShaderOptions(e,"CLEARCOAT_NORMAL",!0))},setShaderUniforms(e,t,s,i,n){e.uniform1f(t.x3d_ClearcoatEXT,this.clearcoat),e.uniform1f(t.x3d_ClearcoatRoughnessEXT,this.clearcoatRoughness),+this.getTextureBits()&&(this.clearcoatTextureNode?.setNamedShaderUniforms(e,t,s,t.x3d_ClearcoatTextureEXT,this._clearcoatTextureMapping.getValue(),i,n),this.clearcoatRoughnessTextureNode?.setNamedShaderUniforms(e,t,s,t.x3d_ClearcoatRoughnessTextureEXT,this._clearcoatRoughnessTextureMapping.getValue(),i,n),this.clearcoatNormalTextureNode?.setNamedShaderUniforms(e,t,s,t.x3d_ClearcoatNormalTextureEXT,this._clearcoatNormalTextureMapping.getValue(),i,n))}}),Object.defineProperties(ne,{typeName:{value:"ClearcoatMaterialExtension",enumerable:!0},componentInfo:{value:Object.freeze({name:"X_ITE",level:1}),enumerable:!0},containerField:{value:"extensions",enumerable:!0},specificationRange:{value:Object.freeze({from:"4.0",to:"Infinity"}),enumerable:!0},fieldDefinitions:{value:new(u())([new(o())(c().inputOutput,"metadata",new(n().SFNode)),new(o())(c().inputOutput,"clearcoat",new(n().SFFloat)),new(o())(c().inputOutput,"clearcoatTextureMapping",new(n().SFString)),new(o())(c().inputOutput,"clearcoatTexture",new(n().SFNode)),new(o())(c().inputOutput,"clearcoatRoughness",new(n().SFFloat)),new(o())(c().inputOutput,"clearcoatRoughnessTextureMapping",new(n().SFString)),new(o())(c().inputOutput,"clearcoatRoughnessTexture",new(n().SFNode)),new(o())(c().inputOutput,"clearcoatNormalTextureMapping",new(n().SFString)),new(o())(c().inputOutput,"clearcoatNormalTexture",new(n().SFNode))]),enumerable:!0}});const re=ne;d().add("ClearcoatMaterialExtension","x_ite/Components/X_ITE/ClearcoatMaterialExtension",re);const oe=re;function ae(e){$.call(this,e),this.addType(c().DispersionMaterialExtension)}Object.assign(Object.setPrototypeOf(ae.prototype,$.prototype),{initialize(){$.prototype.initialize.call(this),this._dispersion.addInterest("set_dispersion__",this),this.set_dispersion__()},set_dispersion__(){this.dispersion=Math.max(this._dispersion.getValue(),0)},getExtensionKey:()=>ee.DISPERSION_MATERIAL_EXTENSION,getShaderOptions(e){e.push("X3D_DISPERSION_MATERIAL_EXT")},setShaderUniforms(e,t,s,i,n){e.uniform1f(t.x3d_DispersionEXT,this.dispersion)}}),Object.defineProperties(ae,{typeName:{value:"DispersionMaterialExtension",enumerable:!0},componentInfo:{value:Object.freeze({name:"X_ITE",level:1}),enumerable:!0},containerField:{value:"extensions",enumerable:!0},specificationRange:{value:Object.freeze({from:"4.0",to:"Infinity"}),enumerable:!0},fieldDefinitions:{value:new(u())([new(o())(c().inputOutput,"metadata",new(n().SFNode)),new(o())(c().inputOutput,"dispersion",new(n().SFFloat))]),enumerable:!0}});const ue=ae;d().add("DispersionMaterialExtension","x_ite/Components/X_ITE/DispersionMaterialExtension",ue);const _e=ue;function le(e){$.call(this,e),this.addType(c().EmissiveStrengthMaterialExtension)}Object.assign(Object.setPrototypeOf(le.prototype,$.prototype),{initialize(){$.prototype.initialize.call(this),this._emissiveStrength.addInterest("set_emissiveStrength__",this),this.set_emissiveStrength__()},set_emissiveStrength__(){this.emissiveStrength=Math.max(this._emissiveStrength.getValue(),0)},getExtensionKey:()=>ee.EMISSIVE_STRENGTH_MATERIAL_EXTENSION,getShaderOptions(e){e.push("X3D_EMISSIVE_STRENGTH_MATERIAL_EXT")},setShaderUniforms(e,t,s,i,n){e.uniform1f(t.x3d_EmissiveStrengthEXT,this.emissiveStrength)}}),Object.defineProperties(le,{typeName:{value:"EmissiveStrengthMaterialExtension",enumerable:!0},componentInfo:{value:Object.freeze({name:"X_ITE",level:1}),enumerable:!0},containerField:{value:"extensions",enumerable:!0},specificationRange:{value:Object.freeze({from:"4.0",to:"Infinity"}),enumerable:!0},fieldDefinitions:{value:new(u())([new(o())(c().inputOutput,"metadata",new(n().SFNode)),new(o())(c().inputOutput,"emissiveStrength",new(n().SFFloat)(1))]),enumerable:!0}});const he=le;d().add("EmissiveStrengthMaterialExtension","x_ite/Components/X_ITE/EmissiveStrengthMaterialExtension",he);const ce=he;function pe(e){$.call(this,e),this.addType(c().IORMaterialExtension)}Object.assign(Object.setPrototypeOf(pe.prototype,$.prototype),{initialize(){$.prototype.initialize.call(this),this._indexOfRefraction.addInterest("set_indexOfRefraction__",this),this.set_indexOfRefraction__()},set_indexOfRefraction__(){this.indexOfRefraction=Math.max(this._indexOfRefraction.getValue(),1)},getExtensionKey:()=>ee.IOR_MATERIAL_EXTENSION,getShaderOptions(e){e.push("X3D_IOR_MATERIAL_EXT")},setShaderUniforms(e,t,s,i,n){e.uniform1f(t.x3d_IorEXT,this.indexOfRefraction)}}),Object.defineProperties(pe,{typeName:{value:"IORMaterialExtension",enumerable:!0},componentInfo:{value:Object.freeze({name:"X_ITE",level:1}),enumerable:!0},containerField:{value:"extensions",enumerable:!0},specificationRange:{value:Object.freeze({from:"4.0",to:"Infinity"}),enumerable:!0},fieldDefinitions:{value:new(u())([new(o())(c().inputOutput,"metadata",new(n().SFNode)),new(o())(c().inputOutput,"indexOfRefraction",new(n().SFFloat)(1.5))]),enumerable:!0}});const de=pe;d().add("IORMaterialExtension","x_ite/Components/X_ITE/IORMaterialExtension",de);const Te=de;function xe(e){$.call(this,e),this.addType(c().IridescenceMaterialExtension)}Object.assign(Object.setPrototypeOf(xe.prototype,$.prototype),{initialize(){$.prototype.initialize.call(this),this._iridescence.addInterest("set_iridescence__",this),this._iridescenceTexture.addInterest("set_iridescenceTexture__",this),this._iridescenceIndexOfRefraction.addInterest("set_iridescenceIndexOfRefraction__",this),this._iridescenceThicknessMinimum.addInterest("set_iridescenceThicknessMinimum__",this),this._iridescenceThicknessMaximum.addInterest("set_iridescenceThicknessMaximum__",this),this._iridescenceThicknessTexture.addInterest("set_iridescenceThicknessTexture__",this),this.set_iridescence__(),this.set_iridescenceTexture__(),this.set_iridescenceIndexOfRefraction__(),this.set_iridescenceThicknessMinimum__(),this.set_iridescenceThicknessMaximum__(),this.set_iridescenceThicknessTexture__()},set_iridescence__(){this.iridescence=Math.max(this._iridescence.getValue(),0)},set_iridescenceTexture__(){this.iridescenceTextureNode=V()(c().X3DSingleTextureNode,this._iridescenceTexture),this.setTexture(0,this.iridescenceTextureNode)},set_iridescenceIndexOfRefraction__(){this.iridescenceIndexOfRefraction=Math.max(this._iridescenceIndexOfRefraction.getValue(),1)},set_iridescenceThicknessMinimum__(){this.iridescenceThicknessMinimum=Math.max(this._iridescenceThicknessMinimum.getValue(),0)},set_iridescenceThicknessMaximum__(){this.iridescenceThicknessMaximum=Math.max(this._iridescenceThicknessMaximum.getValue(),0)},set_iridescenceThicknessTexture__(){this.iridescenceThicknessTextureNode=V()(c().X3DSingleTextureNode,this._iridescenceThicknessTexture),this.setTexture(1,this.iridescenceThicknessTextureNode)},getExtensionKey:()=>ee.IRIDESCENCE_MATERIAL_EXTENSION,getShaderOptions(e){e.push("X3D_IRIDESCENCE_MATERIAL_EXT"),+this.getTextureBits()&&(e.push("X3D_MATERIAL_TEXTURES"),this.iridescenceTextureNode?.getShaderOptions(e,"IRIDESCENCE",!0),this.iridescenceThicknessTextureNode?.getShaderOptions(e,"IRIDESCENCE_THICKNESS",!0))},setShaderUniforms(e,t,s,i,n){e.uniform1f(t.x3d_IridescenceEXT,this.iridescence),e.uniform1f(t.x3d_IridescenceIndexOfRefractionEXT,this.iridescenceIndexOfRefraction),e.uniform1f(t.x3d_IridescenceThicknessMinimumEXT,this.iridescenceThicknessMinimum),e.uniform1f(t.x3d_IridescenceThicknessMaximumEXT,this.iridescenceThicknessMaximum),+this.getTextureBits()&&(this.iridescenceTextureNode?.setNamedShaderUniforms(e,t,s,t.x3d_IridescenceTextureEXT,this._iridescenceTextureMapping.getValue(),i,n),this.iridescenceThicknessTextureNode?.setNamedShaderUniforms(e,t,s,t.x3d_IridescenceThicknessTextureEXT,this._iridescenceThicknessTextureMapping.getValue(),i,n))}}),Object.defineProperties(xe,{typeName:{value:"IridescenceMaterialExtension",enumerable:!0},componentInfo:{value:Object.freeze({name:"X_ITE",level:1}),enumerable:!0},containerField:{value:"extensions",enumerable:!0},specificationRange:{value:Object.freeze({from:"4.0",to:"Infinity"}),enumerable:!0},fieldDefinitions:{value:new(u())([new(o())(c().inputOutput,"metadata",new(n().SFNode)),new(o())(c().inputOutput,"iridescence",new(n().SFFloat)),new(o())(c().inputOutput,"iridescenceTextureMapping",new(n().SFString)),new(o())(c().inputOutput,"iridescenceTexture",new(n().SFNode)),new(o())(c().inputOutput,"iridescenceIndexOfRefraction",new(n().SFFloat)(1.3)),new(o())(c().inputOutput,"iridescenceThicknessMinimum",new(n().SFFloat)(100)),new(o())(c().inputOutput,"iridescenceThicknessMaximum",new(n().SFFloat)(400)),new(o())(c().inputOutput,"iridescenceThicknessTextureMapping",new(n().SFString)),new(o())(c().inputOutput,"iridescenceThicknessTexture",new(n().SFNode))]),enumerable:!0}});const Se=xe;d().add("IridescenceMaterialExtension","x_ite/Components/X_ITE/IridescenceMaterialExtension",Se);const Ee=Se;function me(e){$.call(this,e),this.addType(c().SheenMaterialExtension),this.sheenColorArray=new Float32Array(3)}Object.assign(Object.setPrototypeOf(me.prototype,$.prototype),{initialize(){$.prototype.initialize.call(this),this._sheenColor.addInterest("set_sheenColor__",this),this._sheenColorTexture.addInterest("set_sheenColorTexture__",this),this._sheenRoughness.addInterest("set_sheenRoughness__",this),this._sheenRoughnessTexture.addInterest("set_sheenRoughnessTexture__",this),this.set_sheenColor__(),this.set_sheenColorTexture__(),this.set_sheenRoughness__(),this.set_sheenRoughnessTexture__()},set_sheenColor__(){const e=this.sheenColorArray,t=this._sheenColor.getValue();e[0]=t.r,e[1]=t.g,e[2]=t.b},set_sheenColorTexture__(){this.sheenColorTextureNode=V()(c().X3DSingleTextureNode,this._sheenColorTexture),this.setTexture(0,this.sheenColorTextureNode)},set_sheenRoughness__(){this.sheenRoughness=B().clamp(this._sheenRoughness.getValue(),0,1)},set_sheenRoughnessTexture__(){this.sheenRoughnessTextureNode=V()(c().X3DSingleTextureNode,this._sheenRoughnessTexture),this.setTexture(1,this.sheenRoughnessTextureNode)},getExtensionKey:()=>ee.SHEEN_MATERIAL_EXTENSION,getShaderOptions(e){e.push("X3D_SHEEN_MATERIAL_EXT"),+this.getTextureBits()&&(e.push("X3D_MATERIAL_TEXTURES"),this.sheenColorTextureNode?.getShaderOptions(e,"SHEEN_COLOR",!0),this.sheenRoughnessTextureNode?.getShaderOptions(e,"SHEEN_ROUGHNESS",!0))},setShaderUniforms(e,t,s,i,n){e.uniform3fv(t.x3d_SheenColorEXT,this.sheenColorArray),e.uniform1f(t.x3d_SheenRoughnessEXT,this.sheenRoughness);const r=this.getBrowser(),o=r.getLibraryTexture("lut_sheen_E.png"),a=r.getTexture2DUnit();e.activeTexture(e.TEXTURE0+a),e.bindTexture(e.TEXTURE_2D,o.getTexture()),e.uniform1i(t.x3d_SheenELUTTextureEXT,a),+this.getTextureBits()&&(this.sheenColorTextureNode?.setNamedShaderUniforms(e,t,s,t.x3d_SheenColorTextureEXT,this._sheenColorTextureMapping.getValue(),i,n),this.sheenRoughnessTextureNode?.setNamedShaderUniforms(e,t,s,t.x3d_SheenRoughnessTextureEXT,this._sheenRoughnessTextureMapping.getValue(),i,n))}}),Object.defineProperties(me,{typeName:{value:"SheenMaterialExtension",enumerable:!0},componentInfo:{value:Object.freeze({name:"X_ITE",level:1}),enumerable:!0},containerField:{value:"extensions",enumerable:!0},specificationRange:{value:Object.freeze({from:"4.0",to:"Infinity"}),enumerable:!0},fieldDefinitions:{value:new(u())([new(o())(c().inputOutput,"metadata",new(n().SFNode)),new(o())(c().inputOutput,"sheenColor",new(n().SFColor)),new(o())(c().inputOutput,"sheenColorTextureMapping",new(n().SFString)),new(o())(c().inputOutput,"sheenColorTexture",new(n().SFNode)),new(o())(c().inputOutput,"sheenRoughness",new(n().SFFloat)),new(o())(c().inputOutput,"sheenRoughnessTextureMapping",new(n().SFString)),new(o())(c().inputOutput,"sheenRoughnessTexture",new(n().SFNode))]),enumerable:!0}});const fe=me;d().add("SheenMaterialExtension","x_ite/Components/X_ITE/SheenMaterialExtension",fe);const ge=fe;function Oe(e){$.call(this,e),this.addType(c().SpecularMaterialExtension),this.specularColorArray=new Float32Array(3)}Object.assign(Object.setPrototypeOf(Oe.prototype,$.prototype),{initialize(){$.prototype.initialize.call(this),this._specular.addInterest("set_specular__",this),this._specularTexture.addInterest("set_specularTexture__",this),this._specularColor.addInterest("set_specularColor__",this),this._specularColorTexture.addInterest("set_specularColorTexture__",this),this.set_specular__(),this.set_specularTexture__(),this.set_specularColor__(),this.set_specularColorTexture__()},set_specular__(){this.specular=Math.max(this._specular.getValue(),0)},set_specularTexture__(){this.specularTextureNode=V()(c().X3DSingleTextureNode,this._specularTexture),this.setTexture(0,this.specularTextureNode)},set_specularColor__(){const e=this.specularColorArray,t=this._specularColor.getValue();e[0]=t.r,e[1]=t.g,e[2]=t.b},set_specularColorTexture__(){this.specularColorTextureNode=V()(c().X3DSingleTextureNode,this._specularColorTexture),this.setTexture(1,this.specularColorTextureNode)},getExtensionKey:()=>ee.SPECULAR_MATERIAL_EXTENSION,getShaderOptions(e){e.push("X3D_SPECULAR_MATERIAL_EXT"),+this.getTextureBits()&&(e.push("X3D_MATERIAL_TEXTURES"),this.specularTextureNode?.getShaderOptions(e,"SPECULAR",!0),this.specularColorTextureNode?.getShaderOptions(e,"SPECULAR_COLOR",!0))},setShaderUniforms(e,t,s,i,n){e.uniform1f(t.x3d_SpecularEXT,this.specular),e.uniform3fv(t.x3d_SpecularColorEXT,this.specularColorArray),+this.getTextureBits()&&(this.specularTextureNode?.setNamedShaderUniforms(e,t,s,t.x3d_SpecularTextureEXT,this._specularTextureMapping.getValue(),i,n),this.specularColorTextureNode?.setNamedShaderUniforms(e,t,s,t.x3d_SpecularColorTextureEXT,this._specularColorTextureMapping.getValue(),i,n))}}),Object.defineProperties(Oe,{typeName:{value:"SpecularMaterialExtension",enumerable:!0},componentInfo:{value:Object.freeze({name:"X_ITE",level:1}),enumerable:!0},containerField:{value:"extensions",enumerable:!0},specificationRange:{value:Object.freeze({from:"4.0",to:"Infinity"}),enumerable:!0},fieldDefinitions:{value:new(u())([new(o())(c().inputOutput,"metadata",new(n().SFNode)),new(o())(c().inputOutput,"specular",new(n().SFFloat)(1)),new(o())(c().inputOutput,"specularTextureMapping",new(n().SFString)),new(o())(c().inputOutput,"specularTexture",new(n().SFNode)),new(o())(c().inputOutput,"specularColor",new(n().SFColor)(1,1,1)),new(o())(c().inputOutput,"specularColorTextureMapping",new(n().SFString)),new(o())(c().inputOutput,"specularColorTexture",new(n().SFNode))]),enumerable:!0}});const Ne=Oe;d().add("SpecularMaterialExtension","x_ite/Components/X_ITE/SpecularMaterialExtension",Ne);const Ie=Ne;function ye(e){$.call(this,e),this.addType(c().TransmissionMaterialExtension)}Object.assign(Object.setPrototypeOf(ye.prototype,$.prototype),{initialize(){$.prototype.initialize.call(this),this._transmission.addInterest("set_transmission__",this),this._transmissionTexture.addInterest("set_transmissionTexture__",this),this.set_transmission__(),this.set_transmissionTexture__()},set_transmission__(){this.transmission=Math.max(this._transmission.getValue(),0)},set_transmissionTexture__(){this.transmissionTextureNode=V()(c().X3DSingleTextureNode,this._transmissionTexture),this.setTexture(0,this.transmissionTextureNode)},getExtensionKey:()=>ee.TRANSMISSION_MATERIAL_EXTENSION,getShaderOptions(e){e.push("X3D_TRANSMISSION_MATERIAL_EXT"),+this.getTextureBits()&&(e.push("X3D_MATERIAL_TEXTURES"),this.transmissionTextureNode?.getShaderOptions(e,"TRANSMISSION",!0))},setShaderUniforms(e,t,s,i,n){const r=this.getBrowser(),o=r.getTransmissionBuffer(),a=r.getTexture2DUnit();e.uniform1f(t.x3d_TransmissionEXT,this.transmission),e.activeTexture(e.TEXTURE0+a),e.bindTexture(e.TEXTURE_2D,o.getColorTexture()),e.uniform1i(t.x3d_TransmissionFramebufferSamplerEXT,a),e.uniform2i(t.x3d_TransmissionFramebufferSizeEXT,o.getWidth(),o.getHeight()),+this.getTextureBits()&&this.transmissionTextureNode?.setNamedShaderUniforms(e,t,s,t.x3d_TransmissionTextureEXT,this._transmissionTextureMapping.getValue(),i,n)}}),Object.defineProperties(ye,{typeName:{value:"TransmissionMaterialExtension",enumerable:!0},componentInfo:{value:Object.freeze({name:"X_ITE",level:1}),enumerable:!0},containerField:{value:"extensions",enumerable:!0},specificationRange:{value:Object.freeze({from:"4.0",to:"Infinity"}),enumerable:!0},fieldDefinitions:{value:new(u())([new(o())(c().inputOutput,"metadata",new(n().SFNode)),new(o())(c().inputOutput,"transmission",new(n().SFFloat)),new(o())(c().inputOutput,"transmissionTextureMapping",new(n().SFString)),new(o())(c().inputOutput,"transmissionTexture",new(n().SFNode))]),enumerable:!0}});const we=ye;d().add("TransmissionMaterialExtension","x_ite/Components/X_ITE/TransmissionMaterialExtension",we);const Ae=we;function Re(e){$.call(this,e),this.addType(c().VolumeMaterialExtension),this.attenuationColorArray=new Float32Array(3)}Object.assign(Object.setPrototypeOf(Re.prototype,$.prototype),{initialize(){$.prototype.initialize.call(this),this._thickness.addInterest("set_thickness__",this),this._thicknessTexture.addInterest("set_thicknessTexture__",this),this._attenuationDistance.addInterest("set_attenuationDistance__",this),this._attenuationColor.addInterest("set_attenuationColor__",this),this.set_thickness__(),this.set_thicknessTexture__(),this.set_attenuationDistance__(),this.set_attenuationColor__()},set_thickness__(){this.thickness=Math.max(this._thickness.getValue(),0)},set_thicknessTexture__(){this.thicknessTextureNode=V()(c().X3DSingleTextureNode,this._thicknessTexture),this.setTexture(0,this.thicknessTextureNode)},set_attenuationDistance__(){this.attenuationDistance=Math.max(this._attenuationDistance.getValue(),0)},set_attenuationColor__(){const e=this.attenuationColorArray,t=this._attenuationColor.getValue();e[0]=t.r,e[1]=t.g,e[2]=t.b},getExtensionKey:()=>ee.VOLUME_MATERIAL_EXTENSION,getShaderOptions(e){e.push("X3D_VOLUME_MATERIAL_EXT"),+this.getTextureBits()&&(e.push("X3D_MATERIAL_TEXTURES"),this.thicknessTextureNode?.getShaderOptions(e,"THICKNESS",!0))},setShaderUniforms(e,t,s,i,n){e.uniform1f(t.x3d_ThicknessEXT,this.thickness),e.uniform1f(t.x3d_AttenuationDistanceEXT,this.attenuationDistance),e.uniform3fv(t.x3d_AttenuationColorEXT,this.attenuationColorArray),+this.getTextureBits()&&this.thicknessTextureNode?.setNamedShaderUniforms(e,t,s,t.x3d_ThicknessTextureEXT,this._thicknessTextureMapping.getValue(),i,n)}}),Object.defineProperties(Re,{typeName:{value:"VolumeMaterialExtension",enumerable:!0},componentInfo:{value:Object.freeze({name:"X_ITE",level:1}),enumerable:!0},containerField:{value:"extensions",enumerable:!0},specificationRange:{value:Object.freeze({from:"4.0",to:"Infinity"}),enumerable:!0},fieldDefinitions:{value:new(u())([new(o())(c().inputOutput,"metadata",new(n().SFNode)),new(o())(c().inputOutput,"thickness",new(n().SFFloat)),new(o())(c().inputOutput,"thicknessTextureMapping",new(n().SFString)),new(o())(c().inputOutput,"thicknessTexture",new(n().SFNode)),new(o())(c().inputOutput,"attenuationDistance",new(n().SFFloat)(1e6)),new(o())(c().inputOutput,"attenuationColor",new(n().SFColor)(1,1,1))]),enumerable:!0}});const Ce=Re;d().add("VolumeMaterialExtension","x_ite/Components/X_ITE/VolumeMaterialExtension",Ce);const be=Ce;s().add({name:"X_ITE",concreteNodes:[S,f,v,q,ie,oe,_e,ce,Te,Ee,ge,Ie,Ae,be],abstractNodes:[$]});const Me=void 0;d().add("X_ITE","assets/components/X_ITE",Me)})();
1
+ /* X_ITE v10.2.0 */(()=>{"use strict";var e={n:t=>{var s=t&&t.__esModule?()=>t.default:()=>t;return e.d(s,{a:s}),s},d:(t,s)=>{for(var i in s)e.o(s,i)&&!e.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:s[i]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)};const t=window[Symbol.for("X_ITE.X3D-10.2.0")].require("x_ite/Components");var s=e.n(t);const i=window[Symbol.for("X_ITE.X3D-10.2.0")].require("x_ite/Fields");var n=e.n(i);const r=window[Symbol.for("X_ITE.X3D-10.2.0")].require("x_ite/Base/X3DFieldDefinition");var o=e.n(r);const a=window[Symbol.for("X_ITE.X3D-10.2.0")].require("x_ite/Base/FieldDefinitionArray");var u=e.n(a);const _=window[Symbol.for("X_ITE.X3D-10.2.0")].require("x_ite/Components/Core/X3DNode");var l=e.n(_);const h=window[Symbol.for("X_ITE.X3D-10.2.0")].require("x_ite/Base/X3DConstants");var c=e.n(h);const d=window[Symbol.for("X_ITE.X3D-10.2.0")].require("standard/Utility/BitSet");var p=e.n(d);const T=window[Symbol.for("X_ITE.X3D-10.2.0")].require("x_ite/Namespace");var x=e.n(T);function f(e){l().call(this,e),this.addType(c().X3DMaterialExtensionNode),this.textureBits=new(p())}Object.assign(Object.setPrototypeOf(f.prototype,l().prototype),{setTexture(e,t){e*=4,this.textureBits.remove(e,15),this.textureBits.add(e,t?.getTextureBits()??0)},getTextureBits(){return this.textureBits}}),Object.defineProperties(f,{typeName:{value:"X3DMaterialExtensionNode",enumerable:!0},componentInfo:{value:Object.freeze({name:"X_ITE",level:1}),enumerable:!0}});const S=f;x().add("X3DMaterialExtensionNode","x_ite/Components/X_ITE/X3DMaterialExtensionNode",S);const m=S,E=window[Symbol.for("X_ITE.X3D-10.2.0")].require("x_ite/Base/X3DCast");var g=e.n(E);let O=0;const N={ANISOTROPY_MATERIAL_EXTENSION:O++,CLEARCOAT_MATERIAL_EXTENSION:O++,DIFFUSE_TRANSMISSION_EXTENSION:O++,DISPERSION_MATERIAL_EXTENSION:O++,EMISSIVE_STRENGTH_MATERIAL_EXTENSION:O++,IOR_MATERIAL_EXTENSION:O++,IRIDESCENCE_MATERIAL_EXTENSION:O++,SHEEN_MATERIAL_EXTENSION:O++,SPECULAR_MATERIAL_EXTENSION:O++,TRANSMISSION_MATERIAL_EXTENSION:O++,UNLIT_MATERIAL_EXTENSION:O++,VOLUME_MATERIAL_EXTENSION:O++};x().add("ExtensionKeys","x_ite/Browser/X_ITE/ExtensionKeys",N);const I=N;function y(e){m.call(this,e),this.addType(c().AnisotropyMaterialExtension),this.anisotropyArray=new Float32Array(3)}Object.assign(Object.setPrototypeOf(y.prototype,m.prototype),{initialize(){m.prototype.initialize.call(this),this._anisotropyStrength.addInterest("set_anisotropyStrength__",this),this._anisotropyRotation.addInterest("set_anisotropyRotation__",this),this._anisotropyTexture.addInterest("set_anisotropyTexture__",this),this.set_anisotropyStrength__(),this.set_anisotropyRotation__(),this.set_anisotropyTexture__()},set_anisotropyStrength__(){this.anisotropyArray[2]=Math.max(this._anisotropyStrength.getValue(),0)},set_anisotropyRotation__(){const e=this._anisotropyRotation.getValue();this.anisotropyArray[0]=Math.cos(e),this.anisotropyArray[1]=Math.sin(e)},set_anisotropyTexture__(){this.anisotropyTextureNode=g()(c().X3DSingleTextureNode,this._anisotropyTexture),this.setTexture(0,this.anisotropyTextureNode)},getExtensionKey:()=>I.ANISOTROPY_MATERIAL_EXTENSION,getShaderOptions(e){e.push("X3D_ANISOTROPY_MATERIAL_EXT"),+this.getTextureBits()&&(e.push("X3D_MATERIAL_TEXTURES"),this.anisotropyTextureNode?.getShaderOptions(e,"ANISOTROPY",!0))},setShaderUniforms(e,t,s,i,n){e.uniform3fv(t.x3d_AnisotropyEXT,this.anisotropyArray),this.anisotropyTextureNode?.setNamedShaderUniforms(e,t,s,t.x3d_AnisotropyTextureEXT,this._anisotropyTextureMapping.getValue(),i,n)}}),Object.defineProperties(y,{typeName:{value:"AnisotropyMaterialExtension",enumerable:!0},componentInfo:{value:Object.freeze({name:"X_ITE",level:1}),enumerable:!0},containerField:{value:"extensions",enumerable:!0},specificationRange:{value:Object.freeze({from:"4.0",to:"Infinity"}),enumerable:!0},fieldDefinitions:{value:new(u())([new(o())(c().inputOutput,"metadata",new(n().SFNode)),new(o())(c().inputOutput,"anisotropyStrength",new(n().SFFloat)),new(o())(c().inputOutput,"anisotropyRotation",new(n().SFFloat)),new(o())(c().inputOutput,"anisotropyTextureMapping",new(n().SFString)),new(o())(c().inputOutput,"anisotropyTexture",new(n().SFNode))]),enumerable:!0}});const w=y;x().add("AnisotropyMaterialExtension","x_ite/Components/X_ITE/AnisotropyMaterialExtension",w);const A=w,C=window[Symbol.for("X_ITE.X3D-10.2.0")].require("x_ite/Components/Shape/X3DAppearanceChildNode");var R=e.n(C);function b(e){R().call(this,e),this.addType(c().BlendMode),this.factorTypes=new Map,this.equationTypes=new Map}Object.assign(Object.setPrototypeOf(b.prototype,R().prototype),{initialize(){R().prototype.initialize.call(this);const e=this.getBrowser().getContext(),t=e.getExtension("EXT_blend_minmax");this.factorTypes.set("ZERO",e.ZERO),this.factorTypes.set("ONE",e.ONE),this.factorTypes.set("SRC_COLOR",e.SRC_COLOR),this.factorTypes.set("ONE_MINUS_SRC_COLOR",e.ONE_MINUS_SRC_COLOR),this.factorTypes.set("DST_COLOR",e.DST_COLOR),this.factorTypes.set("ONE_MINUS_DST_COLOR",e.ONE_MINUS_DST_COLOR),this.factorTypes.set("SRC_ALPHA",e.SRC_ALPHA),this.factorTypes.set("ONE_MINUS_SRC_ALPHA",e.ONE_MINUS_SRC_ALPHA),this.factorTypes.set("DST_ALPHA",e.DST_ALPHA),this.factorTypes.set("ONE_MINUS_DST_ALPHA",e.ONE_MINUS_DST_ALPHA),this.factorTypes.set("SRC_ALPHA_SATURATE",e.SRC_ALPHA_SATURATE),this.factorTypes.set("CONSTANT_COLOR",e.CONSTANT_COLOR),this.factorTypes.set("ONE_MINUS_CONSTANT_COLOR",e.ONE_MINUS_CONSTANT_COLOR),this.factorTypes.set("CONSTANT_ALPHA",e.CONSTANT_ALPHA),this.factorTypes.set("ONE_MINUS_CONSTANT_ALPHA",e.ONE_MINUS_CONSTANT_ALPHA),this.equationTypes.set("FUNC_ADD",e.FUNC_ADD),this.equationTypes.set("FUNC_SUBTRACT",e.FUNC_SUBTRACT),this.equationTypes.set("FUNC_REVERSE_SUBTRACT",e.FUNC_REVERSE_SUBTRACT),this.equationTypes.set("MIN",e.MIN||t&&t.MIN_EXT),this.equationTypes.set("MAX",e.MAX||t&&t.MAX_EXT),this._sourceColorFactor.addInterest("set_sourceColorFactor__",this),this._sourceAlphaFactor.addInterest("set_sourceAlphaFactor__",this),this._destinationColorFactor.addInterest("set_destinationColorFactor__",this),this._destinationAlphaFactor.addInterest("set_destinationAlphaFactor__",this),this._colorEquation.addInterest("set_colorEquation__",this),this._alphaEquation.addInterest("set_alphaEquation__",this),this.set_sourceColorFactor__(),this.set_sourceAlphaFactor__(),this.set_destinationColorFactor__(),this.set_destinationAlphaFactor__(),this.set_colorEquation__(),this.set_alphaEquation__()},set_sourceColorFactor__(){this.sourceColorFactorType=this.factorTypes.get(this._sourceColorFactor.getValue())??this.factorTypes.get("SRC_ALPHA")},set_sourceAlphaFactor__(){this.sourceAlphaFactorType=this.factorTypes.get(this._sourceAlphaFactor.getValue())??this.factorTypes.get("ONE")},set_destinationColorFactor__(){this.destinationColorFactorType=this.factorTypes.get(this._destinationColorFactor.getValue())??this.factorTypes.get("ONE_MINUS_SRC_ALPHA")},set_destinationAlphaFactor__(){this.destinationAlphaFactorType=this.factorTypes.get(this._destinationAlphaFactor.getValue())??this.factorTypes.get("ONE_MINUS_SRC_ALPHA")},set_colorEquation__(){this.colorEquationType=this.equationTypes.get(this._colorEquation.getValue())??this.equationTypes.get("FUNC_ADD")},set_alphaEquation__(){this.alphaEquationType=this.equationTypes.get(this._alphaEquation.getValue())??this.equationTypes.get("FUNC_ADD")},enable(e){const t=this._blendColor.getValue();e.blendColor(t.r,t.g,t.b,t.a),e.blendFuncSeparate(this.sourceColorFactorType,this.destinationColorFactorType,this.sourceAlphaFactorType,this.destinationAlphaFactorType),e.blendEquationSeparate(this.colorEquationType,this.alphaEquationType)},disable(e){e.blendFuncSeparate(e.SRC_ALPHA,e.ONE_MINUS_SRC_ALPHA,e.ONE,e.ONE_MINUS_SRC_ALPHA),e.blendEquationSeparate(e.FUNC_ADD,e.FUNC_ADD)}}),Object.defineProperties(b,{typeName:{value:"BlendMode",enumerable:!0},componentInfo:{value:Object.freeze({name:"X_ITE",level:1}),enumerable:!0},containerField:{value:"blendMode",enumerable:!0},specificationRange:{value:Object.freeze({from:"3.3",to:"Infinity"}),enumerable:!0},fieldDefinitions:{value:new(u())([new(o())(c().inputOutput,"metadata",new(n().SFNode)),new(o())(c().inputOutput,"blendColor",new(n().SFColorRGBA)),new(o())(c().inputOutput,"sourceColorFactor",new(n().SFString)("SRC_ALPHA")),new(o())(c().inputOutput,"sourceAlphaFactor",new(n().SFString)("ONE")),new(o())(c().inputOutput,"destinationColorFactor",new(n().SFString)("ONE_MINUS_SRC_ALPHA")),new(o())(c().inputOutput,"destinationAlphaFactor",new(n().SFString)("ONE_MINUS_SRC_ALPHA")),new(o())(c().inputOutput,"colorEquation",new(n().SFString)("FUNC_ADD")),new(o())(c().inputOutput,"alphaEquation",new(n().SFString)("FUNC_ADD"))]),enumerable:!0}});const M=b;x().add("BlendMode","x_ite/Components/X_ITE/BlendMode",M);const F=M,X=window[Symbol.for("X_ITE.X3D-10.2.0")].require("standard/Math/Algorithm");var D=e.n(X);function v(e){m.call(this,e),this.addType(c().ClearcoatMaterialExtension)}Object.assign(Object.setPrototypeOf(v.prototype,m.prototype),{initialize(){m.prototype.initialize.call(this),this._clearcoat.addInterest("set_clearcoat__",this),this._clearcoatTexture.addInterest("set_clearcoatTexture__",this),this._clearcoatRoughness.addInterest("set_clearcoatRoughness__",this),this._clearcoatRoughnessTexture.addInterest("set_clearcoatRoughnessTexture__",this),this._clearcoatNormalTexture.addInterest("set_clearcoatNormalTexture__",this),this.set_clearcoat__(),this.set_clearcoatTexture__(),this.set_clearcoatRoughness__(),this.set_clearcoatRoughnessTexture__(),this.set_clearcoatNormalTexture__()},set_clearcoat__(){this.clearcoat=Math.max(this._clearcoat.getValue(),0)},set_clearcoatTexture__(){this.clearcoatTextureNode=g()(c().X3DSingleTextureNode,this._clearcoatTexture),this.setTexture(0,this.clearcoatTextureNode)},set_clearcoatRoughness__(){this.clearcoatRoughness=D().clamp(this._clearcoatRoughness.getValue(),0,1)},set_clearcoatRoughnessTexture__(){this.clearcoatRoughnessTextureNode=g()(c().X3DSingleTextureNode,this._clearcoatRoughnessTexture),this.setTexture(1,this.clearcoatRoughnessTextureNode)},set_clearcoatNormalTexture__(){this.clearcoatNormalTextureNode=g()(c().X3DSingleTextureNode,this._clearcoatNormalTexture),this.setTexture(2,this.clearcoatNormalTextureNode)},getExtensionKey:()=>I.CLEARCOAT_MATERIAL_EXTENSION,getShaderOptions(e){e.push("X3D_CLEARCOAT_MATERIAL_EXT"),+this.getTextureBits()&&(e.push("X3D_MATERIAL_TEXTURES"),this.clearcoatTextureNode?.getShaderOptions(e,"CLEARCOAT",!0),this.clearcoatRoughnessTextureNode?.getShaderOptions(e,"CLEARCOAT_ROUGHNESS",!0),this.clearcoatNormalTextureNode?.getShaderOptions(e,"CLEARCOAT_NORMAL",!0))},setShaderUniforms(e,t,s,i,n){e.uniform1f(t.x3d_ClearcoatEXT,this.clearcoat),e.uniform1f(t.x3d_ClearcoatRoughnessEXT,this.clearcoatRoughness),+this.getTextureBits()&&(this.clearcoatTextureNode?.setNamedShaderUniforms(e,t,s,t.x3d_ClearcoatTextureEXT,this._clearcoatTextureMapping.getValue(),i,n),this.clearcoatRoughnessTextureNode?.setNamedShaderUniforms(e,t,s,t.x3d_ClearcoatRoughnessTextureEXT,this._clearcoatRoughnessTextureMapping.getValue(),i,n),this.clearcoatNormalTextureNode?.setNamedShaderUniforms(e,t,s,t.x3d_ClearcoatNormalTextureEXT,this._clearcoatNormalTextureMapping.getValue(),i,n))}}),Object.defineProperties(v,{typeName:{value:"ClearcoatMaterialExtension",enumerable:!0},componentInfo:{value:Object.freeze({name:"X_ITE",level:1}),enumerable:!0},containerField:{value:"extensions",enumerable:!0},specificationRange:{value:Object.freeze({from:"4.0",to:"Infinity"}),enumerable:!0},fieldDefinitions:{value:new(u())([new(o())(c().inputOutput,"metadata",new(n().SFNode)),new(o())(c().inputOutput,"clearcoat",new(n().SFFloat)),new(o())(c().inputOutput,"clearcoatTextureMapping",new(n().SFString)),new(o())(c().inputOutput,"clearcoatTexture",new(n().SFNode)),new(o())(c().inputOutput,"clearcoatRoughness",new(n().SFFloat)),new(o())(c().inputOutput,"clearcoatRoughnessTextureMapping",new(n().SFString)),new(o())(c().inputOutput,"clearcoatRoughnessTexture",new(n().SFNode)),new(o())(c().inputOutput,"clearcoatNormalTextureMapping",new(n().SFString)),new(o())(c().inputOutput,"clearcoatNormalTexture",new(n().SFNode))]),enumerable:!0}});const L=v;x().add("ClearcoatMaterialExtension","x_ite/Components/X_ITE/ClearcoatMaterialExtension",L);const U=L;function P(e){R().call(this,e),this.addType(c().DepthMode),this.addAlias("depthFunc",this._depthFunction)}Object.assign(Object.setPrototypeOf(P.prototype,R().prototype),{initialize(){R().prototype.initialize.call(this),this._depthFunction.addInterest("set_depthFunction__",this),this.set_depthFunction__()},set_depthFunction__:function(){const e=new Map([["NEVER","NEVER"],["LESS","LESS"],["EQUAL","EQUAL"],["LESS_EQUAL","LEQUAL"],["GREATER","GREATER"],["NOT_EQUAL","NOTEQUAL"],["GREATER_EQUAL","GEQUAL"],["ALWAYS","ALWAYS"]]);return function(){const t=this.getBrowser().getContext();this.depthFunction=t[e.get(this._depthFunction.getValue())??"LEQUAL"]}}(),enable(e){this.depthTest=e.isEnabled(e.DEPTH_TEST),this.depthWriteMask=e.getParameter(e.DEPTH_WRITEMASK),e.enable(e.POLYGON_OFFSET_FILL),e.polygonOffset(...this._polygonOffset),this._depthTest.getValue()?e.enable(e.DEPTH_TEST):e.disable(e.DEPTH_TEST),e.depthFunc(this.depthFunction),e.depthRange(...this._depthRange.getValue()),e.depthMask(this._depthMask.getValue())},disable(e){e.disable(e.POLYGON_OFFSET_FILL),this.depthTest?e.enable(e.DEPTH_TEST):e.disable(e.DEPTH_TEST),e.depthFunc(e.LEQUAL),e.depthRange(0,1),e.depthMask(this.depthWriteMask)}}),Object.defineProperties(P,{typeName:{value:"DepthMode",enumerable:!0},componentInfo:{value:Object.freeze({name:"X_ITE",level:1}),enumerable:!0},containerField:{value:"depthMode",enumerable:!0},specificationRange:{value:Object.freeze({from:"4.0",to:"Infinity"}),enumerable:!0},fieldDefinitions:{value:new(u())([new(o())(c().inputOutput,"metadata",new(n().SFNode)),new(o())(c().inputOutput,"polygonOffset",new(n().SFVec2f)),new(o())(c().inputOutput,"depthRange",new(n().SFVec2f)(0,1)),new(o())(c().inputOutput,"depthTest",new(n().SFBool)(!0)),new(o())(c().inputOutput,"depthFunction",new(n().SFString)("LESS_EQUAL")),new(o())(c().inputOutput,"depthMask",new(n().SFBool)(!0))]),enumerable:!0}});const V=P;x().add("DepthMode","x_ite/Components/X_ITE/DepthMode",V);const j=V;function B(e){m.call(this,e),this.addType(c().DiffuseTransmissionMaterialExtension),this.diffuseTransmissionColorArray=new Float32Array(3)}Object.assign(Object.setPrototypeOf(B.prototype,m.prototype),{initialize(){m.prototype.initialize.call(this),this._diffuseTransmission.addInterest("set_diffuseTransmission__",this),this._diffuseTransmissionTexture.addInterest("set_diffuseTransmissionTexture__",this),this._diffuseTransmissionColor.addInterest("set_diffuseTransmissionColor__",this),this._diffuseTransmissionColorTexture.addInterest("set_diffuseTransmissionColorTexture__",this),this.set_diffuseTransmission__(),this.set_diffuseTransmissionTexture__(),this.set_diffuseTransmissionColor__(),this.set_diffuseTransmissionColorTexture__()},set_diffuseTransmission__(){this.diffuseTransmission=Math.max(this._diffuseTransmission.getValue(),0)},set_diffuseTransmissionTexture__(){this.diffuseTransmissionTextureNode=g()(c().X3DSingleTextureNode,this._diffuseTransmissionTexture),this.setTexture(0,this.diffuseTransmissionTextureNode)},set_diffuseTransmissionColor__(){const e=this.diffuseTransmissionColorArray,t=this._diffuseTransmissionColor.getValue();e[0]=t.r,e[1]=t.g,e[2]=t.b},set_diffuseTransmissionColorTexture__(){this.diffuseTransmissionColorTextureNode=g()(c().X3DSingleTextureNode,this._diffuseTransmissionColorTexture),this.setTexture(1,this.diffuseTransmissionColorTextureNode)},getExtensionKey:()=>I.DIFFUSE_TRANSMISSION_EXTENSION,getShaderOptions(e){e.push("X3D_DIFFUSE_TRANSMISSION_MATERIAL_EXT"),+this.getTextureBits()&&(e.push("X3D_MATERIAL_TEXTURES"),this.diffuseTransmissionTextureNode?.getShaderOptions(e,"DIFFUSE_TRANSMISSION",!0),this.diffuseTransmissionColorTextureNode?.getShaderOptions(e,"DIFFUSE_TRANSMISSION_COLOR",!0))},setShaderUniforms(e,t,s,i,n){e.uniform1f(t.x3d_DiffuseTransmissionEXT,this.diffuseTransmission),e.uniform3fv(t.x3d_DiffuseTransmissionColorEXT,this.diffuseTransmissionColorArray),+this.getTextureBits()&&(this.diffuseTransmissionTextureNode?.setNamedShaderUniforms(e,t,s,t.x3d_DiffuseTransmissionTextureEXT,this._diffuseTransmissionTextureMapping.getValue(),i,n),this.diffuseTransmissionColorTextureNode?.setNamedShaderUniforms(e,t,s,t.x3d_DiffuseTransmissionColorTextureEXT,this._diffuseTransmissionColorTextureMapping.getValue(),i,n))}}),Object.defineProperties(B,{typeName:{value:"DiffuseTransmissionMaterialExtension",enumerable:!0},componentInfo:{value:Object.freeze({name:"X_ITE",level:1}),enumerable:!0},containerField:{value:"extensions",enumerable:!0},specificationRange:{value:Object.freeze({from:"4.0",to:"Infinity"}),enumerable:!0},fieldDefinitions:{value:new(u())([new(o())(c().inputOutput,"metadata",new(n().SFNode)),new(o())(c().inputOutput,"diffuseTransmission",new(n().SFFloat)),new(o())(c().inputOutput,"diffuseTransmissionTextureMapping",new(n().SFString)),new(o())(c().inputOutput,"diffuseTransmissionTexture",new(n().SFNode)),new(o())(c().inputOutput,"diffuseTransmissionColor",new(n().SFColor)(1,1,1)),new(o())(c().inputOutput,"diffuseTransmissionColorTextureMapping",new(n().SFString)),new(o())(c().inputOutput,"diffuseTransmissionColorTexture",new(n().SFNode))]),enumerable:!0}});const z=B;x().add("DiffuseTransmissionMaterialExtension","x_ite/Components/X_ITE/DiffuseTransmissionMaterialExtension",z);const k=z;function q(e){m.call(this,e),this.addType(c().DispersionMaterialExtension)}Object.assign(Object.setPrototypeOf(q.prototype,m.prototype),{initialize(){m.prototype.initialize.call(this),this._dispersion.addInterest("set_dispersion__",this),this.set_dispersion__()},set_dispersion__(){this.dispersion=Math.max(this._dispersion.getValue(),0)},getExtensionKey:()=>I.DISPERSION_MATERIAL_EXTENSION,getShaderOptions(e){e.push("X3D_DISPERSION_MATERIAL_EXT")},setShaderUniforms(e,t,s,i,n){e.uniform1f(t.x3d_DispersionEXT,this.dispersion)}}),Object.defineProperties(q,{typeName:{value:"DispersionMaterialExtension",enumerable:!0},componentInfo:{value:Object.freeze({name:"X_ITE",level:1}),enumerable:!0},containerField:{value:"extensions",enumerable:!0},specificationRange:{value:Object.freeze({from:"4.0",to:"Infinity"}),enumerable:!0},fieldDefinitions:{value:new(u())([new(o())(c().inputOutput,"metadata",new(n().SFNode)),new(o())(c().inputOutput,"dispersion",new(n().SFFloat))]),enumerable:!0}});const G=q;x().add("DispersionMaterialExtension","x_ite/Components/X_ITE/DispersionMaterialExtension",G);const H=G;function K(e){m.call(this,e),this.addType(c().EmissiveStrengthMaterialExtension)}Object.assign(Object.setPrototypeOf(K.prototype,m.prototype),{initialize(){m.prototype.initialize.call(this),this._emissiveStrength.addInterest("set_emissiveStrength__",this),this.set_emissiveStrength__()},set_emissiveStrength__(){this.emissiveStrength=Math.max(this._emissiveStrength.getValue(),0)},getExtensionKey:()=>I.EMISSIVE_STRENGTH_MATERIAL_EXTENSION,getShaderOptions(e){e.push("X3D_EMISSIVE_STRENGTH_MATERIAL_EXT")},setShaderUniforms(e,t,s,i,n){e.uniform1f(t.x3d_EmissiveStrengthEXT,this.emissiveStrength)}}),Object.defineProperties(K,{typeName:{value:"EmissiveStrengthMaterialExtension",enumerable:!0},componentInfo:{value:Object.freeze({name:"X_ITE",level:1}),enumerable:!0},containerField:{value:"extensions",enumerable:!0},specificationRange:{value:Object.freeze({from:"4.0",to:"Infinity"}),enumerable:!0},fieldDefinitions:{value:new(u())([new(o())(c().inputOutput,"metadata",new(n().SFNode)),new(o())(c().inputOutput,"emissiveStrength",new(n().SFFloat)(1))]),enumerable:!0}});const Y=K;x().add("EmissiveStrengthMaterialExtension","x_ite/Components/X_ITE/EmissiveStrengthMaterialExtension",Y);const Q=Y,W=window[Symbol.for("X_ITE.X3D-10.2.0")].require("x_ite/Components/Shape/X3DShapeNode");var $=e.n(W);const Z=window[Symbol.for("X_ITE.X3D-10.2.0")].require("x_ite/Rendering/TraverseType");var J=e.n(Z);const ee=window[Symbol.for("X_ITE.X3D-10.2.0")].require("x_ite/Rendering/VertexArray");var te=e.n(ee);const se=window[Symbol.for("X_ITE.X3D-10.2.0")].require("standard/Math/Numbers/Vector3");var ie=e.n(se);const ne=window[Symbol.for("X_ITE.X3D-10.2.0")].require("standard/Math/Numbers/Matrix4");var re=e.n(ne);const oe=window[Symbol.for("X_ITE.X3D-10.2.0")].require("standard/Math/Geometry/Box3");var ae=e.n(oe);function ue(e){$().call(this,e),this.addType(c().InstancedShape),this.addChildObjects(c().outputOnly,"matrices",new(n().SFTime)),this.min=new(ie()),this.max=new(ie()),this.scale=new(ie())(1,1,1),this.numInstances=0,this.instancesStride=25*Float32Array.BYTES_PER_ELEMENT,this.matrixOffset=0,this.normalMatrixOffset=16*Float32Array.BYTES_PER_ELEMENT}Object.assign(Object.setPrototypeOf(ue.prototype,$().prototype),{initialize(){$().prototype.initialize.call(this);const e=this.getBrowser(),t=e.getContext();e.getContext().getVersion()<2||(this.instances=Object.assign(t.createBuffer(),{vertexArrayObject:new(te())(t),thickLinesVertexArrayObject:new(te())(t),lineTrianglesBuffer:t.createBuffer(),numLines:0}),this._translations.addInterest("set_transform__",this),this._rotations.addInterest("set_transform__",this),this._scales.addInterest("set_transform__",this),this._matrices.addInterest("set_matrices__",this),this.set_transform__())},getShapeKey:()=>3,getNumInstances(){return this.numInstances},getInstances(){return this.instances},set_bbox__:function(){const e=new(ie()),t=new(ie()),s=new(ae());return function(){if(this.numInstances)if(this._bboxSize.getValue().equals(this.getDefaultBBoxSize())){this.getGeometry()?s.assign(this.getGeometry().getBBox()):s.set();const i=s.size.multiply(this.scale.magnitude()/2),n=s.center;e.assign(this.min).add(n).subtract(i),t.assign(this.max).add(n).add(i),this.bbox.setExtents(e,t)}else this.bbox.set(this._bboxSize.getValue(),this._bboxCenter.getValue());else this.bbox.set();this.getBBoxSize().assign(this.bbox.size),this.getBBoxCenter().assign(this.bbox.center)}}(),set_transform__(){this._matrices=this.getBrowser().getCurrentTime()},set_matrices__(){const e=this.getBrowser().getContext(),t=this._translations,s=this._rotations,i=this._scales,n=t.length,r=s.length,o=i.length,a=Math.max(n,r,o),u=this.instancesStride/Float32Array.BYTES_PER_ELEMENT,_=this.instancesStride*a,l=new Float32Array(_),h=new(re());this.numInstances=a;const c=this.min.set(Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY),d=this.max.set(Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY),p=this.scale.assign(o?d:ie().One);for(let e=0,_=0;e<a;++e,_+=u)h.set(n?t[Math.min(e,n-1)].getValue():null,r?s[Math.min(e,r-1)].getValue():null,o?i[Math.min(e,o-1)].getValue():null),o&&p.max(i[Math.min(e,o-1)].getValue()),l.set(h,_),l.set(h.submatrix.transpose().inverse(),_+16),c.min(h.origin),d.max(h.origin);e.bindBuffer(e.ARRAY_BUFFER,this.instances),e.bufferData(e.ARRAY_BUFFER,l,e.DYNAMIC_DRAW),this.set_bbox__()},set_geometry__(){$().prototype.set_geometry__.call(this),this.getGeometry()?delete this.traverse:this.traverse=Function.prototype,this.set_transform__()},intersectsBox(e,t,s){},traverse(e,t){if(this.numInstances){switch(e){case J().POINTER:this._pointerEvents.getValue()&&t.addPointingShape(this);break;case J().PICKING:break;case J().COLLISION:t.addCollisionShape(this);break;case J().SHADOW:this._castShadow.getValue()&&t.addShadowShape(this);break;case J().DISPLAY:t.addDisplayShape(this)&&this.getAppearance().traverse(e,t)}this.getGeometry().traverse(e,t)}},displaySimple(e,t,s){this.getGeometry().displaySimpleInstanced(e,s,this)},display(e,t){this.getGeometry().displayInstanced(e,t,this)}}),Object.defineProperties(ue,{typeName:{value:"InstancedShape",enumerable:!0},componentInfo:{value:Object.freeze({name:"X_ITE",level:1}),enumerable:!0},containerField:{value:"children",enumerable:!0},specificationRange:{value:Object.freeze({from:"2.0",to:"Infinity"}),enumerable:!0},fieldDefinitions:{value:new(u())([new(o())(c().inputOutput,"metadata",new(n().SFNode)),new(o())(c().inputOutput,"translations",new(n().MFVec3f)),new(o())(c().inputOutput,"rotations",new(n().MFRotation)),new(o())(c().inputOutput,"scales",new(n().MFVec3f)),new(o())(c().inputOutput,"pointerEvents",new(n().SFBool)(!0)),new(o())(c().inputOutput,"castShadow",new(n().SFBool)(!0)),new(o())(c().inputOutput,"visible",new(n().SFBool)(!0)),new(o())(c().inputOutput,"bboxDisplay",new(n().SFBool)),new(o())(c().initializeOnly,"bboxSize",new(n().SFVec3f)(-1,-1,-1)),new(o())(c().initializeOnly,"bboxCenter",new(n().SFVec3f)),new(o())(c().inputOutput,"appearance",new(n().SFNode)),new(o())(c().inputOutput,"geometry",new(n().SFNode))]),enumerable:!0}});const _e=ue;x().add("InstancedShape","x_ite/Components/X_ITE/InstancedShape",_e);const le=_e;function he(e){m.call(this,e),this.addType(c().IORMaterialExtension)}Object.assign(Object.setPrototypeOf(he.prototype,m.prototype),{initialize(){m.prototype.initialize.call(this),this._indexOfRefraction.addInterest("set_indexOfRefraction__",this),this.set_indexOfRefraction__()},set_indexOfRefraction__(){this.indexOfRefraction=Math.max(this._indexOfRefraction.getValue(),1)},getExtensionKey:()=>I.IOR_MATERIAL_EXTENSION,getShaderOptions(e){e.push("X3D_IOR_MATERIAL_EXT")},setShaderUniforms(e,t,s,i,n){e.uniform1f(t.x3d_IorEXT,this.indexOfRefraction)}}),Object.defineProperties(he,{typeName:{value:"IORMaterialExtension",enumerable:!0},componentInfo:{value:Object.freeze({name:"X_ITE",level:1}),enumerable:!0},containerField:{value:"extensions",enumerable:!0},specificationRange:{value:Object.freeze({from:"4.0",to:"Infinity"}),enumerable:!0},fieldDefinitions:{value:new(u())([new(o())(c().inputOutput,"metadata",new(n().SFNode)),new(o())(c().inputOutput,"indexOfRefraction",new(n().SFFloat)(1.5))]),enumerable:!0}});const ce=he;x().add("IORMaterialExtension","x_ite/Components/X_ITE/IORMaterialExtension",ce);const de=ce;function pe(e){m.call(this,e),this.addType(c().IridescenceMaterialExtension)}Object.assign(Object.setPrototypeOf(pe.prototype,m.prototype),{initialize(){m.prototype.initialize.call(this),this._iridescence.addInterest("set_iridescence__",this),this._iridescenceTexture.addInterest("set_iridescenceTexture__",this),this._iridescenceIndexOfRefraction.addInterest("set_iridescenceIndexOfRefraction__",this),this._iridescenceThicknessMinimum.addInterest("set_iridescenceThicknessMinimum__",this),this._iridescenceThicknessMaximum.addInterest("set_iridescenceThicknessMaximum__",this),this._iridescenceThicknessTexture.addInterest("set_iridescenceThicknessTexture__",this),this.set_iridescence__(),this.set_iridescenceTexture__(),this.set_iridescenceIndexOfRefraction__(),this.set_iridescenceThicknessMinimum__(),this.set_iridescenceThicknessMaximum__(),this.set_iridescenceThicknessTexture__()},set_iridescence__(){this.iridescence=Math.max(this._iridescence.getValue(),0)},set_iridescenceTexture__(){this.iridescenceTextureNode=g()(c().X3DSingleTextureNode,this._iridescenceTexture),this.setTexture(0,this.iridescenceTextureNode)},set_iridescenceIndexOfRefraction__(){this.iridescenceIndexOfRefraction=Math.max(this._iridescenceIndexOfRefraction.getValue(),1)},set_iridescenceThicknessMinimum__(){this.iridescenceThicknessMinimum=Math.max(this._iridescenceThicknessMinimum.getValue(),0)},set_iridescenceThicknessMaximum__(){this.iridescenceThicknessMaximum=Math.max(this._iridescenceThicknessMaximum.getValue(),0)},set_iridescenceThicknessTexture__(){this.iridescenceThicknessTextureNode=g()(c().X3DSingleTextureNode,this._iridescenceThicknessTexture),this.setTexture(1,this.iridescenceThicknessTextureNode)},getExtensionKey:()=>I.IRIDESCENCE_MATERIAL_EXTENSION,getShaderOptions(e){e.push("X3D_IRIDESCENCE_MATERIAL_EXT"),+this.getTextureBits()&&(e.push("X3D_MATERIAL_TEXTURES"),this.iridescenceTextureNode?.getShaderOptions(e,"IRIDESCENCE",!0),this.iridescenceThicknessTextureNode?.getShaderOptions(e,"IRIDESCENCE_THICKNESS",!0))},setShaderUniforms(e,t,s,i,n){e.uniform1f(t.x3d_IridescenceEXT,this.iridescence),e.uniform1f(t.x3d_IridescenceIndexOfRefractionEXT,this.iridescenceIndexOfRefraction),e.uniform1f(t.x3d_IridescenceThicknessMinimumEXT,this.iridescenceThicknessMinimum),e.uniform1f(t.x3d_IridescenceThicknessMaximumEXT,this.iridescenceThicknessMaximum),+this.getTextureBits()&&(this.iridescenceTextureNode?.setNamedShaderUniforms(e,t,s,t.x3d_IridescenceTextureEXT,this._iridescenceTextureMapping.getValue(),i,n),this.iridescenceThicknessTextureNode?.setNamedShaderUniforms(e,t,s,t.x3d_IridescenceThicknessTextureEXT,this._iridescenceThicknessTextureMapping.getValue(),i,n))}}),Object.defineProperties(pe,{typeName:{value:"IridescenceMaterialExtension",enumerable:!0},componentInfo:{value:Object.freeze({name:"X_ITE",level:1}),enumerable:!0},containerField:{value:"extensions",enumerable:!0},specificationRange:{value:Object.freeze({from:"4.0",to:"Infinity"}),enumerable:!0},fieldDefinitions:{value:new(u())([new(o())(c().inputOutput,"metadata",new(n().SFNode)),new(o())(c().inputOutput,"iridescence",new(n().SFFloat)),new(o())(c().inputOutput,"iridescenceTextureMapping",new(n().SFString)),new(o())(c().inputOutput,"iridescenceTexture",new(n().SFNode)),new(o())(c().inputOutput,"iridescenceIndexOfRefraction",new(n().SFFloat)(1.3)),new(o())(c().inputOutput,"iridescenceThicknessMinimum",new(n().SFFloat)(100)),new(o())(c().inputOutput,"iridescenceThicknessMaximum",new(n().SFFloat)(400)),new(o())(c().inputOutput,"iridescenceThicknessTextureMapping",new(n().SFString)),new(o())(c().inputOutput,"iridescenceThicknessTexture",new(n().SFNode))]),enumerable:!0}});const Te=pe;x().add("IridescenceMaterialExtension","x_ite/Components/X_ITE/IridescenceMaterialExtension",Te);const xe=Te;function fe(e){m.call(this,e),this.addType(c().SheenMaterialExtension),this.sheenColorArray=new Float32Array(3)}Object.assign(Object.setPrototypeOf(fe.prototype,m.prototype),{initialize(){m.prototype.initialize.call(this),this._sheenColor.addInterest("set_sheenColor__",this),this._sheenColorTexture.addInterest("set_sheenColorTexture__",this),this._sheenRoughness.addInterest("set_sheenRoughness__",this),this._sheenRoughnessTexture.addInterest("set_sheenRoughnessTexture__",this),this.set_sheenColor__(),this.set_sheenColorTexture__(),this.set_sheenRoughness__(),this.set_sheenRoughnessTexture__()},set_sheenColor__(){const e=this.sheenColorArray,t=this._sheenColor.getValue();e[0]=t.r,e[1]=t.g,e[2]=t.b},set_sheenColorTexture__(){this.sheenColorTextureNode=g()(c().X3DSingleTextureNode,this._sheenColorTexture),this.setTexture(0,this.sheenColorTextureNode)},set_sheenRoughness__(){this.sheenRoughness=D().clamp(this._sheenRoughness.getValue(),0,1)},set_sheenRoughnessTexture__(){this.sheenRoughnessTextureNode=g()(c().X3DSingleTextureNode,this._sheenRoughnessTexture),this.setTexture(1,this.sheenRoughnessTextureNode)},getExtensionKey:()=>I.SHEEN_MATERIAL_EXTENSION,getShaderOptions(e){e.push("X3D_SHEEN_MATERIAL_EXT"),+this.getTextureBits()&&(e.push("X3D_MATERIAL_TEXTURES"),this.sheenColorTextureNode?.getShaderOptions(e,"SHEEN_COLOR",!0),this.sheenRoughnessTextureNode?.getShaderOptions(e,"SHEEN_ROUGHNESS",!0))},setShaderUniforms(e,t,s,i,n){e.uniform3fv(t.x3d_SheenColorEXT,this.sheenColorArray),e.uniform1f(t.x3d_SheenRoughnessEXT,this.sheenRoughness);const r=this.getBrowser(),o=r.getLibraryTexture("lut_sheen_E.png"),a=r.getTexture2DUnit();e.activeTexture(e.TEXTURE0+a),e.bindTexture(e.TEXTURE_2D,o.getTexture()),e.uniform1i(t.x3d_SheenELUTTextureEXT,a),+this.getTextureBits()&&(this.sheenColorTextureNode?.setNamedShaderUniforms(e,t,s,t.x3d_SheenColorTextureEXT,this._sheenColorTextureMapping.getValue(),i,n),this.sheenRoughnessTextureNode?.setNamedShaderUniforms(e,t,s,t.x3d_SheenRoughnessTextureEXT,this._sheenRoughnessTextureMapping.getValue(),i,n))}}),Object.defineProperties(fe,{typeName:{value:"SheenMaterialExtension",enumerable:!0},componentInfo:{value:Object.freeze({name:"X_ITE",level:1}),enumerable:!0},containerField:{value:"extensions",enumerable:!0},specificationRange:{value:Object.freeze({from:"4.0",to:"Infinity"}),enumerable:!0},fieldDefinitions:{value:new(u())([new(o())(c().inputOutput,"metadata",new(n().SFNode)),new(o())(c().inputOutput,"sheenColor",new(n().SFColor)),new(o())(c().inputOutput,"sheenColorTextureMapping",new(n().SFString)),new(o())(c().inputOutput,"sheenColorTexture",new(n().SFNode)),new(o())(c().inputOutput,"sheenRoughness",new(n().SFFloat)),new(o())(c().inputOutput,"sheenRoughnessTextureMapping",new(n().SFString)),new(o())(c().inputOutput,"sheenRoughnessTexture",new(n().SFNode))]),enumerable:!0}});const Se=fe;x().add("SheenMaterialExtension","x_ite/Components/X_ITE/SheenMaterialExtension",Se);const me=Se,Ee=window[Symbol.for("X_ITE.X3D-10.2.0")].require("x_ite/Components/Shape/X3DOneSidedMaterialNode");var ge=e.n(Ee);function Oe(e){console.warn("SpecularGlossinessMaterial is depreciated, please use PhysicalMaterial instead."),ge().call(this,e),this.addType(c().SpecularGlossinessMaterial),this.materialKey="4/",this.diffuseColorArray=new Float32Array(3),this.specularColorArray=new Float32Array(3),this.extensionNodes=[]}Object.assign(Object.setPrototypeOf(Oe.prototype,ge().prototype),{initialize(){ge().prototype.initialize.call(this),this._diffuseColor.addInterest("set_diffuseColor__",this),this._diffuseTexture.addInterest("set_diffuseTexture__",this),this._diffuseTexture.addInterest("set_transparent__",this),this._specularColor.addInterest("set_specularColor__",this),this._glossiness.addInterest("set_glossiness__",this),this._specularGlossinessTexture.addInterest("set_specularGlossinessTexture__",this),this._occlusionStrength.addInterest("set_occlusionStrength__",this),this._occlusionTexture.addInterest("set_occlusionTexture__",this),this._extensions.addInterest("set_extensions__",this),this.set_diffuseColor__(),this.set_diffuseTexture__(),this.set_specularColor__(),this.set_glossiness__(),this.set_specularGlossinessTexture__(),this.set_occlusionStrength__(),this.set_occlusionTexture__(),this.set_extensions__(),this.set_transparent__()},getMaterialKey(){return this.materialKey},getTextureIndices:(()=>{let e=0;const t={DIFFUSE_TEXTURE:e++,SPECULAR_GLOSSINESS_TEXTURE:e++,EMISSIVE_TEXTURE:e++,OCCLUSION_TEXTURE:e++,NORMAL_TEXTURE:e++};return function(){return t}})(),getBaseTexture(){return this.diffuseTextureNode},set_diffuseColor__(){const e=this.diffuseColorArray,t=this._diffuseColor.getValue();e[0]=t.r,e[1]=t.g,e[2]=t.b},set_diffuseTexture__(){const e=this.getTextureIndices().DIFFUSE_TEXTURE;this.diffuseTextureNode&&(this.diffuseTextureNode._transparent.removeInterest("set_transparent__",this),this.diffuseTextureNode._linear.removeInterest(`setTexture${e}`,this)),this.diffuseTextureNode=g()(c().X3DSingleTextureNode,this._diffuseTexture),this.diffuseTextureNode&&(this.diffuseTextureNode._transparent.addInterest("set_transparent__",this),this.diffuseTextureNode._linear.addInterest(`setTexture${e}`,this,e,this.diffuseTextureNode)),this.setTexture(e,this.diffuseTextureNode)},set_specularColor__(){const e=this.specularColorArray,t=this._specularColor.getValue();e[0]=t.r,e[1]=t.g,e[2]=t.b},set_glossiness__(){this.glossiness=D().clamp(this._glossiness.getValue(),0,1)},set_specularGlossinessTexture__(){this.specularGlossinessTextureNode=g()(c().X3DSingleTextureNode,this._specularGlossinessTexture),this.setTexture(this.getTextureIndices().SPECULAR_GLOSSINESS_TEXTURE,this.specularGlossinessTextureNode)},set_occlusionStrength__(){this.occlusionStrength=D().clamp(this._occlusionStrength.getValue(),0,1)},set_occlusionTexture__(){this.occlusionTextureNode=g()(c().X3DSingleTextureNode,this._occlusionTexture),this.setTexture(this.getTextureIndices().OCCLUSION_TEXTURE,this.occlusionTextureNode)},set_transparent__(){this.setTransparent(this.getTransparency()||this.diffuseTextureNode?.isTransparent())},set_extensions__(){const e=this.extensionNodes;for(const t of e)t.removeInterest("set_extensionsKey__",this);e.length=0;for(const t of this._extensions){const s=g()(c().X3DMaterialExtensionNode,t);s&&e.push(s)}e.sort(((e,t)=>e.getExtensionKey()-t.getExtensionKey()));for(const t of e)t.addInterest("set_extensionsKey__",this);this.setTransmission(e.some((e=>e.getType().includes(c().TransmissionMaterialExtension)))),this.set_extensionsKey__()},set_extensionsKey__(){const e=this.extensionNodes.map((e=>`${e.getExtensionKey().toString(16)}${e.getTextureBits().toString(16)}`)).join("");this.materialKey=`[4.${e}]`},createShader(e,t,s){const i=this.getBrowser(),n=this.getShaderOptions(t,s);for(const e of this.extensionNodes)e.getShaderOptions(n);n.push("X3D_PHYSICAL_MATERIAL","X3D_MATERIAL_SPECULAR_GLOSSINESS"),+this.getTextureBits()&&(this.diffuseTextureNode?.getShaderOptions(n,"DIFFUSE"),this.specularGlossinessTextureNode?.getShaderOptions(n,"SPECULAR_GLOSSINESS"),this.occlusionTextureNode?.getShaderOptions(n,"OCCLUSION"));const r=i.createShader("SpecularGlossiness","Default","Physical",n);return i.getShaders().set(e,r),r},setShaderUniforms(e,t,s,i,n){ge().prototype.setShaderUniforms.call(this,e,t,s,i,n);for(const r of this.extensionNodes)r.setShaderUniforms(e,t,s,i,n);e.uniform3fv(t.x3d_DiffuseColor,this.diffuseColorArray),e.uniform3fv(t.x3d_SpecularColor,this.specularColorArray),e.uniform1f(t.x3d_Glossiness,this.glossiness),+this.getTextureBits()&&(this.diffuseTextureNode?.setNamedShaderUniforms(e,t,s,t.x3d_DiffuseTexture,this._diffuseTextureMapping.getValue(),i,n),this.specularGlossinessTextureNode?.setNamedShaderUniforms(e,t,s,t.x3d_SpecularGlossinessTexture,this._specularGlossinessTextureMapping.getValue(),i,n),this.occlusionTextureNode&&e.uniform1f(t.x3d_OcclusionStrength,this.occlusionStrength),this.occlusionTextureNode?.setNamedShaderUniforms(e,t,s,t.x3d_OcclusionTexture,this._occlusionTextureMapping.getValue(),i,n))}}),Object.defineProperties(Oe,{typeName:{value:"SpecularGlossinessMaterial",enumerable:!0},componentInfo:{value:Object.freeze({name:"X_ITE",level:1}),enumerable:!0},containerField:{value:"material",enumerable:!0},specificationRange:{value:Object.freeze({from:"4.0",to:"Infinity"}),enumerable:!0},fieldDefinitions:{value:new(u())([new(o())(c().inputOutput,"metadata",new(n().SFNode)),new(o())(c().inputOutput,"diffuseColor",new(n().SFColor)(1,1,1)),new(o())(c().inputOutput,"diffuseTextureMapping",new(n().SFString)),new(o())(c().inputOutput,"diffuseTexture",new(n().SFNode)),new(o())(c().inputOutput,"specularColor",new(n().SFColor)(1,1,1)),new(o())(c().inputOutput,"glossiness",new(n().SFFloat)(1)),new(o())(c().inputOutput,"specularGlossinessTextureMapping",new(n().SFString)),new(o())(c().inputOutput,"specularGlossinessTexture",new(n().SFNode)),new(o())(c().inputOutput,"emissiveColor",new(n().SFColor)),new(o())(c().inputOutput,"emissiveTextureMapping",new(n().SFString)),new(o())(c().inputOutput,"emissiveTexture",new(n().SFNode)),new(o())(c().inputOutput,"occlusionStrength",new(n().SFFloat)(1)),new(o())(c().inputOutput,"occlusionTextureMapping",new(n().SFString)),new(o())(c().inputOutput,"occlusionTexture",new(n().SFNode)),new(o())(c().inputOutput,"normalScale",new(n().SFFloat)(1)),new(o())(c().inputOutput,"normalTextureMapping",new(n().SFString)),new(o())(c().inputOutput,"normalTexture",new(n().SFNode)),new(o())(c().inputOutput,"transparency",new(n().SFFloat)),new(o())(c().inputOutput,"extensions",new(n().MFNode))]),enumerable:!0}});for(const e of Object.values(Oe.prototype.getTextureIndices()))Oe.prototype[`setTexture${e}`]=function(e,t){this.setTexture(e,t)};const Ne=Oe;x().add("SpecularGlossinessMaterial","x_ite/Components/X_ITE/SpecularGlossinessMaterial",Ne);const Ie=Ne;function ye(e){m.call(this,e),this.addType(c().SpecularMaterialExtension),this.specularColorArray=new Float32Array(3)}Object.assign(Object.setPrototypeOf(ye.prototype,m.prototype),{initialize(){m.prototype.initialize.call(this),this._specular.addInterest("set_specular__",this),this._specularTexture.addInterest("set_specularTexture__",this),this._specularColor.addInterest("set_specularColor__",this),this._specularColorTexture.addInterest("set_specularColorTexture__",this),this.set_specular__(),this.set_specularTexture__(),this.set_specularColor__(),this.set_specularColorTexture__()},set_specular__(){this.specular=Math.max(this._specular.getValue(),0)},set_specularTexture__(){this.specularTextureNode=g()(c().X3DSingleTextureNode,this._specularTexture),this.setTexture(0,this.specularTextureNode)},set_specularColor__(){const e=this.specularColorArray,t=this._specularColor.getValue();e[0]=t.r,e[1]=t.g,e[2]=t.b},set_specularColorTexture__(){this.specularColorTextureNode=g()(c().X3DSingleTextureNode,this._specularColorTexture),this.setTexture(1,this.specularColorTextureNode)},getExtensionKey:()=>I.SPECULAR_MATERIAL_EXTENSION,getShaderOptions(e){e.push("X3D_SPECULAR_MATERIAL_EXT"),+this.getTextureBits()&&(e.push("X3D_MATERIAL_TEXTURES"),this.specularTextureNode?.getShaderOptions(e,"SPECULAR",!0),this.specularColorTextureNode?.getShaderOptions(e,"SPECULAR_COLOR",!0))},setShaderUniforms(e,t,s,i,n){e.uniform1f(t.x3d_SpecularEXT,this.specular),e.uniform3fv(t.x3d_SpecularColorEXT,this.specularColorArray),+this.getTextureBits()&&(this.specularTextureNode?.setNamedShaderUniforms(e,t,s,t.x3d_SpecularTextureEXT,this._specularTextureMapping.getValue(),i,n),this.specularColorTextureNode?.setNamedShaderUniforms(e,t,s,t.x3d_SpecularColorTextureEXT,this._specularColorTextureMapping.getValue(),i,n))}}),Object.defineProperties(ye,{typeName:{value:"SpecularMaterialExtension",enumerable:!0},componentInfo:{value:Object.freeze({name:"X_ITE",level:1}),enumerable:!0},containerField:{value:"extensions",enumerable:!0},specificationRange:{value:Object.freeze({from:"4.0",to:"Infinity"}),enumerable:!0},fieldDefinitions:{value:new(u())([new(o())(c().inputOutput,"metadata",new(n().SFNode)),new(o())(c().inputOutput,"specular",new(n().SFFloat)(1)),new(o())(c().inputOutput,"specularTextureMapping",new(n().SFString)),new(o())(c().inputOutput,"specularTexture",new(n().SFNode)),new(o())(c().inputOutput,"specularColor",new(n().SFColor)(1,1,1)),new(o())(c().inputOutput,"specularColorTextureMapping",new(n().SFString)),new(o())(c().inputOutput,"specularColorTexture",new(n().SFNode))]),enumerable:!0}});const we=ye;x().add("SpecularMaterialExtension","x_ite/Components/X_ITE/SpecularMaterialExtension",we);const Ae=we;function Ce(e){m.call(this,e),this.addType(c().TransmissionMaterialExtension)}Object.assign(Object.setPrototypeOf(Ce.prototype,m.prototype),{initialize(){m.prototype.initialize.call(this),this._transmission.addInterest("set_transmission__",this),this._transmissionTexture.addInterest("set_transmissionTexture__",this),this.set_transmission__(),this.set_transmissionTexture__()},set_transmission__(){this.transmission=Math.max(this._transmission.getValue(),0)},set_transmissionTexture__(){this.transmissionTextureNode=g()(c().X3DSingleTextureNode,this._transmissionTexture),this.setTexture(0,this.transmissionTextureNode)},getExtensionKey:()=>I.TRANSMISSION_MATERIAL_EXTENSION,getShaderOptions(e){e.push("X3D_TRANSMISSION_MATERIAL_EXT"),+this.getTextureBits()&&(e.push("X3D_MATERIAL_TEXTURES"),this.transmissionTextureNode?.getShaderOptions(e,"TRANSMISSION",!0))},setShaderUniforms(e,t,s,i,n){const r=this.getBrowser(),o=r.getTransmissionBuffer(),a=r.getTexture2DUnit();e.uniform1f(t.x3d_TransmissionEXT,this.transmission),e.activeTexture(e.TEXTURE0+a),e.bindTexture(e.TEXTURE_2D,o.getColorTexture()),e.uniform1i(t.x3d_TransmissionFramebufferSamplerEXT,a),e.uniform2i(t.x3d_TransmissionFramebufferSizeEXT,o.getWidth(),o.getHeight()),+this.getTextureBits()&&this.transmissionTextureNode?.setNamedShaderUniforms(e,t,s,t.x3d_TransmissionTextureEXT,this._transmissionTextureMapping.getValue(),i,n)}}),Object.defineProperties(Ce,{typeName:{value:"TransmissionMaterialExtension",enumerable:!0},componentInfo:{value:Object.freeze({name:"X_ITE",level:1}),enumerable:!0},containerField:{value:"extensions",enumerable:!0},specificationRange:{value:Object.freeze({from:"4.0",to:"Infinity"}),enumerable:!0},fieldDefinitions:{value:new(u())([new(o())(c().inputOutput,"metadata",new(n().SFNode)),new(o())(c().inputOutput,"transmission",new(n().SFFloat)),new(o())(c().inputOutput,"transmissionTextureMapping",new(n().SFString)),new(o())(c().inputOutput,"transmissionTexture",new(n().SFNode))]),enumerable:!0}});const Re=Ce;x().add("TransmissionMaterialExtension","x_ite/Components/X_ITE/TransmissionMaterialExtension",Re);const be=Re;function Me(e){m.call(this,e),this.addType(c().VolumeMaterialExtension),this.attenuationColorArray=new Float32Array(3)}Object.assign(Object.setPrototypeOf(Me.prototype,m.prototype),{initialize(){m.prototype.initialize.call(this),this._thickness.addInterest("set_thickness__",this),this._thicknessTexture.addInterest("set_thicknessTexture__",this),this._attenuationDistance.addInterest("set_attenuationDistance__",this),this._attenuationColor.addInterest("set_attenuationColor__",this),this.set_thickness__(),this.set_thicknessTexture__(),this.set_attenuationDistance__(),this.set_attenuationColor__()},set_thickness__(){this.thickness=Math.max(this._thickness.getValue(),0)},set_thicknessTexture__(){this.thicknessTextureNode=g()(c().X3DSingleTextureNode,this._thicknessTexture),this.setTexture(0,this.thicknessTextureNode)},set_attenuationDistance__(){this.attenuationDistance=Math.max(this._attenuationDistance.getValue(),0)},set_attenuationColor__(){const e=this.attenuationColorArray,t=this._attenuationColor.getValue();e[0]=t.r,e[1]=t.g,e[2]=t.b},getExtensionKey:()=>I.VOLUME_MATERIAL_EXTENSION,getShaderOptions(e){e.push("X3D_VOLUME_MATERIAL_EXT"),+this.getTextureBits()&&(e.push("X3D_MATERIAL_TEXTURES"),this.thicknessTextureNode?.getShaderOptions(e,"THICKNESS",!0))},setShaderUniforms(e,t,s,i,n){e.uniform1f(t.x3d_ThicknessEXT,this.thickness),e.uniform1f(t.x3d_AttenuationDistanceEXT,this.attenuationDistance),e.uniform3fv(t.x3d_AttenuationColorEXT,this.attenuationColorArray),+this.getTextureBits()&&this.thicknessTextureNode?.setNamedShaderUniforms(e,t,s,t.x3d_ThicknessTextureEXT,this._thicknessTextureMapping.getValue(),i,n)}}),Object.defineProperties(Me,{typeName:{value:"VolumeMaterialExtension",enumerable:!0},componentInfo:{value:Object.freeze({name:"X_ITE",level:1}),enumerable:!0},containerField:{value:"extensions",enumerable:!0},specificationRange:{value:Object.freeze({from:"4.0",to:"Infinity"}),enumerable:!0},fieldDefinitions:{value:new(u())([new(o())(c().inputOutput,"metadata",new(n().SFNode)),new(o())(c().inputOutput,"thickness",new(n().SFFloat)),new(o())(c().inputOutput,"thicknessTextureMapping",new(n().SFString)),new(o())(c().inputOutput,"thicknessTexture",new(n().SFNode)),new(o())(c().inputOutput,"attenuationDistance",new(n().SFFloat)(1e6)),new(o())(c().inputOutput,"attenuationColor",new(n().SFColor)(1,1,1))]),enumerable:!0}});const Fe=Me;x().add("VolumeMaterialExtension","x_ite/Components/X_ITE/VolumeMaterialExtension",Fe);const Xe=Fe;s().add({name:"X_ITE",concreteNodes:[A,F,U,j,k,H,Q,le,de,xe,me,Ie,Ae,be,Xe],abstractNodes:[m]});const De=void 0;x().add("X_ITE","assets/components/X_ITE",De)})();
@@ -0,0 +1,94 @@
1
+ Copyright (c) 2010, ParaType Ltd. (http://www.paratype.com/public),
2
+ with Reserved Font Names "PT Sans" and "ParaType".
3
+
4
+ This Font Software is licensed under the SIL Open Font License, Version 1.1.
5
+ This license is copied below, and is also available with a FAQ at:
6
+ https://openfontlicense.org
7
+
8
+
9
+ -----------------------------------------------------------
10
+ SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
11
+ -----------------------------------------------------------
12
+
13
+ PREAMBLE
14
+ The goals of the Open Font License (OFL) are to stimulate worldwide
15
+ development of collaborative font projects, to support the font creation
16
+ efforts of academic and linguistic communities, and to provide a free and
17
+ open framework in which fonts may be shared and improved in partnership
18
+ with others.
19
+
20
+ The OFL allows the licensed fonts to be used, studied, modified and
21
+ redistributed freely as long as they are not sold by themselves. The
22
+ fonts, including any derivative works, can be bundled, embedded,
23
+ redistributed and/or sold with any software provided that any reserved
24
+ names are not used by derivative works. The fonts and derivatives,
25
+ however, cannot be released under any other type of license. The
26
+ requirement for fonts to remain under this license does not apply
27
+ to any document created using the fonts or their derivatives.
28
+
29
+ DEFINITIONS
30
+ "Font Software" refers to the set of files released by the Copyright
31
+ Holder(s) under this license and clearly marked as such. This may
32
+ include source files, build scripts and documentation.
33
+
34
+ "Reserved Font Name" refers to any names specified as such after the
35
+ copyright statement(s).
36
+
37
+ "Original Version" refers to the collection of Font Software components as
38
+ distributed by the Copyright Holder(s).
39
+
40
+ "Modified Version" refers to any derivative made by adding to, deleting,
41
+ or substituting -- in part or in whole -- any of the components of the
42
+ Original Version, by changing formats or by porting the Font Software to a
43
+ new environment.
44
+
45
+ "Author" refers to any designer, engineer, programmer, technical
46
+ writer or other person who contributed to the Font Software.
47
+
48
+ PERMISSION & CONDITIONS
49
+ Permission is hereby granted, free of charge, to any person obtaining
50
+ a copy of the Font Software, to use, study, copy, merge, embed, modify,
51
+ redistribute, and sell modified and unmodified copies of the Font
52
+ Software, subject to the following conditions:
53
+
54
+ 1) Neither the Font Software nor any of its individual components,
55
+ in Original or Modified Versions, may be sold by itself.
56
+
57
+ 2) Original or Modified Versions of the Font Software may be bundled,
58
+ redistributed and/or sold with any software, provided that each copy
59
+ contains the above copyright notice and this license. These can be
60
+ included either as stand-alone text files, human-readable headers or
61
+ in the appropriate machine-readable metadata fields within text or
62
+ binary files as long as those fields can be easily viewed by the user.
63
+
64
+ 3) No Modified Version of the Font Software may use the Reserved Font
65
+ Name(s) unless explicit written permission is granted by the corresponding
66
+ Copyright Holder. This restriction only applies to the primary font name as
67
+ presented to the users.
68
+
69
+ 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
70
+ Software shall not be used to promote, endorse or advertise any
71
+ Modified Version, except to acknowledge the contribution(s) of the
72
+ Copyright Holder(s) and the Author(s) or with their explicit written
73
+ permission.
74
+
75
+ 5) The Font Software, modified or unmodified, in part or in whole,
76
+ must be distributed entirely under this license, and must not be
77
+ distributed under any other license. The requirement for fonts to
78
+ remain under this license does not apply to any document created
79
+ using the Font Software.
80
+
81
+ TERMINATION
82
+ This license becomes null and void if any of the above conditions are
83
+ not met.
84
+
85
+ DISCLAIMER
86
+ THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
87
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
88
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
89
+ OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
90
+ COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
91
+ INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
92
+ DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
93
+ FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
94
+ OTHER DEALINGS IN THE FONT SOFTWARE.
package/dist/example.html CHANGED
@@ -4,7 +4,7 @@
4
4
  <meta charset="utf-8"/>
5
5
  <script src="x_ite.min.js"></script>
6
6
  <!-- or use: -->
7
- <!-- <script src="https://cdn.jsdelivr.net/npm/x_ite@10.1.0/dist/x_ite.min.js"></script> -->
7
+ <!-- <script src="https://cdn.jsdelivr.net/npm/x_ite@10.2.0/dist/x_ite.min.js"></script> -->
8
8
  <style>
9
9
  x3d-canvas {
10
10
  width: 1000px;
package/dist/x_ite.css CHANGED
@@ -1 +1 @@
1
- /* X_ITE v10.1.0 */@import"https://fonts.googleapis.com/css?family=PT+Sans:400,400italic,700,700italic";:host,X3DCanvas{display:inline-block;overflow:hidden;outline:none;margin:0;border:0;border-radius:0;padding:0;width:300px;height:150px;-webkit-user-select:none;user-select:none}:host([hidden]){display:none}:host(.x_ite-fullscreen){width:100vw !important;height:100vh !important}X3DCanvas>:not(.x_ite-private-browser,.x_ite-private-menu){display:none}.x_ite-private-browser{overflow:hidden;position:relative;outline:none;margin:0;border:0;border-radius:0;padding:0;width:100%;height:100%;-webkit-user-select:none;user-select:none}.x_ite-private-surface{outline:none;margin:0;border:0;border-radius:0;padding:0;height:100%}.x_ite-private-canvas{display:block;outline:none;margin:0;border:0;border-radius:0;padding:0;width:100%;height:100%}.x_ite-private-notification{position:absolute;top:20px;right:-4px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:rgba(0,0,0,.61803);background:-moz-linear-gradient(top, rgba(50, 50, 50, 0.61803) 0%, rgba(0, 0, 0, 0.61803) 100%);background:-webkit-linear-gradient(top, rgba(50, 50, 50, 0.61803) 0%, rgba(0, 0, 0, 0.61803) 100%);background:linear-gradient(to bottom, rgba(50, 50, 50, 0.61803) 0%, rgba(0, 0, 0, 0.61803) 100%);-webkit-background-clip:padding-box;background-clip:padding-box;border:4px solid rgba(60,60,60,.61803);border-radius:5px;padding:5px;color:#fff;font-family:PT Sans,sans-serif;font-size:10pt;letter-spacing:unset;line-height:1;white-space:pre;pointer-events:none}.x_ite-private-notification span{padding:0 24px 0 20px;background:url("assets/images/icon.bw.png") no-repeat 0 2px;image-rendering:pixelated}.x_ite-private-browser-timings{position:absolute;bottom:-4px;left:-4px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:rgba(0,0,0,.61803);background:-moz-linear-gradient(top, rgba(50, 50, 50, 0.61803) 0%, rgba(0, 0, 0, 0.61803) 100%);background:-webkit-linear-gradient(top, rgba(50, 50, 50, 0.61803) 0%, rgba(0, 0, 0, 0.61803) 100%);background:linear-gradient(to bottom, rgba(50, 50, 50, 0.61803) 0%, rgba(0, 0, 0, 0.61803) 100%);-webkit-background-clip:padding-box;background-clip:padding-box;border-top:4px solid rgba(60,60,60,.61803);border-right:4px solid rgba(60,60,60,.61803);border-radius:5px;padding:10px 15px 14px 14px;color:#fff;font-family:PT Sans,sans-serif;font-size:9pt;white-space:pre;pointer-events:none}.x_ite-private-browser-timings table,.x_ite-private-browser-timings thead,.x_ite-private-browser-timings tbody,.x_ite-private-browser-timings tfoot,.x_ite-private-browser-timings tr,.x_ite-private-browser-timings th,.x_ite-private-browser-timings td{box-sizing:border-box;outline:0;margin:0;border:0;border-radius:0;padding:0;background:none;color:#fff;font-size:inherit;font-weight:normal;font-style:normal;letter-spacing:unset;line-height:1;text-align:left}.x_ite-private-browser-timings table{overflow:hidden;background:url("assets/images/Time.png") no-repeat;image-rendering:pixelated;width:100%;max-width:100%;border-collapse:separate;border-spacing:2px;empty-cells:show}.x_ite-private-browser-timings thead th{padding-left:20px;padding-bottom:5px;font-weight:bold}.x_ite-private-browser-timings td:first-child{padding-right:10px}.x_ite-private-browser-timings table.more tr.x_ite-private-more td{padding-bottom:5px}.x_ite-private-browser-timings table.less tr.x_ite-private-more~tr{display:none}.x_ite-private-browser-timings td{padding-bottom:2px}.x_ite-private-browser-timings tfoot td:first-child{padding-right:0}.x_ite-private-browser-timings tfoot td{padding-top:4px}.x_ite-private-browser-timings button{box-sizing:border-box;border:0;border-radius:10px;width:100%;height:14pt;padding:0;background:rgba(0,0,0,.38196601);color:#fff;font-family:PT Sans,sans-serif;font-style:italic;font-size:9pt;letter-spacing:unset;line-height:1.1;text-align:center;pointer-events:all;cursor:pointer}.x_ite-private-world-info-overlay{position:absolute;top:0;right:0;bottom:0;left:0;inset:0}.x_ite-private-world-info{overflow-y:auto;position:absolute;top:0;right:0;bottom:0;left:0;inset:0;margin:21pt;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:rgba(0,0,0,.61803);background:-moz-linear-gradient(top, rgba(50, 50, 50, 0.61803) 0%, rgba(0, 0, 0, 0.61803) 100%);background:-webkit-linear-gradient(top, rgba(50, 50, 50, 0.61803) 0%, rgba(0, 0, 0, 0.61803) 100%);background:linear-gradient(to bottom, rgba(50, 50, 50, 0.61803) 0%, rgba(0, 0, 0, 0.61803) 100%);-webkit-background-clip:padding-box;background-clip:padding-box;border:4px solid rgba(60,60,60,.61803);border-radius:15px;padding:21pt}.x_ite-private-world-info .x_ite-private-world-info-top,.x_ite-private-world-info .x_ite-private-world-info-title,.x_ite-private-world-info .x_ite-private-world-info-info,.x_ite-private-world-info p{box-sizing:border-box;outline:0;margin:0;border:0;border-radius:0;padding:0;background:none;color:#fff;font-family:PT Sans,sans-serif;font-size:inherit;font-weight:inherit;font-style:normal;letter-spacing:unset;line-height:1.2;text-align:left}.x_ite-private-world-info .x_ite-private-world-info-top{font-weight:bold;font-style:italic;font-size:9pt}.x_ite-private-world-info .x_ite-private-world-info-title{margin:.3em 0 1em 0;font-weight:bold;font-size:21pt}.x_ite-private-world-info .x_ite-private-world-info-info,.x_ite-private-world-info .x_ite-private-world-info-info p{margin:1em 0 1em 0;font-size:14pt}.x_ite-private-world-info a{text-decoration:underline;color:#fd9f2e}.x_ite-private-menu.context-menu-layer{position:fixed;z-index:10000;top:0;right:0;bottom:0;left:0;inset:0}.x_ite-private-menu.context-menu-list{position:fixed;z-index:10000;isolation:isolate}.x_ite-private-menu .context-menu-list{position:absolute}.x_ite-private-menu.context-menu-list,.x_ite-private-menu .context-menu-list{display:block;box-sizing:border-box;min-width:120px;margin:0;margin-left:1px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:rgba(0,0,0,.61803);background:-moz-linear-gradient(top, rgba(50, 50, 50, 0.61803) 0%, rgba(0, 0, 0, 0.61803) 100%);background:-webkit-linear-gradient(top, rgba(50, 50, 50, 0.61803) 0%, rgba(0, 0, 0, 0.61803) 100%);background:linear-gradient(to bottom, rgba(50, 50, 50, 0.61803) 0%, rgba(0, 0, 0, 0.61803) 100%);-webkit-background-clip:padding-box;background-clip:padding-box;border:4px solid rgba(60,60,60,.61803);border-radius:5px;padding:5px 10px 9px 9px;color:#fff;font-family:PT Sans,sans-serif;font-size:10pt;white-space:pre;line-height:1.2;list-style-type:none}.x_ite-private-menu .context-menu-item{cursor:pointer;position:relative;border-radius:5px;margin:0;font-size:10pt;line-height:1;letter-spacing:unset;text-align:left}.x_ite-private-menu .context-menu-item:hover:not(.context-menu-not-selectable){background-color:rgba(255,69,58,.8)}.x_ite-private-menu .context-menu-item:hover>.context-menu-list{display:block}.x_ite-private-menu .context-menu-not-selectable{cursor:default}.x_ite-private-menu .context-menu-separator{cursor:default;margin:2px 0;border-top:0;border-bottom:1px solid #8a8a8a;padding-top:0;padding-bottom:0}.x_ite-private-menu .context-menu-separator+.context-menu-separator{display:none !important}.x_ite-private-menu .context-menu-submenu:after{content:"";position:absolute;display:block;right:0;top:8px;margin-right:2px;border-style:solid;border-width:4px 0 4px 5px;border-color:rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0) #eee;width:0;height:0}.x_ite-private-menu .context-menu-item>span{display:block;width:100%;padding:5px 24px}.x_ite-private-menu .context-menu-input>label{cursor:pointer;display:block;box-sizing:border-box;margin:0;padding:5px 24px;width:100%;font-size:10pt;letter-spacing:unset;line-height:1}.x_ite-private-menu .context-menu-input>label>*{vertical-align:top;font-size:10pt;font-weight:normal;letter-spacing:unset;line-height:1}.x_ite-private-menu .context-menu-item>label>input{all:revert;cursor:pointer}.x_ite-private-menu .context-menu-input>label>input[type=checkbox],.x_ite-private-menu .context-menu-input>label>input[type=radio]{accent-color:#ff453a;display:inline;width:12px;margin:0;margin-left:-20px;padding:0}.x_ite-private-menu .context-menu-input>label>span{padding-left:8px}.x_ite-private-menu .context-menu-item>.context-menu-list{top:-9px;right:-5px;display:none}.x_ite-private-menu .context-menu-title{font-weight:bold}.x_ite-private-menu .context-menu-selected{font-weight:bold;font-style:italic}.x_ite-private-menu .context-menu-icon{background-repeat:no-repeat;background-position:2px 3px;image-rendering:pixelated}.x_ite-private-icon-viewpoint{background:url("assets/images/Viewpoint.png")}.x_ite-private-icon-examine-viewer{background:url("assets/images/ExamineViewer.png")}.x_ite-private-icon-walk-viewer{background:url("assets/images/WalkViewer.png")}.x_ite-private-icon-fly-viewer{background:url("assets/images/FlyViewer.png")}.x_ite-private-icon-lookat-viewer{background:url("assets/images/gtk-zoom-in.png")}.x_ite-private-icon-plane-viewer{background:url("assets/images/PlaneViewer.png")}.x_ite-private-icon-none-viewer{background:url("assets/images/NoneViewer.png")}.x_ite-private-icon-zoom-fit{background:url("assets/images/gtk-zoom-fit.png")}.x_ite-private-icon-zoom-in{background:url("assets/images/gtk-zoom-in.png")}.x_ite-private-icon-primitive-quality{background:url("assets/images/PrimitiveQuality.png")}.x_ite-private-icon-texture-quality{background:url("assets/images/TextureQuality.png")}.x_ite-private-icon-shading{background:url("assets/images/Shading.png")}.x_ite-private-icon-enter-fullscreen{background:url("assets/images/gtk-fullscreen.png")}.x_ite-private-icon-leave-fullscreen{background:url("assets/images/gtk-leave-fullscreen.png")}.x_ite-private-icon-world-info{background:url("assets/images/go-next.png")}.x_ite-private-icon-help-about{background:url("assets/images/help-about.png")}.x_ite-private-splash-screen{position:absolute;top:0;right:0;bottom:0;left:0;inset:0;background:#1b1d21;background:-moz-radial-gradient(center, ellipse cover, #2f3135 0%, #1b1d21 100%);background:-webkit-radial-gradient(center, ellipse cover, #2f3135 0%, #1b1d21 100%);background:radial-gradient(ellipse at center, #2f3135 0%, #1b1d21 100%)}.x_ite-private-spinner{position:absolute;top:calc(50% - 69px);left:calc(50% - 67px);width:138px;height:134px;background:url("assets/images/logo.128.png") no-repeat;image-rendering:optimizeQuality;-webkit-animation:spinner-animation-spin 32s linear infinite;-moz-animation:spinner-animation-spin 32s linear infinite;animation:spinner-animation-spin 32s linear infinite}@-moz-keyframes spinner-animation-spin{100%{-moz-transform:rotate(360deg)}}@-webkit-keyframes spinner-animation-spin{100%{-webkit-transform:rotate(360deg)}}@keyframes spinner-animation-spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.x_ite-private-progress{position:absolute;top:calc(50% - 28pt - 11pt);left:calc(50% - 100px);width:200px}.x_ite-private-x_ite{color:#fff;font-size:28pt;text-align:center;text-shadow:1px 1px 0 #000;font-family:PT Sans,sans-serif}.x_ite-private-x_ite span.x_ite-private-x3d{font-weight:bold}.x_ite-private-spinner-text{color:#fff;font-size:11pt;text-align:center;text-shadow:1px 1px 0 #000;font-family:PT Sans,sans-serif}.x_ite-private-progressbar{margin:8px;border-left:2px solid rgba(255,255,255,.5);border-right:2px solid rgba(255,255,255,.5);padding:0 2px;text-align:left}.x_ite-private-progressbar div{width:0%;height:6px;background:rgba(255,255,255,.5)}
1
+ /* X_ITE v10.2.0 */@font-face{font-family:"PT Sans";font-style:normal;font-weight:400;src:url("assets/fonts/PT_Sans/PTSans-Regular.ttf") format("truetype")}@font-face{font-family:"PT Sans";font-style:normal;font-weight:700;src:url("assets/fonts/PT_Sans/PTSans-Bold.ttf") format("truetype")}@font-face{font-family:"PT Sans";font-style:italic;font-weight:400;src:url("assets/fonts/PT_Sans/PTSans-Italic.ttf") format("truetype")}@font-face{font-family:"PT Sans";font-style:italic;font-weight:700;src:url("assets/fonts/PT_Sans/PTSans-BoldItalic.ttf") format("truetype")}:host,X3DCanvas{display:inline-block;overflow:hidden;outline:none;margin:0;border:0;border-radius:0;padding:0;width:300px;height:150px;-webkit-user-select:none;user-select:none}:host([hidden]){display:none}:host(.x_ite-fullscreen){width:100vw !important;height:100vh !important}X3DCanvas>:not(.x_ite-private-browser,.x_ite-private-menu){display:none}.x_ite-private-browser{overflow:hidden;position:relative;outline:none;margin:0;border:0;border-radius:0;padding:0;width:100%;height:100%;-webkit-user-select:none;user-select:none}.x_ite-private-surface{outline:none;margin:0;border:0;border-radius:0;padding:0;height:100%}.x_ite-private-canvas{display:block;outline:none;margin:0;border:0;border-radius:0;padding:0;width:100%;height:100%}.x_ite-private-notification{position:absolute;top:20px;right:-4px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:rgba(0,0,0,.61803);background:-moz-linear-gradient(top, rgba(50, 50, 50, 0.61803) 0%, rgba(0, 0, 0, 0.61803) 100%);background:-webkit-linear-gradient(top, rgba(50, 50, 50, 0.61803) 0%, rgba(0, 0, 0, 0.61803) 100%);background:linear-gradient(to bottom, rgba(50, 50, 50, 0.61803) 0%, rgba(0, 0, 0, 0.61803) 100%);-webkit-background-clip:padding-box;background-clip:padding-box;border:4px solid rgba(60,60,60,.61803);border-radius:5px;padding:5px;color:#fff;font-family:PT Sans,sans-serif;font-size:10pt;letter-spacing:unset;line-height:1;white-space:pre;pointer-events:none}.x_ite-private-notification span{padding:0 24px 0 20px;background:url("assets/images/icon.bw.png") no-repeat 0 2px;image-rendering:pixelated}.x_ite-private-browser-timings{position:absolute;bottom:-4px;left:-4px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:rgba(0,0,0,.61803);background:-moz-linear-gradient(top, rgba(50, 50, 50, 0.61803) 0%, rgba(0, 0, 0, 0.61803) 100%);background:-webkit-linear-gradient(top, rgba(50, 50, 50, 0.61803) 0%, rgba(0, 0, 0, 0.61803) 100%);background:linear-gradient(to bottom, rgba(50, 50, 50, 0.61803) 0%, rgba(0, 0, 0, 0.61803) 100%);-webkit-background-clip:padding-box;background-clip:padding-box;border-top:4px solid rgba(60,60,60,.61803);border-right:4px solid rgba(60,60,60,.61803);border-radius:5px;padding:10px 15px 14px 14px;color:#fff;font-family:PT Sans,sans-serif;font-size:9pt;white-space:pre;pointer-events:none}.x_ite-private-browser-timings table,.x_ite-private-browser-timings thead,.x_ite-private-browser-timings tbody,.x_ite-private-browser-timings tfoot,.x_ite-private-browser-timings tr,.x_ite-private-browser-timings th,.x_ite-private-browser-timings td{box-sizing:border-box;outline:0;margin:0;border:0;border-radius:0;padding:0;background:none;color:#fff;font-size:inherit;font-weight:normal;font-style:normal;letter-spacing:unset;line-height:1;text-align:left}.x_ite-private-browser-timings table{overflow:hidden;background:url("assets/images/Time.png") no-repeat;image-rendering:pixelated;width:100%;max-width:100%;border-collapse:separate;border-spacing:2px;empty-cells:show}.x_ite-private-browser-timings thead th{padding-left:20px;padding-bottom:5px;font-weight:bold}.x_ite-private-browser-timings td:first-child{padding-right:10px}.x_ite-private-browser-timings table.more tr.x_ite-private-more td{padding-bottom:5px}.x_ite-private-browser-timings table.less tr.x_ite-private-more~tr{display:none}.x_ite-private-browser-timings td{padding-bottom:2px}.x_ite-private-browser-timings tfoot td:first-child{padding-right:0}.x_ite-private-browser-timings tfoot td{padding-top:4px}.x_ite-private-browser-timings button{box-sizing:border-box;border:0;border-radius:10px;width:100%;height:14pt;padding:0;background:rgba(0,0,0,.38196601);color:#fff;font-family:PT Sans,sans-serif;font-style:italic;font-size:9pt;letter-spacing:unset;line-height:1.1;text-align:center;pointer-events:all;cursor:pointer}.x_ite-private-world-info-overlay{position:absolute;top:0;right:0;bottom:0;left:0;inset:0}.x_ite-private-world-info{overflow-y:auto;position:absolute;top:0;right:0;bottom:0;left:0;inset:0;margin:21pt;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:rgba(0,0,0,.61803);background:-moz-linear-gradient(top, rgba(50, 50, 50, 0.61803) 0%, rgba(0, 0, 0, 0.61803) 100%);background:-webkit-linear-gradient(top, rgba(50, 50, 50, 0.61803) 0%, rgba(0, 0, 0, 0.61803) 100%);background:linear-gradient(to bottom, rgba(50, 50, 50, 0.61803) 0%, rgba(0, 0, 0, 0.61803) 100%);-webkit-background-clip:padding-box;background-clip:padding-box;border:4px solid rgba(60,60,60,.61803);border-radius:15px;padding:21pt}.x_ite-private-world-info .x_ite-private-world-info-top,.x_ite-private-world-info .x_ite-private-world-info-title,.x_ite-private-world-info .x_ite-private-world-info-info,.x_ite-private-world-info p{box-sizing:border-box;outline:0;margin:0;border:0;border-radius:0;padding:0;background:none;color:#fff;font-family:PT Sans,sans-serif;font-size:inherit;font-weight:inherit;font-style:normal;letter-spacing:unset;line-height:1.2;text-align:left}.x_ite-private-world-info .x_ite-private-world-info-top{font-weight:bold;font-style:italic;font-size:9pt}.x_ite-private-world-info .x_ite-private-world-info-title{margin:.3em 0 1em 0;font-weight:bold;font-size:21pt}.x_ite-private-world-info .x_ite-private-world-info-info,.x_ite-private-world-info .x_ite-private-world-info-info p{margin:1em 0 1em 0;font-size:14pt}.x_ite-private-world-info a{text-decoration:underline;color:#fd9f2e}.x_ite-private-menu.context-menu-layer{position:fixed;z-index:10000;top:0;right:0;bottom:0;left:0;inset:0}.x_ite-private-menu.context-menu-list{position:fixed;z-index:10000;isolation:isolate}.x_ite-private-menu .context-menu-list{position:absolute}.x_ite-private-menu.context-menu-list,.x_ite-private-menu .context-menu-list{display:block;box-sizing:border-box;min-width:120px;margin:0;margin-left:1px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:rgba(0,0,0,.61803);background:-moz-linear-gradient(top, rgba(50, 50, 50, 0.61803) 0%, rgba(0, 0, 0, 0.61803) 100%);background:-webkit-linear-gradient(top, rgba(50, 50, 50, 0.61803) 0%, rgba(0, 0, 0, 0.61803) 100%);background:linear-gradient(to bottom, rgba(50, 50, 50, 0.61803) 0%, rgba(0, 0, 0, 0.61803) 100%);-webkit-background-clip:padding-box;background-clip:padding-box;border:4px solid rgba(60,60,60,.61803);border-radius:5px;padding:5px 10px 9px 9px;color:#fff;font-family:PT Sans,sans-serif;font-size:10pt;white-space:pre;line-height:1.2;list-style-type:none}.x_ite-private-menu .context-menu-item{cursor:pointer;position:relative;border-radius:5px;margin:0;font-size:10pt;line-height:1;letter-spacing:unset;text-align:left}.x_ite-private-menu .context-menu-item:hover:not(.context-menu-not-selectable){background-color:rgba(255,69,58,.8)}.x_ite-private-menu .context-menu-item:hover>.context-menu-list{display:block}.x_ite-private-menu .context-menu-not-selectable{cursor:default}.x_ite-private-menu .context-menu-separator{cursor:default;margin:2px 0;border-top:0;border-bottom:1px solid #8a8a8a;padding-top:0;padding-bottom:0}.x_ite-private-menu .context-menu-separator+.context-menu-separator{display:none !important}.x_ite-private-menu .context-menu-submenu:after{content:"";position:absolute;display:block;right:0;top:8px;margin-right:2px;border-style:solid;border-width:4px 0 4px 5px;border-color:rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0) #eee;width:0;height:0}.x_ite-private-menu .context-menu-item>span{display:block;width:100%;padding:5px 24px}.x_ite-private-menu .context-menu-input>label{cursor:pointer;display:block;box-sizing:border-box;margin:0;padding:5px 24px;width:100%;font-size:10pt;letter-spacing:unset;line-height:1}.x_ite-private-menu .context-menu-input>label>*{vertical-align:top;font-size:10pt;font-weight:normal;letter-spacing:unset;line-height:1}.x_ite-private-menu .context-menu-item>label>input{all:revert;cursor:pointer}.x_ite-private-menu .context-menu-input>label>input[type=checkbox],.x_ite-private-menu .context-menu-input>label>input[type=radio]{accent-color:#ff453a;display:inline;width:12px;margin:0;margin-left:-20px;padding:0}.x_ite-private-menu .context-menu-input>label>span{padding-left:8px}.x_ite-private-menu .context-menu-item>.context-menu-list{top:-9px;right:-5px;display:none}.x_ite-private-menu .context-menu-title{font-weight:bold}.x_ite-private-menu .context-menu-selected{font-weight:bold;font-style:italic}.x_ite-private-menu .context-menu-icon{background-repeat:no-repeat;background-position:2px 3px;image-rendering:pixelated}.x_ite-private-icon-viewpoint{background:url("assets/images/Viewpoint.png")}.x_ite-private-icon-examine-viewer{background:url("assets/images/ExamineViewer.png")}.x_ite-private-icon-walk-viewer{background:url("assets/images/WalkViewer.png")}.x_ite-private-icon-fly-viewer{background:url("assets/images/FlyViewer.png")}.x_ite-private-icon-lookat-viewer{background:url("assets/images/gtk-zoom-in.png")}.x_ite-private-icon-plane-viewer{background:url("assets/images/PlaneViewer.png")}.x_ite-private-icon-none-viewer{background:url("assets/images/NoneViewer.png")}.x_ite-private-icon-zoom-fit{background:url("assets/images/gtk-zoom-fit.png")}.x_ite-private-icon-zoom-in{background:url("assets/images/gtk-zoom-in.png")}.x_ite-private-icon-primitive-quality{background:url("assets/images/PrimitiveQuality.png")}.x_ite-private-icon-texture-quality{background:url("assets/images/TextureQuality.png")}.x_ite-private-icon-shading{background:url("assets/images/Shading.png")}.x_ite-private-icon-enter-fullscreen{background:url("assets/images/gtk-fullscreen.png")}.x_ite-private-icon-leave-fullscreen{background:url("assets/images/gtk-leave-fullscreen.png")}.x_ite-private-icon-world-info{background:url("assets/images/go-next.png")}.x_ite-private-icon-help-about{background:url("assets/images/help-about.png")}.x_ite-private-splash-screen{pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0;inset:0;background:#1b1d21;background:-moz-radial-gradient(center, ellipse cover, #2f3135 0%, #1b1d21 100%);background:-webkit-radial-gradient(center, ellipse cover, #2f3135 0%, #1b1d21 100%);background:radial-gradient(ellipse at center, #2f3135 0%, #1b1d21 100%)}.x_ite-private-spinner{position:absolute;top:calc(50% - 69px);left:calc(50% - 67px);width:138px;height:134px;background:url("assets/images/logo.128.png") no-repeat;image-rendering:optimizeQuality;-webkit-animation:spinner-animation-spin 32s linear infinite;-moz-animation:spinner-animation-spin 32s linear infinite;animation:spinner-animation-spin 32s linear infinite}@-moz-keyframes spinner-animation-spin{100%{-moz-transform:rotate(360deg)}}@-webkit-keyframes spinner-animation-spin{100%{-webkit-transform:rotate(360deg)}}@keyframes spinner-animation-spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.x_ite-private-progress{position:absolute;top:calc(50% - 28pt - 11pt);left:calc(50% - 100px);width:200px}.x_ite-private-x_ite{color:#fff;font-size:28pt;text-align:center;text-shadow:1px 1px 0 #000;font-family:PT Sans,sans-serif}.x_ite-private-x_ite span.x_ite-private-x3d{font-weight:bold}.x_ite-private-spinner-text{color:#fff;font-size:11pt;text-align:center;text-shadow:1px 1px 0 #000;font-family:PT Sans,sans-serif}.x_ite-private-progressbar{margin:8px;border-left:2px solid rgba(255,255,255,.5);border-right:2px solid rgba(255,255,255,.5);padding:0 2px;text-align:left}.x_ite-private-progressbar div{width:0%;height:6px;background:rgba(255,255,255,.5)}
package/dist/x_ite.d.ts CHANGED
@@ -1158,6 +1158,7 @@ interface X3DConstants
1158
1158
  readonly CylinderSensor: number;
1159
1159
  readonly Delay: number;
1160
1160
  readonly DepthMode: number;
1161
+ readonly DiffuseTransmissionMaterialExtension: number;
1161
1162
  readonly DirectionalLight: number;
1162
1163
  readonly DISEntityManager: number;
1163
1164
  readonly DISEntityTypeMapping: number;
@@ -2923,7 +2924,7 @@ interface AnchorProxy extends X3DGroupingNodeProxy, X3DUrlObjectProxy
2923
2924
  visible: boolean;
2924
2925
  }
2925
2926
 
2926
- /** AnisotropyMaterialExtension is an extension for PhysicalMaterial node and SpecularGlossinessMaterial node. */
2927
+ /** AnisotropyMaterialExtension is an extension for the PhysicalMaterial and SpecularGlossinessMaterial nodes. For this node to have an effect, add an EnvironmentLight node. */
2927
2928
  interface AnisotropyMaterialExtensionProxy extends X3DMaterialExtensionNodeProxy
2928
2929
  {
2929
2930
  /**
@@ -4602,7 +4603,7 @@ interface Circle2DProxy extends X3DGeometryNodeProxy
4602
4603
  radius: number;
4603
4604
  }
4604
4605
 
4605
- /** ClearcoatMaterialExtension is an extension for PhysicalMaterial node and SpecularGlossinessMaterial node. */
4606
+ /** ClearcoatMaterialExtension is an extension for the PhysicalMaterial and SpecularGlossinessMaterial nodes. For this node to have an effect, add an EnvironmentLight node. */
4606
4607
  interface ClearcoatMaterialExtensionProxy extends X3DMaterialExtensionNodeProxy
4607
4608
  {
4608
4609
  /**
@@ -6309,6 +6310,53 @@ interface DepthModeProxy extends X3DAppearanceChildNodeProxy
6309
6310
  polygonOffset: SFVec2f;
6310
6311
  }
6311
6312
 
6313
+ /** DiffuseTransmissionMaterialExtension is an extension for the PhysicalMaterial and SpecularGlossinessMaterial nodes. For this node to have an effect, add an EnvironmentLight node. */
6314
+ interface DiffuseTransmissionMaterialExtensionProxy extends X3DMaterialExtensionNodeProxy
6315
+ {
6316
+ /**
6317
+ * The percentage of reflected, non-specularly reflected light that is transmitted through the surface via the Lambertian diffuse transmission, i.e., the strength of the diffuse transmission effect.
6318
+ *
6319
+ * This field is of access type 'inputOutput' and type SFFloat.
6320
+ */
6321
+ diffuseTransmission: number;
6322
+ /**
6323
+ * The color of the transmitted light.
6324
+ *
6325
+ * This field is of access type 'inputOutput' and type SFColor.
6326
+ */
6327
+ diffuseTransmissionColor: SFColor;
6328
+ /**
6329
+ * A texture that defines the color of the transmitted light, stored in the RGB channels and encoded in sRGB. This texture will be multiplied by diffuseTransmissionColorFactor.
6330
+ *
6331
+ * This field is of access type 'inputOutput' and type SFNode.
6332
+ */
6333
+ diffuseTransmissionColorTexture: SFNode | null;
6334
+ /**
6335
+ * Input/Output field *diffuseTransmissionColorTextureMapping*.
6336
+ *
6337
+ * This field is of access type 'inputOutput' and type SFString.
6338
+ */
6339
+ diffuseTransmissionColorTextureMapping: string;
6340
+ /**
6341
+ * A texture that defines the strength of the diffuse transmission effect, stored in the alpha (A) channel. Will be multiplied by the diffuseTransmissionFactor.
6342
+ *
6343
+ * This field is of access type 'inputOutput' and type SFNode.
6344
+ */
6345
+ diffuseTransmissionTexture: SFNode | null;
6346
+ /**
6347
+ * Input/Output field *diffuseTransmissionTextureMapping*.
6348
+ *
6349
+ * This field is of access type 'inputOutput' and type SFString.
6350
+ */
6351
+ diffuseTransmissionTextureMapping: string;
6352
+ /**
6353
+ * Information about this node can be contained in a MetadataBoolean, MetadataDouble, MetadataFloat, MetadataInteger, MetadataString or MetadataSet node.
6354
+ *
6355
+ * This field is of access type 'inputOutput' and type SFNode.
6356
+ */
6357
+ metadata: SFNode | null;
6358
+ }
6359
+
6312
6360
  /** DirectionalLight might not be scoped by parent Group or Transform at levels 1 or 2. */
6313
6361
  interface DirectionalLightProxy extends X3DLightNodeProxy
6314
6362
  {
@@ -6533,7 +6581,7 @@ interface Disk2DProxy extends X3DGeometryNodeProxy
6533
6581
  solid: boolean;
6534
6582
  }
6535
6583
 
6536
- /** DispersionMaterialExtension is an extension for PhysicalMaterial node and SpecularGlossinessMaterial node. */
6584
+ /** DispersionMaterialExtension is an extension for the PhysicalMaterial and SpecularGlossinessMaterial nodes. For this node to have an effect, add an EnvironmentLight node. */
6537
6585
  interface DispersionMaterialExtensionProxy extends X3DMaterialExtensionNodeProxy
6538
6586
  {
6539
6587
  /**
@@ -7017,7 +7065,7 @@ interface ElevationGridProxy extends X3DGeometryNodeProxy
7017
7065
  zSpacing: number;
7018
7066
  }
7019
7067
 
7020
- /** EmissiveStrengthMaterialExtension is an extension for PhysicalMaterial node and SpecularGlossinessMaterial node. */
7068
+ /** EmissiveStrengthMaterialExtension is an extension for the PhysicalMaterial and SpecularGlossinessMaterial nodes. */
7021
7069
  interface EmissiveStrengthMaterialExtensionProxy extends X3DMaterialExtensionNodeProxy
7022
7070
  {
7023
7071
  /**
@@ -7034,7 +7082,7 @@ interface EmissiveStrengthMaterialExtensionProxy extends X3DMaterialExtensionNod
7034
7082
  metadata: SFNode | null;
7035
7083
  }
7036
7084
 
7037
- /** EnvironmentLight ... This node only affects PhysicalMaterial nodes and SpecularGlossinessMaterial nodes. */
7085
+ /** EnvironmentLight ... This node only affects the PhysicalMaterial and SpecularGlossinessMaterial nodes. */
7038
7086
  interface EnvironmentLightProxy extends X3DLightNodeProxy
7039
7087
  {
7040
7088
  /**
@@ -10736,7 +10784,7 @@ interface IntegerTriggerProxy extends X3DTriggerNodeProxy
10736
10784
  readonly triggerValue: number;
10737
10785
  }
10738
10786
 
10739
- /** IORMaterialExtension is an extension for PhysicalMaterial node and SpecularGlossinessMaterial node. */
10787
+ /** IORMaterialExtension is an extension for the PhysicalMaterial and SpecularGlossinessMaterial nodes. For this node to have an effect, add an EnvironmentLight node. */
10740
10788
  interface IORMaterialExtensionProxy extends X3DMaterialExtensionNodeProxy
10741
10789
  {
10742
10790
  /**
@@ -10753,7 +10801,7 @@ interface IORMaterialExtensionProxy extends X3DMaterialExtensionNodeProxy
10753
10801
  metadata: SFNode | null;
10754
10802
  }
10755
10803
 
10756
- /** IridescenceMaterialExtension is an extension for PhysicalMaterial node and SpecularGlossinessMaterial node. */
10804
+ /** IridescenceMaterialExtension is an extension for the PhysicalMaterial and SpecularGlossinessMaterial nodes. For this node to have an effect, add an EnvironmentLight node. */
10757
10805
  interface IridescenceMaterialExtensionProxy extends X3DMaterialExtensionNodeProxy
10758
10806
  {
10759
10807
  /**
@@ -16303,7 +16351,7 @@ interface ShapeProxy extends X3DShapeNodeProxy
16303
16351
  visible: boolean;
16304
16352
  }
16305
16353
 
16306
- /** SheenMaterialExtension is an extension for PhysicalMaterial node and SpecularGlossinessMaterial node. */
16354
+ /** SheenMaterialExtension is an extension for the PhysicalMaterial and SpecularGlossinessMaterial nodes. For this node to have an effect, add an EnvironmentLight node. */
16307
16355
  interface SheenMaterialExtensionProxy extends X3DMaterialExtensionNodeProxy
16308
16356
  {
16309
16357
  /**
@@ -17083,7 +17131,7 @@ interface SpecularGlossinessMaterialProxy extends X3DOneSidedMaterialNodeProxy
17083
17131
  transparency: number;
17084
17132
  }
17085
17133
 
17086
- /** SpecularMaterialExtension is an extension for PhysicalMaterial node and SpecularGlossinessMaterial node. */
17134
+ /** SpecularMaterialExtension is an extension for the PhysicalMaterial and SpecularGlossinessMaterial nodes. For this node to have an effect, add an EnvironmentLight node. */
17087
17135
  interface SpecularMaterialExtensionProxy extends X3DMaterialExtensionNodeProxy
17088
17136
  {
17089
17137
  /**
@@ -18990,7 +19038,7 @@ interface TransformSensorProxy extends X3DEnvironmentalSensorNodeProxy
18990
19038
  targetObject: X3DGroupingNodeProxy | X3DShapeNodeProxy | null;
18991
19039
  }
18992
19040
 
18993
- /** TransmissionMaterialExtension is an extension for PhysicalMaterial node and SpecularGlossinessMaterial node. */
19041
+ /** TransmissionMaterialExtension is an extension for the PhysicalMaterial and SpecularGlossinessMaterial nodes. For this node to have an effect, add an EnvironmentLight node. */
18994
19042
  interface TransmissionMaterialExtensionProxy extends X3DMaterialExtensionNodeProxy
18995
19043
  {
18996
19044
  /**
@@ -20181,7 +20229,7 @@ interface VolumeEmitterProxy extends X3DParticleEmitterNodeProxy
20181
20229
  variation: number;
20182
20230
  }
20183
20231
 
20184
- /** VolumeMaterialExtension is an extension for PhysicalMaterial node and SpecularGlossinessMaterial node. */
20232
+ /** VolumeMaterialExtension is an extension for the PhysicalMaterial and SpecularGlossinessMaterial nodes. For this node to have an effect, add an EnvironmentLight node. */
20185
20233
  interface VolumeMaterialExtensionProxy extends X3DMaterialExtensionNodeProxy
20186
20234
  {
20187
20235
  /**
@@ -22238,6 +22286,7 @@ type ConcreteNodeTypes = {
22238
22286
  CylinderSensor: CylinderSensorProxy,
22239
22287
  Delay: DelayProxy,
22240
22288
  DepthMode: DepthModeProxy,
22289
+ DiffuseTransmissionMaterialExtension: DiffuseTransmissionMaterialExtensionProxy,
22241
22290
  DirectionalLight: DirectionalLightProxy,
22242
22291
  DISEntityManager: DISEntityManagerProxy,
22243
22292
  DISEntityTypeMapping: DISEntityTypeMappingProxy,