x_ite 10.0.5 → 10.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/README.md +12 -9
  2. package/dist/assets/components/Annotation.js +13 -13
  3. package/dist/assets/components/Annotation.min.js +1 -1
  4. package/dist/assets/components/CADGeometry.js +14 -14
  5. package/dist/assets/components/CADGeometry.min.js +1 -1
  6. package/dist/assets/components/CubeMapTexturing.js +25 -25
  7. package/dist/assets/components/CubeMapTexturing.min.js +1 -1
  8. package/dist/assets/components/DIS.js +13 -13
  9. package/dist/assets/components/DIS.min.js +1 -1
  10. package/dist/assets/components/EventUtilities.js +9 -9
  11. package/dist/assets/components/EventUtilities.min.js +1 -1
  12. package/dist/assets/components/Geometry2D.js +18 -18
  13. package/dist/assets/components/Geometry2D.min.js +1 -1
  14. package/dist/assets/components/Geospatial.js +33 -33
  15. package/dist/assets/components/Geospatial.min.js +1 -1
  16. package/dist/assets/components/HAnim.js +23 -23
  17. package/dist/assets/components/HAnim.min.js +1 -1
  18. package/dist/assets/components/KeyDeviceSensor.js +8 -8
  19. package/dist/assets/components/KeyDeviceSensor.min.js +1 -1
  20. package/dist/assets/components/Layout.js +61 -46
  21. package/dist/assets/components/Layout.min.js +1 -1
  22. package/dist/assets/components/NURBS.js +23 -23
  23. package/dist/assets/components/NURBS.min.js +1 -1
  24. package/dist/assets/components/ParticleSystems.js +26 -26
  25. package/dist/assets/components/ParticleSystems.min.js +1 -1
  26. package/dist/assets/components/Picking.js +18 -18
  27. package/dist/assets/components/Picking.min.js +1 -1
  28. package/dist/assets/components/RigidBodyPhysics.js +17 -17
  29. package/dist/assets/components/RigidBodyPhysics.min.js +1 -1
  30. package/dist/assets/components/Scripting.js +38 -38
  31. package/dist/assets/components/Scripting.min.js +1 -1
  32. package/dist/assets/components/Text.js +275 -201
  33. package/dist/assets/components/Text.min.js +1 -1
  34. package/dist/assets/components/TextureProjection.js +15 -15
  35. package/dist/assets/components/TextureProjection.min.js +1 -1
  36. package/dist/assets/components/Texturing3D.js +27 -27
  37. package/dist/assets/components/Texturing3D.min.js +1 -1
  38. package/dist/assets/components/VolumeRendering.js +19 -19
  39. package/dist/assets/components/VolumeRendering.min.js +1 -1
  40. package/dist/assets/components/X_ITE.js +19 -19
  41. package/dist/assets/components/X_ITE.min.js +1 -1
  42. package/dist/example.html +1 -1
  43. package/dist/x_ite.css +1 -1
  44. package/dist/x_ite.js +211 -139
  45. package/dist/x_ite.min.js +1 -1
  46. package/dist/x_ite.min.mjs +1 -1
  47. package/dist/x_ite.mjs +211 -139
  48. package/dist/x_ite.zip +0 -0
  49. package/package.json +1 -1
@@ -1 +1 @@
1
- /* X_ITE v10.0.5 */(()=>{"use strict";var e={n:t=>{var n=t&&t.__esModule?()=>t.default:()=>t;return e.d(n,{a:n}),n},d:(t,n)=>{for(var i in n)e.o(n,i)&&!e.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:n[i]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)};const t=window[Symbol.for("X_ITE.X3D-10.0.5")].require("x_ite/Components");var n=e.n(t);const i=window[Symbol.for("X_ITE.X3D-10.0.5")].require("x_ite/Fields");var s=e.n(i);const o=window[Symbol.for("X_ITE.X3D-10.0.5")].require("x_ite/Base/X3DFieldDefinition");var r=e.n(o);const a=window[Symbol.for("X_ITE.X3D-10.0.5")].require("x_ite/Base/FieldDefinitionArray");var d=e.n(a);const l=window[Symbol.for("X_ITE.X3D-10.0.5")].require("x_ite/Components/Rendering/X3DGeometricPropertyNode");var u=e.n(l);const h=window[Symbol.for("X_ITE.X3D-10.0.5")].require("x_ite/Base/X3DConstants");var p=e.n(h);const c=window[Symbol.for("X_ITE.X3D-10.0.5")].require("x_ite/Namespace");var _=e.n(c);function m(e){u().call(this,e),this.addType(p().HAnimDisplacer),this._displacements.setUnit("length")}Object.setPrototypeOf(m.prototype,u().prototype),Object.defineProperties(m,{typeName:{value:"HAnimDisplacer",enumerable:!0},componentInfo:{value:Object.freeze({name:"HAnim",level:1}),enumerable:!0},containerField:{value:"displacers",enumerable:!0},specificationRange:{value:Object.freeze({from:"3.0",to:"Infinity"}),enumerable:!0},fieldDefinitions:{value:new(d())([new(r())(p().inputOutput,"metadata",new(s().SFNode)),new(r())(p().inputOutput,"description",new(s().SFString)),new(r())(p().inputOutput,"name",new(s().SFString)),new(r())(p().inputOutput,"weight",new(s().SFFloat)),new(r())(p().inputOutput,"coordIndex",new(s().MFInt32)),new(r())(p().inputOutput,"displacements",new(s().MFVec3f))]),enumerable:!0}});const w=m;_().add("HAnimDisplacer","x_ite/Components/HAnim/HAnimDisplacer",w);const f=w,g=window[Symbol.for("X_ITE.X3D-10.0.5")].require("x_ite/Components/Core/X3DChildNode");var I=e.n(g);const F=window[Symbol.for("X_ITE.X3D-10.0.5")].require("x_ite/Components/Grouping/Group");var b=e.n(F);const x=window[Symbol.for("X_ITE.X3D-10.0.5")].require("x_ite/Components/Grouping/Transform");var O=e.n(x);const T=window[Symbol.for("X_ITE.X3D-10.0.5")].require("x_ite/Components/Grouping/X3DBoundedObject");var S=e.n(T);const v=window[Symbol.for("X_ITE.X3D-10.0.5")].require("x_ite/Rendering/TraverseType");var y=e.n(v);const N=window[Symbol.for("X_ITE.X3D-10.0.5")].require("x_ite/Base/X3DCast");var E=e.n(N);const j=window[Symbol.for("X_ITE.X3D-10.0.5")].require("standard/Math/Numbers/Matrix4");var M=e.n(j);const D=window[Symbol.for("X_ITE.X3D-10.0.5")].require("standard/Math/Algorithm");var C=e.n(D);function A(e){I().call(this,e),S().call(this,e),this.addType(p().HAnimHumanoid),this.addChildObjects(p().inputOutput,"jointTextures",new(s().SFTime),p().inputOutput,"displacementsTexture",new(s().SFTime),p().inputOutput,"displacementWeightsTexture",new(s().SFTime)),this._translation.setUnit("length"),this._center.setUnit("length"),this._bboxSize.setUnit("length"),this._bboxCenter.setUnit("length"),e.getSpecificationVersion()<=3.3&&(this._version=""),this.skeletonNode=new(b())(e),this.viewpointsNode=new(b())(e),this.skinNode=new(b())(e),this.transformNode=new(O())(e),this.motionNodes=[],this.jointNodes=[],this.jointBindingMatrices=[],this.displacementWeights=[],this.numJoints=0,this.numDisplacements=0,this.skinCoordNode=null,this.change=new X,this.skinning=Function.prototype}Object.assign(Object.setPrototypeOf(A.prototype,I().prototype),S().prototype,{initialize(){I().prototype.initialize.call(this),S().prototype.initialize.call(this),this.skeletonNode.setAllowedTypes(p().HAnimJoint,p().HAnimSite),this.viewpointsNode.setAllowedTypes(p().HAnimSite),this._skeleton.addFieldInterest(this.skeletonNode._children),this._viewpoints.addFieldInterest(this.viewpointsNode._children),this._skin.addFieldInterest(this.skinNode._children),this.skeletonNode._children=this._skeleton,this.viewpointsNode._children=this._viewpoints,this.skinNode._children=this._skin,this.skeletonNode.setPrivate(!0),this.viewpointsNode.setPrivate(!0),this.skinNode.setPrivate(!0),this._translation.addFieldInterest(this.transformNode._translation),this._rotation.addFieldInterest(this.transformNode._rotation),this._scale.addFieldInterest(this.transformNode._scale),this._scaleOrientation.addFieldInterest(this.transformNode._scaleOrientation),this._center.addFieldInterest(this.transformNode._center),this._bboxDisplay.addFieldInterest(this.transformNode._bboxDisplay),this._bboxSize.addFieldInterest(this.transformNode._bboxSize),this._bboxCenter.addFieldInterest(this.transformNode._bboxCenter),this.transformNode._translation=this._translation,this.transformNode._rotation=this._rotation,this.transformNode._scale=this._scale,this.transformNode._scaleOrientation=this._scaleOrientation,this.transformNode._center=this._center,this.transformNode._bboxDisplay=this._bboxDisplay,this.transformNode._bboxSize=this._bboxSize,this.transformNode._bboxCenter=this._bboxCenter,this.transformNode._children=[this.skeletonNode,this.viewpointsNode,this.skinNode],this.transformNode._isCameraObject.addFieldInterest(this._isCameraObject),this.transformNode._isPickableObject.addFieldInterest(this._isPickableObject),this.skeletonNode.setup(),this.viewpointsNode.setup(),this.skinNode.setup(),this.transformNode.setup(),this.setCameraObject(this.transformNode.isCameraObject()),this.setPickableObject(this.transformNode.isPickableObject());const e=this.getBrowser().getContext();if(1!==e.getVersion()){this.skinNode.traverse=function(e,t,n){n.getHumanoids().push(e),b().prototype.traverse.call(this,t,n),n.getHumanoids().pop()}.bind(this.skinNode,this),this.jointsTexture=e.createTexture(),this.displacementsTexture=e.createTexture(),this.jointMatricesTexture=e.createTexture();for(const t of[this.jointsTexture,this.displacementsTexture,this.jointMatricesTexture])e.bindTexture(e.TEXTURE_2D,t),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR);this._motionsEnabled.addInterest("set_motions__",this),this._motions.addInterest("set_motions__",this),this._jointBindingPositions.addInterest("set_joints__",this),this._jointBindingRotations.addInterest("set_joints__",this),this._jointBindingScales.addInterest("set_joints__",this),this._joints.addInterest("set_joints__",this),this._jointTextures.addInterest("set_jointTextures__",this),this._displacementsTexture.addInterest("set_displacementsTexture__",this),this._displacementWeightsTexture.addInterest("set_displacementWeightsTexture__",this),this._skinCoord.addInterest("set_skinCoord__",this),this.set_motions__(),this.set_joints__(),this.set_skinCoord__()}},getBBox(e,t){return this.transformNode.getBBox(e,t)},getSubBBox(e,t){return this.transformNode.getSubBBox(e,t)},getMatrix(){return this.transformNode.getMatrix()},getHumanoidKey(){return this.humanoidKey},getNumJoints(){return this.numJoints},getNumDisplacements(){return this.numDisplacements},set_humanoidKey__(){this.humanoidKey=`[${this.numJoints}.${this.numDisplacements}]`},set_motions__(){const e=this._motionsEnabled,t=this.motionNodes;for(const e of t)e._joints.removeInterest("set_connectJoints__",this),e._channelsEnabled.removeInterest("set_connectJoints__",this),e._channels.removeInterest("set_connectJoints__",this),e._values.removeInterest("set_connectJoints__",this),e.disconnectJoints(this.jointNodes);t.length=0;for(const[n,i]of this._motions.entries()){if(n<e.length&&!e[n])continue;const s=E()(p().HAnimMotion,i);s&&t.push(s)}for(const e of t)e._joints.addInterest("set_connectJoints__",this,e),e._channelsEnabled.addInterest("set_connectJoints__",this,e),e._channels.addInterest("set_connectJoints__",this,e),e._values.addInterest("set_connectJoints__",this,e),e.connectJoints(this.jointNodes)},set_connectJoints__(e){e.disconnectJoints(this.jointNodes),e.connectJoints(this.jointNodes)},set_joints__(){const e=this.jointNodes,t=this.jointBindingMatrices,n=this._jointBindingPositions,i=this._jointBindingRotations,s=this._jointBindingScales,o=n.length,r=i.length,a=s.length;for(const t of this.motionNodes)t.disconnectJoints(e);for(const t of e)t.removeInterest("enable",this.change),t._skinCoordIndex.removeInterest("addEvent",this._jointTextures),t._skinCoordWeight.removeInterest("addEvent",this._jointTextures),t._displacements.removeInterest("addEvent",this._displacementsTexture),t._displacementWeights.removeInterest("addEvent",this._displacementWeightsTexture);e.length=0,t.length=0;for(const[d,l]of this._joints.entries()){const u=E()(p().HAnimJoint,l);if(!u)continue;const h=o?n[Math.min(d,o-1)].getValue():null,c=r?i[Math.min(d,r-1)].getValue():null,_=a?s[Math.min(d,a-1)].getValue():null;e.push(u),t.push((new(M())).set(h,c,_))}for(const t of e)t.addInterest("enable",this.change),t._skinCoordIndex.addInterest("addEvent",this._jointTextures),t._skinCoordWeight.addInterest("addEvent",this._jointTextures),t._displacements.addInterest("addEvent",this._displacementsTexture),t._displacementWeights.addInterest("addEvent",this._displacementWeightsTexture);for(const t of this.motionNodes)t.connectJoints(e);const d=Math.ceil(Math.sqrt(8*e.length));this.jointMatricesArray=new Float32Array(d*d*4),this._jointTextures.addEvent(),this._displacementsTexture.addEvent(),this._displacementWeightsTexture.addEvent()},set_jointTextures__(){const e=this.skinCoordNode?._point.length||1,t=Array.from({length:e},(()=>[])),n=Array.from({length:e},(()=>[]));for(const[e,i]of this.jointNodes.entries()){const s=i._skinCoordWeight.getValue();for(const[o,r]of i._skinCoordIndex.entries()){const i=s[o];0!==i&&(t[r]?.push(e),n[r]?.push(i))}}const i=C().roundToMultiple(t.reduce(((e,t)=>Math.max(e,t.length)),0),4),s=2*i,o=Math.ceil(Math.sqrt(e*s))||1,r=new Float32Array(o*o*4);for(let o=0;o<e;++o)r.set(t[o],o*s),r.set(n[o],o*s+i);this.numJoints=i;const a=this.getBrowser().getContext();a.bindTexture(a.TEXTURE_2D,this.jointsTexture),a.texImage2D(a.TEXTURE_2D,0,a.RGBA32F,o,o,0,a.RGBA,a.FLOAT,r),this.change.enable(),this.set_humanoidKey__()},set_displacementsTexture__(){const e=this.skinCoordNode?._point.length||1,t=Array.from({length:e},(()=>[]));for(const[e,n]of this.jointNodes.entries())for(const i of n.getDisplacers()){const n=i._displacements;for(const[s,o]of i._coordIndex.entries())t[o]?.push(...n[s],e)}const n=t.reduce(((e,t)=>Math.max(e,t.length)),0)/4,i=4*n,s=C().roundToMultiple(Math.ceil(Math.sqrt(e*n*2))||1,2),o=new Float32Array(s*s*4);for(let n=0;n<e;++n)o.set(t[n],n*i);this.numDisplacements=n;const r=this.getBrowser().getContext();r.bindTexture(r.TEXTURE_2D,this.displacementsTexture),r.texImage2D(r.TEXTURE_2D,0,r.RGBA32F,s,s,0,r.RGBA,r.FLOAT,o);const a=this.displacementWeights;for(let t=a.length;t<e;++t)a[t]=[];a.length=e,this.displacementWeightsArray=new Float32Array(s*s*2),this.change.enable(),this.set_humanoidKey__()},set_displacementWeightsTexture__(){const e=this.skinCoordNode?._point.length||1,t=this.displacementWeights;for(const e of t)e.length=0;for(const e of this.jointNodes)for(const n of e.getDisplacers()){const e=n._weight;for(const i of n._coordIndex)t[i]?.push(e,0,0,0)}const n=this.numDisplacements,i=4*n,s=C().roundToMultiple(Math.ceil(Math.sqrt(e*n*2))||1,2),o=this.displacementWeightsArray;for(let n=0;n<e;++n)o.set(t[n],n*i);const r=this.getBrowser().getContext();r.bindTexture(r.TEXTURE_2D,this.displacementsTexture),r.texSubImage2D(r.TEXTURE_2D,0,0,s/2,s,s/2,r.RGBA,r.FLOAT,o),this.change.enable()},set_skinCoord__(){this.skinCoordNode&&(this.skinCoordNode.removeInterest("addEvent",this._jointTextures),this.skinCoordNode.removeInterest("addEvent",this._displacementsTexture),this.skinCoordNode.removeInterest("addEvent",this._displacementWeightsTexture)),this.skinCoordNode=E()(p().X3DCoordinateNode,this._skinCoord),this.skinCoordNode?(delete this.skinning,this.skinCoordNode.addInterest("addEvent",this._jointTextures),this.skinCoordNode.addInterest("addEvent",this._displacementsTexture),this.skinCoordNode.addInterest("addEvent",this._displacementWeightsTexture)):this.skinning=Function.prototype,this._jointTextures.addEvent(),this._displacementsTexture.addEvent(),this._displacementWeightsTexture.addEvent()},traverse(e,t){this.transformNode.traverse(e,t),this.skinning(e,t)},skinning:(()=>{const e=new(M());return function(t,n){if(t!==y().DISPLAY||this.change.lock())return;e.assign(this.transformNode.getMatrix()).multRight(n.getModelViewMatrix().get()).inverse();const i=this.jointNodes,s=i.length,o=this.jointBindingMatrices,r=this.jointMatricesArray,a=Math.ceil(Math.sqrt(8*s));for(let t=0;t<s;++t){const n=i[t],s=o[t],a=n.getModelViewMatrix().multRight(e).multLeft(s),d=a.submatrix.transpose().inverse();r.set(a,32*t+0),r.set(d,32*t+16)}const d=this.getBrowser().getContext();d.bindTexture(d.TEXTURE_2D,this.jointMatricesTexture),d.texImage2D(d.TEXTURE_2D,0,d.RGBA32F,a,a,0,d.RGBA,d.FLOAT,r)}})(),setShaderUniforms(e,t){const n=this.getBrowser().getTexture2DUnit(),i=this.getBrowser().getTexture2DUnit(),s=this.getBrowser().getTexture2DUnit();e.activeTexture(e.TEXTURE0+n),e.bindTexture(e.TEXTURE_2D,this.jointsTexture),e.uniform1i(t.x3d_JointsTexture,n),e.activeTexture(e.TEXTURE0+i),e.bindTexture(e.TEXTURE_2D,this.displacementsTexture),e.uniform1i(t.x3d_DisplacementsTexture,i),e.activeTexture(e.TEXTURE0+s),e.bindTexture(e.TEXTURE_2D,this.jointMatricesTexture),e.uniform1i(t.x3d_JointMatricesTexture,s)},dispose(){S().prototype.dispose.call(this),I().prototype.dispose.call(this)}}),Object.defineProperties(A,{typeName:{value:"HAnimHumanoid",enumerable:!0},componentInfo:{value:Object.freeze({name:"HAnim",level:1}),enumerable:!0},containerField:{value:"children",enumerable:!0},specificationRange:{value:Object.freeze({from:"3.0",to:"Infinity"}),enumerable:!0},fieldDefinitions:{value:new(d())([new(r())(p().inputOutput,"metadata",new(s().SFNode)),new(r())(p().inputOutput,"version",new(s().SFString)("2.0")),new(r())(p().inputOutput,"description",new(s().SFString)),new(r())(p().inputOutput,"name",new(s().SFString)),new(r())(p().inputOutput,"info",new(s().MFString)),new(r())(p().inputOutput,"skeletalConfiguration",new(s().SFString)("BASIC")),new(r())(p().inputOutput,"loa",new(s().SFInt32)(-1)),new(r())(p().inputOutput,"translation",new(s().SFVec3f)),new(r())(p().inputOutput,"rotation",new(s().SFRotation)),new(r())(p().inputOutput,"scale",new(s().SFVec3f)(1,1,1)),new(r())(p().inputOutput,"scaleOrientation",new(s().SFRotation)),new(r())(p().inputOutput,"center",new(s().SFVec3f)),new(r())(p().inputOutput,"visible",new(s().SFBool)(!0)),new(r())(p().inputOutput,"bboxDisplay",new(s().SFBool)),new(r())(p().initializeOnly,"bboxSize",new(s().SFVec3f)(-1,-1,-1)),new(r())(p().initializeOnly,"bboxCenter",new(s().SFVec3f)),new(r())(p().inputOutput,"skeleton",new(s().MFNode)),new(r())(p().inputOutput,"viewpoints",new(s().MFNode)),new(r())(p().inputOutput,"sites",new(s().MFNode)),new(r())(p().inputOutput,"segments",new(s().MFNode)),new(r())(p().inputOutput,"motionsEnabled",new(s().MFBool)),new(r())(p().inputOutput,"motions",new(s().MFNode)),new(r())(p().inputOutput,"jointBindingPositions",new(s().MFVec3f)),new(r())(p().inputOutput,"jointBindingRotations",new(s().MFRotation)),new(r())(p().inputOutput,"jointBindingScales",new(s().MFVec3f)),new(r())(p().inputOutput,"joints",new(s().MFNode)),new(r())(p().inputOutput,"skinBindingNormals",new(s().SFNode)),new(r())(p().inputOutput,"skinBindingCoords",new(s().SFNode)),new(r())(p().inputOutput,"skinNormal",new(s().SFNode)),new(r())(p().inputOutput,"skinCoord",new(s().SFNode)),new(r())(p().inputOutput,"skin",new(s().MFNode))]),enumerable:!0}});class X{#e=!0;enable(){this.#e=!1}lock(){const e=this.#e;return this.#e=!0,e}}const k=A;_().add("HAnimHumanoid","x_ite/Components/HAnim/HAnimHumanoid",k);const R=k,V=window[Symbol.for("X_ITE.X3D-10.0.5")].require("x_ite/Components/Grouping/X3DTransformNode");var B=e.n(V);const H=window[Symbol.for("X_ITE.X3D-10.0.5")].require("standard/Math/Numbers/Vector3");var P=e.n(H);function z(e){B().call(this,e),this.addType(p().HAnimJoint),this.addChildObjects(p().outputOnly,"displacements",new(s().SFTime),p().outputOnly,"displacementWeights",new(s().SFTime)),this.setAllowedTypes(p().HAnimJoint,p().HAnimSegment,p().HAnimSite),this.displacerNodes=[],this.modelViewMatrix=new(M())}Object.assign(Object.setPrototypeOf(z.prototype,B().prototype),{initialize(){B().prototype.initialize.call(this),this._displacers.addInterest("set_displacers__",this),this.set_displacers__()},getModelViewMatrix(){return this.modelViewMatrix},getDisplacers(){return this.displacerNodes},set_displacers__(){const e=this.displacerNodes;for(const t of e)t._coordIndex.removeInterest("addEvent",this._displacements),t._displacements.removeInterest("addEvent",this._displacements),t._coordIndex.removeInterest("addEvent",this._displacementWeights),t._weight.removeInterest("addEvent",this._displacementWeights);e.length=0;for(const t of this._displacers){const n=E()(p().HAnimDisplacer,t);n&&e.push(n)}for(const t of e)t._coordIndex.addInterest("addEvent",this._displacements),t._displacements.addInterest("addEvent",this._displacements),t._coordIndex.addInterest("addEvent",this._displacementWeights),t._weight.addInterest("addEvent",this._displacementWeights)},traverse(e,t){const n=t.getModelViewMatrix();n.push(),n.multLeft(this.getMatrix()),e===y().DISPLAY&&this.modelViewMatrix.assign(n.get()),B().prototype.groupTraverse.call(this,e,t),n.pop()},groupTraverse(e,t){e===y().DISPLAY&&this.modelViewMatrix.assign(t.getModelViewMatrix().get()),B().prototype.groupTraverse.call(this,e,t)}}),Object.defineProperties(z,{typeName:{value:"HAnimJoint",enumerable:!0},componentInfo:{value:Object.freeze({name:"HAnim",level:1}),enumerable:!0},containerField:{value:"children",enumerable:!0},specificationRange:{value:Object.freeze({from:"3.0",to:"Infinity"}),enumerable:!0},fieldDefinitions:{value:new(d())([new(r())(p().inputOutput,"metadata",new(s().SFNode)),new(r())(p().inputOutput,"description",new(s().SFString)),new(r())(p().inputOutput,"name",new(s().SFString)),new(r())(p().inputOutput,"translation",new(s().SFVec3f)),new(r())(p().inputOutput,"rotation",new(s().SFRotation)),new(r())(p().inputOutput,"scale",new(s().SFVec3f)(1,1,1)),new(r())(p().inputOutput,"scaleOrientation",new(s().SFRotation)),new(r())(p().inputOutput,"center",new(s().SFVec3f)),new(r())(p().inputOutput,"llimit",new(s().MFFloat)(0,0,0)),new(r())(p().inputOutput,"ulimit",new(s().MFFloat)(0,0,0)),new(r())(p().inputOutput,"limitOrientation",new(s().SFRotation)),new(r())(p().inputOutput,"stiffness",new(s().MFFloat)(0,0,0)),new(r())(p().inputOutput,"skinCoordIndex",new(s().MFInt32)),new(r())(p().inputOutput,"skinCoordWeight",new(s().MFFloat)),new(r())(p().inputOutput,"displacers",new(s().MFNode)),new(r())(p().inputOutput,"visible",new(s().SFBool)(!0)),new(r())(p().inputOutput,"bboxDisplay",new(s().SFBool)),new(r())(p().initializeOnly,"bboxSize",new(s().SFVec3f)(-1,-1,-1)),new(r())(p().initializeOnly,"bboxCenter",new(s().SFVec3f)),new(r())(p().inputOnly,"addChildren",new(s().MFNode)),new(r())(p().inputOnly,"removeChildren",new(s().MFNode)),new(r())(p().inputOutput,"children",new(s().MFNode))]),enumerable:!0}});const J=z;_().add("HAnimJoint","x_ite/Components/HAnim/HAnimJoint",J);const U=J,W=window[Symbol.for("X_ITE.X3D-10.0.5")].require("x_ite/Components/Time/TimeSensor");var q=e.n(W);const G=window[Symbol.for("X_ITE.X3D-10.0.5")].require("x_ite/Components/Interpolation/PositionInterpolator");var L=e.n(G);const Y=window[Symbol.for("X_ITE.X3D-10.0.5")].require("x_ite/Components/Interpolation/OrientationInterpolator");var K=e.n(Y);const Z=window[Symbol.for("X_ITE.X3D-10.0.5")].require("standard/Math/Numbers/Rotation4");var $=e.n(Z);function Q(e){I().call(this,e),this.addType(p().HAnimMotion),this.timeSensor=new(q())(this.getExecutionContext()),this.interpolators=[]}Object.assign(Object.setPrototypeOf(Q.prototype,I().prototype),{initialize(){I().prototype.initialize.call(this),this._loop.addFieldInterest(this.timeSensor._loop),this.timeSensor._cycleTime.addFieldInterest(this._cycleTime),this.timeSensor._elapsedTime.addFieldInterest(this._elapsedTime),this.timeSensor._enabled=!1,this.timeSensor._loop=this._loop,this.timeSensor._stopTime=1,this.timeSensor.setup(),this._enabled.addInterest("set_enabled__",this),this._joints.addInterest("set_joints__",this),this._channels.addInterest("set_interpolators__",this),this._values.addInterest("set_interpolators__",this),this._next.addInterest("set_next_or_previous__",this,1),this._previous.addInterest("set_next_or_previous__",this,-1),this._frameIndex.addInterest("set_frameIndex__",this),this._frameDuration.addInterest("set_frameDuration__",this),this._frameIncrement.addInterest("set_frameIncrement__",this),this._startFrame.addInterest("set_start_or_endFrame__",this),this._endFrame.addInterest("set_start_or_endFrame__",this),this.set_enabled__(),this.set_joints__(),this.set_frameIncrement__(),this.set_interpolators__()},connectJoints(e){const t=this._channelsEnabled,n=this.joints,i=this.getJointsIndex(e);for(const[e,{positionInterpolator:s,orientationInterpolator:o,scaleInterpolator:r}]of this.interpolators.entries()){if(e<t.length&&!t[e])continue;const a=i.get(n[e]);a&&(s?._value_changed.addFieldInterest(a._translation),o?._value_changed.addFieldInterest(a._rotation),r?._value_changed.addFieldInterest(a._scale))}},disconnectJoints(e){const t=this.joints,n=this.getJointsIndex(e);for(const[e,{positionInterpolator:i,orientationInterpolator:s,scaleInterpolator:o}]of this.interpolators.entries()){const r=n.get(t[e]);r&&(i?._value_changed.removeFieldInterest(r._translation),s?._value_changed.removeFieldInterest(r._rotation),o?._value_changed.removeFieldInterest(r._scale))}},getJointsIndex(e){const t=new Map(e.map((e=>[e._name.getValue().trim(),e])));return t.delete("IGNORED"),t.set("HumanoidRoot",t.get("humanoid_root")),t},set_enabled__(){this._enabled.getValue()?this.timeSensor._startTime=Date.now()/1e3:this.timeSensor._stopTime=Date.now()/1e3},set_joints__(){this.joints=this._joints.getValue().replace(/^[\s,]+|[\s,]+$/gs,"").split(/[\s,]+/s);for(const{positionInterpolator:e,orientationInterpolator:t,scaleInterpolator:n}of this.interpolators)e?._value_changed.getFieldInterests().forEach((t=>e._value_changed.removeFieldInterest(t))),t?._value_changed.getFieldInterests().forEach((e=>t._value_changed.removeFieldInterest(e))),n?._value_changed.getFieldInterests().forEach((e=>n._value_changed.removeFieldInterest(e)))},set_interpolators__(){const e=this.timeSensor;e._fraction_changed.getFieldInterests().forEach((t=>e._fraction_changed.removeFieldInterest(t)));const t=this._channels.getValue().replace(/^[\s,\d]+|[\s,\d]+$/gs,"").split(/[\s,]+\d+[\s,]+/s).map((e=>e.split(/[\s,]+/s))),n=this._values,i=t.reduce(((e,t)=>e+t.length),0),s=Math.floor(i?n.length/i:0),o=new Map,r=Array.from({length:t.length},(()=>({})));this.interpolators=r;for(let i=0,a=0;i<s;++i)for(const[d,l]of t.entries()){o.clear();for(const e of l)o.set(e,n[a++]);if(o.has("Xposition")||o.has("Yposition")||o.has("Zposition")){const t=r[d].positionInterpolator??this.createPositionInterpolator(r,d),n=i/(s-1),a=new(P())(o.get("Xposition")??0,o.get("Yposition")??0,o.get("Zposition")??0);t._key.push(n),t._keyValue.push(a),e._fraction_changed.addFieldInterest(t._set_fraction)}if(o.has("Xrotation")||o.has("Yrotation")||o.has("Zrotation")){const t=r[d].orientationInterpolator??this.createOrientationInterpolator(r,d),n=i/(s-1),a=$().fromEuler(C().radians(o.get("Xrotation")??0),C().radians(o.get("Yrotation")??0),C().radians(o.get("Zrotation")??0));t._key.push(n),t._keyValue.push(a),e._fraction_changed.addFieldInterest(t._set_fraction)}if(o.has("Xscale")||o.has("Yscale")||o.has("Zscale")){const t=r[d].scaleInterpolator??this.createScaleInterpolator(r,d),n=i/(s-1),a=new(P())(o.get("Xscale")??1,o.get("Yscale")??1,o.get("Zscale")??1);t._key.push(n),t._keyValue.push(a),e._fraction_changed.addFieldInterest(t._set_fraction)}}for(const{positionInterpolator:e,orientationInterpolator:t,scaleInterpolator:n}of r)e?.setup(),t?.setup(),n?.setup();this._frameIndex=0,this._startFrame=0,this._endFrame=s-1,this._frameCount=s,this.set_frameDuration__()},set_next_or_previous__(e,t){if(!t.getValue())return;const n=this.getFraction(),i=this._frameCount.getValue(),s=this._frameIncrement.getValue(),o=(i>1?Math.floor(n*(i-1)):0)+s*e;if(o>this.endFrame){if(!this._loop.getValue())return;this._frameIndex=this.startFrame}else if(o<this.startFrame){if(!this._loop.getValue())return;this._frameIndex=this.endFrame}else this._frameIndex=o},set_frameIndex__(){const e=this._frameCount.getValue(),t=C().clamp(this._frameIndex.getValue(),0,e),n=e>1?t/(e-1):0;if(this.timeSensor._range[0]=n,!this.timeSensor._isActive.getValue())for(const e of this.timeSensor._fraction_changed.getFieldInterests())e.setValue(n)},set_frameDuration__(){const e=this._frameCount.getValue(),t=Math.max(this._frameDuration.getValue(),0);this.timeSensor._cycleInterval=e>1?(e-1)*t:0},set_frameIncrement__(){this.timeSensor._enabled=this._frameIncrement.getValue()},set_start_or_endFrame__(){const e=this._frameCount.getValue(),t=C().clamp(this._startFrame.getValue(),0,e),n=C().clamp(this._endFrame.getValue(),0,e);this.startFrame=Math.min(t,n),this.endFrame=Math.max(t,n),this.timeSensor._range[1]=e>1?this.startFrame/(e-1):0,this.timeSensor._range[2]=e>1?this.endFrame/(e-1):0},createPositionInterpolator(e,t){return e[t].positionInterpolator=new(L())(this.getExecutionContext())},createOrientationInterpolator(e,t){return e[t].orientationInterpolator=new(K())(this.getExecutionContext())},createScaleInterpolator(e,t){return e[t].scaleInterpolator=new(L())(this.getExecutionContext())},getFraction(){for(const e of this.timeSensor._fraction_changed.getFieldInterests())return e.getValue();return 0}}),Object.defineProperties(Q,{typeName:{value:"HAnimMotion",enumerable:!0},componentInfo:{value:Object.freeze({name:"HAnim",level:2}),enumerable:!0},containerField:{value:"motions",enumerable:!0},specificationRange:{value:Object.freeze({from:"4.0",to:"Infinity"}),enumerable:!0},fieldDefinitions:{value:new(d())([new(r())(p().inputOutput,"metadata",new(s().SFNode)),new(r())(p().inputOutput,"description",new(s().SFString)),new(r())(p().inputOutput,"name",new(s().SFString)),new(r())(p().inputOutput,"enabled",new(s().SFBool)(!0)),new(r())(p().inputOutput,"loa",new(s().SFInt32)(-1)),new(r())(p().inputOutput,"joints",new(s().SFString)),new(r())(p().inputOutput,"channelsEnabled",new(s().MFBool)),new(r())(p().inputOutput,"channels",new(s().SFString)),new(r())(p().inputOutput,"values",new(s().MFFloat)),new(r())(p().inputOutput,"loop",new(s().SFBool)),new(r())(p().inputOnly,"next",new(s().SFBool)),new(r())(p().inputOnly,"previous",new(s().SFBool)),new(r())(p().inputOutput,"frameIndex",new(s().SFInt32)),new(r())(p().inputOutput,"frameDuration",new(s().SFTime)(.1)),new(r())(p().inputOutput,"frameIncrement",new(s().SFInt32)(1)),new(r())(p().inputOutput,"startFrame",new(s().SFInt32)),new(r())(p().inputOutput,"endFrame",new(s().SFInt32)),new(r())(p().outputOnly,"cycleTime",new(s().SFTime)),new(r())(p().outputOnly,"elapsedTime",new(s().SFTime)),new(r())(p().outputOnly,"frameCount",new(s().SFInt32))]),enumerable:!0}});const ee=Q;_().add("HAnimMotion","x_ite/Components/HAnim/HAnimMotion",ee);const te=ee,ne=window[Symbol.for("X_ITE.X3D-10.0.5")].require("x_ite/Components/Grouping/X3DGroupingNode");var ie=e.n(ne);function se(e){ie().call(this,e),this.addType(p().HAnimSegment),this._mass.setUnit("mass")}Object.setPrototypeOf(se.prototype,ie().prototype),Object.defineProperties(se,{typeName:{value:"HAnimSegment",enumerable:!0},componentInfo:{value:Object.freeze({name:"HAnim",level:1}),enumerable:!0},containerField:{value:"children",enumerable:!0},specificationRange:{value:Object.freeze({from:"3.0",to:"Infinity"}),enumerable:!0},fieldDefinitions:{value:new(d())([new(r())(p().inputOutput,"metadata",new(s().SFNode)),new(r())(p().inputOutput,"description",new(s().SFString)),new(r())(p().inputOutput,"name",new(s().SFString)),new(r())(p().inputOutput,"mass",new(s().SFFloat)),new(r())(p().inputOutput,"centerOfMass",new(s().SFVec3f)),new(r())(p().inputOutput,"momentsOfInertia",new(s().MFFloat)(0,0,0,0,0,0,0,0,0)),new(r())(p().inputOutput,"displacers",new(s().MFNode)),new(r())(p().inputOutput,"coord",new(s().SFNode)),new(r())(p().inputOutput,"visible",new(s().SFBool)(!0)),new(r())(p().inputOutput,"bboxDisplay",new(s().SFBool)),new(r())(p().initializeOnly,"bboxSize",new(s().SFVec3f)(-1,-1,-1)),new(r())(p().initializeOnly,"bboxCenter",new(s().SFVec3f)),new(r())(p().inputOnly,"addChildren",new(s().MFNode)),new(r())(p().inputOnly,"removeChildren",new(s().MFNode)),new(r())(p().inputOutput,"children",new(s().MFNode))]),enumerable:!0}});const oe=se;_().add("HAnimSegment","x_ite/Components/HAnim/HAnimSegment",oe);const re=oe;function ae(e){B().call(this,e),this.addType(p().HAnimSite)}Object.setPrototypeOf(ae.prototype,B().prototype),Object.defineProperties(ae,{typeName:{value:"HAnimSite",enumerable:!0},componentInfo:{value:Object.freeze({name:"HAnim",level:1}),enumerable:!0},containerField:{value:"children",enumerable:!0},specificationRange:{value:Object.freeze({from:"3.0",to:"Infinity"}),enumerable:!0},fieldDefinitions:{value:new(d())([new(r())(p().inputOutput,"metadata",new(s().SFNode)),new(r())(p().inputOutput,"description",new(s().SFString)),new(r())(p().inputOutput,"name",new(s().SFString)),new(r())(p().inputOutput,"translation",new(s().SFVec3f)),new(r())(p().inputOutput,"rotation",new(s().SFRotation)),new(r())(p().inputOutput,"scale",new(s().SFVec3f)(1,1,1)),new(r())(p().inputOutput,"scaleOrientation",new(s().SFRotation)),new(r())(p().inputOutput,"center",new(s().SFVec3f)),new(r())(p().inputOutput,"visible",new(s().SFBool)(!0)),new(r())(p().inputOutput,"bboxDisplay",new(s().SFBool)),new(r())(p().initializeOnly,"bboxSize",new(s().SFVec3f)(-1,-1,-1)),new(r())(p().initializeOnly,"bboxCenter",new(s().SFVec3f)),new(r())(p().inputOnly,"addChildren",new(s().MFNode)),new(r())(p().inputOnly,"removeChildren",new(s().MFNode)),new(r())(p().inputOutput,"children",new(s().MFNode))]),enumerable:!0}});const de=ae;_().add("HAnimSite","x_ite/Components/HAnim/HAnimSite",de);const le=de;n().add({name:"HAnim",concreteNodes:[f,R,U,te,re,le],abstractNodes:[]});const ue=void 0;_().add("HAnim","assets/components/HAnim",ue)})();
1
+ /* X_ITE v10.1.0 */(()=>{"use strict";var e={n:t=>{var n=t&&t.__esModule?()=>t.default:()=>t;return e.d(n,{a:n}),n},d:(t,n)=>{for(var i in n)e.o(n,i)&&!e.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:n[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 n=e.n(t);const i=window[Symbol.for("X_ITE.X3D-10.1.0")].require("x_ite/Fields");var s=e.n(i);const o=window[Symbol.for("X_ITE.X3D-10.1.0")].require("x_ite/Base/X3DFieldDefinition");var r=e.n(o);const a=window[Symbol.for("X_ITE.X3D-10.1.0")].require("x_ite/Base/FieldDefinitionArray");var d=e.n(a);const l=window[Symbol.for("X_ITE.X3D-10.1.0")].require("x_ite/Components/Rendering/X3DGeometricPropertyNode");var u=e.n(l);const h=window[Symbol.for("X_ITE.X3D-10.1.0")].require("x_ite/Base/X3DConstants");var p=e.n(h);const c=window[Symbol.for("X_ITE.X3D-10.1.0")].require("x_ite/Namespace");var _=e.n(c);function m(e){u().call(this,e),this.addType(p().HAnimDisplacer),this._displacements.setUnit("length")}Object.setPrototypeOf(m.prototype,u().prototype),Object.defineProperties(m,{typeName:{value:"HAnimDisplacer",enumerable:!0},componentInfo:{value:Object.freeze({name:"HAnim",level:1}),enumerable:!0},containerField:{value:"displacers",enumerable:!0},specificationRange:{value:Object.freeze({from:"3.0",to:"Infinity"}),enumerable:!0},fieldDefinitions:{value:new(d())([new(r())(p().inputOutput,"metadata",new(s().SFNode)),new(r())(p().inputOutput,"description",new(s().SFString)),new(r())(p().inputOutput,"name",new(s().SFString)),new(r())(p().inputOutput,"weight",new(s().SFFloat)),new(r())(p().inputOutput,"coordIndex",new(s().MFInt32)),new(r())(p().inputOutput,"displacements",new(s().MFVec3f))]),enumerable:!0}});const w=m;_().add("HAnimDisplacer","x_ite/Components/HAnim/HAnimDisplacer",w);const f=w,g=window[Symbol.for("X_ITE.X3D-10.1.0")].require("x_ite/Components/Core/X3DChildNode");var I=e.n(g);const F=window[Symbol.for("X_ITE.X3D-10.1.0")].require("x_ite/Components/Grouping/Group");var b=e.n(F);const x=window[Symbol.for("X_ITE.X3D-10.1.0")].require("x_ite/Components/Grouping/Transform");var O=e.n(x);const T=window[Symbol.for("X_ITE.X3D-10.1.0")].require("x_ite/Components/Grouping/X3DBoundedObject");var S=e.n(T);const v=window[Symbol.for("X_ITE.X3D-10.1.0")].require("x_ite/Rendering/TraverseType");var y=e.n(v);const N=window[Symbol.for("X_ITE.X3D-10.1.0")].require("x_ite/Base/X3DCast");var E=e.n(N);const j=window[Symbol.for("X_ITE.X3D-10.1.0")].require("standard/Math/Numbers/Matrix4");var M=e.n(j);const D=window[Symbol.for("X_ITE.X3D-10.1.0")].require("standard/Math/Algorithm");var C=e.n(D);function A(e){I().call(this,e),S().call(this,e),this.addType(p().HAnimHumanoid),this.addChildObjects(p().inputOutput,"jointTextures",new(s().SFTime),p().inputOutput,"displacementsTexture",new(s().SFTime),p().inputOutput,"displacementWeightsTexture",new(s().SFTime)),this._translation.setUnit("length"),this._center.setUnit("length"),this._bboxSize.setUnit("length"),this._bboxCenter.setUnit("length"),e.getSpecificationVersion()<=3.3&&(this._version=""),this.skeletonNode=new(b())(e),this.viewpointsNode=new(b())(e),this.skinNode=new(b())(e),this.transformNode=new(O())(e),this.motionNodes=[],this.jointNodes=[],this.jointBindingMatrices=[],this.displacementWeights=[],this.numJoints=0,this.numDisplacements=0,this.skinCoordNode=null,this.change=new X,this.skinning=Function.prototype}Object.assign(Object.setPrototypeOf(A.prototype,I().prototype),S().prototype,{initialize(){I().prototype.initialize.call(this),S().prototype.initialize.call(this),this.skeletonNode.setAllowedTypes(p().HAnimJoint,p().HAnimSite),this.viewpointsNode.setAllowedTypes(p().HAnimSite),this._skeleton.addFieldInterest(this.skeletonNode._children),this._viewpoints.addFieldInterest(this.viewpointsNode._children),this._skin.addFieldInterest(this.skinNode._children),this.skeletonNode._children=this._skeleton,this.viewpointsNode._children=this._viewpoints,this.skinNode._children=this._skin,this.skeletonNode.setPrivate(!0),this.viewpointsNode.setPrivate(!0),this.skinNode.setPrivate(!0),this._translation.addFieldInterest(this.transformNode._translation),this._rotation.addFieldInterest(this.transformNode._rotation),this._scale.addFieldInterest(this.transformNode._scale),this._scaleOrientation.addFieldInterest(this.transformNode._scaleOrientation),this._center.addFieldInterest(this.transformNode._center),this._bboxDisplay.addFieldInterest(this.transformNode._bboxDisplay),this._bboxSize.addFieldInterest(this.transformNode._bboxSize),this._bboxCenter.addFieldInterest(this.transformNode._bboxCenter),this.transformNode._translation=this._translation,this.transformNode._rotation=this._rotation,this.transformNode._scale=this._scale,this.transformNode._scaleOrientation=this._scaleOrientation,this.transformNode._center=this._center,this.transformNode._bboxDisplay=this._bboxDisplay,this.transformNode._bboxSize=this._bboxSize,this.transformNode._bboxCenter=this._bboxCenter,this.transformNode._children=[this.skeletonNode,this.viewpointsNode,this.skinNode],this.transformNode._isCameraObject.addFieldInterest(this._isCameraObject),this.transformNode._isPickableObject.addFieldInterest(this._isPickableObject),this.skeletonNode.setup(),this.viewpointsNode.setup(),this.skinNode.setup(),this.transformNode.setup(),this.setCameraObject(this.transformNode.isCameraObject()),this.setPickableObject(this.transformNode.isPickableObject());const e=this.getBrowser().getContext();if(1!==e.getVersion()){this.skinNode.traverse=function(e,t,n){n.getHumanoids().push(e),b().prototype.traverse.call(this,t,n),n.getHumanoids().pop()}.bind(this.skinNode,this),this.jointsTexture=e.createTexture(),this.displacementsTexture=e.createTexture(),this.jointMatricesTexture=e.createTexture();for(const t of[this.jointsTexture,this.displacementsTexture,this.jointMatricesTexture])e.bindTexture(e.TEXTURE_2D,t),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR);this._motionsEnabled.addInterest("set_motions__",this),this._motions.addInterest("set_motions__",this),this._jointBindingPositions.addInterest("set_joints__",this),this._jointBindingRotations.addInterest("set_joints__",this),this._jointBindingScales.addInterest("set_joints__",this),this._joints.addInterest("set_joints__",this),this._jointTextures.addInterest("set_jointTextures__",this),this._displacementsTexture.addInterest("set_displacementsTexture__",this),this._displacementWeightsTexture.addInterest("set_displacementWeightsTexture__",this),this._skinCoord.addInterest("set_skinCoord__",this),this.set_motions__(),this.set_joints__(),this.set_skinCoord__()}},getBBox(e,t){return this.transformNode.getBBox(e,t)},getSubBBox(e,t){return this.transformNode.getSubBBox(e,t)},getMatrix(){return this.transformNode.getMatrix()},getHumanoidKey(){return this.humanoidKey},getNumJoints(){return this.numJoints},getNumDisplacements(){return this.numDisplacements},set_humanoidKey__(){this.humanoidKey=`[${this.numJoints}.${this.numDisplacements}]`},set_motions__(){const e=this._motionsEnabled,t=this.motionNodes;for(const e of t)e._joints.removeInterest("set_connectJoints__",this),e._channelsEnabled.removeInterest("set_connectJoints__",this),e._channels.removeInterest("set_connectJoints__",this),e._values.removeInterest("set_connectJoints__",this),e.disconnectJoints(this.jointNodes);t.length=0;for(const[n,i]of this._motions.entries()){if(n<e.length&&!e[n])continue;const s=E()(p().HAnimMotion,i);s&&t.push(s)}for(const e of t)e._joints.addInterest("set_connectJoints__",this,e),e._channelsEnabled.addInterest("set_connectJoints__",this,e),e._channels.addInterest("set_connectJoints__",this,e),e._values.addInterest("set_connectJoints__",this,e),e.connectJoints(this.jointNodes)},set_connectJoints__(e){e.disconnectJoints(this.jointNodes),e.connectJoints(this.jointNodes)},set_joints__(){const e=this.jointNodes,t=this.jointBindingMatrices,n=this._jointBindingPositions,i=this._jointBindingRotations,s=this._jointBindingScales,o=n.length,r=i.length,a=s.length;for(const t of this.motionNodes)t.disconnectJoints(e);for(const t of e)t.removeInterest("enable",this.change),t._skinCoordIndex.removeInterest("addEvent",this._jointTextures),t._skinCoordWeight.removeInterest("addEvent",this._jointTextures),t._displacements.removeInterest("addEvent",this._displacementsTexture),t._displacementWeights.removeInterest("addEvent",this._displacementWeightsTexture);e.length=0,t.length=0;for(const[d,l]of this._joints.entries()){const u=E()(p().HAnimJoint,l);if(!u)continue;const h=o?n[Math.min(d,o-1)].getValue():null,c=r?i[Math.min(d,r-1)].getValue():null,_=a?s[Math.min(d,a-1)].getValue():null;e.push(u),t.push((new(M())).set(h,c,_))}for(const t of e)t.addInterest("enable",this.change),t._skinCoordIndex.addInterest("addEvent",this._jointTextures),t._skinCoordWeight.addInterest("addEvent",this._jointTextures),t._displacements.addInterest("addEvent",this._displacementsTexture),t._displacementWeights.addInterest("addEvent",this._displacementWeightsTexture);for(const t of this.motionNodes)t.connectJoints(e);const d=Math.ceil(Math.sqrt(8*e.length));this.jointMatricesArray=new Float32Array(d*d*4),this._jointTextures.addEvent(),this._displacementsTexture.addEvent(),this._displacementWeightsTexture.addEvent()},set_jointTextures__(){const e=this.skinCoordNode?._point.length||1,t=Array.from({length:e},(()=>[])),n=Array.from({length:e},(()=>[]));for(const[e,i]of this.jointNodes.entries()){const s=i._skinCoordWeight.getValue();for(const[o,r]of i._skinCoordIndex.entries()){const i=s[o];0!==i&&(t[r]?.push(e),n[r]?.push(i))}}const i=C().roundToMultiple(t.reduce(((e,t)=>Math.max(e,t.length)),0),4),s=2*i,o=Math.ceil(Math.sqrt(e*s))||1,r=new Float32Array(o*o*4);for(let o=0;o<e;++o)r.set(t[o],o*s),r.set(n[o],o*s+i);this.numJoints=i;const a=this.getBrowser().getContext();a.bindTexture(a.TEXTURE_2D,this.jointsTexture),a.texImage2D(a.TEXTURE_2D,0,a.RGBA32F,o,o,0,a.RGBA,a.FLOAT,r),this.change.enable(),this.set_humanoidKey__()},set_displacementsTexture__(){const e=this.skinCoordNode?._point.length||1,t=Array.from({length:e},(()=>[]));for(const[e,n]of this.jointNodes.entries())for(const i of n.getDisplacers()){const n=i._displacements;for(const[s,o]of i._coordIndex.entries())t[o]?.push(...n[s],e)}const n=t.reduce(((e,t)=>Math.max(e,t.length)),0)/4,i=4*n,s=C().roundToMultiple(Math.ceil(Math.sqrt(e*n*2))||1,2),o=new Float32Array(s*s*4);for(let n=0;n<e;++n)o.set(t[n],n*i);this.numDisplacements=n;const r=this.getBrowser().getContext();r.bindTexture(r.TEXTURE_2D,this.displacementsTexture),r.texImage2D(r.TEXTURE_2D,0,r.RGBA32F,s,s,0,r.RGBA,r.FLOAT,o);const a=this.displacementWeights;for(let t=a.length;t<e;++t)a[t]=[];a.length=e,this.displacementWeightsArray=new Float32Array(s*s*2),this.change.enable(),this.set_humanoidKey__()},set_displacementWeightsTexture__(){const e=this.skinCoordNode?._point.length||1,t=this.displacementWeights;for(const e of t)e.length=0;for(const e of this.jointNodes)for(const n of e.getDisplacers()){const e=n._weight;for(const i of n._coordIndex)t[i]?.push(e,0,0,0)}const n=this.numDisplacements,i=4*n,s=C().roundToMultiple(Math.ceil(Math.sqrt(e*n*2))||1,2),o=this.displacementWeightsArray;for(let n=0;n<e;++n)o.set(t[n],n*i);const r=this.getBrowser().getContext();r.bindTexture(r.TEXTURE_2D,this.displacementsTexture),r.texSubImage2D(r.TEXTURE_2D,0,0,s/2,s,s/2,r.RGBA,r.FLOAT,o),this.change.enable()},set_skinCoord__(){this.skinCoordNode&&(this.skinCoordNode.removeInterest("addEvent",this._jointTextures),this.skinCoordNode.removeInterest("addEvent",this._displacementsTexture),this.skinCoordNode.removeInterest("addEvent",this._displacementWeightsTexture)),this.skinCoordNode=E()(p().X3DCoordinateNode,this._skinCoord),this.skinCoordNode?(delete this.skinning,this.skinCoordNode.addInterest("addEvent",this._jointTextures),this.skinCoordNode.addInterest("addEvent",this._displacementsTexture),this.skinCoordNode.addInterest("addEvent",this._displacementWeightsTexture)):this.skinning=Function.prototype,this._jointTextures.addEvent(),this._displacementsTexture.addEvent(),this._displacementWeightsTexture.addEvent()},traverse(e,t){this.transformNode.traverse(e,t),this.skinning(e,t)},skinning:(()=>{const e=new(M());return function(t,n){if(t!==y().DISPLAY||this.change.lock())return;e.assign(this.transformNode.getMatrix()).multRight(n.getModelViewMatrix().get()).inverse();const i=this.jointNodes,s=i.length,o=this.jointBindingMatrices,r=this.jointMatricesArray,a=Math.ceil(Math.sqrt(8*s));for(let t=0;t<s;++t){const n=i[t],s=o[t],a=n.getModelViewMatrix().multRight(e).multLeft(s),d=a.submatrix.transpose().inverse();r.set(a,32*t+0),r.set(d,32*t+16)}const d=this.getBrowser().getContext();d.bindTexture(d.TEXTURE_2D,this.jointMatricesTexture),d.texImage2D(d.TEXTURE_2D,0,d.RGBA32F,a,a,0,d.RGBA,d.FLOAT,r)}})(),setShaderUniforms(e,t){const n=this.getBrowser().getTexture2DUnit(),i=this.getBrowser().getTexture2DUnit(),s=this.getBrowser().getTexture2DUnit();e.activeTexture(e.TEXTURE0+n),e.bindTexture(e.TEXTURE_2D,this.jointsTexture),e.uniform1i(t.x3d_JointsTexture,n),e.activeTexture(e.TEXTURE0+i),e.bindTexture(e.TEXTURE_2D,this.displacementsTexture),e.uniform1i(t.x3d_DisplacementsTexture,i),e.activeTexture(e.TEXTURE0+s),e.bindTexture(e.TEXTURE_2D,this.jointMatricesTexture),e.uniform1i(t.x3d_JointMatricesTexture,s)},dispose(){S().prototype.dispose.call(this),I().prototype.dispose.call(this)}}),Object.defineProperties(A,{typeName:{value:"HAnimHumanoid",enumerable:!0},componentInfo:{value:Object.freeze({name:"HAnim",level:1}),enumerable:!0},containerField:{value:"children",enumerable:!0},specificationRange:{value:Object.freeze({from:"3.0",to:"Infinity"}),enumerable:!0},fieldDefinitions:{value:new(d())([new(r())(p().inputOutput,"metadata",new(s().SFNode)),new(r())(p().inputOutput,"version",new(s().SFString)("2.0")),new(r())(p().inputOutput,"description",new(s().SFString)),new(r())(p().inputOutput,"name",new(s().SFString)),new(r())(p().inputOutput,"info",new(s().MFString)),new(r())(p().inputOutput,"skeletalConfiguration",new(s().SFString)("BASIC")),new(r())(p().inputOutput,"loa",new(s().SFInt32)(-1)),new(r())(p().inputOutput,"translation",new(s().SFVec3f)),new(r())(p().inputOutput,"rotation",new(s().SFRotation)),new(r())(p().inputOutput,"scale",new(s().SFVec3f)(1,1,1)),new(r())(p().inputOutput,"scaleOrientation",new(s().SFRotation)),new(r())(p().inputOutput,"center",new(s().SFVec3f)),new(r())(p().inputOutput,"visible",new(s().SFBool)(!0)),new(r())(p().inputOutput,"bboxDisplay",new(s().SFBool)),new(r())(p().initializeOnly,"bboxSize",new(s().SFVec3f)(-1,-1,-1)),new(r())(p().initializeOnly,"bboxCenter",new(s().SFVec3f)),new(r())(p().inputOutput,"skeleton",new(s().MFNode)),new(r())(p().inputOutput,"viewpoints",new(s().MFNode)),new(r())(p().inputOutput,"sites",new(s().MFNode)),new(r())(p().inputOutput,"segments",new(s().MFNode)),new(r())(p().inputOutput,"motionsEnabled",new(s().MFBool)),new(r())(p().inputOutput,"motions",new(s().MFNode)),new(r())(p().inputOutput,"jointBindingPositions",new(s().MFVec3f)),new(r())(p().inputOutput,"jointBindingRotations",new(s().MFRotation)),new(r())(p().inputOutput,"jointBindingScales",new(s().MFVec3f)),new(r())(p().inputOutput,"joints",new(s().MFNode)),new(r())(p().inputOutput,"skinBindingNormals",new(s().SFNode)),new(r())(p().inputOutput,"skinBindingCoords",new(s().SFNode)),new(r())(p().inputOutput,"skinNormal",new(s().SFNode)),new(r())(p().inputOutput,"skinCoord",new(s().SFNode)),new(r())(p().inputOutput,"skin",new(s().MFNode))]),enumerable:!0}});class X{#e=!0;enable(){this.#e=!1}lock(){const e=this.#e;return this.#e=!0,e}}const k=A;_().add("HAnimHumanoid","x_ite/Components/HAnim/HAnimHumanoid",k);const R=k,V=window[Symbol.for("X_ITE.X3D-10.1.0")].require("x_ite/Components/Grouping/X3DTransformNode");var B=e.n(V);const H=window[Symbol.for("X_ITE.X3D-10.1.0")].require("standard/Math/Numbers/Vector3");var P=e.n(H);function z(e){B().call(this,e),this.addType(p().HAnimJoint),this.addChildObjects(p().outputOnly,"displacements",new(s().SFTime),p().outputOnly,"displacementWeights",new(s().SFTime)),this.setAllowedTypes(p().HAnimJoint,p().HAnimSegment,p().HAnimSite),this.displacerNodes=[],this.modelViewMatrix=new(M())}Object.assign(Object.setPrototypeOf(z.prototype,B().prototype),{initialize(){B().prototype.initialize.call(this),this._displacers.addInterest("set_displacers__",this),this.set_displacers__()},getModelViewMatrix(){return this.modelViewMatrix},getDisplacers(){return this.displacerNodes},set_displacers__(){const e=this.displacerNodes;for(const t of e)t._coordIndex.removeInterest("addEvent",this._displacements),t._displacements.removeInterest("addEvent",this._displacements),t._coordIndex.removeInterest("addEvent",this._displacementWeights),t._weight.removeInterest("addEvent",this._displacementWeights);e.length=0;for(const t of this._displacers){const n=E()(p().HAnimDisplacer,t);n&&e.push(n)}for(const t of e)t._coordIndex.addInterest("addEvent",this._displacements),t._displacements.addInterest("addEvent",this._displacements),t._coordIndex.addInterest("addEvent",this._displacementWeights),t._weight.addInterest("addEvent",this._displacementWeights)},traverse(e,t){const n=t.getModelViewMatrix();n.push(),n.multLeft(this.getMatrix()),e===y().DISPLAY&&this.modelViewMatrix.assign(n.get()),B().prototype.groupTraverse.call(this,e,t),n.pop()},groupTraverse(e,t){e===y().DISPLAY&&this.modelViewMatrix.assign(t.getModelViewMatrix().get()),B().prototype.groupTraverse.call(this,e,t)}}),Object.defineProperties(z,{typeName:{value:"HAnimJoint",enumerable:!0},componentInfo:{value:Object.freeze({name:"HAnim",level:1}),enumerable:!0},containerField:{value:"children",enumerable:!0},specificationRange:{value:Object.freeze({from:"3.0",to:"Infinity"}),enumerable:!0},fieldDefinitions:{value:new(d())([new(r())(p().inputOutput,"metadata",new(s().SFNode)),new(r())(p().inputOutput,"description",new(s().SFString)),new(r())(p().inputOutput,"name",new(s().SFString)),new(r())(p().inputOutput,"translation",new(s().SFVec3f)),new(r())(p().inputOutput,"rotation",new(s().SFRotation)),new(r())(p().inputOutput,"scale",new(s().SFVec3f)(1,1,1)),new(r())(p().inputOutput,"scaleOrientation",new(s().SFRotation)),new(r())(p().inputOutput,"center",new(s().SFVec3f)),new(r())(p().inputOutput,"llimit",new(s().MFFloat)(0,0,0)),new(r())(p().inputOutput,"ulimit",new(s().MFFloat)(0,0,0)),new(r())(p().inputOutput,"limitOrientation",new(s().SFRotation)),new(r())(p().inputOutput,"stiffness",new(s().MFFloat)(0,0,0)),new(r())(p().inputOutput,"skinCoordIndex",new(s().MFInt32)),new(r())(p().inputOutput,"skinCoordWeight",new(s().MFFloat)),new(r())(p().inputOutput,"displacers",new(s().MFNode)),new(r())(p().inputOutput,"visible",new(s().SFBool)(!0)),new(r())(p().inputOutput,"bboxDisplay",new(s().SFBool)),new(r())(p().initializeOnly,"bboxSize",new(s().SFVec3f)(-1,-1,-1)),new(r())(p().initializeOnly,"bboxCenter",new(s().SFVec3f)),new(r())(p().inputOnly,"addChildren",new(s().MFNode)),new(r())(p().inputOnly,"removeChildren",new(s().MFNode)),new(r())(p().inputOutput,"children",new(s().MFNode))]),enumerable:!0}});const J=z;_().add("HAnimJoint","x_ite/Components/HAnim/HAnimJoint",J);const U=J,W=window[Symbol.for("X_ITE.X3D-10.1.0")].require("x_ite/Components/Time/TimeSensor");var q=e.n(W);const G=window[Symbol.for("X_ITE.X3D-10.1.0")].require("x_ite/Components/Interpolation/PositionInterpolator");var L=e.n(G);const Y=window[Symbol.for("X_ITE.X3D-10.1.0")].require("x_ite/Components/Interpolation/OrientationInterpolator");var K=e.n(Y);const Z=window[Symbol.for("X_ITE.X3D-10.1.0")].require("standard/Math/Numbers/Rotation4");var $=e.n(Z);function Q(e){I().call(this,e),this.addType(p().HAnimMotion),this.timeSensor=new(q())(this.getExecutionContext()),this.interpolators=[]}Object.assign(Object.setPrototypeOf(Q.prototype,I().prototype),{initialize(){I().prototype.initialize.call(this),this._loop.addFieldInterest(this.timeSensor._loop),this.timeSensor._cycleTime.addFieldInterest(this._cycleTime),this.timeSensor._elapsedTime.addFieldInterest(this._elapsedTime),this.timeSensor._enabled=!1,this.timeSensor._loop=this._loop,this.timeSensor._stopTime=1,this.timeSensor.setup(),this._enabled.addInterest("set_enabled__",this),this._joints.addInterest("set_joints__",this),this._channels.addInterest("set_interpolators__",this),this._values.addInterest("set_interpolators__",this),this._next.addInterest("set_next_or_previous__",this,1),this._previous.addInterest("set_next_or_previous__",this,-1),this._frameIndex.addInterest("set_frameIndex__",this),this._frameDuration.addInterest("set_frameDuration__",this),this._frameIncrement.addInterest("set_frameIncrement__",this),this._startFrame.addInterest("set_start_or_endFrame__",this),this._endFrame.addInterest("set_start_or_endFrame__",this),this.set_enabled__(),this.set_joints__(),this.set_frameIncrement__(),this.set_interpolators__()},connectJoints(e){const t=this._channelsEnabled,n=this.joints,i=this.getJointsIndex(e);for(const[e,{positionInterpolator:s,orientationInterpolator:o,scaleInterpolator:r}]of this.interpolators.entries()){if(e<t.length&&!t[e])continue;const a=i.get(n[e]);a&&(s?._value_changed.addFieldInterest(a._translation),o?._value_changed.addFieldInterest(a._rotation),r?._value_changed.addFieldInterest(a._scale))}},disconnectJoints(e){const t=this.joints,n=this.getJointsIndex(e);for(const[e,{positionInterpolator:i,orientationInterpolator:s,scaleInterpolator:o}]of this.interpolators.entries()){const r=n.get(t[e]);r&&(i?._value_changed.removeFieldInterest(r._translation),s?._value_changed.removeFieldInterest(r._rotation),o?._value_changed.removeFieldInterest(r._scale))}},getJointsIndex(e){const t=new Map(e.map((e=>[e._name.getValue().trim(),e])));return t.delete("IGNORED"),t.set("HumanoidRoot",t.get("humanoid_root")),t},set_enabled__(){this._enabled.getValue()?this.timeSensor._startTime=Date.now()/1e3:this.timeSensor._stopTime=Date.now()/1e3},set_joints__(){this.joints=this._joints.getValue().replace(/^[\s,]+|[\s,]+$/gs,"").split(/[\s,]+/s);for(const{positionInterpolator:e,orientationInterpolator:t,scaleInterpolator:n}of this.interpolators)e?._value_changed.getFieldInterests().forEach((t=>e._value_changed.removeFieldInterest(t))),t?._value_changed.getFieldInterests().forEach((e=>t._value_changed.removeFieldInterest(e))),n?._value_changed.getFieldInterests().forEach((e=>n._value_changed.removeFieldInterest(e)))},set_interpolators__(){const e=this.timeSensor;e._fraction_changed.getFieldInterests().forEach((t=>e._fraction_changed.removeFieldInterest(t)));const t=this._channels.getValue().replace(/^[\s,\d]+|[\s,\d]+$/gs,"").split(/[\s,]+\d+[\s,]+/s).map((e=>e.split(/[\s,]+/s))),n=this._values,i=t.reduce(((e,t)=>e+t.length),0),s=Math.floor(i?n.length/i:0),o=new Map,r=Array.from({length:t.length},(()=>({})));this.interpolators=r;for(let i=0,a=0;i<s;++i)for(const[d,l]of t.entries()){o.clear();for(const e of l)o.set(e,n[a++]);if(o.has("Xposition")||o.has("Yposition")||o.has("Zposition")){const t=r[d].positionInterpolator??this.createPositionInterpolator(r,d),n=i/(s-1),a=new(P())(o.get("Xposition")??0,o.get("Yposition")??0,o.get("Zposition")??0);t._key.push(n),t._keyValue.push(a),e._fraction_changed.addFieldInterest(t._set_fraction)}if(o.has("Xrotation")||o.has("Yrotation")||o.has("Zrotation")){const t=r[d].orientationInterpolator??this.createOrientationInterpolator(r,d),n=i/(s-1),a=$().fromEuler(C().radians(o.get("Xrotation")??0),C().radians(o.get("Yrotation")??0),C().radians(o.get("Zrotation")??0));t._key.push(n),t._keyValue.push(a),e._fraction_changed.addFieldInterest(t._set_fraction)}if(o.has("Xscale")||o.has("Yscale")||o.has("Zscale")){const t=r[d].scaleInterpolator??this.createScaleInterpolator(r,d),n=i/(s-1),a=new(P())(o.get("Xscale")??1,o.get("Yscale")??1,o.get("Zscale")??1);t._key.push(n),t._keyValue.push(a),e._fraction_changed.addFieldInterest(t._set_fraction)}}for(const{positionInterpolator:e,orientationInterpolator:t,scaleInterpolator:n}of r)e?.setup(),t?.setup(),n?.setup();this._frameIndex=0,this._startFrame=0,this._endFrame=s-1,this._frameCount=s,this.set_frameDuration__()},set_next_or_previous__(e,t){if(!t.getValue())return;const n=this.getFraction(),i=this._frameCount.getValue(),s=this._frameIncrement.getValue(),o=(i>1?Math.floor(n*(i-1)):0)+s*e;if(o>this.endFrame){if(!this._loop.getValue())return;this._frameIndex=this.startFrame}else if(o<this.startFrame){if(!this._loop.getValue())return;this._frameIndex=this.endFrame}else this._frameIndex=o},set_frameIndex__(){const e=this._frameCount.getValue(),t=C().clamp(this._frameIndex.getValue(),0,e),n=e>1?t/(e-1):0;if(this.timeSensor._range[0]=n,!this.timeSensor._isActive.getValue())for(const e of this.timeSensor._fraction_changed.getFieldInterests())e.setValue(n)},set_frameDuration__(){const e=this._frameCount.getValue(),t=Math.max(this._frameDuration.getValue(),0);this.timeSensor._cycleInterval=e>1?(e-1)*t:0},set_frameIncrement__(){this.timeSensor._enabled=this._frameIncrement.getValue()},set_start_or_endFrame__(){const e=this._frameCount.getValue(),t=C().clamp(this._startFrame.getValue(),0,e),n=C().clamp(this._endFrame.getValue(),0,e);this.startFrame=Math.min(t,n),this.endFrame=Math.max(t,n),this.timeSensor._range[1]=e>1?this.startFrame/(e-1):0,this.timeSensor._range[2]=e>1?this.endFrame/(e-1):0},createPositionInterpolator(e,t){return e[t].positionInterpolator=new(L())(this.getExecutionContext())},createOrientationInterpolator(e,t){return e[t].orientationInterpolator=new(K())(this.getExecutionContext())},createScaleInterpolator(e,t){return e[t].scaleInterpolator=new(L())(this.getExecutionContext())},getFraction(){for(const e of this.timeSensor._fraction_changed.getFieldInterests())return e.getValue();return 0}}),Object.defineProperties(Q,{typeName:{value:"HAnimMotion",enumerable:!0},componentInfo:{value:Object.freeze({name:"HAnim",level:2}),enumerable:!0},containerField:{value:"motions",enumerable:!0},specificationRange:{value:Object.freeze({from:"4.0",to:"Infinity"}),enumerable:!0},fieldDefinitions:{value:new(d())([new(r())(p().inputOutput,"metadata",new(s().SFNode)),new(r())(p().inputOutput,"description",new(s().SFString)),new(r())(p().inputOutput,"name",new(s().SFString)),new(r())(p().inputOutput,"enabled",new(s().SFBool)(!0)),new(r())(p().inputOutput,"loa",new(s().SFInt32)(-1)),new(r())(p().inputOutput,"joints",new(s().SFString)),new(r())(p().inputOutput,"channelsEnabled",new(s().MFBool)),new(r())(p().inputOutput,"channels",new(s().SFString)),new(r())(p().inputOutput,"values",new(s().MFFloat)),new(r())(p().inputOutput,"loop",new(s().SFBool)),new(r())(p().inputOnly,"next",new(s().SFBool)),new(r())(p().inputOnly,"previous",new(s().SFBool)),new(r())(p().inputOutput,"frameIndex",new(s().SFInt32)),new(r())(p().inputOutput,"frameDuration",new(s().SFTime)(.1)),new(r())(p().inputOutput,"frameIncrement",new(s().SFInt32)(1)),new(r())(p().inputOutput,"startFrame",new(s().SFInt32)),new(r())(p().inputOutput,"endFrame",new(s().SFInt32)),new(r())(p().outputOnly,"cycleTime",new(s().SFTime)),new(r())(p().outputOnly,"elapsedTime",new(s().SFTime)),new(r())(p().outputOnly,"frameCount",new(s().SFInt32))]),enumerable:!0}});const ee=Q;_().add("HAnimMotion","x_ite/Components/HAnim/HAnimMotion",ee);const te=ee,ne=window[Symbol.for("X_ITE.X3D-10.1.0")].require("x_ite/Components/Grouping/X3DGroupingNode");var ie=e.n(ne);function se(e){ie().call(this,e),this.addType(p().HAnimSegment),this._mass.setUnit("mass")}Object.setPrototypeOf(se.prototype,ie().prototype),Object.defineProperties(se,{typeName:{value:"HAnimSegment",enumerable:!0},componentInfo:{value:Object.freeze({name:"HAnim",level:1}),enumerable:!0},containerField:{value:"children",enumerable:!0},specificationRange:{value:Object.freeze({from:"3.0",to:"Infinity"}),enumerable:!0},fieldDefinitions:{value:new(d())([new(r())(p().inputOutput,"metadata",new(s().SFNode)),new(r())(p().inputOutput,"description",new(s().SFString)),new(r())(p().inputOutput,"name",new(s().SFString)),new(r())(p().inputOutput,"mass",new(s().SFFloat)),new(r())(p().inputOutput,"centerOfMass",new(s().SFVec3f)),new(r())(p().inputOutput,"momentsOfInertia",new(s().MFFloat)(0,0,0,0,0,0,0,0,0)),new(r())(p().inputOutput,"displacers",new(s().MFNode)),new(r())(p().inputOutput,"coord",new(s().SFNode)),new(r())(p().inputOutput,"visible",new(s().SFBool)(!0)),new(r())(p().inputOutput,"bboxDisplay",new(s().SFBool)),new(r())(p().initializeOnly,"bboxSize",new(s().SFVec3f)(-1,-1,-1)),new(r())(p().initializeOnly,"bboxCenter",new(s().SFVec3f)),new(r())(p().inputOnly,"addChildren",new(s().MFNode)),new(r())(p().inputOnly,"removeChildren",new(s().MFNode)),new(r())(p().inputOutput,"children",new(s().MFNode))]),enumerable:!0}});const oe=se;_().add("HAnimSegment","x_ite/Components/HAnim/HAnimSegment",oe);const re=oe;function ae(e){B().call(this,e),this.addType(p().HAnimSite)}Object.setPrototypeOf(ae.prototype,B().prototype),Object.defineProperties(ae,{typeName:{value:"HAnimSite",enumerable:!0},componentInfo:{value:Object.freeze({name:"HAnim",level:1}),enumerable:!0},containerField:{value:"children",enumerable:!0},specificationRange:{value:Object.freeze({from:"3.0",to:"Infinity"}),enumerable:!0},fieldDefinitions:{value:new(d())([new(r())(p().inputOutput,"metadata",new(s().SFNode)),new(r())(p().inputOutput,"description",new(s().SFString)),new(r())(p().inputOutput,"name",new(s().SFString)),new(r())(p().inputOutput,"translation",new(s().SFVec3f)),new(r())(p().inputOutput,"rotation",new(s().SFRotation)),new(r())(p().inputOutput,"scale",new(s().SFVec3f)(1,1,1)),new(r())(p().inputOutput,"scaleOrientation",new(s().SFRotation)),new(r())(p().inputOutput,"center",new(s().SFVec3f)),new(r())(p().inputOutput,"visible",new(s().SFBool)(!0)),new(r())(p().inputOutput,"bboxDisplay",new(s().SFBool)),new(r())(p().initializeOnly,"bboxSize",new(s().SFVec3f)(-1,-1,-1)),new(r())(p().initializeOnly,"bboxCenter",new(s().SFVec3f)),new(r())(p().inputOnly,"addChildren",new(s().MFNode)),new(r())(p().inputOnly,"removeChildren",new(s().MFNode)),new(r())(p().inputOutput,"children",new(s().MFNode))]),enumerable:!0}});const de=ae;_().add("HAnimSite","x_ite/Components/HAnim/HAnimSite",de);const le=de;n().add({name:"HAnim",concreteNodes:[f,R,U,te,re,le],abstractNodes:[]});const ue=void 0;_().add("HAnim","assets/components/HAnim",ue)})();
@@ -1,4 +1,4 @@
1
- /* X_ITE v10.0.5 */(() => { // webpackBootstrap
1
+ /* X_ITE v10.1.0 */(() => { // webpackBootstrap
2
2
  /******/ "use strict";
3
3
  /******/ // The require scope
4
4
  /******/ var __webpack_require__ = {};
@@ -38,10 +38,10 @@
38
38
  // UNUSED EXPORTS: default
39
39
 
40
40
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Components\")"
41
- const Components_namespaceObject = window [Symbol .for ("X_ITE.X3D-10.0.5")] .require ("x_ite/Components");
41
+ const Components_namespaceObject = window [Symbol .for ("X_ITE.X3D-10.1.0")] .require ("x_ite/Components");
42
42
  var Components_default = /*#__PURE__*/__webpack_require__.n(Components_namespaceObject);
43
43
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Namespace\")"
44
- const Namespace_namespaceObject = window [Symbol .for ("X_ITE.X3D-10.0.5")] .require ("x_ite/Namespace");
44
+ const Namespace_namespaceObject = window [Symbol .for ("X_ITE.X3D-10.1.0")] .require ("x_ite/Namespace");
45
45
  var Namespace_default = /*#__PURE__*/__webpack_require__.n(Namespace_namespaceObject);
46
46
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/KeyDeviceSensor/X3DKeyDeviceSensorContext.js
47
47
  /*******************************************************************************
@@ -144,19 +144,19 @@ const __default__ = X3DKeyDeviceSensorContext;
144
144
  Namespace_default().add ("X3DKeyDeviceSensorContext", "x_ite/Browser/KeyDeviceSensor/X3DKeyDeviceSensorContext", __default__);
145
145
  /* harmony default export */ const KeyDeviceSensor_X3DKeyDeviceSensorContext = (__default__);
146
146
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Fields\")"
147
- const Fields_namespaceObject = window [Symbol .for ("X_ITE.X3D-10.0.5")] .require ("x_ite/Fields");
147
+ const Fields_namespaceObject = window [Symbol .for ("X_ITE.X3D-10.1.0")] .require ("x_ite/Fields");
148
148
  var Fields_default = /*#__PURE__*/__webpack_require__.n(Fields_namespaceObject);
149
149
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Base/X3DFieldDefinition\")"
150
- const X3DFieldDefinition_namespaceObject = window [Symbol .for ("X_ITE.X3D-10.0.5")] .require ("x_ite/Base/X3DFieldDefinition");
150
+ const X3DFieldDefinition_namespaceObject = window [Symbol .for ("X_ITE.X3D-10.1.0")] .require ("x_ite/Base/X3DFieldDefinition");
151
151
  var X3DFieldDefinition_default = /*#__PURE__*/__webpack_require__.n(X3DFieldDefinition_namespaceObject);
152
152
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Base/FieldDefinitionArray\")"
153
- const FieldDefinitionArray_namespaceObject = window [Symbol .for ("X_ITE.X3D-10.0.5")] .require ("x_ite/Base/FieldDefinitionArray");
153
+ const FieldDefinitionArray_namespaceObject = window [Symbol .for ("X_ITE.X3D-10.1.0")] .require ("x_ite/Base/FieldDefinitionArray");
154
154
  var FieldDefinitionArray_default = /*#__PURE__*/__webpack_require__.n(FieldDefinitionArray_namespaceObject);
155
155
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Components/Core/X3DSensorNode\")"
156
- const X3DSensorNode_namespaceObject = window [Symbol .for ("X_ITE.X3D-10.0.5")] .require ("x_ite/Components/Core/X3DSensorNode");
156
+ const X3DSensorNode_namespaceObject = window [Symbol .for ("X_ITE.X3D-10.1.0")] .require ("x_ite/Components/Core/X3DSensorNode");
157
157
  var X3DSensorNode_default = /*#__PURE__*/__webpack_require__.n(X3DSensorNode_namespaceObject);
158
158
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Base/X3DConstants\")"
159
- const X3DConstants_namespaceObject = window [Symbol .for ("X_ITE.X3D-10.0.5")] .require ("x_ite/Base/X3DConstants");
159
+ const X3DConstants_namespaceObject = window [Symbol .for ("X_ITE.X3D-10.1.0")] .require ("x_ite/Base/X3DConstants");
160
160
  var X3DConstants_default = /*#__PURE__*/__webpack_require__.n(X3DConstants_namespaceObject);
161
161
  ;// CONCATENATED MODULE: ./src/x_ite/Components/KeyDeviceSensor/X3DKeyDeviceSensorNode.js
162
162
  /*******************************************************************************
@@ -1 +1 @@
1
- /* X_ITE v10.0.5 */(()=>{"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 a in s)e.o(s,a)&&!e.o(t,a)&&Object.defineProperty(t,a,{enumerable:!0,get:s[a]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)};const t=window[Symbol.for("X_ITE.X3D-10.0.5")].require("x_ite/Components");var s=e.n(t);const a=window[Symbol.for("X_ITE.X3D-10.0.5")].require("x_ite/Namespace");var i=e.n(a);const n=Symbol(),o=Symbol(),r=Symbol();function c(){this[n]=new Set}Object.assign(c.prototype,{initialize(){const e=this.getElement();e.on("keydown.X3DKeyDeviceSensorContext",this[o].bind(this)),e.on("keyup.X3DKeyDeviceSensorContext",this[r].bind(this))},addKeyDeviceSensorNode(e){this[n].add(e)},removeKeyDeviceSensorNode(e){this[n].delete(e)},getKeyDeviceSensorNodes(){return this[n]},[o](e){for(const t of this[n])t.keydown(e)},[r](e){for(const t of this[n])t.keyup(e)}});const l=c;i().add("X3DKeyDeviceSensorContext","x_ite/Browser/KeyDeviceSensor/X3DKeyDeviceSensorContext",l);const y=l,h=window[Symbol.for("X_ITE.X3D-10.0.5")].require("x_ite/Fields");var _=e.n(h);const b=window[Symbol.for("X_ITE.X3D-10.0.5")].require("x_ite/Base/X3DFieldDefinition");var d=e.n(b);const u=window[Symbol.for("X_ITE.X3D-10.0.5")].require("x_ite/Base/FieldDefinitionArray");var k=e.n(u);const p=window[Symbol.for("X_ITE.X3D-10.0.5")].require("x_ite/Components/Core/X3DSensorNode");var K=e.n(p);const S=window[Symbol.for("X_ITE.X3D-10.0.5")].require("x_ite/Base/X3DConstants");var v=e.n(S);function w(e){K().call(this,e),this.addType(v().X3DKeyDeviceSensorNode)}Object.assign(Object.setPrototypeOf(w.prototype,K().prototype),{initialize(){K().prototype.initialize.call(this),this.getLive().addInterest("set_live__",this),this.set_live__()},set_live__(){this.getLive().getValue()?(this._enabled.addInterest("set_enabled__",this),this._enabled.getValue()&&this.enable()):(this._enabled.removeInterest("set_enabled__",this),this.disable())},set_enabled__(){this._enabled.getValue()?this.enable():this.disable()},enable(){this.getBrowser().addKeyDeviceSensorNode(this)},disable(){this.getBrowser().removeKeyDeviceSensorNode(this),this.release()},keydown(){},keyup(){},release(){}}),Object.defineProperties(w,{typeName:{value:"X3DKeyDeviceSensorNode",enumerable:!0},componentInfo:{value:Object.freeze({name:"KeyDeviceSensor",level:1}),enumerable:!0}});const f=w;i().add("X3DKeyDeviceSensorNode","x_ite/Components/KeyDeviceSensor/X3DKeyDeviceSensorNode",f);const m=f;function g(e){m.call(this,e),this.addType(v().KeySensor)}Object.assign(Object.setPrototypeOf(g.prototype,m.prototype),{keydown(e){switch(e.preventDefault(),this._isActive.getValue()||(this._isActive=!0),e.which){case 16:this._shiftKey=!0;break;case 17:this._controlKey=!0;break;case 18:this._altKey=!0;break;case 112:this._actionKeyPress=1;break;case 113:this._actionKeyPress=2;break;case 114:this._actionKeyPress=3;break;case 115:this._actionKeyPress=4;break;case 116:this._actionKeyPress=5;break;case 117:this._actionKeyPress=6;break;case 118:this._actionKeyPress=7;break;case 119:this._actionKeyPress=8;break;case 120:this._actionKeyPress=9;break;case 121:this._actionKeyPress=10;break;case 122:this._actionKeyPress=11;break;case 123:this._actionKeyPress=12;break;case 36:this._actionKeyPress=13;break;case 35:this._actionKeyPress=14;break;case 33:this._actionKeyPress=15;break;case 34:this._actionKeyPress=16;break;case 38:this._actionKeyPress=17;break;case 40:this._actionKeyPress=18;break;case 37:this._actionKeyPress=19;break;case 39:this._actionKeyPress=20;break;default:if(e.charCode||e.keyCode)switch(e.key){case"AltGraph":case"CapsLock":case"Insert":break;case"Backspace":this._keyPress=String.fromCharCode(8);break;case"Delete":this._keyPress=String.fromCharCode(127);break;case"Enter":this._keyPress="\n";break;case"Escape":this._keyPress=String.fromCharCode(27);break;case"Tab":this._keyPress="\t";break;default:1===e.key.length&&(this._keyPress=e.key)}}},keyup(e){switch(e.preventDefault(),e.which){case 16:this._shiftKey=!1;break;case 17:this._controlKey=!1;break;case 18:this._altKey=!1;break;case 112:this._actionKeyRelease=1;break;case 113:this._actionKeyRelease=2;break;case 114:this._actionKeyRelease=3;break;case 115:this._actionKeyRelease=4;break;case 116:this._actionKeyRelease=5;break;case 117:this._actionKeyRelease=6;break;case 118:this._actionKeyRelease=7;break;case 119:this._actionKeyRelease=8;break;case 120:this._actionKeyRelease=9;break;case 121:this._actionKeyRelease=10;break;case 122:this._actionKeyRelease=11;break;case 123:this._actionKeyRelease=12;break;case 36:this._actionKeyRelease=13;break;case 35:this._actionKeyRelease=14;break;case 33:this._actionKeyRelease=15;break;case 34:this._actionKeyRelease=16;break;case 38:this._actionKeyRelease=17;break;case 40:this._actionKeyRelease=18;break;case 37:this._actionKeyRelease=19;break;case 39:this._actionKeyRelease=20;break;default:if(e.charCode||e.keyCode)switch(e.key){case"AltGraph":case"CapsLock":case"Insert":break;case"Backspace":this._keyRelease=String.fromCharCode(8);break;case"Delete":this._keyRelease=String.fromCharCode(127);break;case"Enter":this._keyRelease="\n";break;case"Escape":this._keyRelease=String.fromCharCode(27);break;case"Tab":this._keyRelease="\t";break;default:1===e.key.length&&(this._keyRelease=e.key)}}this._isActive.getValue()&&(this._isActive=!1)},release(){this._shiftKey.getValue()&&(this._shiftKey=!1),this._controlKey.getValue()&&(this._controlKey=!1),this._altKey.getValue()&&(this._altKey=!1)}}),Object.defineProperties(g,{typeName:{value:"KeySensor",enumerable:!0},componentInfo:{value:Object.freeze({name:"KeyDeviceSensor",level:1}),enumerable:!0},containerField:{value:"children",enumerable:!0},specificationRange:{value:Object.freeze({from:"3.0",to:"Infinity"}),enumerable:!0},fieldDefinitions:{value:new(k())([new(d())(v().inputOutput,"metadata",new(_().SFNode)),new(d())(v().inputOutput,"description",new(_().SFString)),new(d())(v().inputOutput,"enabled",new(_().SFBool)(!0)),new(d())(v().outputOnly,"controlKey",new(_().SFBool)),new(d())(v().outputOnly,"shiftKey",new(_().SFBool)),new(d())(v().outputOnly,"altKey",new(_().SFBool)),new(d())(v().outputOnly,"actionKeyPress",new(_().SFInt32)),new(d())(v().outputOnly,"actionKeyRelease",new(_().SFInt32)),new(d())(v().outputOnly,"keyPress",new(_().SFString)),new(d())(v().outputOnly,"keyRelease",new(_().SFString)),new(d())(v().outputOnly,"isActive",new(_().SFBool))]),enumerable:!0}});const D=g;i().add("KeySensor","x_ite/Components/KeyDeviceSensor/KeySensor",D);const O=D;function P(e){m.call(this,e),this.addType(v().StringSensor)}Object.assign(Object.setPrototypeOf(P.prototype,m.prototype),{keydown(e){switch(e.preventDefault(),e.key){case"Backspace":this._isActive.getValue()&&this._deletionAllowed.getValue()&&this._enteredText.length&&(this._enteredText=this._enteredText.getValue().substring(0,this._enteredText.length-1));break;case"Enter":this._finalText=this._enteredText,this._enteredText.set(""),this._isActive.getValue()&&(this._isActive=!1);break;case"Escape":this._enteredText.set(""),this._isActive.getValue()&&(this._isActive=!1);break;case"Tab":break;default:(e.charCode||e.keyCode)&&1===e.key.length&&(this._isActive.getValue()||(this._isActive=!0,this._enteredText=""),this._enteredText=this._enteredText.getValue()+e.key)}}}),Object.defineProperties(P,{typeName:{value:"StringSensor",enumerable:!0},componentInfo:{value:Object.freeze({name:"KeyDeviceSensor",level:2}),enumerable:!0},containerField:{value:"children",enumerable:!0},specificationRange:{value:Object.freeze({from:"3.0",to:"Infinity"}),enumerable:!0},fieldDefinitions:{value:new(k())([new(d())(v().inputOutput,"metadata",new(_().SFNode)),new(d())(v().inputOutput,"description",new(_().SFString)),new(d())(v().inputOutput,"enabled",new(_().SFBool)(!0)),new(d())(v().inputOutput,"deletionAllowed",new(_().SFBool)(!0)),new(d())(v().outputOnly,"enteredText",new(_().SFString)),new(d())(v().outputOnly,"finalText",new(_().SFString)),new(d())(v().outputOnly,"isActive",new(_().SFBool))]),enumerable:!0}});const C=P;i().add("StringSensor","x_ite/Components/KeyDeviceSensor/StringSensor",C);const R=C;s().add({name:"KeyDeviceSensor",concreteNodes:[O,R],abstractNodes:[m],browserContext:y});const x=void 0;i().add("KeyDeviceSensor","assets/components/KeyDeviceSensor",x)})();
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 a in s)e.o(s,a)&&!e.o(t,a)&&Object.defineProperty(t,a,{enumerable:!0,get:s[a]})},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 a=window[Symbol.for("X_ITE.X3D-10.1.0")].require("x_ite/Namespace");var i=e.n(a);const n=Symbol(),o=Symbol(),r=Symbol();function c(){this[n]=new Set}Object.assign(c.prototype,{initialize(){const e=this.getElement();e.on("keydown.X3DKeyDeviceSensorContext",this[o].bind(this)),e.on("keyup.X3DKeyDeviceSensorContext",this[r].bind(this))},addKeyDeviceSensorNode(e){this[n].add(e)},removeKeyDeviceSensorNode(e){this[n].delete(e)},getKeyDeviceSensorNodes(){return this[n]},[o](e){for(const t of this[n])t.keydown(e)},[r](e){for(const t of this[n])t.keyup(e)}});const l=c;i().add("X3DKeyDeviceSensorContext","x_ite/Browser/KeyDeviceSensor/X3DKeyDeviceSensorContext",l);const y=l,h=window[Symbol.for("X_ITE.X3D-10.1.0")].require("x_ite/Fields");var _=e.n(h);const b=window[Symbol.for("X_ITE.X3D-10.1.0")].require("x_ite/Base/X3DFieldDefinition");var d=e.n(b);const u=window[Symbol.for("X_ITE.X3D-10.1.0")].require("x_ite/Base/FieldDefinitionArray");var k=e.n(u);const p=window[Symbol.for("X_ITE.X3D-10.1.0")].require("x_ite/Components/Core/X3DSensorNode");var K=e.n(p);const S=window[Symbol.for("X_ITE.X3D-10.1.0")].require("x_ite/Base/X3DConstants");var v=e.n(S);function w(e){K().call(this,e),this.addType(v().X3DKeyDeviceSensorNode)}Object.assign(Object.setPrototypeOf(w.prototype,K().prototype),{initialize(){K().prototype.initialize.call(this),this.getLive().addInterest("set_live__",this),this.set_live__()},set_live__(){this.getLive().getValue()?(this._enabled.addInterest("set_enabled__",this),this._enabled.getValue()&&this.enable()):(this._enabled.removeInterest("set_enabled__",this),this.disable())},set_enabled__(){this._enabled.getValue()?this.enable():this.disable()},enable(){this.getBrowser().addKeyDeviceSensorNode(this)},disable(){this.getBrowser().removeKeyDeviceSensorNode(this),this.release()},keydown(){},keyup(){},release(){}}),Object.defineProperties(w,{typeName:{value:"X3DKeyDeviceSensorNode",enumerable:!0},componentInfo:{value:Object.freeze({name:"KeyDeviceSensor",level:1}),enumerable:!0}});const f=w;i().add("X3DKeyDeviceSensorNode","x_ite/Components/KeyDeviceSensor/X3DKeyDeviceSensorNode",f);const m=f;function g(e){m.call(this,e),this.addType(v().KeySensor)}Object.assign(Object.setPrototypeOf(g.prototype,m.prototype),{keydown(e){switch(e.preventDefault(),this._isActive.getValue()||(this._isActive=!0),e.which){case 16:this._shiftKey=!0;break;case 17:this._controlKey=!0;break;case 18:this._altKey=!0;break;case 112:this._actionKeyPress=1;break;case 113:this._actionKeyPress=2;break;case 114:this._actionKeyPress=3;break;case 115:this._actionKeyPress=4;break;case 116:this._actionKeyPress=5;break;case 117:this._actionKeyPress=6;break;case 118:this._actionKeyPress=7;break;case 119:this._actionKeyPress=8;break;case 120:this._actionKeyPress=9;break;case 121:this._actionKeyPress=10;break;case 122:this._actionKeyPress=11;break;case 123:this._actionKeyPress=12;break;case 36:this._actionKeyPress=13;break;case 35:this._actionKeyPress=14;break;case 33:this._actionKeyPress=15;break;case 34:this._actionKeyPress=16;break;case 38:this._actionKeyPress=17;break;case 40:this._actionKeyPress=18;break;case 37:this._actionKeyPress=19;break;case 39:this._actionKeyPress=20;break;default:if(e.charCode||e.keyCode)switch(e.key){case"AltGraph":case"CapsLock":case"Insert":break;case"Backspace":this._keyPress=String.fromCharCode(8);break;case"Delete":this._keyPress=String.fromCharCode(127);break;case"Enter":this._keyPress="\n";break;case"Escape":this._keyPress=String.fromCharCode(27);break;case"Tab":this._keyPress="\t";break;default:1===e.key.length&&(this._keyPress=e.key)}}},keyup(e){switch(e.preventDefault(),e.which){case 16:this._shiftKey=!1;break;case 17:this._controlKey=!1;break;case 18:this._altKey=!1;break;case 112:this._actionKeyRelease=1;break;case 113:this._actionKeyRelease=2;break;case 114:this._actionKeyRelease=3;break;case 115:this._actionKeyRelease=4;break;case 116:this._actionKeyRelease=5;break;case 117:this._actionKeyRelease=6;break;case 118:this._actionKeyRelease=7;break;case 119:this._actionKeyRelease=8;break;case 120:this._actionKeyRelease=9;break;case 121:this._actionKeyRelease=10;break;case 122:this._actionKeyRelease=11;break;case 123:this._actionKeyRelease=12;break;case 36:this._actionKeyRelease=13;break;case 35:this._actionKeyRelease=14;break;case 33:this._actionKeyRelease=15;break;case 34:this._actionKeyRelease=16;break;case 38:this._actionKeyRelease=17;break;case 40:this._actionKeyRelease=18;break;case 37:this._actionKeyRelease=19;break;case 39:this._actionKeyRelease=20;break;default:if(e.charCode||e.keyCode)switch(e.key){case"AltGraph":case"CapsLock":case"Insert":break;case"Backspace":this._keyRelease=String.fromCharCode(8);break;case"Delete":this._keyRelease=String.fromCharCode(127);break;case"Enter":this._keyRelease="\n";break;case"Escape":this._keyRelease=String.fromCharCode(27);break;case"Tab":this._keyRelease="\t";break;default:1===e.key.length&&(this._keyRelease=e.key)}}this._isActive.getValue()&&(this._isActive=!1)},release(){this._shiftKey.getValue()&&(this._shiftKey=!1),this._controlKey.getValue()&&(this._controlKey=!1),this._altKey.getValue()&&(this._altKey=!1)}}),Object.defineProperties(g,{typeName:{value:"KeySensor",enumerable:!0},componentInfo:{value:Object.freeze({name:"KeyDeviceSensor",level:1}),enumerable:!0},containerField:{value:"children",enumerable:!0},specificationRange:{value:Object.freeze({from:"3.0",to:"Infinity"}),enumerable:!0},fieldDefinitions:{value:new(k())([new(d())(v().inputOutput,"metadata",new(_().SFNode)),new(d())(v().inputOutput,"description",new(_().SFString)),new(d())(v().inputOutput,"enabled",new(_().SFBool)(!0)),new(d())(v().outputOnly,"controlKey",new(_().SFBool)),new(d())(v().outputOnly,"shiftKey",new(_().SFBool)),new(d())(v().outputOnly,"altKey",new(_().SFBool)),new(d())(v().outputOnly,"actionKeyPress",new(_().SFInt32)),new(d())(v().outputOnly,"actionKeyRelease",new(_().SFInt32)),new(d())(v().outputOnly,"keyPress",new(_().SFString)),new(d())(v().outputOnly,"keyRelease",new(_().SFString)),new(d())(v().outputOnly,"isActive",new(_().SFBool))]),enumerable:!0}});const D=g;i().add("KeySensor","x_ite/Components/KeyDeviceSensor/KeySensor",D);const O=D;function P(e){m.call(this,e),this.addType(v().StringSensor)}Object.assign(Object.setPrototypeOf(P.prototype,m.prototype),{keydown(e){switch(e.preventDefault(),e.key){case"Backspace":this._isActive.getValue()&&this._deletionAllowed.getValue()&&this._enteredText.length&&(this._enteredText=this._enteredText.getValue().substring(0,this._enteredText.length-1));break;case"Enter":this._finalText=this._enteredText,this._enteredText.set(""),this._isActive.getValue()&&(this._isActive=!1);break;case"Escape":this._enteredText.set(""),this._isActive.getValue()&&(this._isActive=!1);break;case"Tab":break;default:(e.charCode||e.keyCode)&&1===e.key.length&&(this._isActive.getValue()||(this._isActive=!0,this._enteredText=""),this._enteredText=this._enteredText.getValue()+e.key)}}}),Object.defineProperties(P,{typeName:{value:"StringSensor",enumerable:!0},componentInfo:{value:Object.freeze({name:"KeyDeviceSensor",level:2}),enumerable:!0},containerField:{value:"children",enumerable:!0},specificationRange:{value:Object.freeze({from:"3.0",to:"Infinity"}),enumerable:!0},fieldDefinitions:{value:new(k())([new(d())(v().inputOutput,"metadata",new(_().SFNode)),new(d())(v().inputOutput,"description",new(_().SFString)),new(d())(v().inputOutput,"enabled",new(_().SFBool)(!0)),new(d())(v().inputOutput,"deletionAllowed",new(_().SFBool)(!0)),new(d())(v().outputOnly,"enteredText",new(_().SFString)),new(d())(v().outputOnly,"finalText",new(_().SFString)),new(d())(v().outputOnly,"isActive",new(_().SFBool))]),enumerable:!0}});const C=P;i().add("StringSensor","x_ite/Components/KeyDeviceSensor/StringSensor",C);const R=C;s().add({name:"KeyDeviceSensor",concreteNodes:[O,R],abstractNodes:[m],browserContext:y});const x=void 0;i().add("KeyDeviceSensor","assets/components/KeyDeviceSensor",x)})();
@@ -1,11 +1,11 @@
1
- /* X_ITE v10.0.5 */(() => { // webpackBootstrap
1
+ /* X_ITE v10.1.0 */(() => { // webpackBootstrap
2
2
  /******/ "use strict";
3
3
  /******/ var __webpack_modules__ = ({
4
4
 
5
5
  /***/ 823:
6
6
  /***/ ((module) => {
7
7
 
8
- module.exports = window [Symbol .for ("X_ITE.X3D-10.0.5")] .require ("lib/jquery");
8
+ module.exports = window [Symbol .for ("X_ITE.X3D-10.1.0")] .require ("lib/jquery");
9
9
 
10
10
  /***/ })
11
11
 
@@ -70,22 +70,22 @@ module.exports = window [Symbol .for ("X_ITE.X3D-10.0.5")] .require ("lib/jquery
70
70
  // UNUSED EXPORTS: default
71
71
 
72
72
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Components\")"
73
- const Components_namespaceObject = window [Symbol .for ("X_ITE.X3D-10.0.5")] .require ("x_ite/Components");
73
+ const Components_namespaceObject = window [Symbol .for ("X_ITE.X3D-10.1.0")] .require ("x_ite/Components");
74
74
  var Components_default = /*#__PURE__*/__webpack_require__.n(Components_namespaceObject);
75
75
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Components/Texturing/TextureProperties\")"
76
- const TextureProperties_namespaceObject = window [Symbol .for ("X_ITE.X3D-10.0.5")] .require ("x_ite/Components/Texturing/TextureProperties");
76
+ const TextureProperties_namespaceObject = window [Symbol .for ("X_ITE.X3D-10.1.0")] .require ("x_ite/Components/Texturing/TextureProperties");
77
77
  var TextureProperties_default = /*#__PURE__*/__webpack_require__.n(TextureProperties_namespaceObject);
78
78
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"standard/Math/Numbers/Vector3\")"
79
- const Vector3_namespaceObject = window [Symbol .for ("X_ITE.X3D-10.0.5")] .require ("standard/Math/Numbers/Vector3");
79
+ const Vector3_namespaceObject = window [Symbol .for ("X_ITE.X3D-10.1.0")] .require ("standard/Math/Numbers/Vector3");
80
80
  var Vector3_default = /*#__PURE__*/__webpack_require__.n(Vector3_namespaceObject);
81
81
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"standard/Math/Numbers/Matrix4\")"
82
- const Matrix4_namespaceObject = window [Symbol .for ("X_ITE.X3D-10.0.5")] .require ("standard/Math/Numbers/Matrix4");
82
+ const Matrix4_namespaceObject = window [Symbol .for ("X_ITE.X3D-10.1.0")] .require ("standard/Math/Numbers/Matrix4");
83
83
  var Matrix4_default = /*#__PURE__*/__webpack_require__.n(Matrix4_namespaceObject);
84
84
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"standard/Math/Geometry/ViewVolume\")"
85
- const ViewVolume_namespaceObject = window [Symbol .for ("X_ITE.X3D-10.0.5")] .require ("standard/Math/Geometry/ViewVolume");
85
+ const ViewVolume_namespaceObject = window [Symbol .for ("X_ITE.X3D-10.1.0")] .require ("standard/Math/Geometry/ViewVolume");
86
86
  var ViewVolume_default = /*#__PURE__*/__webpack_require__.n(ViewVolume_namespaceObject);
87
87
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Namespace\")"
88
- const Namespace_namespaceObject = window [Symbol .for ("X_ITE.X3D-10.0.5")] .require ("x_ite/Namespace");
88
+ const Namespace_namespaceObject = window [Symbol .for ("X_ITE.X3D-10.1.0")] .require ("x_ite/Namespace");
89
89
  var Namespace_default = /*#__PURE__*/__webpack_require__.n(Namespace_namespaceObject);
90
90
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Layout/X3DLayoutContext.js
91
91
  /*******************************************************************************
@@ -226,19 +226,19 @@ const __default__ = X3DLayoutContext;
226
226
  Namespace_default().add ("X3DLayoutContext", "x_ite/Browser/Layout/X3DLayoutContext", __default__);
227
227
  /* harmony default export */ const Layout_X3DLayoutContext = (__default__);
228
228
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Fields\")"
229
- const Fields_namespaceObject = window [Symbol .for ("X_ITE.X3D-10.0.5")] .require ("x_ite/Fields");
229
+ const Fields_namespaceObject = window [Symbol .for ("X_ITE.X3D-10.1.0")] .require ("x_ite/Fields");
230
230
  var Fields_default = /*#__PURE__*/__webpack_require__.n(Fields_namespaceObject);
231
231
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Base/X3DFieldDefinition\")"
232
- const X3DFieldDefinition_namespaceObject = window [Symbol .for ("X_ITE.X3D-10.0.5")] .require ("x_ite/Base/X3DFieldDefinition");
232
+ const X3DFieldDefinition_namespaceObject = window [Symbol .for ("X_ITE.X3D-10.1.0")] .require ("x_ite/Base/X3DFieldDefinition");
233
233
  var X3DFieldDefinition_default = /*#__PURE__*/__webpack_require__.n(X3DFieldDefinition_namespaceObject);
234
234
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Base/FieldDefinitionArray\")"
235
- const FieldDefinitionArray_namespaceObject = window [Symbol .for ("X_ITE.X3D-10.0.5")] .require ("x_ite/Base/FieldDefinitionArray");
235
+ const FieldDefinitionArray_namespaceObject = window [Symbol .for ("X_ITE.X3D-10.1.0")] .require ("x_ite/Base/FieldDefinitionArray");
236
236
  var FieldDefinitionArray_default = /*#__PURE__*/__webpack_require__.n(FieldDefinitionArray_namespaceObject);
237
237
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Components/Core/X3DChildNode\")"
238
- const X3DChildNode_namespaceObject = window [Symbol .for ("X_ITE.X3D-10.0.5")] .require ("x_ite/Components/Core/X3DChildNode");
238
+ const X3DChildNode_namespaceObject = window [Symbol .for ("X_ITE.X3D-10.1.0")] .require ("x_ite/Components/Core/X3DChildNode");
239
239
  var X3DChildNode_default = /*#__PURE__*/__webpack_require__.n(X3DChildNode_namespaceObject);
240
240
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Base/X3DConstants\")"
241
- const X3DConstants_namespaceObject = window [Symbol .for ("X_ITE.X3D-10.0.5")] .require ("x_ite/Base/X3DConstants");
241
+ const X3DConstants_namespaceObject = window [Symbol .for ("X_ITE.X3D-10.1.0")] .require ("x_ite/Base/X3DConstants");
242
242
  var X3DConstants_default = /*#__PURE__*/__webpack_require__.n(X3DConstants_namespaceObject);
243
243
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Layout/X3DLayoutNode.js
244
244
  /*******************************************************************************
@@ -320,10 +320,10 @@ const X3DLayoutNode_default_ = X3DLayoutNode;
320
320
  Namespace_default().add ("X3DLayoutNode", "x_ite/Components/Layout/X3DLayoutNode", X3DLayoutNode_default_);
321
321
  /* harmony default export */ const Layout_X3DLayoutNode = (X3DLayoutNode_default_);
322
322
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"standard/Math/Numbers/Vector2\")"
323
- const Vector2_namespaceObject = window [Symbol .for ("X_ITE.X3D-10.0.5")] .require ("standard/Math/Numbers/Vector2");
323
+ const Vector2_namespaceObject = window [Symbol .for ("X_ITE.X3D-10.1.0")] .require ("standard/Math/Numbers/Vector2");
324
324
  var Vector2_default = /*#__PURE__*/__webpack_require__.n(Vector2_namespaceObject);
325
325
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"standard/Math/Numbers/Rotation4\")"
326
- const Rotation4_namespaceObject = window [Symbol .for ("X_ITE.X3D-10.0.5")] .require ("standard/Math/Numbers/Rotation4");
326
+ const Rotation4_namespaceObject = window [Symbol .for ("X_ITE.X3D-10.1.0")] .require ("standard/Math/Numbers/Rotation4");
327
327
  var Rotation4_default = /*#__PURE__*/__webpack_require__.n(Rotation4_namespaceObject);
328
328
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Layout/Layout.js
329
329
  /*******************************************************************************
@@ -972,13 +972,13 @@ const Layout_default_ = Layout;
972
972
  Namespace_default().add ("Layout", "x_ite/Components/Layout/Layout", Layout_default_);
973
973
  /* harmony default export */ const Layout_Layout = (Layout_default_);
974
974
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Components/Grouping/X3DGroupingNode\")"
975
- const X3DGroupingNode_namespaceObject = window [Symbol .for ("X_ITE.X3D-10.0.5")] .require ("x_ite/Components/Grouping/X3DGroupingNode");
975
+ const X3DGroupingNode_namespaceObject = window [Symbol .for ("X_ITE.X3D-10.1.0")] .require ("x_ite/Components/Grouping/X3DGroupingNode");
976
976
  var X3DGroupingNode_default = /*#__PURE__*/__webpack_require__.n(X3DGroupingNode_namespaceObject);
977
977
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Base/X3DCast\")"
978
- const X3DCast_namespaceObject = window [Symbol .for ("X_ITE.X3D-10.0.5")] .require ("x_ite/Base/X3DCast");
978
+ const X3DCast_namespaceObject = window [Symbol .for ("X_ITE.X3D-10.1.0")] .require ("x_ite/Base/X3DCast");
979
979
  var X3DCast_default = /*#__PURE__*/__webpack_require__.n(X3DCast_namespaceObject);
980
980
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Rendering/TraverseType\")"
981
- const TraverseType_namespaceObject = window [Symbol .for ("X_ITE.X3D-10.0.5")] .require ("x_ite/Rendering/TraverseType");
981
+ const TraverseType_namespaceObject = window [Symbol .for ("X_ITE.X3D-10.1.0")] .require ("x_ite/Rendering/TraverseType");
982
982
  var TraverseType_default = /*#__PURE__*/__webpack_require__.n(TraverseType_namespaceObject);
983
983
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Layout/LayoutGroup.js
984
984
  /*******************************************************************************
@@ -1173,10 +1173,10 @@ const LayoutGroup_default_ = LayoutGroup;
1173
1173
  Namespace_default().add ("LayoutGroup", "x_ite/Components/Layout/LayoutGroup", LayoutGroup_default_);
1174
1174
  /* harmony default export */ const Layout_LayoutGroup = (LayoutGroup_default_);
1175
1175
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Components/Layering/X3DLayerNode\")"
1176
- const X3DLayerNode_namespaceObject = window [Symbol .for ("X_ITE.X3D-10.0.5")] .require ("x_ite/Components/Layering/X3DLayerNode");
1176
+ const X3DLayerNode_namespaceObject = window [Symbol .for ("X_ITE.X3D-10.1.0")] .require ("x_ite/Components/Layering/X3DLayerNode");
1177
1177
  var X3DLayerNode_default = /*#__PURE__*/__webpack_require__.n(X3DLayerNode_namespaceObject);
1178
1178
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Components/Navigation/OrthoViewpoint\")"
1179
- const OrthoViewpoint_namespaceObject = window [Symbol .for ("X_ITE.X3D-10.0.5")] .require ("x_ite/Components/Navigation/OrthoViewpoint");
1179
+ const OrthoViewpoint_namespaceObject = window [Symbol .for ("X_ITE.X3D-10.1.0")] .require ("x_ite/Components/Navigation/OrthoViewpoint");
1180
1180
  var OrthoViewpoint_default = /*#__PURE__*/__webpack_require__.n(OrthoViewpoint_namespaceObject);
1181
1181
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Layout/LayoutLayer.js
1182
1182
  /*******************************************************************************
@@ -1312,22 +1312,22 @@ const LayoutLayer_default_ = LayoutLayer;
1312
1312
  Namespace_default().add ("LayoutLayer", "x_ite/Components/Layout/LayoutLayer", LayoutLayer_default_);
1313
1313
  /* harmony default export */ const Layout_LayoutLayer = (LayoutLayer_default_);
1314
1314
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Components/Text/X3DFontStyleNode\")"
1315
- const X3DFontStyleNode_namespaceObject = window [Symbol .for ("X_ITE.X3D-10.0.5")] .require ("x_ite/Components/Text/X3DFontStyleNode");
1315
+ const X3DFontStyleNode_namespaceObject = window [Symbol .for ("X_ITE.X3D-10.1.0")] .require ("x_ite/Components/Text/X3DFontStyleNode");
1316
1316
  var X3DFontStyleNode_default = /*#__PURE__*/__webpack_require__.n(X3DFontStyleNode_namespaceObject);
1317
1317
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Browser/Text/X3DTextGeometry\")"
1318
- const X3DTextGeometry_namespaceObject = window [Symbol .for ("X_ITE.X3D-10.0.5")] .require ("x_ite/Browser/Text/X3DTextGeometry");
1318
+ const X3DTextGeometry_namespaceObject = window [Symbol .for ("X_ITE.X3D-10.1.0")] .require ("x_ite/Browser/Text/X3DTextGeometry");
1319
1319
  var X3DTextGeometry_default = /*#__PURE__*/__webpack_require__.n(X3DTextGeometry_namespaceObject);
1320
1320
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Browser/Text/TextAlignment\")"
1321
- const TextAlignment_namespaceObject = window [Symbol .for ("X_ITE.X3D-10.0.5")] .require ("x_ite/Browser/Text/TextAlignment");
1321
+ const TextAlignment_namespaceObject = window [Symbol .for ("X_ITE.X3D-10.1.0")] .require ("x_ite/Browser/Text/TextAlignment");
1322
1322
  var TextAlignment_default = /*#__PURE__*/__webpack_require__.n(TextAlignment_namespaceObject);
1323
1323
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Components/Texturing/PixelTexture\")"
1324
- const PixelTexture_namespaceObject = window [Symbol .for ("X_ITE.X3D-10.0.5")] .require ("x_ite/Components/Texturing/PixelTexture");
1324
+ const PixelTexture_namespaceObject = window [Symbol .for ("X_ITE.X3D-10.1.0")] .require ("x_ite/Components/Texturing/PixelTexture");
1325
1325
  var PixelTexture_default = /*#__PURE__*/__webpack_require__.n(PixelTexture_namespaceObject);
1326
1326
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"standard/Math/Geometry/Box3\")"
1327
- const Box3_namespaceObject = window [Symbol .for ("X_ITE.X3D-10.0.5")] .require ("standard/Math/Geometry/Box3");
1327
+ const Box3_namespaceObject = window [Symbol .for ("X_ITE.X3D-10.1.0")] .require ("standard/Math/Geometry/Box3");
1328
1328
  var Box3_default = /*#__PURE__*/__webpack_require__.n(Box3_namespaceObject);
1329
1329
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"standard/Math/Algorithm\")"
1330
- const Algorithm_namespaceObject = window [Symbol .for ("X_ITE.X3D-10.0.5")] .require ("standard/Math/Algorithm");
1330
+ const Algorithm_namespaceObject = window [Symbol .for ("X_ITE.X3D-10.1.0")] .require ("standard/Math/Algorithm");
1331
1331
  var Algorithm_default = /*#__PURE__*/__webpack_require__.n(Algorithm_namespaceObject);
1332
1332
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Layout/ScreenText.js
1333
1333
  /* provided dependency */ var $ = __webpack_require__(823);
@@ -1496,6 +1496,7 @@ Object .assign (Object .setPrototypeOf (ScreenText .prototype, (X3DTextGeometry_
1496
1496
  minorAlignment = this .getMinorAlignment (),
1497
1497
  translations = this .getTranslations (),
1498
1498
  charSpacings = this .getCharSpacings (),
1499
+ scales = this .getScales (),
1499
1500
  size = fontStyle .getScale (), // in pixel
1500
1501
  sizeUnitsPerEm = size / font .unitsPerEm,
1501
1502
  texCoordArray = text .getTexCoords (),
@@ -1512,12 +1513,12 @@ Object .assign (Object .setPrototypeOf (ScreenText .prototype, (X3DTextGeometry_
1512
1513
 
1513
1514
  this .getBBox () .getExtents (min, max);
1514
1515
 
1515
- normalArray .push (0, 0, 1,
1516
- 0, 0, 1,
1517
- 0, 0, 1,
1518
- 0, 0, 1,
1519
- 0, 0, 1,
1520
- 0, 0, 1);
1516
+ normalArray .push (0, 0, 1,
1517
+ 0, 0, 1,
1518
+ 0, 0, 1,
1519
+ 0, 0, 1,
1520
+ 0, 0, 1,
1521
+ 0, 0, 1);
1521
1522
 
1522
1523
  vertexArray .push (min .x, min .y, 0, 1,
1523
1524
  max .x, min .y, 0, 1,
@@ -1567,8 +1568,9 @@ Object .assign (Object .setPrototypeOf (ScreenText .prototype, (X3DTextGeometry_
1567
1568
  {
1568
1569
  const
1569
1570
  line = glyphs [l],
1571
+ translation = translations [l],
1570
1572
  charSpacing = charSpacings [l],
1571
- translation = translations [l];
1573
+ scale = scales [l];
1572
1574
 
1573
1575
  let advanceWidth = 0;
1574
1576
 
@@ -1576,10 +1578,16 @@ Object .assign (Object .setPrototypeOf (ScreenText .prototype, (X3DTextGeometry_
1576
1578
  {
1577
1579
  const
1578
1580
  glyph = line [g],
1579
- x = minorAlignment .x + translation .x + advanceWidth + g * charSpacing - min .x,
1581
+ x = minorAlignment .x + translation .x + advanceWidth * scale + g * charSpacing - min .x,
1580
1582
  y = minorAlignment .y + translation .y - max .y;
1581
1583
 
1582
- this .drawGlyph (cx, font, glyph, x, y, size);
1584
+ cx .save ();
1585
+ cx .translate (x, -y);
1586
+ cx .scale (scale, 1);
1587
+
1588
+ this .drawGlyph (cx, font, glyph, size);
1589
+
1590
+ cx .restore ();
1583
1591
 
1584
1592
  // Calculate advanceWidth.
1585
1593
 
@@ -1603,13 +1611,14 @@ Object .assign (Object .setPrototypeOf (ScreenText .prototype, (X3DTextGeometry_
1603
1611
 
1604
1612
  for (let l = first, t = 0; l !== last; l += step)
1605
1613
  {
1606
- const line = glyphs [l];
1607
-
1608
1614
  const
1609
- numChars = line .length,
1610
- firstG = topToBottom ? 0 : numChars - 1,
1611
- lastG = topToBottom ? numChars : -1,
1612
- stepG = topToBottom ? 1 : -1;
1615
+ line = glyphs [l],
1616
+ numChars = line .length,
1617
+ firstG = topToBottom ? 0 : numChars - 1,
1618
+ lastG = topToBottom ? numChars : -1,
1619
+ stepG = topToBottom ? 1 : -1,
1620
+ charSpacing = charSpacings [l],
1621
+ scale = scales [l];
1613
1622
 
1614
1623
  for (let g = firstG; g !== lastG; g += stepG, ++ t)
1615
1624
  {
@@ -1617,9 +1626,15 @@ Object .assign (Object .setPrototypeOf (ScreenText .prototype, (X3DTextGeometry_
1617
1626
 
1618
1627
  const
1619
1628
  x = minorAlignment .x + translation .x - min .x,
1620
- y = minorAlignment .y + translation .y - max .y;
1629
+ y = minorAlignment .y + translation .y * scale - g * charSpacing - max .y;
1630
+
1631
+ cx .save ();
1632
+ cx .translate (x, -y);
1633
+ cx .scale (1, scale);
1634
+
1635
+ this .drawGlyph (cx, font, line [g], size);
1621
1636
 
1622
- this .drawGlyph (cx, font, line [g], x, y, size);
1637
+ cx .restore ();
1623
1638
  }
1624
1639
  }
1625
1640
  }
@@ -1638,14 +1653,14 @@ Object .assign (Object .setPrototypeOf (ScreenText .prototype, (X3DTextGeometry_
1638
1653
  this .textureNode .clear ();
1639
1654
  };
1640
1655
  })(),
1641
- drawGlyph (cx, font, glyph, x, y, size)
1656
+ drawGlyph (cx, font, glyph, size)
1642
1657
  {
1643
1658
  //console .log (glyph .name, x, y);
1644
1659
 
1645
1660
  // Get curves for the current glyph.
1646
1661
 
1647
1662
  const
1648
- path = glyph .getPath (x, -y, size),
1663
+ path = glyph .getPath (0, 0, size),
1649
1664
  commands = path .commands;
1650
1665
 
1651
1666
  cx .beginPath ();
@@ -1869,7 +1884,7 @@ const ScreenFontStyle_default_ = ScreenFontStyle;
1869
1884
  Namespace_default().add ("ScreenFontStyle", "x_ite/Components/Layout/ScreenFontStyle", ScreenFontStyle_default_);
1870
1885
  /* harmony default export */ const Layout_ScreenFontStyle = (ScreenFontStyle_default_);
1871
1886
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Prototype/X3DProtoDeclaration\")"
1872
- const X3DProtoDeclaration_namespaceObject = window [Symbol .for ("X_ITE.X3D-10.0.5")] .require ("x_ite/Prototype/X3DProtoDeclaration");
1887
+ const X3DProtoDeclaration_namespaceObject = window [Symbol .for ("X_ITE.X3D-10.1.0")] .require ("x_ite/Prototype/X3DProtoDeclaration");
1873
1888
  var X3DProtoDeclaration_default = /*#__PURE__*/__webpack_require__.n(X3DProtoDeclaration_namespaceObject);
1874
1889
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Layout/ScreenGroup.js
1875
1890
  /*******************************************************************************