x_ite 8.9.6 → 8.10.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 (195) hide show
  1. package/build/bin/tests.pl +1 -1
  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 +13 -13
  5. package/dist/assets/components/CADGeometry.min.js +1 -1
  6. package/dist/assets/components/CubeMapTexturing.js +26 -26
  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 +35 -34
  13. package/dist/assets/components/Geometry2D.min.js +1 -1
  14. package/dist/assets/components/Geospatial.js +37 -37
  15. package/dist/assets/components/Geospatial.min.js +1 -1
  16. package/dist/assets/components/HAnim.js +370 -208
  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 +27 -30
  21. package/dist/assets/components/Layout.min.js +1 -1
  22. package/dist/assets/components/NURBS.js +26 -26
  23. package/dist/assets/components/NURBS.min.js +1 -1
  24. package/dist/assets/components/ParticleSystems.js +23 -23
  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 +23 -23
  29. package/dist/assets/components/RigidBodyPhysics.min.js +1 -1
  30. package/dist/assets/components/Scripting.js +37 -37
  31. package/dist/assets/components/Scripting.min.js +1 -1
  32. package/dist/assets/components/Text.js +31 -31
  33. package/dist/assets/components/Text.min.js +1 -1
  34. package/dist/assets/components/TextureProjector.js +14 -14
  35. package/dist/assets/components/TextureProjector.min.js +1 -1
  36. package/dist/assets/components/Texturing3D.js +33 -33
  37. package/dist/assets/components/Texturing3D.min.js +1 -1
  38. package/dist/assets/components/VolumeRendering.js +18 -18
  39. package/dist/assets/components/VolumeRendering.min.js +1 -1
  40. package/dist/assets/components/X_ITE.js +9 -9
  41. package/dist/assets/components/X_ITE.min.js +1 -1
  42. package/dist/x_ite.css +1 -1
  43. package/dist/x_ite.js +9157 -8799
  44. package/dist/x_ite.min.js +1 -1
  45. package/dist/x_ite.zip +0 -0
  46. package/docs/_config.yml +5 -5
  47. package/docs/_posts/components/Core/MetadataBoolean.md +1 -1
  48. package/docs/_posts/components/Core/MetadataDouble.md +1 -1
  49. package/docs/_posts/components/Core/MetadataFloat.md +1 -1
  50. package/docs/_posts/components/Core/MetadataInteger.md +1 -1
  51. package/docs/_posts/components/Core/MetadataSet.md +1 -1
  52. package/docs/_posts/components/Core/MetadataString.md +1 -1
  53. package/docs/_posts/components/Core/WorldInfo.md +1 -1
  54. package/docs/_posts/components/EventUtilities/BooleanFilter.md +2 -2
  55. package/docs/_posts/components/EventUtilities/BooleanSequencer.md +2 -2
  56. package/docs/_posts/components/EventUtilities/BooleanToggle.md +2 -2
  57. package/docs/_posts/components/EventUtilities/BooleanTrigger.md +2 -2
  58. package/docs/_posts/components/EventUtilities/IntegerSequencer.md +2 -2
  59. package/docs/_posts/components/EventUtilities/IntegerTrigger.md +2 -2
  60. package/docs/_posts/components/EventUtilities/TimeTrigger.md +2 -2
  61. package/docs/_posts/components/Geometry2D/Arc2D.md +1 -1
  62. package/docs/_posts/components/Geometry2D/ArcClose2D.md +1 -1
  63. package/docs/_posts/components/Geometry2D/Circle2D.md +1 -1
  64. package/docs/_posts/components/Geometry2D/Disk2D.md +1 -1
  65. package/docs/_posts/components/Geometry2D/Polyline2D.md +1 -1
  66. package/docs/_posts/components/Geometry2D/Polypoint2D.md +1 -1
  67. package/docs/_posts/components/Geometry2D/Rectangle2D.md +1 -1
  68. package/docs/_posts/components/HAnim/HAnimHumanoid.md +17 -17
  69. package/docs/_posts/components/Interpolation/ColorInterpolator.md +1 -1
  70. package/docs/_posts/components/Interpolation/CoordinateInterpolator.md +1 -1
  71. package/docs/_posts/components/Interpolation/CoordinateInterpolator2D.md +1 -1
  72. package/docs/_posts/components/Interpolation/NormalInterpolator.md +1 -1
  73. package/docs/_posts/components/Interpolation/OrientationInterpolator.md +1 -1
  74. package/docs/_posts/components/Interpolation/PositionInterpolator.md +1 -1
  75. package/docs/_posts/components/Interpolation/PositionInterpolator2D.md +1 -1
  76. package/docs/_posts/components/Interpolation/ScalarInterpolator.md +1 -1
  77. package/docs/_posts/components/KeyDeviceSensor/KeySensor.md +1 -1
  78. package/docs/_posts/components/KeyDeviceSensor/StringSensor.md +1 -1
  79. package/docs/_posts/components/Networking/LoadSensor.md +1 -1
  80. package/docs/_posts/components/PointingDeviceSensor/CylinderSensor.md +1 -1
  81. package/docs/_posts/components/PointingDeviceSensor/PlaneSensor.md +1 -1
  82. package/docs/_posts/components/PointingDeviceSensor/TouchSensor.md +1 -1
  83. package/docs/_posts/components/Text/Text.md +1 -1
  84. package/docs/_posts/components/Time/TimeSensor.md +1 -1
  85. package/docs/_posts/reference/browser-services.md +6 -6
  86. package/docs/laboratory/gltf-sample-viewer.html +1 -1
  87. package/package.json +1 -1
  88. package/src/assets/shaders/webgl1/Depth.vs.js +4 -4
  89. package/src/assets/shaders/webgl1/Pointing.fs.js +1 -1
  90. package/src/assets/shaders/webgl2/Depth.vs.js +7 -4
  91. package/src/assets/shaders/webgl2/LineTransform.vs.js +24 -12
  92. package/src/assets/shaders/webgl2/Pointing.fs.js +1 -1
  93. package/src/assets/shaders/webgl2/Pointing.vs.js +12 -9
  94. package/src/assets/shaders/webgl2/include/Particle.glsl.js +5 -15
  95. package/src/assets/shaders/webgl2/include/Skin.glsl.js +88 -0
  96. package/src/assets/shaders/webgl2/include/Utils.glsl.js +13 -0
  97. package/src/assets/shaders/webgl2/include/Vertex.glsl.js +17 -8
  98. package/src/bookmarks.js +54 -2
  99. package/src/tests.js +0 -360
  100. package/src/x_ite/Base/X3DArrayField.js +18 -3
  101. package/src/x_ite/Base/X3DBaseNode.js +73 -56
  102. package/src/x_ite/Base/X3DObjectArrayField.js +6 -4
  103. package/src/x_ite/Browser/Core/Context.js +14 -4
  104. package/src/x_ite/Browser/Core/Notification.js +4 -3
  105. package/src/x_ite/Browser/Core/X3DCoreContext.js +8 -8
  106. package/src/x_ite/Browser/Geometry2D/Arc2DOptions.js +4 -3
  107. package/src/x_ite/Browser/Geometry2D/ArcClose2DOptions.js +4 -3
  108. package/src/x_ite/Browser/Geometry2D/Circle2DOptions.js +6 -6
  109. package/src/x_ite/Browser/Geometry2D/Disk2DOptions.js +9 -10
  110. package/src/x_ite/Browser/Geometry3D/ConeOptions.js +5 -4
  111. package/src/x_ite/Browser/Geometry3D/CylinderOptions.js +5 -4
  112. package/src/x_ite/Browser/Geometry3D/IcoSphereOptions.js +3 -2
  113. package/src/x_ite/Browser/Geometry3D/QuadSphereOptions.js +3 -2
  114. package/src/x_ite/Browser/Layout/ScreenText.js +2 -2
  115. package/src/x_ite/Browser/Navigation/ExamineViewer.js +4 -4
  116. package/src/x_ite/Browser/Navigation/LookAtViewer.js +4 -4
  117. package/src/x_ite/Browser/Navigation/PlaneViewer.js +3 -3
  118. package/src/x_ite/Browser/Navigation/X3DFlyViewer.js +3 -3
  119. package/src/x_ite/Browser/Navigation/X3DNavigationContext.js +6 -5
  120. package/src/x_ite/Browser/Navigation/X3DViewer.js +2 -13
  121. package/src/x_ite/Browser/Networking/X3DNetworkingContext.js +5 -4
  122. package/src/x_ite/Browser/PointingDeviceSensor/PointingDevice.js +8 -18
  123. package/src/x_ite/Browser/PointingDeviceSensor/X3DPointingDeviceSensorContext.js +17 -5
  124. package/src/x_ite/Browser/Rendering/X3DRenderingContext.js +6 -5
  125. package/src/x_ite/Browser/Shaders/Shaders.js +4 -0
  126. package/src/x_ite/Browser/Shape/X3DShapeContext.js +3 -3
  127. package/src/x_ite/Browser/Sound/X3DSoundContext.js +4 -3
  128. package/src/x_ite/Browser/Text/PolygonText.js +2 -2
  129. package/src/x_ite/Browser/Texturing/X3DTexturingContext.js +1 -1
  130. package/src/x_ite/Browser/VERSION.js +1 -1
  131. package/src/x_ite/Browser/X3DBrowser.js +49 -17
  132. package/src/x_ite/Browser/X3DBrowserContext.js +8 -7
  133. package/src/x_ite/Components/Core/X3DChildNode.js +2 -5
  134. package/src/x_ite/Components/Core/X3DPrototypeInstance.js +14 -14
  135. package/src/x_ite/Components/CubeMapTexturing/ComposedCubeMapTexture.js +1 -1
  136. package/src/x_ite/Components/EnvironmentalSensor/X3DEnvironmentalSensorNode.js +1 -1
  137. package/src/x_ite/Components/Geometry3D/ElevationGrid.js +5 -2
  138. package/src/x_ite/Components/Geometry3D/Extrusion.js +24 -13
  139. package/src/x_ite/Components/Geometry3D/IndexedFaceSet.js +5 -2
  140. package/src/x_ite/Components/Geospatial/GeoElevationGrid.js +2 -2
  141. package/src/x_ite/Components/Geospatial/GeoViewpoint.js +2 -2
  142. package/src/x_ite/Components/Grouping/X3DBoundedObject.js +1 -2
  143. package/src/x_ite/Components/HAnim/HAnimHumanoid.js +314 -161
  144. package/src/x_ite/Components/HAnim/HAnimJoint.js +37 -25
  145. package/src/x_ite/Components/Layering/X3DLayerNode.js +2 -2
  146. package/src/x_ite/Components/NURBS/NurbsOrientationInterpolator.js +1 -1
  147. package/src/x_ite/Components/NURBS/NurbsPositionInterpolator.js +1 -1
  148. package/src/x_ite/Components/Navigation/NavigationInfo.js +4 -4
  149. package/src/x_ite/Components/Navigation/OrthoViewpoint.js +1 -1
  150. package/src/x_ite/Components/Navigation/X3DViewpointNode.js +12 -12
  151. package/src/x_ite/Components/Networking/X3DUrlObject.js +18 -11
  152. package/src/x_ite/Components/Rendering/IndexedLineSet.js +17 -14
  153. package/src/x_ite/Components/Rendering/LineSet.js +16 -13
  154. package/src/x_ite/Components/Rendering/PointSet.js +16 -12
  155. package/src/x_ite/Components/Rendering/X3DColorNode.js +1 -3
  156. package/src/x_ite/Components/Rendering/X3DComposedGeometryNode.js +3 -0
  157. package/src/x_ite/Components/Rendering/X3DGeometryNode.js +48 -77
  158. package/src/x_ite/Components/Rendering/X3DLineGeometryNode.js +31 -12
  159. package/src/x_ite/Components/Rendering/X3DPointGeometryNode.js +3 -0
  160. package/src/x_ite/Components/RigidBodyPhysics/RigidBody.js +3 -3
  161. package/src/x_ite/Components/RigidBodyPhysics/X3DNBodyCollidableNode.js +2 -2
  162. package/src/x_ite/Components/RigidBodyPhysics/X3DRigidJointNode.js +1 -1
  163. package/src/x_ite/Components/Shaders/X3DProgrammableShaderObject.js +24 -7
  164. package/src/x_ite/Components/Shaders/X3DVertexAttributeNode.js +1 -1
  165. package/src/x_ite/Components/Shape/FillProperties.js +1 -3
  166. package/src/x_ite/Components/Shape/X3DAppearanceNode.js +1 -3
  167. package/src/x_ite/Components/Shape/X3DMaterialNode.js +8 -6
  168. package/src/x_ite/Components/Shape/X3DOneSidedMaterialNode.js +0 -2
  169. package/src/x_ite/Components/Sound/AudioClip.js +1 -1
  170. package/src/x_ite/Components/Sound/BufferAudioSource.js +1 -1
  171. package/src/x_ite/Components/Sound/ListenerPointSource.js +2 -2
  172. package/src/x_ite/Components/Sound/MicrophoneSource.js +2 -2
  173. package/src/x_ite/Components/Sound/OscillatorSource.js +2 -2
  174. package/src/x_ite/Components/Sound/Sound.js +1 -1
  175. package/src/x_ite/Components/Sound/StreamAudioSource.js +2 -2
  176. package/src/x_ite/Components/Sound/X3DSoundProcessingNode.js +1 -1
  177. package/src/x_ite/Components/Text/X3DFontStyleNode.js +4 -4
  178. package/src/x_ite/Components/Texturing/MultiTexture.js +1 -1
  179. package/src/x_ite/Components/Texturing/PixelTexture.js +1 -1
  180. package/src/x_ite/Components/Texturing/X3DSingleTextureCoordinateNode.js +2 -2
  181. package/src/x_ite/Components/Texturing/X3DTextureNode.js +1 -3
  182. package/src/x_ite/Components/Texturing3D/ComposedTexture3D.js +2 -2
  183. package/src/x_ite/Components/Texturing3D/PixelTexture3D.js +1 -1
  184. package/src/x_ite/Components/Time/TimeSensor.js +1 -1
  185. package/src/x_ite/Components/Time/X3DTimeDependentNode.js +2 -2
  186. package/src/x_ite/Execution/X3DExecutionContext.js +3 -4
  187. package/src/x_ite/Execution/X3DScene.js +4 -4
  188. package/src/x_ite/Execution/X3DWorld.js +1 -1
  189. package/src/x_ite/Parser/GLTF2Parser.js +196 -116
  190. package/src/x_ite/Parser/X3DOptimizer.js +47 -18
  191. package/src/x_ite/Prototype/X3DExternProtoDeclaration.js +4 -4
  192. package/src/x_ite/Prototype/X3DProtoDeclarationNode.js +1 -1
  193. package/src/x_ite/Rendering/X3DRenderObject.js +20 -12
  194. package/src/x_ite.html +36 -10
  195. package/x_ite.min.html +36 -10
@@ -1 +1 @@
1
- /* X_ITE v8.9.6 */(()=>{"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-8.9.6")].require("x_ite/Components");var n=e.n(t);const i=window[Symbol.for("X_ITE.X3D-8.9.6")].require("x_ite/Fields");var o=e.n(i);const s=window[Symbol.for("X_ITE.X3D-8.9.6")].require("x_ite/Base/X3DFieldDefinition");var r=e.n(s);const a=window[Symbol.for("X_ITE.X3D-8.9.6")].require("x_ite/Base/FieldDefinitionArray");var d=e.n(a);const u=window[Symbol.for("X_ITE.X3D-8.9.6")].require("x_ite/Components/Rendering/X3DGeometricPropertyNode");var l=e.n(u);const p=window[Symbol.for("X_ITE.X3D-8.9.6")].require("x_ite/Base/X3DConstants");var w=e.n(p);const h=window[Symbol.for("X_ITE.X3D-8.9.6")].require("x_ite/Namespace");var m=e.n(h);function c(e){l().call(this,e),this.addType(w().HAnimDisplacer),this._displacements.setUnit("length")}Object.setPrototypeOf(c.prototype,l().prototype),Object.defineProperties(c,{typeName:{value:"HAnimDisplacer",enumerable:!0},componentName:{value:"HAnim",enumerable:!0},containerField:{value:"displacers",enumerable:!0},specificationRange:{value:Object.freeze(["3.0","Infinity"]),enumerable:!0},fieldDefinitions:{value:new(d())([new(r())(w().inputOutput,"metadata",new(o().SFNode)),new(r())(w().inputOutput,"description",new(o().SFString)),new(r())(w().inputOutput,"name",new(o().SFString)),new(r())(w().inputOutput,"coordIndex",new(o().MFInt32)),new(r())(w().inputOutput,"weight",new(o().SFFloat)),new(r())(w().inputOutput,"displacements",new(o().MFVec3f))]),enumerable:!0}});const _=c;m().set("x_ite/Components/HAnim/HAnimDisplacer",_);const N=_,O=window[Symbol.for("X_ITE.X3D-8.9.6")].require("x_ite/Components/Core/X3DChildNode");var b=e.n(O);const g=window[Symbol.for("X_ITE.X3D-8.9.6")].require("x_ite/Components/Grouping/Group");var f=e.n(g);const F=window[Symbol.for("X_ITE.X3D-8.9.6")].require("x_ite/Components/Grouping/Transform");var S=e.n(F);const y=window[Symbol.for("X_ITE.X3D-8.9.6")].require("x_ite/Components/Grouping/X3DBoundedObject");var k=e.n(y);const v=window[Symbol.for("X_ITE.X3D-8.9.6")].require("x_ite/Rendering/TraverseType");var C=e.n(v);const x=window[Symbol.for("X_ITE.X3D-8.9.6")].require("x_ite/Base/X3DCast");var I=e.n(x);const M=window[Symbol.for("X_ITE.X3D-8.9.6")].require("standard/Math/Numbers/Vector3");var j=e.n(M);window[Symbol.for("X_ITE.X3D-8.9.6")].require("standard/Math/Numbers/Rotation4");const B=window[Symbol.for("X_ITE.X3D-8.9.6")].require("standard/Math/Numbers/Matrix4");var D=e.n(B);function A(e){b().call(this,e),k().call(this,e),this.addType(w().HAnimHumanoid),this._translation.setUnit("length"),this._center.setUnit("length"),this._bboxSize.setUnit("length"),this._bboxCenter.setUnit("length"),this.skeletonNode=new(f())(e),this.viewpointsNode=new(f())(e),this.skinNode=new(f())(e),this.transformNode=new(S())(e),this.jointNodes=[],this.jointBindingMatrices=[],this.skinBindingNormal=null,this.skinBindingCoord=null,this.skinNormalNode=null,this.skinCoordNode=null,this.changed=!1}Object.assign(Object.setPrototypeOf(A.prototype,b().prototype),k().prototype,{initialize(){b().prototype.initialize.call(this),k().prototype.initialize.call(this),this.skeletonNode.setAllowedTypes(w().HAnimJoint,w().HAnimSite),this.viewpointsNode.setAllowedTypes(w().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._visible.addFieldInterest(this.transformNode._visible),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._visible=this._visible,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()),this._joints.addInterest("set_joints__",this),this._jointBindingPositions.addInterest("set_joints__",this),this._jointBindingRotations.addInterest("set_joints__",this),this._jointBindingScales.addInterest("set_joints__",this),this._skinBindingNormal.addInterest("set_skinBindingNormal__",this),this._skinBindingCoord.addInterest("set_skinBindingCoord__",this),this._skinNormal.addInterest("set_skinNormal__",this),this._skinCoord.addInterest("set_skinCoord__",this),this.set_joints__(),this.set_skinBindingNormal__(),this.set_skinBindingCoord__()},getBBox(e,t){return this.transformNode.getBBox(e,t)},set_joints__(){const e=this.jointNodes,t=this.jointBindingMatrices,n=this._jointBindingPositions,i=this._jointBindingRotations,o=this._jointBindingScales;for(const t of e)t.removeInterest("set_joint__",this);e.length=0,t.length=0;for(const[s,r]of this._joints.entries()){const a=I()(w().HAnimJoint,r);if(a){const r=new(D());n.length&&r.translate(n[Math.min(s,n.length-1)].getValue()),i.length&&r.rotate(i[Math.min(s,i.length-1)].getValue()),o.length&&r.scale(o[Math.min(s,o.length-1)].getValue()),e.push(a),t.push(r)}}for(const t of e)t.addInterest("set_joint__",this);this.set_joint__()},set_joint__(){this.changed=!0},set_skinBindingNormal__(){this.skinBindingNormal=I()(w().X3DNormalNode,this._skinBindingNormal),this.set_skinNormal__()},set_skinBindingCoord__(){this.skinBindingCoord=I()(w().X3DCoordinateNode,this._skinBindingCoord),this.set_skinCoord__()},set_skinNormal__(){this.skinNormalNode=I()(w().X3DNormalNode,this._skinNormal),!this.skinBindingNormal&&this.skinNormalNode&&(this.skinBindingNormal=this.skinNormalNode.copy()),this.changed=!0},set_skinCoord__(){this.skinCoordNode=I()(w().X3DCoordinateNode,this._skinCoord),!this.skinBindingCoord&&this.skinCoordNode&&(this.skinBindingCoord=this.skinCoordNode.copy()),this.skinCoordNode?delete this.skinning:this.skinning=Function.prototype,this.changed=!0},traverse(e,t){this.transformNode.traverse(e,t),this.skinning(e,t)},skinning:(()=>{const e=new(D()),t=new(j())(0,0,0),n=new(j())(0,0,0),i=new(j())(0,0,0),o=new(j())(0,0,0);return function(s,r){if(s!==C().CAMERA)return;if(!this.changed)return;this.changed=!1;const a=this.jointNodes,d=a.length,u=this.jointBindingMatrices,l=this.skinBindingNormal,p=this.skinBindingCoord,w=this.skinNormalNode,h=this.skinCoordNode;w&&w._vector.assign(l._vector),h._point.assign(p._point),e.assign(this.transformNode.getMatrix()).multRight(r.getModelViewMatrix().get()).inverse();for(let s=0;s<d;++s){const r=a[s],d=u[s],m=r.getModelMatrix().multRight(e).multLeft(d),c=r.getDisplacers(),_=r._skinCoordIndex.length;for(const e of c){const t=e._coordIndex.getValue(),i=e._coordIndex.length,s=e._weight.getValue(),r=e._displacements.getValue(),a=e._displacements.length;for(let e=0;e<i;++e){const i=3*e,d=t[e],u=e<a?o.set(r[i],r[i+1],r[i+2]):o.assign(j().Zero);h.get1Point(d,n),m.multDirMatrix(u).multiply(s).add(n),h.set1Point(d,u)}}const N=w?m.submatrix.transpose().inverse():null,O=r._skinCoordIndex.getValue(),b=r._skinCoordWeight.getValue(),g=r._skinCoordWeight.length;for(let e=0;e<_;++e){const s=O[e],r=e<g?b[e]:1;w&&(t.assign(l.get1Vector(s,i)),w.get1Vector(s,n),N.multVecMatrix(i).subtract(t).multiply(r).add(n),w.set1Vector(s,i)),t.assign(p.get1Point(s,o)),h.get1Point(s,n),m.multVecMatrix(o).subtract(t).multiply(r).add(n),h.set1Point(s,o)}}}})(),toVRMLStream(e){this.skinNormalNode&&(this.skinNormalNode._vector=this.skinBindingNormal._vector),this.skinCoordNode&&(this.skinCoordNode._point=this.skinBindingCoord._point),b().prototype.toVRMLStream.call(this,e)},toXMLStream(e){this.skinNormalNode&&(this.skinNormalNode._vector=this.skinBindingNormal._vector),this.skinCoordNode&&(this.skinCoordNode._point=this.skinBindingCoord._point),b().prototype.toXMLStream.call(this,e)},toJSONStream(e){this.skinNormalNode&&(this.skinNormalNode._vector=this.skinBindingNormal._vector),this.skinCoordNode&&(this.skinCoordNode._point=this.skinBindingCoord._point),b().prototype.toJSONStream.call(this,e)},dispose(){k().prototype.dispose.call(this),b().prototype.dispose.call(this)}}),Object.defineProperties(A,{typeName:{value:"HAnimHumanoid",enumerable:!0},componentName:{value:"HAnim",enumerable:!0},containerField:{value:"children",enumerable:!0},specificationRange:{value:Object.freeze(["3.0","Infinity"]),enumerable:!0},fieldDefinitions:{value:new(d())([new(r())(w().inputOutput,"metadata",new(o().SFNode)),new(r())(w().inputOutput,"version",new(o().SFString)),new(r())(w().inputOutput,"description",new(o().SFString)),new(r())(w().inputOutput,"name",new(o().SFString)),new(r())(w().inputOutput,"info",new(o().MFString)),new(r())(w().inputOutput,"translation",new(o().SFVec3f)),new(r())(w().inputOutput,"rotation",new(o().SFRotation)),new(r())(w().inputOutput,"scale",new(o().SFVec3f)(1,1,1)),new(r())(w().inputOutput,"scaleOrientation",new(o().SFRotation)),new(r())(w().inputOutput,"center",new(o().SFVec3f)),new(r())(w().inputOutput,"visible",new(o().SFBool)(!0)),new(r())(w().inputOutput,"bboxDisplay",new(o().SFBool)),new(r())(w().initializeOnly,"bboxSize",new(o().SFVec3f)(-1,-1,-1)),new(r())(w().initializeOnly,"bboxCenter",new(o().SFVec3f)),new(r())(w().inputOutput,"loa",new(o().SFInt32)(-1)),new(r())(w().inputOutput,"skeletalConfiguration",new(o().SFString)("BASIC")),new(r())(w().inputOutput,"skeleton",new(o().MFNode)),new(r())(w().inputOutput,"viewpoints",new(o().MFNode)),new(r())(w().inputOutput,"sites",new(o().MFNode)),new(r())(w().inputOutput,"segments",new(o().MFNode)),new(r())(w().inputOutput,"motionsEnabled",new(o().MFBool)),new(r())(w().inputOutput,"motions",new(o().MFNode)),new(r())(w().inputOutput,"jointBindingPositions",new(o().MFVec3f)),new(r())(w().inputOutput,"jointBindingRotations",new(o().MFRotation)),new(r())(w().inputOutput,"jointBindingScales",new(o().MFVec3f)),new(r())(w().inputOutput,"joints",new(o().MFNode)),new(r())(w().inputOutput,"skinBindingNormal",new(o().SFNode)),new(r())(w().inputOutput,"skinBindingCoord",new(o().SFNode)),new(r())(w().inputOutput,"skinNormal",new(o().SFNode)),new(r())(w().inputOutput,"skinCoord",new(o().SFNode)),new(r())(w().inputOutput,"skin",new(o().MFNode))]),enumerable:!0}});const X=A;m().set("x_ite/Components/HAnim/HAnimHumanoid",X);const H=X,V=window[Symbol.for("X_ITE.X3D-8.9.6")].require("x_ite/Components/Grouping/X3DTransformNode");var T=e.n(V);function z(e){T().call(this,e),this.addType(w().HAnimJoint),this.setAllowedTypes(w().HAnimJoint,w().HAnimSegment,w().HAnimSite),this.displacerNodes=[],this.modelMatrix=new(D())}Object.assign(Object.setPrototypeOf(z.prototype,T().prototype),{initialize(){T().prototype.initialize.call(this),this._skinCoordIndex.addInterest("set_skinCoordIndex__",this),this._displacers.addInterest("set_displacers__",this),this.set_displacers__()},setCameraObject(e){T().prototype.setCameraObject.call(this,e||!!this._skinCoordIndex.length)},getModelMatrix(){return this.modelMatrix},getDisplacers(){return this.displacerNodes},set_skinCoordIndex__(){this.set_cameraObjects__()},set_displacers__(){const e=this.displacerNodes;e.length=0;for(const t of this._displacers){const n=I()(w().HAnimDisplacer,t);n&&e.push(n)}},traverse(e,t){e===C().CAMERA&&this._skinCoordIndex.length&&this.modelMatrix.assign(this.getMatrix()).multRight(t.getModelViewMatrix().get()),T().prototype.traverse.call(this,e,t)},groupTraverse(e,t){e===C().CAMERA&&this._skinCoordIndex.length&&this.modelMatrix.assign(t.getModelViewMatrix().get()),T().prototype.groupTraverse.call(this,e,t)}}),Object.defineProperties(z,{typeName:{value:"HAnimJoint",enumerable:!0},componentName:{value:"HAnim",enumerable:!0},containerField:{value:"children",enumerable:!0},specificationRange:{value:Object.freeze(["3.0","Infinity"]),enumerable:!0},fieldDefinitions:{value:new(d())([new(r())(w().inputOutput,"metadata",new(o().SFNode)),new(r())(w().inputOutput,"description",new(o().SFString)),new(r())(w().inputOutput,"name",new(o().SFString)),new(r())(w().inputOutput,"translation",new(o().SFVec3f)),new(r())(w().inputOutput,"rotation",new(o().SFRotation)),new(r())(w().inputOutput,"scale",new(o().SFVec3f)(1,1,1)),new(r())(w().inputOutput,"scaleOrientation",new(o().SFRotation)),new(r())(w().inputOutput,"center",new(o().SFVec3f)),new(r())(w().inputOutput,"llimit",new(o().MFFloat)),new(r())(w().inputOutput,"ulimit",new(o().MFFloat)),new(r())(w().inputOutput,"limitOrientation",new(o().SFRotation)),new(r())(w().inputOutput,"stiffness",new(o().MFFloat)(0,0,0)),new(r())(w().inputOutput,"skinCoordIndex",new(o().MFInt32)),new(r())(w().inputOutput,"skinCoordWeight",new(o().MFFloat)),new(r())(w().inputOutput,"displacers",new(o().MFNode)),new(r())(w().inputOutput,"visible",new(o().SFBool)(!0)),new(r())(w().inputOutput,"bboxDisplay",new(o().SFBool)),new(r())(w().initializeOnly,"bboxSize",new(o().SFVec3f)(-1,-1,-1)),new(r())(w().initializeOnly,"bboxCenter",new(o().SFVec3f)),new(r())(w().inputOnly,"addChildren",new(o().MFNode)),new(r())(w().inputOnly,"removeChildren",new(o().MFNode)),new(r())(w().inputOutput,"children",new(o().MFNode))]),enumerable:!0}});const P=z;m().set("x_ite/Components/HAnim/HAnimJoint",P);const R=P;function E(e){b().call(this,e),this.addType(w().HAnimMotion)}Object.assign(Object.setPrototypeOf(E.prototype,b().prototype),{initialize(){b().prototype.initialize.call(this)}}),Object.defineProperties(E,{typeName:{value:"HAnimMotion",enumerable:!0},componentName:{value:"HAnim",enumerable:!0},containerField:{value:"children",enumerable:!0},specificationRange:{value:Object.freeze(["4.0","Infinity"]),enumerable:!0},fieldDefinitions:{value:new(d())([new(r())(w().inputOutput,"metadata",new(o().SFNode)),new(r())(w().inputOutput,"description",new(o().SFString)),new(r())(w().inputOutput,"enabled",new(o().SFBool)(!0)),new(r())(w().inputOnly,"next",new(o().SFBool)),new(r())(w().inputOnly,"previous",new(o().SFBool)),new(r())(w().inputOutput,"startFrame",new(o().SFInt32)),new(r())(w().inputOutput,"endFrame",new(o().SFInt32)),new(r())(w().inputOutput,"frameDuration",new(o().SFTime)(.1)),new(r())(w().inputOutput,"frameIncrement",new(o().SFInt32)(1)),new(r())(w().inputOutput,"frameIndex",new(o().SFInt32)(0)),new(r())(w().inputOutput,"loop",new(o().SFBool)),new(r())(w().inputOutput,"channelsEnabled",new(o().MFBool)),new(r())(w().inputOutput,"channels",new(o().SFString)),new(r())(w().inputOutput,"joints",new(o().SFString)),new(r())(w().inputOutput,"loa",new(o().SFInt32)(-1)),new(r())(w().inputOutput,"values",new(o().MFFloat)),new(r())(w().outputOnly,"cycleTime",new(o().SFTime)),new(r())(w().outputOnly,"elapsedTime",new(o().SFTime)),new(r())(w().outputOnly,"frameCount",new(o().SFInt32))]),enumerable:!0}});const q=E;m().set("x_ite/Components/HAnim/HAnimMotion",q);const G=q,J=window[Symbol.for("X_ITE.X3D-8.9.6")].require("x_ite/Components/Grouping/X3DGroupingNode");var U=e.n(J);function L(e){U().call(this,e),this.addType(w().HAnimSegment),this._mass.setUnit("mass")}Object.setPrototypeOf(L.prototype,U().prototype),Object.defineProperties(L,{typeName:{value:"HAnimSegment",enumerable:!0},componentName:{value:"HAnim",enumerable:!0},containerField:{value:"children",enumerable:!0},specificationRange:{value:Object.freeze(["3.0","Infinity"]),enumerable:!0},fieldDefinitions:{value:new(d())([new(r())(w().inputOutput,"metadata",new(o().SFNode)),new(r())(w().inputOutput,"description",new(o().SFString)),new(r())(w().inputOutput,"name",new(o().SFString)),new(r())(w().inputOutput,"mass",new(o().SFFloat)),new(r())(w().inputOutput,"centerOfMass",new(o().SFVec3f)),new(r())(w().inputOutput,"momentsOfInertia",new(o().MFFloat)(0,0,0,0,0,0,0,0,0)),new(r())(w().inputOutput,"displacers",new(o().MFNode)),new(r())(w().inputOutput,"coord",new(o().SFNode)),new(r())(w().inputOutput,"visible",new(o().SFBool)(!0)),new(r())(w().inputOutput,"bboxDisplay",new(o().SFBool)),new(r())(w().initializeOnly,"bboxSize",new(o().SFVec3f)(-1,-1,-1)),new(r())(w().initializeOnly,"bboxCenter",new(o().SFVec3f)),new(r())(w().inputOnly,"addChildren",new(o().MFNode)),new(r())(w().inputOnly,"removeChildren",new(o().MFNode)),new(r())(w().inputOutput,"children",new(o().MFNode))]),enumerable:!0}});const W=L;m().set("x_ite/Components/HAnim/HAnimSegment",W);const Z=W;function K(e){T().call(this,e),this.addType(w().HAnimSite)}Object.setPrototypeOf(K.prototype,T().prototype),Object.defineProperties(K,{typeName:{value:"HAnimSite",enumerable:!0},componentName:{value:"HAnim",enumerable:!0},containerField:{value:"children",enumerable:!0},specificationRange:{value:Object.freeze(["3.0","Infinity"]),enumerable:!0},fieldDefinitions:{value:new(d())([new(r())(w().inputOutput,"metadata",new(o().SFNode)),new(r())(w().inputOutput,"description",new(o().SFString)),new(r())(w().inputOutput,"name",new(o().SFString)),new(r())(w().inputOutput,"translation",new(o().SFVec3f)),new(r())(w().inputOutput,"rotation",new(o().SFRotation)),new(r())(w().inputOutput,"scale",new(o().SFVec3f)(1,1,1)),new(r())(w().inputOutput,"scaleOrientation",new(o().SFRotation)),new(r())(w().inputOutput,"center",new(o().SFVec3f)),new(r())(w().inputOutput,"visible",new(o().SFBool)(!0)),new(r())(w().inputOutput,"bboxDisplay",new(o().SFBool)),new(r())(w().initializeOnly,"bboxSize",new(o().SFVec3f)(-1,-1,-1)),new(r())(w().initializeOnly,"bboxCenter",new(o().SFVec3f)),new(r())(w().inputOnly,"addChildren",new(o().MFNode)),new(r())(w().inputOnly,"removeChildren",new(o().MFNode)),new(r())(w().inputOutput,"children",new(o().MFNode))]),enumerable:!0}});const Q=K;m().set("x_ite/Components/HAnim/HAnimSite",Q);const Y=Q;n().add({name:"HAnim",concreteNodes:[N,H,R,G,Z,Y],abstractNodes:[]});const $=void 0;m().set("assets/components/HAnim",$)})();
1
+ /* X_ITE v8.10.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-8.10.0")].require("x_ite/Components");var n=e.n(t);const i=window[Symbol.for("X_ITE.X3D-8.10.0")].require("x_ite/Fields");var s=e.n(i);const o=window[Symbol.for("X_ITE.X3D-8.10.0")].require("x_ite/Base/X3DFieldDefinition");var r=e.n(o);const a=window[Symbol.for("X_ITE.X3D-8.10.0")].require("x_ite/Base/FieldDefinitionArray");var d=e.n(a);const u=window[Symbol.for("X_ITE.X3D-8.10.0")].require("x_ite/Components/Rendering/X3DGeometricPropertyNode");var l=e.n(u);const p=window[Symbol.for("X_ITE.X3D-8.10.0")].require("x_ite/Base/X3DConstants");var h=e.n(p);const c=window[Symbol.for("X_ITE.X3D-8.10.0")].require("x_ite/Namespace");var w=e.n(c);function m(e){l().call(this,e),this.addType(h().HAnimDisplacer),this._displacements.setUnit("length")}Object.setPrototypeOf(m.prototype,l().prototype),Object.defineProperties(m,{typeName:{value:"HAnimDisplacer",enumerable:!0},componentName:{value:"HAnim",enumerable:!0},containerField:{value:"displacers",enumerable:!0},specificationRange:{value:Object.freeze(["3.0","Infinity"]),enumerable:!0},fieldDefinitions:{value:new(d())([new(r())(h().inputOutput,"metadata",new(s().SFNode)),new(r())(h().inputOutput,"description",new(s().SFString)),new(r())(h().inputOutput,"name",new(s().SFString)),new(r())(h().inputOutput,"coordIndex",new(s().MFInt32)),new(r())(h().inputOutput,"weight",new(s().SFFloat)),new(r())(h().inputOutput,"displacements",new(s().MFVec3f))]),enumerable:!0}});const _=m;w().set("x_ite/Components/HAnim/HAnimDisplacer",_);const f=_,g=window[Symbol.for("X_ITE.X3D-8.10.0")].require("x_ite/Components/Core/X3DChildNode");var O=e.n(g);const b=window[Symbol.for("X_ITE.X3D-8.10.0")].require("x_ite/Components/Grouping/Group");var T=e.n(b);const F=window[Symbol.for("X_ITE.X3D-8.10.0")].require("x_ite/Components/Grouping/Transform");var x=e.n(F);const S=window[Symbol.for("X_ITE.X3D-8.10.0")].require("x_ite/Components/Grouping/X3DBoundedObject");var v=e.n(S);const N=window[Symbol.for("X_ITE.X3D-8.10.0")].require("x_ite/Rendering/TraverseType");var y=e.n(N);const I=window[Symbol.for("X_ITE.X3D-8.10.0")].require("x_ite/Base/X3DCast");var E=e.n(I);const M=window[Symbol.for("X_ITE.X3D-8.10.0")].require("standard/Math/Numbers/Matrix4");var j=e.n(M);function D(e){O().call(this,e),v().call(this,e),this.addType(h().HAnimHumanoid),this.addChildObjects(h().inputOutput,"jointTextures",new(s().SFTime),h().inputOutput,"displacementsTexture",new(s().SFTime),h().inputOutput,"displacementWeightsTexture",new(s().SFTime)),this._translation.setUnit("length"),this._center.setUnit("length"),this._bboxSize.setUnit("length"),this._bboxCenter.setUnit("length"),this.skeletonNode=new(T())(e),this.viewpointsNode=new(T())(e),this.skinNode=new(T())(e),this.transformNode=new(x())(e),this.jointNodes=[],this.jointBindingMatrices=[],this.displacementWeights=[],this.skinCoordNode=null,this.change=new C,this.skinning=Function.prototype}Object.assign(Object.setPrototypeOf(D.prototype,O().prototype),v().prototype,{initialize(){O().prototype.initialize.call(this),v().prototype.initialize.call(this),this.skeletonNode.setAllowedTypes(h().HAnimJoint,h().HAnimSite),this.viewpointsNode.setAllowedTypes(h().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._visible.addFieldInterest(this.transformNode._visible),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._visible=this._visible,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),T().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._joints.addInterest("set_joints__",this),this._jointBindingPositions.addInterest("set_joints__",this),this._jointBindingRotations.addInterest("set_joints__",this),this._jointBindingScales.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_joints__(),this.set_skinCoord__()}},getBBox(e,t){return this.transformNode.getBBox(e,t)},getMatrix(){return this.transformNode.getMatrix()},set_joints__(){const e=this.jointNodes,t=this.jointBindingMatrices,n=this._jointBindingPositions,i=this._jointBindingRotations,s=this._jointBindingScales;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[o,r]of this._joints.entries()){const a=E()(h().HAnimJoint,r);if(!a)continue;const d=new(j());n.length&&d.translate(n[Math.min(o,n.length-1)].getValue()),i.length&&d.rotate(i[Math.min(o,i.length-1)].getValue()),s.length&&d.scale(s[Math.min(o,s.length-1)].getValue()),e.push(a),t.push(d)}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);const o=Math.ceil(Math.sqrt(8*e.length));this.jointMatricesArray=new Float32Array(o*o*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())t[r]?.push(e),n[r]?.push(s[o])}const i=Math.ceil(Math.sqrt(2*e))||1,s=new Float32Array(i*i*4);for(let i=0;i<e;++i){const e=t[i],o=n[i];e.length=o.length=Math.min(e.length,4),s.set(e,8*i+0),s.set(o,8*i+4)}const o=this.getBrowser().getContext();o.bindTexture(o.TEXTURE_2D,this.jointsTexture),o.texImage2D(o.TEXTURE_2D,0,o.RGBA32F,i,i,0,o.RGBA,o.FLOAT,s),this.change.enable()},set_displacementsTexture__(){const e=this.skinCoordNode?._point.length||1,t=Array.from({length:e},(()=>[]));for(const[e,n]of this.jointNodes.entries())for(const e of n.getDisplacers()){const n=e._displacements;for(const[i,s]of e._coordIndex.entries())t[s]?.push(...n[i])}const n=A(Math.ceil(Math.sqrt(2*e))||1),i=new Float32Array(n*n*8);for(let n=0;n<e;++n){const e=t[n];e.length=Math.min(e.length,8),i.set(e,8*n)}const s=this.getBrowser().getContext();s.bindTexture(s.TEXTURE_2D,this.displacementsTexture),s.texImage2D(s.TEXTURE_2D,0,s.RGBA32F,n,n,0,s.RGBA,s.FLOAT,i);const o=this.displacementWeights;for(let t=o.length;t<e;++t)o[t]=[];o.length=e,this.displacementWeightsArray=new Float32Array(n*n*4),this.change.enable()},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)}const n=A(Math.ceil(Math.sqrt(2*e))||1),i=this.displacementWeightsArray;for(let n=0;n<e;++n){const e=t[n];e.length=Math.min(e.length,8),i.set(e,8*n)}const s=this.getBrowser().getContext();s.bindTexture(s.TEXTURE_2D,this.displacementsTexture),s.texSubImage2D(s.TEXTURE_2D,0,0,n/2,n,n/2,s.RGBA,s.FLOAT,i),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()(h().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(j());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(){v().prototype.dispose.call(this),O().prototype.dispose.call(this)}}),Object.defineProperties(D,{typeName:{value:"HAnimHumanoid",enumerable:!0},componentName:{value:"HAnim",enumerable:!0},containerField:{value:"children",enumerable:!0},specificationRange:{value:Object.freeze(["3.0","Infinity"]),enumerable:!0},fieldDefinitions:{value:new(d())([new(r())(h().inputOutput,"metadata",new(s().SFNode)),new(r())(h().inputOutput,"version",new(s().SFString)),new(r())(h().inputOutput,"description",new(s().SFString)),new(r())(h().inputOutput,"name",new(s().SFString)),new(r())(h().inputOutput,"info",new(s().MFString)),new(r())(h().inputOutput,"skeletalConfiguration",new(s().SFString)("BASIC")),new(r())(h().inputOutput,"loa",new(s().SFInt32)(-1)),new(r())(h().inputOutput,"translation",new(s().SFVec3f)),new(r())(h().inputOutput,"rotation",new(s().SFRotation)),new(r())(h().inputOutput,"scale",new(s().SFVec3f)(1,1,1)),new(r())(h().inputOutput,"scaleOrientation",new(s().SFRotation)),new(r())(h().inputOutput,"center",new(s().SFVec3f)),new(r())(h().inputOutput,"visible",new(s().SFBool)(!0)),new(r())(h().inputOutput,"bboxDisplay",new(s().SFBool)),new(r())(h().initializeOnly,"bboxSize",new(s().SFVec3f)(-1,-1,-1)),new(r())(h().initializeOnly,"bboxCenter",new(s().SFVec3f)),new(r())(h().inputOutput,"skeleton",new(s().MFNode)),new(r())(h().inputOutput,"viewpoints",new(s().MFNode)),new(r())(h().inputOutput,"sites",new(s().MFNode)),new(r())(h().inputOutput,"segments",new(s().MFNode)),new(r())(h().inputOutput,"motionsEnabled",new(s().MFBool)),new(r())(h().inputOutput,"motions",new(s().MFNode)),new(r())(h().inputOutput,"jointBindingPositions",new(s().MFVec3f)),new(r())(h().inputOutput,"jointBindingRotations",new(s().MFRotation)),new(r())(h().inputOutput,"jointBindingScales",new(s().MFVec3f)),new(r())(h().inputOutput,"joints",new(s().MFNode)),new(r())(h().inputOutput,"skinBindingNormal",new(s().SFNode)),new(r())(h().inputOutput,"skinBindingCoord",new(s().SFNode)),new(r())(h().inputOutput,"skinNormal",new(s().SFNode)),new(r())(h().inputOutput,"skinCoord",new(s().SFNode)),new(r())(h().inputOutput,"skin",new(s().MFNode))]),enumerable:!0}});class C{#e=!0;enable(){this.#e=!1}lock(){const e=this.#e;return this.#e=!0,e}}function A(e){return e+e%2}const k=D;w().set("x_ite/Components/HAnim/HAnimHumanoid",k);const X=k,R=window[Symbol.for("X_ITE.X3D-8.10.0")].require("x_ite/Components/Grouping/X3DTransformNode");var B=e.n(R);window[Symbol.for("X_ITE.X3D-8.10.0")].require("standard/Math/Numbers/Vector3");function H(e){B().call(this,e),this.addType(h().HAnimJoint),this.addChildObjects(h().outputOnly,"displacements",new(s().SFTime),h().outputOnly,"displacementWeights",new(s().SFTime)),this.setAllowedTypes(h().HAnimJoint,h().HAnimSegment,h().HAnimSite),this.displacerNodes=[],this.modelViewMatrix=new(j())}Object.assign(Object.setPrototypeOf(H.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()(h().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(H,{typeName:{value:"HAnimJoint",enumerable:!0},componentName:{value:"HAnim",enumerable:!0},containerField:{value:"children",enumerable:!0},specificationRange:{value:Object.freeze(["3.0","Infinity"]),enumerable:!0},fieldDefinitions:{value:new(d())([new(r())(h().inputOutput,"metadata",new(s().SFNode)),new(r())(h().inputOutput,"description",new(s().SFString)),new(r())(h().inputOutput,"name",new(s().SFString)),new(r())(h().inputOutput,"translation",new(s().SFVec3f)),new(r())(h().inputOutput,"rotation",new(s().SFRotation)),new(r())(h().inputOutput,"scale",new(s().SFVec3f)(1,1,1)),new(r())(h().inputOutput,"scaleOrientation",new(s().SFRotation)),new(r())(h().inputOutput,"center",new(s().SFVec3f)),new(r())(h().inputOutput,"llimit",new(s().MFFloat)),new(r())(h().inputOutput,"ulimit",new(s().MFFloat)),new(r())(h().inputOutput,"limitOrientation",new(s().SFRotation)),new(r())(h().inputOutput,"stiffness",new(s().MFFloat)(0,0,0)),new(r())(h().inputOutput,"skinCoordIndex",new(s().MFInt32)),new(r())(h().inputOutput,"skinCoordWeight",new(s().MFFloat)),new(r())(h().inputOutput,"displacers",new(s().MFNode)),new(r())(h().inputOutput,"visible",new(s().SFBool)(!0)),new(r())(h().inputOutput,"bboxDisplay",new(s().SFBool)),new(r())(h().initializeOnly,"bboxSize",new(s().SFVec3f)(-1,-1,-1)),new(r())(h().initializeOnly,"bboxCenter",new(s().SFVec3f)),new(r())(h().inputOnly,"addChildren",new(s().MFNode)),new(r())(h().inputOnly,"removeChildren",new(s().MFNode)),new(r())(h().inputOutput,"children",new(s().MFNode))]),enumerable:!0}});const P=H;w().set("x_ite/Components/HAnim/HAnimJoint",P);const V=P;function U(e){O().call(this,e),this.addType(h().HAnimMotion)}Object.assign(Object.setPrototypeOf(U.prototype,O().prototype),{initialize(){O().prototype.initialize.call(this)}}),Object.defineProperties(U,{typeName:{value:"HAnimMotion",enumerable:!0},componentName:{value:"HAnim",enumerable:!0},containerField:{value:"children",enumerable:!0},specificationRange:{value:Object.freeze(["4.0","Infinity"]),enumerable:!0},fieldDefinitions:{value:new(d())([new(r())(h().inputOutput,"metadata",new(s().SFNode)),new(r())(h().inputOutput,"description",new(s().SFString)),new(r())(h().inputOutput,"enabled",new(s().SFBool)(!0)),new(r())(h().inputOnly,"next",new(s().SFBool)),new(r())(h().inputOnly,"previous",new(s().SFBool)),new(r())(h().inputOutput,"startFrame",new(s().SFInt32)),new(r())(h().inputOutput,"endFrame",new(s().SFInt32)),new(r())(h().inputOutput,"frameDuration",new(s().SFTime)(.1)),new(r())(h().inputOutput,"frameIncrement",new(s().SFInt32)(1)),new(r())(h().inputOutput,"frameIndex",new(s().SFInt32)(0)),new(r())(h().inputOutput,"loop",new(s().SFBool)),new(r())(h().inputOutput,"channelsEnabled",new(s().MFBool)),new(r())(h().inputOutput,"channels",new(s().SFString)),new(r())(h().inputOutput,"joints",new(s().SFString)),new(r())(h().inputOutput,"loa",new(s().SFInt32)(-1)),new(r())(h().inputOutput,"values",new(s().MFFloat)),new(r())(h().outputOnly,"cycleTime",new(s().SFTime)),new(r())(h().outputOnly,"elapsedTime",new(s().SFTime)),new(r())(h().outputOnly,"frameCount",new(s().SFInt32))]),enumerable:!0}});const z=U;w().set("x_ite/Components/HAnim/HAnimMotion",z);const W=z,q=window[Symbol.for("X_ITE.X3D-8.10.0")].require("x_ite/Components/Grouping/X3DGroupingNode");var G=e.n(q);function L(e){G().call(this,e),this.addType(h().HAnimSegment),this._mass.setUnit("mass")}Object.setPrototypeOf(L.prototype,G().prototype),Object.defineProperties(L,{typeName:{value:"HAnimSegment",enumerable:!0},componentName:{value:"HAnim",enumerable:!0},containerField:{value:"children",enumerable:!0},specificationRange:{value:Object.freeze(["3.0","Infinity"]),enumerable:!0},fieldDefinitions:{value:new(d())([new(r())(h().inputOutput,"metadata",new(s().SFNode)),new(r())(h().inputOutput,"description",new(s().SFString)),new(r())(h().inputOutput,"name",new(s().SFString)),new(r())(h().inputOutput,"mass",new(s().SFFloat)),new(r())(h().inputOutput,"centerOfMass",new(s().SFVec3f)),new(r())(h().inputOutput,"momentsOfInertia",new(s().MFFloat)(0,0,0,0,0,0,0,0,0)),new(r())(h().inputOutput,"displacers",new(s().MFNode)),new(r())(h().inputOutput,"coord",new(s().SFNode)),new(r())(h().inputOutput,"visible",new(s().SFBool)(!0)),new(r())(h().inputOutput,"bboxDisplay",new(s().SFBool)),new(r())(h().initializeOnly,"bboxSize",new(s().SFVec3f)(-1,-1,-1)),new(r())(h().initializeOnly,"bboxCenter",new(s().SFVec3f)),new(r())(h().inputOnly,"addChildren",new(s().MFNode)),new(r())(h().inputOnly,"removeChildren",new(s().MFNode)),new(r())(h().inputOutput,"children",new(s().MFNode))]),enumerable:!0}});const J=L;w().set("x_ite/Components/HAnim/HAnimSegment",J);const Y=J;function K(e){B().call(this,e),this.addType(h().HAnimSite)}Object.setPrototypeOf(K.prototype,B().prototype),Object.defineProperties(K,{typeName:{value:"HAnimSite",enumerable:!0},componentName:{value:"HAnim",enumerable:!0},containerField:{value:"children",enumerable:!0},specificationRange:{value:Object.freeze(["3.0","Infinity"]),enumerable:!0},fieldDefinitions:{value:new(d())([new(r())(h().inputOutput,"metadata",new(s().SFNode)),new(r())(h().inputOutput,"description",new(s().SFString)),new(r())(h().inputOutput,"name",new(s().SFString)),new(r())(h().inputOutput,"translation",new(s().SFVec3f)),new(r())(h().inputOutput,"rotation",new(s().SFRotation)),new(r())(h().inputOutput,"scale",new(s().SFVec3f)(1,1,1)),new(r())(h().inputOutput,"scaleOrientation",new(s().SFRotation)),new(r())(h().inputOutput,"center",new(s().SFVec3f)),new(r())(h().inputOutput,"visible",new(s().SFBool)(!0)),new(r())(h().inputOutput,"bboxDisplay",new(s().SFBool)),new(r())(h().initializeOnly,"bboxSize",new(s().SFVec3f)(-1,-1,-1)),new(r())(h().initializeOnly,"bboxCenter",new(s().SFVec3f)),new(r())(h().inputOnly,"addChildren",new(s().MFNode)),new(r())(h().inputOnly,"removeChildren",new(s().MFNode)),new(r())(h().inputOutput,"children",new(s().MFNode))]),enumerable:!0}});const Q=K;w().set("x_ite/Components/HAnim/HAnimSite",Q);const Z=Q;n().add({name:"HAnim",concreteNodes:[f,X,V,W,Y,Z],abstractNodes:[]});const $=void 0;w().set("assets/components/HAnim",$)})();
@@ -1,4 +1,4 @@
1
- /* X_ITE v8.9.6 */(() => { // webpackBootstrap
1
+ /* X_ITE v8.10.0 */(() => { // webpackBootstrap
2
2
  /******/ "use strict";
3
3
  /******/ // The require scope
4
4
  /******/ var __webpack_require__ = {};
@@ -39,13 +39,13 @@ var __webpack_exports__ = {};
39
39
  // UNUSED EXPORTS: default
40
40
 
41
41
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Components\")"
42
- const Components_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.9.6")] .require ("x_ite/Components");
42
+ const Components_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.10.0")] .require ("x_ite/Components");
43
43
  var Components_default = /*#__PURE__*/__webpack_require__.n(Components_namespaceObject);
44
44
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Fields\")"
45
- const Fields_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.9.6")] .require ("x_ite/Fields");
45
+ const Fields_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.10.0")] .require ("x_ite/Fields");
46
46
  var Fields_default = /*#__PURE__*/__webpack_require__.n(Fields_namespaceObject);
47
47
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Namespace\")"
48
- const Namespace_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.9.6")] .require ("x_ite/Namespace");
48
+ const Namespace_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.10.0")] .require ("x_ite/Namespace");
49
49
  var Namespace_default = /*#__PURE__*/__webpack_require__.n(Namespace_namespaceObject);
50
50
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/KeyDeviceSensor/X3DKeyDeviceSensorContext.js
51
51
  /*******************************************************************************
@@ -150,16 +150,16 @@ const __default__ = X3DKeyDeviceSensorContext;
150
150
  Namespace_default().set ("x_ite/Browser/KeyDeviceSensor/X3DKeyDeviceSensorContext", __default__);
151
151
  /* harmony default export */ const KeyDeviceSensor_X3DKeyDeviceSensorContext = (__default__);
152
152
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Base/X3DFieldDefinition\")"
153
- const X3DFieldDefinition_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.9.6")] .require ("x_ite/Base/X3DFieldDefinition");
153
+ const X3DFieldDefinition_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.10.0")] .require ("x_ite/Base/X3DFieldDefinition");
154
154
  var X3DFieldDefinition_default = /*#__PURE__*/__webpack_require__.n(X3DFieldDefinition_namespaceObject);
155
155
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Base/FieldDefinitionArray\")"
156
- const FieldDefinitionArray_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.9.6")] .require ("x_ite/Base/FieldDefinitionArray");
156
+ const FieldDefinitionArray_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.10.0")] .require ("x_ite/Base/FieldDefinitionArray");
157
157
  var FieldDefinitionArray_default = /*#__PURE__*/__webpack_require__.n(FieldDefinitionArray_namespaceObject);
158
158
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Components/Core/X3DSensorNode\")"
159
- const X3DSensorNode_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.9.6")] .require ("x_ite/Components/Core/X3DSensorNode");
159
+ const X3DSensorNode_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.10.0")] .require ("x_ite/Components/Core/X3DSensorNode");
160
160
  var X3DSensorNode_default = /*#__PURE__*/__webpack_require__.n(X3DSensorNode_namespaceObject);
161
161
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Base/X3DConstants\")"
162
- const X3DConstants_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.9.6")] .require ("x_ite/Base/X3DConstants");
162
+ const X3DConstants_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.10.0")] .require ("x_ite/Base/X3DConstants");
163
163
  var X3DConstants_default = /*#__PURE__*/__webpack_require__.n(X3DConstants_namespaceObject);
164
164
  ;// CONCATENATED MODULE: ./src/x_ite/Components/KeyDeviceSensor/X3DKeyDeviceSensorNode.js
165
165
  /*******************************************************************************
@@ -1 +1 @@
1
- /* X_ITE v8.9.6 */(()=>{"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-8.9.6")].require("x_ite/Components");var s=e.n(t);const a=window[Symbol.for("X_ITE.X3D-8.9.6")].require("x_ite/Fields");var i=e.n(a);const n=window[Symbol.for("X_ITE.X3D-8.9.6")].require("x_ite/Namespace");var o=e.n(n);const r=Symbol(),c=Symbol(),l=Symbol();function y(){this[r]=new Set}Object.assign(y.prototype,{initialize(){const e=this.getElement();e.on("keydown.X3DKeyDeviceSensorContext",this[c].bind(this)),e.on("keyup.X3DKeyDeviceSensorContext",this[l].bind(this))},addKeyDeviceSensorNode(e){this[r].add(e)},removeKeyDeviceSensorNode(e){this[r].delete(e)},getKeyDeviceSensorNodes(){return this[r]},[c](e){for(const t of this[r])t.keydown(e)},[l](e){for(const t of this[r])t.keyup(e)}});const h=y;o().set("x_ite/Browser/KeyDeviceSensor/X3DKeyDeviceSensorContext",h);const _=h,b=window[Symbol.for("X_ITE.X3D-8.9.6")].require("x_ite/Base/X3DFieldDefinition");var d=e.n(b);const u=window[Symbol.for("X_ITE.X3D-8.9.6")].require("x_ite/Base/FieldDefinitionArray");var k=e.n(u);const p=window[Symbol.for("X_ITE.X3D-8.9.6")].require("x_ite/Components/Core/X3DSensorNode");var K=e.n(p);const w=window[Symbol.for("X_ITE.X3D-8.9.6")].require("x_ite/Base/X3DConstants");var v=e.n(w);function S(e){K().call(this,e),this.addType(v().X3DKeyDeviceSensorNode)}Object.assign(Object.setPrototypeOf(S.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(S,{typeName:{value:"X3DKeyDeviceSensorNode",enumerable:!0},componentName:{value:"KeyDeviceSensor",enumerable:!0}});const f=S;o().set("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},componentName:{value:"KeyDeviceSensor",enumerable:!0},containerField:{value:"children",enumerable:!0},specificationRange:{value:Object.freeze(["3.0","Infinity"]),enumerable:!0},fieldDefinitions:{value:new(k())([new(d())(v().inputOutput,"metadata",new(i().SFNode)),new(d())(v().inputOutput,"enabled",new(i().SFBool)(!0)),new(d())(v().outputOnly,"controlKey",new(i().SFBool)),new(d())(v().outputOnly,"shiftKey",new(i().SFBool)),new(d())(v().outputOnly,"altKey",new(i().SFBool)),new(d())(v().outputOnly,"actionKeyPress",new(i().SFInt32)),new(d())(v().outputOnly,"actionKeyRelease",new(i().SFInt32)),new(d())(v().outputOnly,"keyPress",new(i().SFString)),new(d())(v().outputOnly,"keyRelease",new(i().SFString)),new(d())(v().outputOnly,"isActive",new(i().SFBool))]),enumerable:!0}});const D=g;o().set("x_ite/Components/KeyDeviceSensor/KeySensor",D);const P=D;function O(e){m.call(this,e),this.addType(v().StringSensor)}Object.assign(Object.setPrototypeOf(O.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().substr(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(O,{typeName:{value:"StringSensor",enumerable:!0},componentName:{value:"KeyDeviceSensor",enumerable:!0},containerField:{value:"children",enumerable:!0},specificationRange:{value:Object.freeze(["3.0","Infinity"]),enumerable:!0},fieldDefinitions:{value:new(k())([new(d())(v().inputOutput,"metadata",new(i().SFNode)),new(d())(v().inputOutput,"enabled",new(i().SFBool)(!0)),new(d())(v().inputOutput,"deletionAllowed",new(i().SFBool)(!0)),new(d())(v().outputOnly,"enteredText",new(i().SFString)),new(d())(v().outputOnly,"finalText",new(i().SFString)),new(d())(v().outputOnly,"isActive",new(i().SFBool))]),enumerable:!0}});const C=O;o().set("x_ite/Components/KeyDeviceSensor/StringSensor",C);const R=C;s().add({name:"KeyDeviceSensor",concreteNodes:[P,R],abstractNodes:[m],browserContext:_});const x=void 0;o().set("assets/components/KeyDeviceSensor",x)})();
1
+ /* X_ITE v8.10.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-8.10.0")].require("x_ite/Components");var s=e.n(t);const a=window[Symbol.for("X_ITE.X3D-8.10.0")].require("x_ite/Fields");var i=e.n(a);const n=window[Symbol.for("X_ITE.X3D-8.10.0")].require("x_ite/Namespace");var o=e.n(n);const r=Symbol(),c=Symbol(),l=Symbol();function y(){this[r]=new Set}Object.assign(y.prototype,{initialize(){const e=this.getElement();e.on("keydown.X3DKeyDeviceSensorContext",this[c].bind(this)),e.on("keyup.X3DKeyDeviceSensorContext",this[l].bind(this))},addKeyDeviceSensorNode(e){this[r].add(e)},removeKeyDeviceSensorNode(e){this[r].delete(e)},getKeyDeviceSensorNodes(){return this[r]},[c](e){for(const t of this[r])t.keydown(e)},[l](e){for(const t of this[r])t.keyup(e)}});const h=y;o().set("x_ite/Browser/KeyDeviceSensor/X3DKeyDeviceSensorContext",h);const _=h,b=window[Symbol.for("X_ITE.X3D-8.10.0")].require("x_ite/Base/X3DFieldDefinition");var d=e.n(b);const u=window[Symbol.for("X_ITE.X3D-8.10.0")].require("x_ite/Base/FieldDefinitionArray");var k=e.n(u);const p=window[Symbol.for("X_ITE.X3D-8.10.0")].require("x_ite/Components/Core/X3DSensorNode");var K=e.n(p);const w=window[Symbol.for("X_ITE.X3D-8.10.0")].require("x_ite/Base/X3DConstants");var v=e.n(w);function S(e){K().call(this,e),this.addType(v().X3DKeyDeviceSensorNode)}Object.assign(Object.setPrototypeOf(S.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(S,{typeName:{value:"X3DKeyDeviceSensorNode",enumerable:!0},componentName:{value:"KeyDeviceSensor",enumerable:!0}});const f=S;o().set("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},componentName:{value:"KeyDeviceSensor",enumerable:!0},containerField:{value:"children",enumerable:!0},specificationRange:{value:Object.freeze(["3.0","Infinity"]),enumerable:!0},fieldDefinitions:{value:new(k())([new(d())(v().inputOutput,"metadata",new(i().SFNode)),new(d())(v().inputOutput,"enabled",new(i().SFBool)(!0)),new(d())(v().outputOnly,"controlKey",new(i().SFBool)),new(d())(v().outputOnly,"shiftKey",new(i().SFBool)),new(d())(v().outputOnly,"altKey",new(i().SFBool)),new(d())(v().outputOnly,"actionKeyPress",new(i().SFInt32)),new(d())(v().outputOnly,"actionKeyRelease",new(i().SFInt32)),new(d())(v().outputOnly,"keyPress",new(i().SFString)),new(d())(v().outputOnly,"keyRelease",new(i().SFString)),new(d())(v().outputOnly,"isActive",new(i().SFBool))]),enumerable:!0}});const D=g;o().set("x_ite/Components/KeyDeviceSensor/KeySensor",D);const P=D;function O(e){m.call(this,e),this.addType(v().StringSensor)}Object.assign(Object.setPrototypeOf(O.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().substr(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(O,{typeName:{value:"StringSensor",enumerable:!0},componentName:{value:"KeyDeviceSensor",enumerable:!0},containerField:{value:"children",enumerable:!0},specificationRange:{value:Object.freeze(["3.0","Infinity"]),enumerable:!0},fieldDefinitions:{value:new(k())([new(d())(v().inputOutput,"metadata",new(i().SFNode)),new(d())(v().inputOutput,"enabled",new(i().SFBool)(!0)),new(d())(v().inputOutput,"deletionAllowed",new(i().SFBool)(!0)),new(d())(v().outputOnly,"enteredText",new(i().SFString)),new(d())(v().outputOnly,"finalText",new(i().SFString)),new(d())(v().outputOnly,"isActive",new(i().SFBool))]),enumerable:!0}});const C=O;o().set("x_ite/Components/KeyDeviceSensor/StringSensor",C);const R=C;s().add({name:"KeyDeviceSensor",concreteNodes:[P,R],abstractNodes:[m],browserContext:_});const x=void 0;o().set("assets/components/KeyDeviceSensor",x)})();
@@ -1,11 +1,11 @@
1
- /* X_ITE v8.9.6 */(() => { // webpackBootstrap
1
+ /* X_ITE v8.10.0 */(() => { // webpackBootstrap
2
2
  /******/ "use strict";
3
3
  /******/ var __webpack_modules__ = ({
4
4
 
5
5
  /***/ 355:
6
6
  /***/ ((module) => {
7
7
 
8
- module.exports = window [Symbol .for ("X_ITE.X3D-8.9.6")] .require ("lib/jquery");
8
+ module.exports = window [Symbol .for ("X_ITE.X3D-8.10.0")] .require ("lib/jquery");
9
9
 
10
10
  /***/ })
11
11
 
@@ -73,22 +73,22 @@ var __webpack_exports__ = {};
73
73
  // UNUSED EXPORTS: default
74
74
 
75
75
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Components\")"
76
- const Components_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.9.6")] .require ("x_ite/Components");
76
+ const Components_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.10.0")] .require ("x_ite/Components");
77
77
  var Components_default = /*#__PURE__*/__webpack_require__.n(Components_namespaceObject);
78
78
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Components/Texturing/TextureProperties\")"
79
- const TextureProperties_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.9.6")] .require ("x_ite/Components/Texturing/TextureProperties");
79
+ const TextureProperties_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.10.0")] .require ("x_ite/Components/Texturing/TextureProperties");
80
80
  var TextureProperties_default = /*#__PURE__*/__webpack_require__.n(TextureProperties_namespaceObject);
81
81
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"standard/Math/Numbers/Vector3\")"
82
- const Vector3_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.9.6")] .require ("standard/Math/Numbers/Vector3");
82
+ const Vector3_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.10.0")] .require ("standard/Math/Numbers/Vector3");
83
83
  var Vector3_default = /*#__PURE__*/__webpack_require__.n(Vector3_namespaceObject);
84
84
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"standard/Math/Numbers/Matrix4\")"
85
- const Matrix4_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.9.6")] .require ("standard/Math/Numbers/Matrix4");
85
+ const Matrix4_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.10.0")] .require ("standard/Math/Numbers/Matrix4");
86
86
  var Matrix4_default = /*#__PURE__*/__webpack_require__.n(Matrix4_namespaceObject);
87
87
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"standard/Math/Geometry/ViewVolume\")"
88
- const ViewVolume_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.9.6")] .require ("standard/Math/Geometry/ViewVolume");
88
+ const ViewVolume_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.10.0")] .require ("standard/Math/Geometry/ViewVolume");
89
89
  var ViewVolume_default = /*#__PURE__*/__webpack_require__.n(ViewVolume_namespaceObject);
90
90
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Namespace\")"
91
- const Namespace_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.9.6")] .require ("x_ite/Namespace");
91
+ const Namespace_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.10.0")] .require ("x_ite/Namespace");
92
92
  var Namespace_default = /*#__PURE__*/__webpack_require__.n(Namespace_namespaceObject);
93
93
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Layout/X3DLayoutContext.js
94
94
  /*******************************************************************************
@@ -227,19 +227,19 @@ const __default__ = X3DLayoutContext;
227
227
  Namespace_default().set ("x_ite/Browser/Layout/X3DLayoutContext", __default__);
228
228
  /* harmony default export */ const Layout_X3DLayoutContext = (__default__);
229
229
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Fields\")"
230
- const Fields_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.9.6")] .require ("x_ite/Fields");
230
+ const Fields_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.10.0")] .require ("x_ite/Fields");
231
231
  var Fields_default = /*#__PURE__*/__webpack_require__.n(Fields_namespaceObject);
232
232
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Base/X3DFieldDefinition\")"
233
- const X3DFieldDefinition_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.9.6")] .require ("x_ite/Base/X3DFieldDefinition");
233
+ const X3DFieldDefinition_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.10.0")] .require ("x_ite/Base/X3DFieldDefinition");
234
234
  var X3DFieldDefinition_default = /*#__PURE__*/__webpack_require__.n(X3DFieldDefinition_namespaceObject);
235
235
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Base/FieldDefinitionArray\")"
236
- const FieldDefinitionArray_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.9.6")] .require ("x_ite/Base/FieldDefinitionArray");
236
+ const FieldDefinitionArray_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.10.0")] .require ("x_ite/Base/FieldDefinitionArray");
237
237
  var FieldDefinitionArray_default = /*#__PURE__*/__webpack_require__.n(FieldDefinitionArray_namespaceObject);
238
238
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Components/Core/X3DChildNode\")"
239
- const X3DChildNode_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.9.6")] .require ("x_ite/Components/Core/X3DChildNode");
239
+ const X3DChildNode_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.10.0")] .require ("x_ite/Components/Core/X3DChildNode");
240
240
  var X3DChildNode_default = /*#__PURE__*/__webpack_require__.n(X3DChildNode_namespaceObject);
241
241
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Base/X3DConstants\")"
242
- const X3DConstants_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.9.6")] .require ("x_ite/Base/X3DConstants");
242
+ const X3DConstants_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.10.0")] .require ("x_ite/Base/X3DConstants");
243
243
  var X3DConstants_default = /*#__PURE__*/__webpack_require__.n(X3DConstants_namespaceObject);
244
244
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Layout/X3DLayoutNode.js
245
245
  /*******************************************************************************
@@ -321,13 +321,13 @@ const X3DLayoutNode_default_ = X3DLayoutNode;
321
321
  Namespace_default().set ("x_ite/Components/Layout/X3DLayoutNode", X3DLayoutNode_default_);
322
322
  /* harmony default export */ const Layout_X3DLayoutNode = (X3DLayoutNode_default_);
323
323
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Base/X3DCast\")"
324
- const X3DCast_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.9.6")] .require ("x_ite/Base/X3DCast");
324
+ const X3DCast_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.10.0")] .require ("x_ite/Base/X3DCast");
325
325
  var X3DCast_default = /*#__PURE__*/__webpack_require__.n(X3DCast_namespaceObject);
326
326
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"standard/Math/Numbers/Vector2\")"
327
- const Vector2_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.9.6")] .require ("standard/Math/Numbers/Vector2");
327
+ const Vector2_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.10.0")] .require ("standard/Math/Numbers/Vector2");
328
328
  var Vector2_default = /*#__PURE__*/__webpack_require__.n(Vector2_namespaceObject);
329
329
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"standard/Math/Numbers/Rotation4\")"
330
- const Rotation4_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.9.6")] .require ("standard/Math/Numbers/Rotation4");
330
+ const Rotation4_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.10.0")] .require ("standard/Math/Numbers/Rotation4");
331
331
  var Rotation4_default = /*#__PURE__*/__webpack_require__.n(Rotation4_namespaceObject);
332
332
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Layout/Layout.js
333
333
  /*******************************************************************************
@@ -977,10 +977,10 @@ const Layout_default_ = Layout;
977
977
  Namespace_default().set ("x_ite/Components/Layout/Layout", Layout_default_);
978
978
  /* harmony default export */ const Layout_Layout = (Layout_default_);
979
979
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Components/Grouping/X3DGroupingNode\")"
980
- const X3DGroupingNode_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.9.6")] .require ("x_ite/Components/Grouping/X3DGroupingNode");
980
+ const X3DGroupingNode_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.10.0")] .require ("x_ite/Components/Grouping/X3DGroupingNode");
981
981
  var X3DGroupingNode_default = /*#__PURE__*/__webpack_require__.n(X3DGroupingNode_namespaceObject);
982
982
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Rendering/TraverseType\")"
983
- const TraverseType_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.9.6")] .require ("x_ite/Rendering/TraverseType");
983
+ const TraverseType_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.10.0")] .require ("x_ite/Rendering/TraverseType");
984
984
  var TraverseType_default = /*#__PURE__*/__webpack_require__.n(TraverseType_namespaceObject);
985
985
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Layout/LayoutGroup.js
986
986
  /*******************************************************************************
@@ -1176,10 +1176,10 @@ const LayoutGroup_default_ = LayoutGroup;
1176
1176
  Namespace_default().set ("x_ite/Components/Layout/LayoutGroup", LayoutGroup_default_);
1177
1177
  /* harmony default export */ const Layout_LayoutGroup = (LayoutGroup_default_);
1178
1178
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Components/Layering/X3DLayerNode\")"
1179
- const X3DLayerNode_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.9.6")] .require ("x_ite/Components/Layering/X3DLayerNode");
1179
+ const X3DLayerNode_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.10.0")] .require ("x_ite/Components/Layering/X3DLayerNode");
1180
1180
  var X3DLayerNode_default = /*#__PURE__*/__webpack_require__.n(X3DLayerNode_namespaceObject);
1181
1181
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Components/Navigation/OrthoViewpoint\")"
1182
- const OrthoViewpoint_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.9.6")] .require ("x_ite/Components/Navigation/OrthoViewpoint");
1182
+ const OrthoViewpoint_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.10.0")] .require ("x_ite/Components/Navigation/OrthoViewpoint");
1183
1183
  var OrthoViewpoint_default = /*#__PURE__*/__webpack_require__.n(OrthoViewpoint_namespaceObject);
1184
1184
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Layout/LayoutLayer.js
1185
1185
  /*******************************************************************************
@@ -1311,25 +1311,22 @@ const LayoutLayer_default_ = LayoutLayer;
1311
1311
  Namespace_default().set ("x_ite/Components/Layout/LayoutLayer", LayoutLayer_default_);
1312
1312
  /* harmony default export */ const Layout_LayoutLayer = (LayoutLayer_default_);
1313
1313
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Components/Text/X3DFontStyleNode\")"
1314
- const X3DFontStyleNode_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.9.6")] .require ("x_ite/Components/Text/X3DFontStyleNode");
1314
+ const X3DFontStyleNode_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.10.0")] .require ("x_ite/Components/Text/X3DFontStyleNode");
1315
1315
  var X3DFontStyleNode_default = /*#__PURE__*/__webpack_require__.n(X3DFontStyleNode_namespaceObject);
1316
1316
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Browser/Text/X3DTextGeometry\")"
1317
- const X3DTextGeometry_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.9.6")] .require ("x_ite/Browser/Text/X3DTextGeometry");
1317
+ const X3DTextGeometry_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.10.0")] .require ("x_ite/Browser/Text/X3DTextGeometry");
1318
1318
  var X3DTextGeometry_default = /*#__PURE__*/__webpack_require__.n(X3DTextGeometry_namespaceObject);
1319
1319
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Browser/Text/TextAlignment\")"
1320
- const TextAlignment_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.9.6")] .require ("x_ite/Browser/Text/TextAlignment");
1320
+ const TextAlignment_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.10.0")] .require ("x_ite/Browser/Text/TextAlignment");
1321
1321
  var TextAlignment_default = /*#__PURE__*/__webpack_require__.n(TextAlignment_namespaceObject);
1322
1322
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Components/Texturing/PixelTexture\")"
1323
- const PixelTexture_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.9.6")] .require ("x_ite/Components/Texturing/PixelTexture");
1323
+ const PixelTexture_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.10.0")] .require ("x_ite/Components/Texturing/PixelTexture");
1324
1324
  var PixelTexture_default = /*#__PURE__*/__webpack_require__.n(PixelTexture_namespaceObject);
1325
- ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Components/Rendering/X3DGeometryNode\")"
1326
- const X3DGeometryNode_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.9.6")] .require ("x_ite/Components/Rendering/X3DGeometryNode");
1327
- var X3DGeometryNode_default = /*#__PURE__*/__webpack_require__.n(X3DGeometryNode_namespaceObject);
1328
1325
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"standard/Math/Geometry/Box3\")"
1329
- const Box3_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.9.6")] .require ("standard/Math/Geometry/Box3");
1326
+ const Box3_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.10.0")] .require ("standard/Math/Geometry/Box3");
1330
1327
  var Box3_default = /*#__PURE__*/__webpack_require__.n(Box3_namespaceObject);
1331
1328
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"standard/Math/Algorithm\")"
1332
- const Algorithm_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.9.6")] .require ("standard/Math/Algorithm");
1329
+ const Algorithm_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.10.0")] .require ("standard/Math/Algorithm");
1333
1330
  var Algorithm_default = /*#__PURE__*/__webpack_require__.n(Algorithm_namespaceObject);
1334
1331
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Layout/ScreenText.js
1335
1332
  /* provided dependency */ var $ = __webpack_require__(355);
@@ -1395,7 +1392,7 @@ function ScreenText (text, fontStyle)
1395
1392
 
1396
1393
  text .setTransparent (true);
1397
1394
 
1398
- this .texCoordArray = X3DGeometryNode_default().createArray ();
1395
+ this .texCoordArray = new (Fields_default()).MFFloat ();
1399
1396
  this .textureNode = new (PixelTexture_default()) (text .getExecutionContext ());
1400
1397
  this .canvas = $("<canvas></canvas>");
1401
1398
  this .context = this .canvas [0] .getContext ("2d", { willReadFrequently: true });
@@ -1 +1 @@
1
- /* X_ITE v8.9.6 */(()=>{"use strict";var e={355:e=>{e.exports=window[Symbol.for("X_ITE.X3D-8.9.6")].require("lib/jquery")}},t={};function i(n){var s=t[n];if(void 0!==s)return s.exports;var o=t[n]={exports:{}};return e[n](o,o.exports,i),o.exports}i.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return i.d(t,{a:t}),t},i.d=(e,t)=>{for(var n in t)i.o(t,n)&&!i.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{const e=window[Symbol.for("X_ITE.X3D-8.9.6")].require("x_ite/Components");var t=i.n(e);const n=window[Symbol.for("X_ITE.X3D-8.9.6")].require("x_ite/Components/Texturing/TextureProperties");var s=i.n(n);const o=window[Symbol.for("X_ITE.X3D-8.9.6")].require("standard/Math/Numbers/Vector3");var r=i.n(o);const a=window[Symbol.for("X_ITE.X3D-8.9.6")].require("standard/Math/Numbers/Matrix4");var l=i.n(a);const h=window[Symbol.for("X_ITE.X3D-8.9.6")].require("standard/Math/Geometry/ViewVolume");var u=i.n(h);const c=window[Symbol.for("X_ITE.X3D-8.9.6")].require("x_ite/Namespace");var d=i.n(c);const p=Symbol();function y(){}Object.assign(y.prototype,{getScreenTextureProperties(){return this[p]=new(s())(this.getPrivateScene()),this[p]._boundaryModeS="CLAMP_TO_EDGE",this[p]._boundaryModeT="CLAMP_TO_EDGE",this[p]._boundaryModeR="CLAMP_TO_EDGE",this[p]._minificationFilter="NEAREST_PIXEL",this[p]._magnificationFilter="NEAREST_PIXEL",this[p]._generateMipMaps=!1,this[p]._textureCompression="DEFAULT",this[p].setup(),this.getScreenTextureProperties=function(){return this[p]},Object.defineProperty(this,"getScreenTextureProperties",{enumerable:!1}),this[p]},getScreenScaleMatrix:(()=>{const e=new(r())(0,0,0),t=new(r())(0,0,0),i=new(l());return function(n,s){const o=n.getModelViewMatrix().get(),a=n.getProjectionMatrix().get(),l=n.getViewVolume().getViewport();n.getViewpoint().getScreenScale(o.origin,l,e);const h=o.xAxis.normalize().multiply(e.x),c=o.yAxis.normalize().multiply(e.y),d=o.zAxis.normalize().multiply(e.x);i.set(h.x,h.y,h.z,0,c.x,c.y,c.z,0,d.x,d.y,d.z,0,o[12],o[13],o[14],1),u().projectPoint(r().Zero,i,a,l,t),t.x=Math.round(t.x),t.y=Math.round(t.y),u().unProjectPoint(t.x,t.y,t.z,i,a,l,t),t.z=0,i.translate(t),s.assign(o).inverse().multLeft(i)}})()});const g=y;d().set("x_ite/Browser/Layout/X3DLayoutContext",g);const w=g,f=window[Symbol.for("X_ITE.X3D-8.9.6")].require("x_ite/Fields");var x=i.n(f);const _=window[Symbol.for("X_ITE.X3D-8.9.6")].require("x_ite/Base/X3DFieldDefinition");var m=i.n(_);const S=window[Symbol.for("X_ITE.X3D-8.9.6")].require("x_ite/Base/FieldDefinitionArray");var b=i.n(S);const X=window[Symbol.for("X_ITE.X3D-8.9.6")].require("x_ite/Components/Core/X3DChildNode");var M=i.n(X);const O=window[Symbol.for("X_ITE.X3D-8.9.6")].require("x_ite/Base/X3DConstants");var v=i.n(O);function z(e){M().call(this,e),this.addType(v().X3DLayoutNode)}Object.setPrototypeOf(z.prototype,M().prototype),Object.defineProperties(z,{typeName:{value:"X3DLayoutNode",enumerable:!0},componentName:{value:"Layout",enumerable:!0}});const T=z;d().set("x_ite/Components/Layout/X3DLayoutNode",T);const N=T,F=window[Symbol.for("X_ITE.X3D-8.9.6")].require("x_ite/Base/X3DCast");var I=i.n(F);const E=window[Symbol.for("X_ITE.X3D-8.9.6")].require("standard/Math/Numbers/Vector2");var L=i.n(E);const U=window[Symbol.for("X_ITE.X3D-8.9.6")].require("standard/Math/Numbers/Rotation4");var D=i.n(U);let C=0;const B=C++,Y=C++,P=C++,R=C++,V=C++,j=C++,A=C++,G=C++,q=C++,k=C++;function W(e){N.call(this,e),this.addType(v().Layout),this.alignX=Y,this.alignY=Y,this.offsetUnitX=j,this.offsetUnitY=j,this.offsetX=0,this.offsetY=0,this.sizeUnitX=j,this.sizeUnitY=j,this.sizeX=1,this.sizeY=1,this.scaleModeX=q,this.scaleModeY=q,this.parent=null,this.rectangleCenter=new(L())(0,0),this.rectangleSize=new(L())(0,0),this.matrix=new(l())}Object.assign(Object.setPrototypeOf(W.prototype,N.prototype),{viewportPixel:new(L())(0,0),pixelSize:new(L())(0,0),translation:new(r())(0,0,0),offset:new(r())(0,0,0),scale:new(r())(1,1,1),currentTranslation:new(r())(0,0,0),currentRotation:new(D()),currentScale:new(r())(0,0,0),modelViewMatrix:new(l()),initialize(){N.prototype.initialize.call(this),this._align.addInterest("set_align__",this),this._offsetUnits.addInterest("set_offsetUnits__",this),this._offset.addInterest("set_offset__",this),this._sizeUnits.addInterest("set_sizeUnits__",this),this._size.addInterest("set_size__",this),this._scaleMode.addInterest("set_scaleMode__",this),this.set_align__(),this.set_offsetUnits__(),this.set_offset__(),this.set_sizeUnits__(),this.set_size__(),this.set_scaleMode__()},set_align__(){this._align.length>0?"LEFT"===this._align[0]?this.alignX=B:"RIGHT"===this._align[0]?this.alignX=P:this.alignX=Y:this.alignX=Y,this._align.length>1?"BOTTOM"===this._align[1]?this.alignY=R:"TOP"===this._align[1]?this.alignY=V:this.alignY=Y:this.alignY=Y},set_offsetUnits__(){this._offsetUnits.length>0?("FRACTION"===this._offsetUnits[0]?this.offsetUnitX=A:"PIXEL"===this._offsetUnits[0]?this.offsetUnitX=G:this.offsetUnitX=j,this._offsetUnits.length>1?"FRACTION"===this._offsetUnits[1]?this.offsetUnitY=A:"PIXEL"===this._offsetUnits[1]?this.offsetUnitY=G:this.offsetUnitY=j:this.offsetUnitY=this.offsetUnitX):(this.offsetUnitX=j,this.offsetUnitY=j)},set_offset__(){this._offset.length>0?(this.offsetX=this._offset[0],this._offset.length>1?this.offsetY=this._offset[1]:this.offsetY=offsetX):(this.offsetX=0,this.offsetY=0)},set_sizeUnits__(){this._sizeUnits.length>0?("FRACTION"===this._sizeUnits[0]?this.sizeUnitX=A:"PIXEL"===this._sizeUnits[0]?this.sizeUnitX=G:this.sizeUnitX=j,this._sizeUnits.length>1?"FRACTION"===this._sizeUnits[1]?this.sizeUnitY=A:"PIXEL"===this._sizeUnits[1]?this.sizeUnitY=G:this.sizeUnitY=j:this.sizeUnitY=this.sizeUnitX):(this.sizeUnitX=j,this.sizeUnitY=j)},set_size__(){this._size.length>0?(this.sizeX=this._size[0],this._size.length>1?this.sizeY=this._size[1]:this.sizeY=this.sizeX):(this.sizeX=0,this.sizeY=0)},set_scaleMode__(){this._scaleMode.length>0?("FRACTION"===this._scaleMode[0]?this.scaleModeX=A:"PIXEL"===this._scaleMode[0]?this.scaleModeX=G:"STRETCH"===this._scaleMode[0]?this.scaleModeX=k:this.scaleModeX=q,this._scaleMode.length>1?"FRACTION"===this._scaleMode[1]?this.scaleModeY=A:"PIXEL"===this._scaleMode[1]?this.scaleModeY=G:"STRETCH"===this._scaleMode[1]?this.scaleModeY=k:this.scaleModeY=q:this.scaleModeY=this.scaleModeX):(this.scaleModeX=q,this.scaleModeY=q)},getRectangleCenter(){return this.rectangleCenter},getRectangleSize(){return this.rectangleSize},getAlignX(){return this.alignX},getAlignY(){return this.alignY},getOffsetUnitX(){return this.offsetUnitX===j?this.parent?this.parent.getOffsetUnitX():A:this.offsetUnitX},getOffsetUnitY(){return this.offsetUnitY===j?this.parent?this.parent.getOffsetUnitY():A:this.offsetUnitY},getOffsetX(){return this.offsetX},getOffsetY(){return this.offsetY},getSizeUnitX(){return this.sizeUnitX===j?this.parent?this.parent.getSizeUnitX():A:this.sizeUnitX},getSizeUnitY(){return this.sizeUnitY===j?this.parent?this.parent.getSizeUnitY():A:this.sizeUnitY},getSizeX(){return this.sizeX},getSizeY(){return this.sizeY},getScaleModeX(){return this.parent?this.scaleModeX:this.scaleModeX===q?A:this.scaleModeX},getScaleModeY(){return this.parent?this.scaleModeY:this.scaleModeY===q?A:this.scaleModeY},transform(e,t){const i=this.parent=t.getParentLayout(),n=this.getBrowser().getRenderingProperty("ContentScale"),s=this.matrix,o=t.getViewpoint(),r=t.getNavigationInfo().getNearValue(),a=t.getViewVolume().getScissor(),l=o.getViewportSize(a,r),h=this.viewportPixel,u=this.pixelSize,c=i?i.getRectangleSize():l,d=this.rectangleSize,p=this.rectangleCenter;switch(h.set(a[2],a[3]).divide(n),u.assign(l).divVec(h),this.getSizeUnitX()){case A:d.x=this.sizeX*c.x;break;case G:d.x=this.sizeX*u.x}switch(this.getSizeUnitY()){case A:d.y=this.sizeY*c.y;break;case G:d.y=this.sizeY*u.y}const y=this.translation.set(0,0,0);switch(this.getAlignX()){case B:y.x=-(c.x-d.x)/2;break;case Y:this.getSizeUnitX()===G&&1&h.x&&(y.x=-u.x/2);break;case P:y.x=(c.x-d.x)/2}switch(this.getAlignY()){case R:y.y=-(c.y-d.y)/2;break;case Y:this.getSizeUnitX===G&&1&h.y&&(y.y=-u.y/2);break;case V:y.y=(c.y-d.y)/2}const g=this.offset.set(0,0,0);switch(this.getOffsetUnitX()){case A:g.x=this.offsetX*c.x;break;case G:g.x=this.offsetX*l.x/h.x}switch(this.getOffsetUnitY()){case A:g.y=this.offsetY*c.y;break;case G:g.y=this.offsetY*l.y/h.y}const w=this.scale.set(1,1,1),f=this.currentTranslation,x=this.currentRotation,_=this.currentScale;switch(t.getModelViewMatrix().get().get(f,x,_),this.getScaleModeX()){case q:w.x=_.x;break;case A:w.x=d.x;break;case k:break;case G:w.x=l.x/h.x}switch(this.getScaleModeY()){case q:w.y=_.y;break;case A:w.y=d.y;break;case k:break;case G:w.y=l.y/h.y}return this.getScaleModeX()===k?this.getScaleModeY()===k?d.x>d.y?(w.x=d.x,w.y=w.x):(w.y=d.y,w.x=w.y):w.x=w.y:this.getScaleModeY()===k&&(w.y=w.x),p.assign(y.add(g)),s.set(f,x),s.translate(y),s.scale(w),s}}),Object.defineProperties(W,{typeName:{value:"Layout",enumerable:!0},componentName:{value:"Layout",enumerable:!0},containerField:{value:"layout",enumerable:!0},specificationRange:{value:Object.freeze(["3.2","Infinity"]),enumerable:!0},fieldDefinitions:{value:new(b())([new(m())(v().inputOutput,"metadata",new(x().SFNode)),new(m())(v().inputOutput,"align",new(x().MFString)("CENTER","CENTER")),new(m())(v().inputOutput,"offsetUnits",new(x().MFString)("WORLD","WORLD")),new(m())(v().inputOutput,"offset",new(x().MFFloat)(0,0)),new(m())(v().inputOutput,"sizeUnits",new(x().MFString)("WORLD","WORLD")),new(m())(v().inputOutput,"size",new(x().MFFloat)(1,1)),new(m())(v().inputOutput,"scaleMode",new(x().MFString)("NONE","NONE"))]),enumerable:!0}});const H=W;d().set("x_ite/Components/Layout/Layout",H);const K=H,Z=window[Symbol.for("X_ITE.X3D-8.9.6")].require("x_ite/Components/Grouping/X3DGroupingNode");var Q=i.n(Z);const J=window[Symbol.for("X_ITE.X3D-8.9.6")].require("x_ite/Rendering/TraverseType");var $=i.n(J);function ee(e){Q().call(this,e),this.addType(v().LayoutGroup),this.viewportNode=null,this.layoutNode=null,this.matrix=new(l()),this.modelViewMatrix=new(l()),this.screenMatrix=new(l())}Object.assign(Object.setPrototypeOf(ee.prototype,Q().prototype),{initialize(){Q().prototype.initialize.call(this),this._viewport.addInterest("set_viewport__",this),this._layout.addInterest("set_layout__",this),this.set_viewport__(),this.set_layout__()},set_viewport__(){this.viewportNode=I()(v().X3DViewportNode,this._viewport)},set_layout__(){this.layoutNode=I()(v().X3DLayoutNode,this._layout)},getBBox(e,t){return Q().prototype.getBBox.call(this,e,t).multRight(this.getMatrix())},getMatrix(){return this.layoutNode?this.matrix.assign(this.modelViewMatrix).inverse().multLeft(this.screenMatrix):this.matrix.identity()},getLayout(){return this.layoutNode},traverse(e,t){if(e!==$().COLLISION){if(this.viewportNode&&this.viewportNode.push(),this.layoutNode){const i=t.getModelViewMatrix();this.modelViewMatrix.assign(i.get()),this.screenMatrix.assign(this.layoutNode.transform(e,t)),i.pushMatrix(this.screenMatrix),t.getLayouts().push(this.layoutNode),Q().prototype.traverse.call(this,e,t),t.getLayouts().pop(),i.pop()}else Q().prototype.traverse.call(this,e,t);this.viewportNode&&this.viewportNode.pop()}}}),Object.defineProperties(ee,{typeName:{value:"LayoutGroup",enumerable:!0},componentName:{value:"Layout",enumerable:!0},containerField:{value:"children",enumerable:!0},specificationRange:{value:Object.freeze(["3.2","Infinity"]),enumerable:!0},fieldDefinitions:{value:new(b())([new(m())(v().inputOutput,"metadata",new(x().SFNode)),new(m())(v().inputOutput,"layout",new(x().SFNode)),new(m())(v().inputOutput,"viewport",new(x().SFNode)),new(m())(v().inputOutput,"visible",new(x().SFBool)(!0)),new(m())(v().inputOutput,"bboxDisplay",new(x().SFBool)),new(m())(v().initializeOnly,"bboxSize",new(x().SFVec3f)(-1,-1,-1)),new(m())(v().initializeOnly,"bboxCenter",new(x().SFVec3f)),new(m())(v().inputOnly,"addChildren",new(x().MFNode)),new(m())(v().inputOnly,"removeChildren",new(x().MFNode)),new(m())(v().inputOutput,"children",new(x().MFNode))]),enumerable:!0}});const te=ee;d().set("x_ite/Components/Layout/LayoutGroup",te);const ie=te,ne=window[Symbol.for("X_ITE.X3D-8.9.6")].require("x_ite/Components/Layering/X3DLayerNode");var se=i.n(ne);const oe=window[Symbol.for("X_ITE.X3D-8.9.6")].require("x_ite/Components/Navigation/OrthoViewpoint");var re=i.n(oe);function ae(e){se().call(this,e,new(re())(e),new ie(e)),this.addType(v().LayoutLayer)}Object.assign(Object.setPrototypeOf(ae.prototype,se().prototype),{initialize(){se().prototype.initialize.call(this),this._layout.addFieldInterest(this.getGroup()._layout),this._addChildren.addFieldInterest(this.getGroup()._addChildren),this._removeChildren.addFieldInterest(this.getGroup()._removeChildren),this._children.addFieldInterest(this.getGroup()._children),this.getGroup()._layout=this._layout,this.getGroup()._children=this._children,this.getGroup().setPrivate(!0),this.getGroup().setup()}}),Object.defineProperties(ae,{typeName:{value:"LayoutLayer",enumerable:!0},componentName:{value:"Layout",enumerable:!0},containerField:{value:"layers",enumerable:!0},specificationRange:{value:Object.freeze(["3.2","Infinity"]),enumerable:!0},fieldDefinitions:{value:new(b())([new(m())(v().inputOutput,"metadata",new(x().SFNode)),new(m())(v().inputOutput,"pickable",new(x().SFBool)(!0)),new(m())(v().inputOutput,"objectType",new(x().MFString)("ALL")),new(m())(v().inputOutput,"visible",new(x().SFBool)(!0)),new(m())(v().inputOutput,"layout",new(x().SFNode)),new(m())(v().inputOutput,"viewport",new(x().SFNode)),new(m())(v().inputOnly,"addChildren",new(x().MFNode)),new(m())(v().inputOnly,"removeChildren",new(x().MFNode)),new(m())(v().inputOutput,"children",new(x().MFNode))]),enumerable:!0}});const le=ae;d().set("x_ite/Components/Layout/LayoutLayer",le);const he=le,ue=window[Symbol.for("X_ITE.X3D-8.9.6")].require("x_ite/Components/Text/X3DFontStyleNode");var ce=i.n(ue);const de=window[Symbol.for("X_ITE.X3D-8.9.6")].require("x_ite/Browser/Text/X3DTextGeometry");var pe=i.n(de);const ye=window[Symbol.for("X_ITE.X3D-8.9.6")].require("x_ite/Browser/Text/TextAlignment");var ge=i.n(ye);const we=window[Symbol.for("X_ITE.X3D-8.9.6")].require("x_ite/Components/Texturing/PixelTexture");var fe=i.n(we);const xe=window[Symbol.for("X_ITE.X3D-8.9.6")].require("x_ite/Components/Rendering/X3DGeometryNode");var _e=i.n(xe);const me=window[Symbol.for("X_ITE.X3D-8.9.6")].require("standard/Math/Geometry/Box3");var Se=i.n(me);const be=window[Symbol.for("X_ITE.X3D-8.9.6")].require("standard/Math/Algorithm");var Xe=i.n(be),Me=i(355);function Oe(e,t){pe().call(this,e,t),e.setTransparent(!0),this.texCoordArray=_e().createArray(),this.textureNode=new(fe())(e.getExecutionContext()),this.canvas=Me("<canvas></canvas>"),this.context=this.canvas[0].getContext("2d",{willReadFrequently:!0}),this.matrix=new(l()),this.textureNode._textureProperties=t.getBrowser().getScreenTextureProperties(),this.textureNode.setup()}Object.assign(Object.setPrototypeOf(Oe.prototype,pe().prototype),{modelViewMatrix:new(l()),isTransparent:()=>!0,getMatrix(){return this.matrix},update:(()=>{const e=new(r())(0,0,0),t=new(r())(1,1,0);return function(){pe().prototype.update.call(this);const i=this.getFontStyle(),n=this.getText();switch(n._textBounds.x=Math.ceil(n._textBounds.x)+1,n._textBounds.y=Math.ceil(n._textBounds.y)+1,this.getBBox().getExtents(e,t),e.x-=1,e.y-=1,i.getMajorAlignment()){case ge().BEGIN:case ge().FIRST:e.x=Math.floor(e.x),t.x=e.x+n._textBounds.x;break;case ge().MIDDLE:e.x=Math.round(e.x),t.x=e.x+n._textBounds.x;break;case ge().END:t.x=Math.ceil(t.x),e.x=t.x-n._textBounds.x}switch(i.getMinorAlignment()){case ge().BEGIN:case ge().FIRST:t.y=Math.ceil(t.y),e.y=t.y-n._textBounds.y;break;case ge().MIDDLE:t.y=Math.round(t.y),e.y=t.y-n._textBounds.y;break;case ge().END:e.y=Math.floor(e.y),t.y=e.y+n._textBounds.y}n._origin.x=e.x,n._origin.y=t.y,this.getBBox().setExtents(e,t)}})(),build:(()=>{const e=new(r())(0,0,0),t=new(r())(1,1,0);return function(){const i=this.getFontStyle(),n=i.getFont();if(!n)return;const s=this.getText(),o=this.getGlyphs(),r=this.getMinorAlignment(),a=this.getTranslations(),l=this.getCharSpacings(),h=i.getScale(),u=h/n.unitsPerEm,c=this.texCoordArray,d=s.getNormals(),p=s.getVertices(),y=this.canvas[0],g=this.context;c.length=0,s.getMultiTexCoords().push(c),this.getBBox().getExtents(e,t),d.push(0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1),p.push(e.x,e.y,0,1,t.x,e.y,0,1,t.x,t.y,0,1,e.x,e.y,0,1,t.x,t.y,0,1,e.x,t.y,0,1);const w=s._textBounds.x,f=s._textBounds.y;y.width=Xe().nextPowerOfTwo(w),y.height=Xe().nextPowerOfTwo(f);const x=w/y.width,_=1-f/y.height;if(c.push(0,_,0,1,x,_,0,1,x,1,0,1,0,_,0,1,x,1,0,1,0,1,0,1),g.fillStyle="rgba(255,255,255,0)",g.fillRect(0,0,y.width,y.height),g.fillStyle="rgba(255,255,255,1)",g.save(),g.translate(0,y.height),g.scale(1,-1),i._horizontal.getValue())for(let i=0,s=o.length;i<s;++i){const s=o[i],c=l[i],d=a[i];let p=0;for(let i=0,o=s.length;i<o;++i){const o=s[i],a=r.x+d.x+p+i*c-e.x,l=r.y+d.y-t.y;this.drawGlyph(g,n,o,a,l,h);let y=0;i+1<s.length&&(y=n.getKerningValue(o,s[i+1])),p+=(o.advanceWidth+y)*u}}else{const l=i._leftToRight.getValue(),u=i._topToBottom.getValue(),c=l?0:s._string.length-1,d=l?s._string.length:-1,p=l?1:-1;for(let i=c,s=0;i!==d;i+=p){const l=o[i],c=l.length,d=u?c:-1,p=u?1:-1;for(let i=u?0:c-1;i!==d;i+=p,++s){const o=a[s],u=r.x+o.x-e.x,c=r.y+o.y-t.y;this.drawGlyph(g,n,l[i],u,c,h)}}}g.restore();const m=g.getImageData(0,0,y.width,y.height);m?this.textureNode.setTexture(y.width,y.height,!0,new Uint8Array(m.data.buffer),!1):this.textureNode.clear()}})(),drawGlyph(e,t,i,n,s,o){const r=i.getPath(n,-s,o),a=r.commands;e.beginPath();for(let t=0,i=a.length;t<i;++t){const i=a[t];switch(i.type){case"M":e.moveTo(i.x,i.y);continue;case"Z":e.closePath();continue;case"L":e.lineTo(i.x,i.y);continue;case"Q":e.quadraticCurveTo(i.x1,i.y1,i.x,i.y);continue;case"C":e.bezierCurveTo(i.x1,i.y1,i.x2,i.y2,i.x,i.y);continue}}r.fill&&e.fill(),r.stroke&&(e.lineWidth=r.strokeWidth,e.stroke())},getGlyphExtents(e,t,i,n,s){const o=e.unitsPerEm;n.set((t.xMin||0)/o,(t.yMin||0)/o,0),s.set((t.xMax||0)/o,(t.yMax||0)/o,0)},traverse:(()=>{const e=new(Se());return function(t,i){this.getBrowser().getScreenScaleMatrix(i,this.matrix),e.assign(this.getBBox()).multRight(this.matrix),this.getText().setBBox(e)}})(),display(e,t){l().prototype.multLeft.call(t.modelViewMatrix,this.matrix),t.textureNode=this.textureNode},transformLine:(()=>{const e=new(l());return function(t){return t.multLineMatrix(e.assign(this.matrix).inverse())}})(),transformMatrix(e){return e.multLeft(this.matrix)}});const ve=Oe;d().set("x_ite/Browser/Layout/ScreenText",ve);const ze=ve;function Te(e){ce().call(this,e),this.addType(v().ScreenFontStyle)}Object.assign(Object.setPrototypeOf(Te.prototype,ce().prototype),{initialize(){ce().prototype.initialize.call(this),this.getBrowser().getRenderingProperties()._ContentScale.addInterest("addNodeEvent",this)},getTextGeometry(e){return new ze(e,this)},getScale(){return this._pointSize.getValue()*this.getBrowser().getPixelPerPoint()}}),Object.defineProperties(Te,{typeName:{value:"ScreenFontStyle",enumerable:!0},componentName:{value:"Layout",enumerable:!0},containerField:{value:"fontStyle",enumerable:!0},specificationRange:{value:Object.freeze(["3.2","Infinity"]),enumerable:!0},fieldDefinitions:{value:new(b())([new(m())(v().inputOutput,"metadata",new(x().SFNode)),new(m())(v().inputOutput,"language",new(x().SFString)),new(m())(v().inputOutput,"family",new(x().MFString)("SERIF")),new(m())(v().inputOutput,"style",new(x().SFString)("PLAIN")),new(m())(v().inputOutput,"pointSize",new(x().SFFloat)(12)),new(m())(v().inputOutput,"spacing",new(x().SFFloat)(1)),new(m())(v().inputOutput,"horizontal",new(x().SFBool)(!0)),new(m())(v().inputOutput,"leftToRight",new(x().SFBool)(!0)),new(m())(v().inputOutput,"topToBottom",new(x().SFBool)(!0)),new(m())(v().inputOutput,"justify",new(x().MFString)("BEGIN"))]),enumerable:!0}});const Ne=Te;d().set("x_ite/Components/Layout/ScreenFontStyle",Ne);const Fe=Ne;function Ie(e){Q().call(this,e),this.addType(v().ScreenGroup),this.matrix=new(l())}Object.assign(Object.setPrototypeOf(Ie.prototype,Q().prototype),{getBBox(e,t){return this.getSubBBox(e,t).multRight(this.matrix)},getMatrix(){return this.matrix},traverse(e,t){switch(e){case $().CAMERA:case $().PICKING:case $().SHADOW:break;default:this.getBrowser().getScreenScaleMatrix(t,this.matrix)}const i=t.getModelViewMatrix();i.push(),i.multLeft(this.matrix),Q().prototype.traverse.call(this,e,t),i.pop()}}),Object.defineProperties(Ie,{typeName:{value:"ScreenGroup",enumerable:!0},componentName:{value:"Layout",enumerable:!0},containerField:{value:"children",enumerable:!0},specificationRange:{value:Object.freeze(["3.2","Infinity"]),enumerable:!0},fieldDefinitions:{value:new(b())([new(m())(v().inputOutput,"metadata",new(x().SFNode)),new(m())(v().inputOutput,"visible",new(x().SFBool)(!0)),new(m())(v().inputOutput,"bboxDisplay",new(x().SFBool)),new(m())(v().initializeOnly,"bboxSize",new(x().SFVec3f)(-1,-1,-1)),new(m())(v().initializeOnly,"bboxCenter",new(x().SFVec3f)),new(m())(v().inputOnly,"addChildren",new(x().MFNode)),new(m())(v().inputOnly,"removeChildren",new(x().MFNode)),new(m())(v().inputOutput,"children",new(x().MFNode))]),enumerable:!0}});const Ee=Ie;d().set("x_ite/Components/Layout/ScreenGroup",Ee);const Le=Ee;t().add({name:"Layout",concreteNodes:[K,ie,he,Fe,Le],abstractNodes:[N],browserContext:w});const Ue=void 0;d().set("assets/components/Layout",Ue)})()})();
1
+ /* X_ITE v8.10.0 */(()=>{"use strict";var e={355:e=>{e.exports=window[Symbol.for("X_ITE.X3D-8.10.0")].require("lib/jquery")}},t={};function i(n){var s=t[n];if(void 0!==s)return s.exports;var o=t[n]={exports:{}};return e[n](o,o.exports,i),o.exports}i.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return i.d(t,{a:t}),t},i.d=(e,t)=>{for(var n in t)i.o(t,n)&&!i.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{const e=window[Symbol.for("X_ITE.X3D-8.10.0")].require("x_ite/Components");var t=i.n(e);const n=window[Symbol.for("X_ITE.X3D-8.10.0")].require("x_ite/Components/Texturing/TextureProperties");var s=i.n(n);const o=window[Symbol.for("X_ITE.X3D-8.10.0")].require("standard/Math/Numbers/Vector3");var r=i.n(o);const a=window[Symbol.for("X_ITE.X3D-8.10.0")].require("standard/Math/Numbers/Matrix4");var l=i.n(a);const h=window[Symbol.for("X_ITE.X3D-8.10.0")].require("standard/Math/Geometry/ViewVolume");var u=i.n(h);const c=window[Symbol.for("X_ITE.X3D-8.10.0")].require("x_ite/Namespace");var d=i.n(c);const p=Symbol();function y(){}Object.assign(y.prototype,{getScreenTextureProperties(){return this[p]=new(s())(this.getPrivateScene()),this[p]._boundaryModeS="CLAMP_TO_EDGE",this[p]._boundaryModeT="CLAMP_TO_EDGE",this[p]._boundaryModeR="CLAMP_TO_EDGE",this[p]._minificationFilter="NEAREST_PIXEL",this[p]._magnificationFilter="NEAREST_PIXEL",this[p]._generateMipMaps=!1,this[p]._textureCompression="DEFAULT",this[p].setup(),this.getScreenTextureProperties=function(){return this[p]},Object.defineProperty(this,"getScreenTextureProperties",{enumerable:!1}),this[p]},getScreenScaleMatrix:(()=>{const e=new(r())(0,0,0),t=new(r())(0,0,0),i=new(l());return function(n,s){const o=n.getModelViewMatrix().get(),a=n.getProjectionMatrix().get(),l=n.getViewVolume().getViewport();n.getViewpoint().getScreenScale(o.origin,l,e);const h=o.xAxis.normalize().multiply(e.x),c=o.yAxis.normalize().multiply(e.y),d=o.zAxis.normalize().multiply(e.x);i.set(h.x,h.y,h.z,0,c.x,c.y,c.z,0,d.x,d.y,d.z,0,o[12],o[13],o[14],1),u().projectPoint(r().Zero,i,a,l,t),t.x=Math.round(t.x),t.y=Math.round(t.y),u().unProjectPoint(t.x,t.y,t.z,i,a,l,t),t.z=0,i.translate(t),s.assign(o).inverse().multLeft(i)}})()});const g=y;d().set("x_ite/Browser/Layout/X3DLayoutContext",g);const w=g,f=window[Symbol.for("X_ITE.X3D-8.10.0")].require("x_ite/Fields");var x=i.n(f);const _=window[Symbol.for("X_ITE.X3D-8.10.0")].require("x_ite/Base/X3DFieldDefinition");var m=i.n(_);const S=window[Symbol.for("X_ITE.X3D-8.10.0")].require("x_ite/Base/FieldDefinitionArray");var b=i.n(S);const X=window[Symbol.for("X_ITE.X3D-8.10.0")].require("x_ite/Components/Core/X3DChildNode");var M=i.n(X);const O=window[Symbol.for("X_ITE.X3D-8.10.0")].require("x_ite/Base/X3DConstants");var v=i.n(O);function z(e){M().call(this,e),this.addType(v().X3DLayoutNode)}Object.setPrototypeOf(z.prototype,M().prototype),Object.defineProperties(z,{typeName:{value:"X3DLayoutNode",enumerable:!0},componentName:{value:"Layout",enumerable:!0}});const T=z;d().set("x_ite/Components/Layout/X3DLayoutNode",T);const N=T,F=window[Symbol.for("X_ITE.X3D-8.10.0")].require("x_ite/Base/X3DCast");var I=i.n(F);const L=window[Symbol.for("X_ITE.X3D-8.10.0")].require("standard/Math/Numbers/Vector2");var E=i.n(L);const U=window[Symbol.for("X_ITE.X3D-8.10.0")].require("standard/Math/Numbers/Rotation4");var C=i.n(U);let D=0;const B=D++,Y=D++,P=D++,R=D++,V=D++,j=D++,A=D++,G=D++,q=D++,k=D++;function W(e){N.call(this,e),this.addType(v().Layout),this.alignX=Y,this.alignY=Y,this.offsetUnitX=j,this.offsetUnitY=j,this.offsetX=0,this.offsetY=0,this.sizeUnitX=j,this.sizeUnitY=j,this.sizeX=1,this.sizeY=1,this.scaleModeX=q,this.scaleModeY=q,this.parent=null,this.rectangleCenter=new(E())(0,0),this.rectangleSize=new(E())(0,0),this.matrix=new(l())}Object.assign(Object.setPrototypeOf(W.prototype,N.prototype),{viewportPixel:new(E())(0,0),pixelSize:new(E())(0,0),translation:new(r())(0,0,0),offset:new(r())(0,0,0),scale:new(r())(1,1,1),currentTranslation:new(r())(0,0,0),currentRotation:new(C()),currentScale:new(r())(0,0,0),modelViewMatrix:new(l()),initialize(){N.prototype.initialize.call(this),this._align.addInterest("set_align__",this),this._offsetUnits.addInterest("set_offsetUnits__",this),this._offset.addInterest("set_offset__",this),this._sizeUnits.addInterest("set_sizeUnits__",this),this._size.addInterest("set_size__",this),this._scaleMode.addInterest("set_scaleMode__",this),this.set_align__(),this.set_offsetUnits__(),this.set_offset__(),this.set_sizeUnits__(),this.set_size__(),this.set_scaleMode__()},set_align__(){this._align.length>0?"LEFT"===this._align[0]?this.alignX=B:"RIGHT"===this._align[0]?this.alignX=P:this.alignX=Y:this.alignX=Y,this._align.length>1?"BOTTOM"===this._align[1]?this.alignY=R:"TOP"===this._align[1]?this.alignY=V:this.alignY=Y:this.alignY=Y},set_offsetUnits__(){this._offsetUnits.length>0?("FRACTION"===this._offsetUnits[0]?this.offsetUnitX=A:"PIXEL"===this._offsetUnits[0]?this.offsetUnitX=G:this.offsetUnitX=j,this._offsetUnits.length>1?"FRACTION"===this._offsetUnits[1]?this.offsetUnitY=A:"PIXEL"===this._offsetUnits[1]?this.offsetUnitY=G:this.offsetUnitY=j:this.offsetUnitY=this.offsetUnitX):(this.offsetUnitX=j,this.offsetUnitY=j)},set_offset__(){this._offset.length>0?(this.offsetX=this._offset[0],this._offset.length>1?this.offsetY=this._offset[1]:this.offsetY=offsetX):(this.offsetX=0,this.offsetY=0)},set_sizeUnits__(){this._sizeUnits.length>0?("FRACTION"===this._sizeUnits[0]?this.sizeUnitX=A:"PIXEL"===this._sizeUnits[0]?this.sizeUnitX=G:this.sizeUnitX=j,this._sizeUnits.length>1?"FRACTION"===this._sizeUnits[1]?this.sizeUnitY=A:"PIXEL"===this._sizeUnits[1]?this.sizeUnitY=G:this.sizeUnitY=j:this.sizeUnitY=this.sizeUnitX):(this.sizeUnitX=j,this.sizeUnitY=j)},set_size__(){this._size.length>0?(this.sizeX=this._size[0],this._size.length>1?this.sizeY=this._size[1]:this.sizeY=this.sizeX):(this.sizeX=0,this.sizeY=0)},set_scaleMode__(){this._scaleMode.length>0?("FRACTION"===this._scaleMode[0]?this.scaleModeX=A:"PIXEL"===this._scaleMode[0]?this.scaleModeX=G:"STRETCH"===this._scaleMode[0]?this.scaleModeX=k:this.scaleModeX=q,this._scaleMode.length>1?"FRACTION"===this._scaleMode[1]?this.scaleModeY=A:"PIXEL"===this._scaleMode[1]?this.scaleModeY=G:"STRETCH"===this._scaleMode[1]?this.scaleModeY=k:this.scaleModeY=q:this.scaleModeY=this.scaleModeX):(this.scaleModeX=q,this.scaleModeY=q)},getRectangleCenter(){return this.rectangleCenter},getRectangleSize(){return this.rectangleSize},getAlignX(){return this.alignX},getAlignY(){return this.alignY},getOffsetUnitX(){return this.offsetUnitX===j?this.parent?this.parent.getOffsetUnitX():A:this.offsetUnitX},getOffsetUnitY(){return this.offsetUnitY===j?this.parent?this.parent.getOffsetUnitY():A:this.offsetUnitY},getOffsetX(){return this.offsetX},getOffsetY(){return this.offsetY},getSizeUnitX(){return this.sizeUnitX===j?this.parent?this.parent.getSizeUnitX():A:this.sizeUnitX},getSizeUnitY(){return this.sizeUnitY===j?this.parent?this.parent.getSizeUnitY():A:this.sizeUnitY},getSizeX(){return this.sizeX},getSizeY(){return this.sizeY},getScaleModeX(){return this.parent?this.scaleModeX:this.scaleModeX===q?A:this.scaleModeX},getScaleModeY(){return this.parent?this.scaleModeY:this.scaleModeY===q?A:this.scaleModeY},transform(e,t){const i=this.parent=t.getParentLayout(),n=this.getBrowser().getRenderingProperty("ContentScale"),s=this.matrix,o=t.getViewpoint(),r=t.getNavigationInfo().getNearValue(),a=t.getViewVolume().getScissor(),l=o.getViewportSize(a,r),h=this.viewportPixel,u=this.pixelSize,c=i?i.getRectangleSize():l,d=this.rectangleSize,p=this.rectangleCenter;switch(h.set(a[2],a[3]).divide(n),u.assign(l).divVec(h),this.getSizeUnitX()){case A:d.x=this.sizeX*c.x;break;case G:d.x=this.sizeX*u.x}switch(this.getSizeUnitY()){case A:d.y=this.sizeY*c.y;break;case G:d.y=this.sizeY*u.y}const y=this.translation.set(0,0,0);switch(this.getAlignX()){case B:y.x=-(c.x-d.x)/2;break;case Y:this.getSizeUnitX()===G&&1&h.x&&(y.x=-u.x/2);break;case P:y.x=(c.x-d.x)/2}switch(this.getAlignY()){case R:y.y=-(c.y-d.y)/2;break;case Y:this.getSizeUnitX===G&&1&h.y&&(y.y=-u.y/2);break;case V:y.y=(c.y-d.y)/2}const g=this.offset.set(0,0,0);switch(this.getOffsetUnitX()){case A:g.x=this.offsetX*c.x;break;case G:g.x=this.offsetX*l.x/h.x}switch(this.getOffsetUnitY()){case A:g.y=this.offsetY*c.y;break;case G:g.y=this.offsetY*l.y/h.y}const w=this.scale.set(1,1,1),f=this.currentTranslation,x=this.currentRotation,_=this.currentScale;switch(t.getModelViewMatrix().get().get(f,x,_),this.getScaleModeX()){case q:w.x=_.x;break;case A:w.x=d.x;break;case k:break;case G:w.x=l.x/h.x}switch(this.getScaleModeY()){case q:w.y=_.y;break;case A:w.y=d.y;break;case k:break;case G:w.y=l.y/h.y}return this.getScaleModeX()===k?this.getScaleModeY()===k?d.x>d.y?(w.x=d.x,w.y=w.x):(w.y=d.y,w.x=w.y):w.x=w.y:this.getScaleModeY()===k&&(w.y=w.x),p.assign(y.add(g)),s.set(f,x),s.translate(y),s.scale(w),s}}),Object.defineProperties(W,{typeName:{value:"Layout",enumerable:!0},componentName:{value:"Layout",enumerable:!0},containerField:{value:"layout",enumerable:!0},specificationRange:{value:Object.freeze(["3.2","Infinity"]),enumerable:!0},fieldDefinitions:{value:new(b())([new(m())(v().inputOutput,"metadata",new(x().SFNode)),new(m())(v().inputOutput,"align",new(x().MFString)("CENTER","CENTER")),new(m())(v().inputOutput,"offsetUnits",new(x().MFString)("WORLD","WORLD")),new(m())(v().inputOutput,"offset",new(x().MFFloat)(0,0)),new(m())(v().inputOutput,"sizeUnits",new(x().MFString)("WORLD","WORLD")),new(m())(v().inputOutput,"size",new(x().MFFloat)(1,1)),new(m())(v().inputOutput,"scaleMode",new(x().MFString)("NONE","NONE"))]),enumerable:!0}});const H=W;d().set("x_ite/Components/Layout/Layout",H);const K=H,Z=window[Symbol.for("X_ITE.X3D-8.10.0")].require("x_ite/Components/Grouping/X3DGroupingNode");var Q=i.n(Z);const J=window[Symbol.for("X_ITE.X3D-8.10.0")].require("x_ite/Rendering/TraverseType");var $=i.n(J);function ee(e){Q().call(this,e),this.addType(v().LayoutGroup),this.viewportNode=null,this.layoutNode=null,this.matrix=new(l()),this.modelViewMatrix=new(l()),this.screenMatrix=new(l())}Object.assign(Object.setPrototypeOf(ee.prototype,Q().prototype),{initialize(){Q().prototype.initialize.call(this),this._viewport.addInterest("set_viewport__",this),this._layout.addInterest("set_layout__",this),this.set_viewport__(),this.set_layout__()},set_viewport__(){this.viewportNode=I()(v().X3DViewportNode,this._viewport)},set_layout__(){this.layoutNode=I()(v().X3DLayoutNode,this._layout)},getBBox(e,t){return Q().prototype.getBBox.call(this,e,t).multRight(this.getMatrix())},getMatrix(){return this.layoutNode?this.matrix.assign(this.modelViewMatrix).inverse().multLeft(this.screenMatrix):this.matrix.identity()},getLayout(){return this.layoutNode},traverse(e,t){if(e!==$().COLLISION){if(this.viewportNode&&this.viewportNode.push(),this.layoutNode){const i=t.getModelViewMatrix();this.modelViewMatrix.assign(i.get()),this.screenMatrix.assign(this.layoutNode.transform(e,t)),i.pushMatrix(this.screenMatrix),t.getLayouts().push(this.layoutNode),Q().prototype.traverse.call(this,e,t),t.getLayouts().pop(),i.pop()}else Q().prototype.traverse.call(this,e,t);this.viewportNode&&this.viewportNode.pop()}}}),Object.defineProperties(ee,{typeName:{value:"LayoutGroup",enumerable:!0},componentName:{value:"Layout",enumerable:!0},containerField:{value:"children",enumerable:!0},specificationRange:{value:Object.freeze(["3.2","Infinity"]),enumerable:!0},fieldDefinitions:{value:new(b())([new(m())(v().inputOutput,"metadata",new(x().SFNode)),new(m())(v().inputOutput,"layout",new(x().SFNode)),new(m())(v().inputOutput,"viewport",new(x().SFNode)),new(m())(v().inputOutput,"visible",new(x().SFBool)(!0)),new(m())(v().inputOutput,"bboxDisplay",new(x().SFBool)),new(m())(v().initializeOnly,"bboxSize",new(x().SFVec3f)(-1,-1,-1)),new(m())(v().initializeOnly,"bboxCenter",new(x().SFVec3f)),new(m())(v().inputOnly,"addChildren",new(x().MFNode)),new(m())(v().inputOnly,"removeChildren",new(x().MFNode)),new(m())(v().inputOutput,"children",new(x().MFNode))]),enumerable:!0}});const te=ee;d().set("x_ite/Components/Layout/LayoutGroup",te);const ie=te,ne=window[Symbol.for("X_ITE.X3D-8.10.0")].require("x_ite/Components/Layering/X3DLayerNode");var se=i.n(ne);const oe=window[Symbol.for("X_ITE.X3D-8.10.0")].require("x_ite/Components/Navigation/OrthoViewpoint");var re=i.n(oe);function ae(e){se().call(this,e,new(re())(e),new ie(e)),this.addType(v().LayoutLayer)}Object.assign(Object.setPrototypeOf(ae.prototype,se().prototype),{initialize(){se().prototype.initialize.call(this),this._layout.addFieldInterest(this.getGroup()._layout),this._addChildren.addFieldInterest(this.getGroup()._addChildren),this._removeChildren.addFieldInterest(this.getGroup()._removeChildren),this._children.addFieldInterest(this.getGroup()._children),this.getGroup()._layout=this._layout,this.getGroup()._children=this._children,this.getGroup().setPrivate(!0),this.getGroup().setup()}}),Object.defineProperties(ae,{typeName:{value:"LayoutLayer",enumerable:!0},componentName:{value:"Layout",enumerable:!0},containerField:{value:"layers",enumerable:!0},specificationRange:{value:Object.freeze(["3.2","Infinity"]),enumerable:!0},fieldDefinitions:{value:new(b())([new(m())(v().inputOutput,"metadata",new(x().SFNode)),new(m())(v().inputOutput,"pickable",new(x().SFBool)(!0)),new(m())(v().inputOutput,"objectType",new(x().MFString)("ALL")),new(m())(v().inputOutput,"visible",new(x().SFBool)(!0)),new(m())(v().inputOutput,"layout",new(x().SFNode)),new(m())(v().inputOutput,"viewport",new(x().SFNode)),new(m())(v().inputOnly,"addChildren",new(x().MFNode)),new(m())(v().inputOnly,"removeChildren",new(x().MFNode)),new(m())(v().inputOutput,"children",new(x().MFNode))]),enumerable:!0}});const le=ae;d().set("x_ite/Components/Layout/LayoutLayer",le);const he=le,ue=window[Symbol.for("X_ITE.X3D-8.10.0")].require("x_ite/Components/Text/X3DFontStyleNode");var ce=i.n(ue);const de=window[Symbol.for("X_ITE.X3D-8.10.0")].require("x_ite/Browser/Text/X3DTextGeometry");var pe=i.n(de);const ye=window[Symbol.for("X_ITE.X3D-8.10.0")].require("x_ite/Browser/Text/TextAlignment");var ge=i.n(ye);const we=window[Symbol.for("X_ITE.X3D-8.10.0")].require("x_ite/Components/Texturing/PixelTexture");var fe=i.n(we);const xe=window[Symbol.for("X_ITE.X3D-8.10.0")].require("standard/Math/Geometry/Box3");var _e=i.n(xe);const me=window[Symbol.for("X_ITE.X3D-8.10.0")].require("standard/Math/Algorithm");var Se=i.n(me),be=i(355);function Xe(e,t){pe().call(this,e,t),e.setTransparent(!0),this.texCoordArray=new(x().MFFloat),this.textureNode=new(fe())(e.getExecutionContext()),this.canvas=be("<canvas></canvas>"),this.context=this.canvas[0].getContext("2d",{willReadFrequently:!0}),this.matrix=new(l()),this.textureNode._textureProperties=t.getBrowser().getScreenTextureProperties(),this.textureNode.setup()}Object.assign(Object.setPrototypeOf(Xe.prototype,pe().prototype),{modelViewMatrix:new(l()),isTransparent:()=>!0,getMatrix(){return this.matrix},update:(()=>{const e=new(r())(0,0,0),t=new(r())(1,1,0);return function(){pe().prototype.update.call(this);const i=this.getFontStyle(),n=this.getText();switch(n._textBounds.x=Math.ceil(n._textBounds.x)+1,n._textBounds.y=Math.ceil(n._textBounds.y)+1,this.getBBox().getExtents(e,t),e.x-=1,e.y-=1,i.getMajorAlignment()){case ge().BEGIN:case ge().FIRST:e.x=Math.floor(e.x),t.x=e.x+n._textBounds.x;break;case ge().MIDDLE:e.x=Math.round(e.x),t.x=e.x+n._textBounds.x;break;case ge().END:t.x=Math.ceil(t.x),e.x=t.x-n._textBounds.x}switch(i.getMinorAlignment()){case ge().BEGIN:case ge().FIRST:t.y=Math.ceil(t.y),e.y=t.y-n._textBounds.y;break;case ge().MIDDLE:t.y=Math.round(t.y),e.y=t.y-n._textBounds.y;break;case ge().END:e.y=Math.floor(e.y),t.y=e.y+n._textBounds.y}n._origin.x=e.x,n._origin.y=t.y,this.getBBox().setExtents(e,t)}})(),build:(()=>{const e=new(r())(0,0,0),t=new(r())(1,1,0);return function(){const i=this.getFontStyle(),n=i.getFont();if(!n)return;const s=this.getText(),o=this.getGlyphs(),r=this.getMinorAlignment(),a=this.getTranslations(),l=this.getCharSpacings(),h=i.getScale(),u=h/n.unitsPerEm,c=this.texCoordArray,d=s.getNormals(),p=s.getVertices(),y=this.canvas[0],g=this.context;c.length=0,s.getMultiTexCoords().push(c),this.getBBox().getExtents(e,t),d.push(0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1),p.push(e.x,e.y,0,1,t.x,e.y,0,1,t.x,t.y,0,1,e.x,e.y,0,1,t.x,t.y,0,1,e.x,t.y,0,1);const w=s._textBounds.x,f=s._textBounds.y;y.width=Se().nextPowerOfTwo(w),y.height=Se().nextPowerOfTwo(f);const x=w/y.width,_=1-f/y.height;if(c.push(0,_,0,1,x,_,0,1,x,1,0,1,0,_,0,1,x,1,0,1,0,1,0,1),g.fillStyle="rgba(255,255,255,0)",g.fillRect(0,0,y.width,y.height),g.fillStyle="rgba(255,255,255,1)",g.save(),g.translate(0,y.height),g.scale(1,-1),i._horizontal.getValue())for(let i=0,s=o.length;i<s;++i){const s=o[i],c=l[i],d=a[i];let p=0;for(let i=0,o=s.length;i<o;++i){const o=s[i],a=r.x+d.x+p+i*c-e.x,l=r.y+d.y-t.y;this.drawGlyph(g,n,o,a,l,h);let y=0;i+1<s.length&&(y=n.getKerningValue(o,s[i+1])),p+=(o.advanceWidth+y)*u}}else{const l=i._leftToRight.getValue(),u=i._topToBottom.getValue(),c=l?0:s._string.length-1,d=l?s._string.length:-1,p=l?1:-1;for(let i=c,s=0;i!==d;i+=p){const l=o[i],c=l.length,d=u?c:-1,p=u?1:-1;for(let i=u?0:c-1;i!==d;i+=p,++s){const o=a[s],u=r.x+o.x-e.x,c=r.y+o.y-t.y;this.drawGlyph(g,n,l[i],u,c,h)}}}g.restore();const m=g.getImageData(0,0,y.width,y.height);m?this.textureNode.setTexture(y.width,y.height,!0,new Uint8Array(m.data.buffer),!1):this.textureNode.clear()}})(),drawGlyph(e,t,i,n,s,o){const r=i.getPath(n,-s,o),a=r.commands;e.beginPath();for(let t=0,i=a.length;t<i;++t){const i=a[t];switch(i.type){case"M":e.moveTo(i.x,i.y);continue;case"Z":e.closePath();continue;case"L":e.lineTo(i.x,i.y);continue;case"Q":e.quadraticCurveTo(i.x1,i.y1,i.x,i.y);continue;case"C":e.bezierCurveTo(i.x1,i.y1,i.x2,i.y2,i.x,i.y);continue}}r.fill&&e.fill(),r.stroke&&(e.lineWidth=r.strokeWidth,e.stroke())},getGlyphExtents(e,t,i,n,s){const o=e.unitsPerEm;n.set((t.xMin||0)/o,(t.yMin||0)/o,0),s.set((t.xMax||0)/o,(t.yMax||0)/o,0)},traverse:(()=>{const e=new(_e());return function(t,i){this.getBrowser().getScreenScaleMatrix(i,this.matrix),e.assign(this.getBBox()).multRight(this.matrix),this.getText().setBBox(e)}})(),display(e,t){l().prototype.multLeft.call(t.modelViewMatrix,this.matrix),t.textureNode=this.textureNode},transformLine:(()=>{const e=new(l());return function(t){return t.multLineMatrix(e.assign(this.matrix).inverse())}})(),transformMatrix(e){return e.multLeft(this.matrix)}});const Me=Xe;d().set("x_ite/Browser/Layout/ScreenText",Me);const Oe=Me;function ve(e){ce().call(this,e),this.addType(v().ScreenFontStyle)}Object.assign(Object.setPrototypeOf(ve.prototype,ce().prototype),{initialize(){ce().prototype.initialize.call(this),this.getBrowser().getRenderingProperties()._ContentScale.addInterest("addNodeEvent",this)},getTextGeometry(e){return new Oe(e,this)},getScale(){return this._pointSize.getValue()*this.getBrowser().getPixelPerPoint()}}),Object.defineProperties(ve,{typeName:{value:"ScreenFontStyle",enumerable:!0},componentName:{value:"Layout",enumerable:!0},containerField:{value:"fontStyle",enumerable:!0},specificationRange:{value:Object.freeze(["3.2","Infinity"]),enumerable:!0},fieldDefinitions:{value:new(b())([new(m())(v().inputOutput,"metadata",new(x().SFNode)),new(m())(v().inputOutput,"language",new(x().SFString)),new(m())(v().inputOutput,"family",new(x().MFString)("SERIF")),new(m())(v().inputOutput,"style",new(x().SFString)("PLAIN")),new(m())(v().inputOutput,"pointSize",new(x().SFFloat)(12)),new(m())(v().inputOutput,"spacing",new(x().SFFloat)(1)),new(m())(v().inputOutput,"horizontal",new(x().SFBool)(!0)),new(m())(v().inputOutput,"leftToRight",new(x().SFBool)(!0)),new(m())(v().inputOutput,"topToBottom",new(x().SFBool)(!0)),new(m())(v().inputOutput,"justify",new(x().MFString)("BEGIN"))]),enumerable:!0}});const ze=ve;d().set("x_ite/Components/Layout/ScreenFontStyle",ze);const Te=ze;function Ne(e){Q().call(this,e),this.addType(v().ScreenGroup),this.matrix=new(l())}Object.assign(Object.setPrototypeOf(Ne.prototype,Q().prototype),{getBBox(e,t){return this.getSubBBox(e,t).multRight(this.matrix)},getMatrix(){return this.matrix},traverse(e,t){switch(e){case $().CAMERA:case $().PICKING:case $().SHADOW:break;default:this.getBrowser().getScreenScaleMatrix(t,this.matrix)}const i=t.getModelViewMatrix();i.push(),i.multLeft(this.matrix),Q().prototype.traverse.call(this,e,t),i.pop()}}),Object.defineProperties(Ne,{typeName:{value:"ScreenGroup",enumerable:!0},componentName:{value:"Layout",enumerable:!0},containerField:{value:"children",enumerable:!0},specificationRange:{value:Object.freeze(["3.2","Infinity"]),enumerable:!0},fieldDefinitions:{value:new(b())([new(m())(v().inputOutput,"metadata",new(x().SFNode)),new(m())(v().inputOutput,"visible",new(x().SFBool)(!0)),new(m())(v().inputOutput,"bboxDisplay",new(x().SFBool)),new(m())(v().initializeOnly,"bboxSize",new(x().SFVec3f)(-1,-1,-1)),new(m())(v().initializeOnly,"bboxCenter",new(x().SFVec3f)),new(m())(v().inputOnly,"addChildren",new(x().MFNode)),new(m())(v().inputOnly,"removeChildren",new(x().MFNode)),new(m())(v().inputOutput,"children",new(x().MFNode))]),enumerable:!0}});const Fe=Ne;d().set("x_ite/Components/Layout/ScreenGroup",Fe);const Ie=Fe;t().add({name:"Layout",concreteNodes:[K,ie,he,Te,Ie],abstractNodes:[N],browserContext:w});const Le=void 0;d().set("assets/components/Layout",Le)})()})();