x_ite 8.8.7 → 8.9.1

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 (352) hide show
  1. package/Makefile +6 -0
  2. package/README.md +3 -7
  3. package/build/docs/nodes.pl +434 -0
  4. package/dist/assets/components/Annotation.js +13 -13
  5. package/dist/assets/components/Annotation.min.js +1 -1
  6. package/dist/assets/components/CADGeometry.js +13 -13
  7. package/dist/assets/components/CADGeometry.min.js +1 -1
  8. package/dist/assets/components/CubeMapTexturing.js +26 -26
  9. package/dist/assets/components/CubeMapTexturing.min.js +1 -1
  10. package/dist/assets/components/DIS.js +14 -14
  11. package/dist/assets/components/DIS.min.js +1 -1
  12. package/dist/assets/components/EventUtilities.js +9 -9
  13. package/dist/assets/components/EventUtilities.min.js +1 -1
  14. package/dist/assets/components/Geometry2D.js +19 -19
  15. package/dist/assets/components/Geometry2D.min.js +1 -1
  16. package/dist/assets/components/Geospatial.js +33 -33
  17. package/dist/assets/components/Geospatial.min.js +1 -1
  18. package/dist/assets/components/HAnim.js +129 -90
  19. package/dist/assets/components/HAnim.min.js +1 -1
  20. package/dist/assets/components/KeyDeviceSensor.js +8 -8
  21. package/dist/assets/components/KeyDeviceSensor.min.js +1 -1
  22. package/dist/assets/components/Layout.js +27 -27
  23. package/dist/assets/components/Layout.min.js +1 -1
  24. package/dist/assets/components/NURBS.js +24 -24
  25. package/dist/assets/components/NURBS.min.js +1 -1
  26. package/dist/assets/components/ParticleSystems.js +24 -24
  27. package/dist/assets/components/ParticleSystems.min.js +1 -1
  28. package/dist/assets/components/Picking.js +18 -18
  29. package/dist/assets/components/Picking.min.js +1 -1
  30. package/dist/assets/components/RigidBodyPhysics.js +18 -18
  31. package/dist/assets/components/RigidBodyPhysics.min.js +1 -1
  32. package/dist/assets/components/Scripting.js +37 -37
  33. package/dist/assets/components/Scripting.min.js +1 -1
  34. package/dist/assets/components/Text.js +24 -24
  35. package/dist/assets/components/Text.min.js +1 -1
  36. package/dist/assets/components/TextureProjector.js +14 -14
  37. package/dist/assets/components/TextureProjector.min.js +1 -1
  38. package/dist/assets/components/Texturing3D.js +30 -30
  39. package/dist/assets/components/Texturing3D.min.js +1 -1
  40. package/dist/assets/components/VolumeRendering.js +18 -18
  41. package/dist/assets/components/VolumeRendering.min.js +1 -1
  42. package/dist/assets/components/X_ITE.js +9 -9
  43. package/dist/assets/components/X_ITE.min.js +1 -1
  44. package/dist/x_ite.css +1 -1
  45. package/dist/x_ite.js +1320 -166
  46. package/dist/x_ite.min.js +1 -1
  47. package/dist/x_ite.zip +0 -0
  48. package/docs/_config.yml +2 -2
  49. package/docs/_posts/components/CADGeometry/CADAssembly.md +45 -19
  50. package/docs/_posts/components/CADGeometry/CADFace.md +44 -18
  51. package/docs/_posts/components/CADGeometry/CADLayer.md +48 -19
  52. package/docs/_posts/components/CADGeometry/CADPart.md +54 -24
  53. package/docs/_posts/components/CADGeometry/IndexedQuadSet.md +55 -26
  54. package/docs/_posts/components/CADGeometry/QuadSet.md +52 -20
  55. package/docs/_posts/components/Core/MetadataBoolean.md +29 -18
  56. package/docs/_posts/components/Core/MetadataDouble.md +31 -16
  57. package/docs/_posts/components/Core/MetadataFloat.md +31 -16
  58. package/docs/_posts/components/Core/MetadataInteger.md +31 -16
  59. package/docs/_posts/components/Core/MetadataSet.md +30 -15
  60. package/docs/_posts/components/Core/MetadataString.md +31 -16
  61. package/docs/_posts/components/Core/WorldInfo.md +21 -10
  62. package/docs/_posts/components/CubeMapTexturing/ComposedCubeMapTexture.md +30 -25
  63. package/docs/_posts/components/CubeMapTexturing/GeneratedCubeMapTexture.md +19 -10
  64. package/docs/_posts/components/CubeMapTexturing/ImageCubeMapTexture.md +22 -18
  65. package/docs/_posts/components/DIS/DISEntityManager.md +40 -15
  66. package/docs/_posts/components/DIS/DISEntityTypeMapping.md +34 -25
  67. package/docs/_posts/components/DIS/EspduTransform.md +174 -41
  68. package/docs/_posts/components/DIS/ReceiverPdu.md +77 -27
  69. package/docs/_posts/components/DIS/SignalPdu.md +82 -28
  70. package/docs/_posts/components/DIS/TransmitterPdu.md +86 -36
  71. package/docs/_posts/components/EnvironmentalEffects/Background.md +80 -39
  72. package/docs/_posts/components/EnvironmentalEffects/Fog.md +39 -18
  73. package/docs/_posts/components/EnvironmentalEffects/FogCoordinate.md +10 -6
  74. package/docs/_posts/components/EnvironmentalEffects/LocalFog.md +21 -14
  75. package/docs/_posts/components/EnvironmentalEffects/TextureBackground.md +83 -31
  76. package/docs/_posts/components/EnvironmentalSensor/ProximitySensor.md +36 -8
  77. package/docs/_posts/components/EnvironmentalSensor/TransformSensor.md +31 -7
  78. package/docs/_posts/components/EnvironmentalSensor/VisibilitySensor.md +23 -7
  79. package/docs/_posts/components/EventUtilities/BooleanFilter.md +23 -10
  80. package/docs/_posts/components/EventUtilities/BooleanSequencer.md +46 -17
  81. package/docs/_posts/components/EventUtilities/BooleanToggle.md +29 -8
  82. package/docs/_posts/components/EventUtilities/BooleanTrigger.md +24 -7
  83. package/docs/_posts/components/EventUtilities/IntegerSequencer.md +46 -17
  84. package/docs/_posts/components/EventUtilities/IntegerTrigger.md +34 -9
  85. package/docs/_posts/components/EventUtilities/TimeTrigger.md +30 -9
  86. package/docs/_posts/components/Followers/ColorChaser.md +35 -11
  87. package/docs/_posts/components/Followers/ColorDamper.md +32 -12
  88. package/docs/_posts/components/Followers/CoordinateChaser.md +33 -9
  89. package/docs/_posts/components/Followers/CoordinateDamper.md +30 -10
  90. package/docs/_posts/components/Followers/OrientationChaser.md +34 -10
  91. package/docs/_posts/components/Followers/OrientationDamper.md +31 -11
  92. package/docs/_posts/components/Followers/PositionChaser.md +33 -9
  93. package/docs/_posts/components/Followers/PositionChaser2D.md +33 -9
  94. package/docs/_posts/components/Followers/PositionDamper.md +30 -10
  95. package/docs/_posts/components/Followers/PositionDamper2D.md +30 -10
  96. package/docs/_posts/components/Followers/ScalarChaser.md +33 -9
  97. package/docs/_posts/components/Followers/ScalarDamper.md +30 -10
  98. package/docs/_posts/components/Followers/TexCoordChaser2D.md +33 -9
  99. package/docs/_posts/components/Followers/TexCoordDamper2D.md +30 -10
  100. package/docs/_posts/components/Geometry2D/Arc2D.md +39 -14
  101. package/docs/_posts/components/Geometry2D/ArcClose2D.md +43 -19
  102. package/docs/_posts/components/Geometry2D/Circle2D.md +21 -10
  103. package/docs/_posts/components/Geometry2D/Disk2D.md +32 -14
  104. package/docs/_posts/components/Geometry2D/Polyline2D.md +24 -9
  105. package/docs/_posts/components/Geometry2D/Polypoint2D.md +16 -8
  106. package/docs/_posts/components/Geometry2D/Rectangle2D.md +23 -12
  107. package/docs/_posts/components/Geometry2D/TriangleSet2D.md +23 -12
  108. package/docs/_posts/components/Geometry3D/Box.md +26 -13
  109. package/docs/_posts/components/Geometry3D/Cone.md +30 -22
  110. package/docs/_posts/components/Geometry3D/Cylinder.md +30 -26
  111. package/docs/_posts/components/Geometry3D/ElevationGrid.md +73 -29
  112. package/docs/_posts/components/Geometry3D/Extrusion.md +100 -48
  113. package/docs/_posts/components/Geometry3D/IndexedFaceSet.md +92 -38
  114. package/docs/_posts/components/Geometry3D/Sphere.md +25 -13
  115. package/docs/_posts/components/Geospatial/GeoCoordinate.md +30 -14
  116. package/docs/_posts/components/Geospatial/GeoElevationGrid.md +82 -37
  117. package/docs/_posts/components/Geospatial/GeoLOD.md +66 -27
  118. package/docs/_posts/components/Geospatial/GeoLocation.md +64 -26
  119. package/docs/_posts/components/Geospatial/GeoMetadata.md +28 -22
  120. package/docs/_posts/components/Geospatial/GeoOrigin.md +34 -19
  121. package/docs/_posts/components/Geospatial/GeoPositionInterpolator.md +64 -18
  122. package/docs/_posts/components/Geospatial/GeoProximitySensor.md +67 -18
  123. package/docs/_posts/components/Geospatial/GeoTouchSensor.md +63 -18
  124. package/docs/_posts/components/Geospatial/GeoTransform.md +72 -28
  125. package/docs/_posts/components/Geospatial/GeoViewpoint.md +79 -40
  126. package/docs/_posts/components/Grouping/Group.md +32 -16
  127. package/docs/_posts/components/Grouping/StaticGroup.md +37 -16
  128. package/docs/_posts/components/Grouping/Switch.md +39 -20
  129. package/docs/_posts/components/Grouping/Transform.md +45 -28
  130. package/docs/_posts/components/HAnim/HAnimDisplacer.md +38 -27
  131. package/docs/_posts/components/HAnim/HAnimHumanoid.md +215 -56
  132. package/docs/_posts/components/HAnim/HAnimJoint.md +104 -38
  133. package/docs/_posts/components/HAnim/HAnimMotion.md +120 -10
  134. package/docs/_posts/components/HAnim/HAnimSegment.md +72 -32
  135. package/docs/_posts/components/HAnim/HAnimSite.md +75 -32
  136. package/docs/_posts/components/Interpolation/ColorInterpolator.md +41 -11
  137. package/docs/_posts/components/Interpolation/CoordinateInterpolator.md +39 -13
  138. package/docs/_posts/components/Interpolation/CoordinateInterpolator2D.md +43 -14
  139. package/docs/_posts/components/Interpolation/EaseInEaseOut.md +36 -12
  140. package/docs/_posts/components/Interpolation/NormalInterpolator.md +40 -10
  141. package/docs/_posts/components/Interpolation/OrientationInterpolator.md +40 -10
  142. package/docs/_posts/components/Interpolation/PositionInterpolator.md +40 -10
  143. package/docs/_posts/components/Interpolation/PositionInterpolator2D.md +43 -14
  144. package/docs/_posts/components/Interpolation/ScalarInterpolator.md +39 -13
  145. package/docs/_posts/components/Interpolation/SplinePositionInterpolator.md +41 -16
  146. package/docs/_posts/components/Interpolation/SplinePositionInterpolator2D.md +41 -16
  147. package/docs/_posts/components/Interpolation/SplineScalarInterpolator.md +40 -24
  148. package/docs/_posts/components/Interpolation/SquadOrientationInterpolator.md +35 -11
  149. package/docs/_posts/components/KeyDeviceSensor/KeySensor.md +51 -9
  150. package/docs/_posts/components/KeyDeviceSensor/StringSensor.md +31 -9
  151. package/docs/_posts/components/Layering/Layer.md +27 -14
  152. package/docs/_posts/components/Layering/LayerSet.md +19 -13
  153. package/docs/_posts/components/Layering/Viewport.md +31 -15
  154. package/docs/_posts/components/Layout/Layout.md +27 -16
  155. package/docs/_posts/components/Layout/LayoutGroup.md +34 -18
  156. package/docs/_posts/components/Layout/LayoutLayer.md +28 -15
  157. package/docs/_posts/components/Layout/ScreenFontStyle.md +72 -45
  158. package/docs/_posts/components/Layout/ScreenGroup.md +32 -16
  159. package/docs/_posts/components/Lighting/DirectionalLight.md +19 -11
  160. package/docs/_posts/components/Lighting/EnvironmentLight.md +2 -6
  161. package/docs/_posts/components/Lighting/PointLight.md +23 -11
  162. package/docs/_posts/components/Lighting/SpotLight.md +32 -19
  163. package/docs/_posts/components/NURBS/Contour2D.md +17 -9
  164. package/docs/_posts/components/NURBS/ContourPolyline2D.md +10 -6
  165. package/docs/_posts/components/NURBS/CoordinateDouble.md +13 -9
  166. package/docs/_posts/components/NURBS/NurbsCurve.md +15 -11
  167. package/docs/_posts/components/NURBS/NurbsCurve2D.md +14 -10
  168. package/docs/_posts/components/NURBS/NurbsOrientationInterpolator.md +28 -12
  169. package/docs/_posts/components/NURBS/NurbsPatchSurface.md +19 -13
  170. package/docs/_posts/components/NURBS/NurbsPositionInterpolator.md +27 -11
  171. package/docs/_posts/components/NURBS/NurbsSet.md +48 -14
  172. package/docs/_posts/components/NURBS/NurbsSurfaceInterpolator.md +31 -11
  173. package/docs/_posts/components/NURBS/NurbsSweptSurface.md +31 -14
  174. package/docs/_posts/components/NURBS/NurbsSwungSurface.md +25 -14
  175. package/docs/_posts/components/NURBS/NurbsTextureCoordinate.md +11 -7
  176. package/docs/_posts/components/NURBS/NurbsTrimmedSurface.md +26 -16
  177. package/docs/_posts/components/Navigation/Billboard.md +33 -17
  178. package/docs/_posts/components/Navigation/Collision.md +59 -22
  179. package/docs/_posts/components/Navigation/LOD.md +53 -23
  180. package/docs/_posts/components/Navigation/NavigationInfo.md +68 -25
  181. package/docs/_posts/components/Navigation/OrthoViewpoint.md +80 -37
  182. package/docs/_posts/components/Navigation/Viewpoint.md +86 -39
  183. package/docs/_posts/components/Navigation/ViewpointGroup.md +28 -17
  184. package/docs/_posts/components/Networking/Anchor.md +54 -56
  185. package/docs/_posts/components/Networking/Inline.md +42 -29
  186. package/docs/_posts/components/Networking/LoadSensor.md +41 -9
  187. package/docs/_posts/components/ParticleSystems/BoundedPhysicsModel.md +16 -8
  188. package/docs/_posts/components/ParticleSystems/ConeEmitter.md +25 -10
  189. package/docs/_posts/components/ParticleSystems/ExplosionEmitter.md +18 -11
  190. package/docs/_posts/components/ParticleSystems/ForcePhysicsModel.md +15 -8
  191. package/docs/_posts/components/ParticleSystems/ParticleSystem.md +92 -46
  192. package/docs/_posts/components/ParticleSystems/PointEmitter.md +19 -12
  193. package/docs/_posts/components/ParticleSystems/PolylineEmitter.md +23 -15
  194. package/docs/_posts/components/ParticleSystems/SurfaceEmitter.md +21 -14
  195. package/docs/_posts/components/ParticleSystems/VolumeEmitter.md +25 -18
  196. package/docs/_posts/components/ParticleSystems/WindPhysicsModel.md +11 -7
  197. package/docs/_posts/components/Picking/LinePickSensor.md +37 -15
  198. package/docs/_posts/components/Picking/PickableGroup.md +40 -22
  199. package/docs/_posts/components/Picking/PointPickSensor.md +29 -12
  200. package/docs/_posts/components/Picking/PrimitivePickSensor.md +25 -17
  201. package/docs/_posts/components/Picking/VolumePickSensor.md +25 -12
  202. package/docs/_posts/components/PointingDeviceSensor/CylinderSensor.md +43 -18
  203. package/docs/_posts/components/PointingDeviceSensor/PlaneSensor.md +40 -17
  204. package/docs/_posts/components/PointingDeviceSensor/SphereSensor.md +35 -13
  205. package/docs/_posts/components/PointingDeviceSensor/TouchSensor.md +48 -14
  206. package/docs/_posts/components/Rendering/ClipPlane.md +20 -15
  207. package/docs/_posts/components/Rendering/Color.md +14 -14
  208. package/docs/_posts/components/Rendering/ColorRGBA.md +13 -9
  209. package/docs/_posts/components/Rendering/Coordinate.md +11 -7
  210. package/docs/_posts/components/Rendering/IndexedLineSet.md +58 -24
  211. package/docs/_posts/components/Rendering/IndexedTriangleFanSet.md +44 -23
  212. package/docs/_posts/components/Rendering/IndexedTriangleSet.md +45 -24
  213. package/docs/_posts/components/Rendering/IndexedTriangleStripSet.md +45 -20
  214. package/docs/_posts/components/Rendering/LineSet.md +26 -14
  215. package/docs/_posts/components/Rendering/Normal.md +28 -6
  216. package/docs/_posts/components/Rendering/PointSet.md +24 -11
  217. package/docs/_posts/components/Rendering/TriangleFanSet.md +44 -19
  218. package/docs/_posts/components/Rendering/TriangleSet.md +44 -19
  219. package/docs/_posts/components/Rendering/TriangleStripSet.md +45 -20
  220. package/docs/_posts/components/RigidBodyPhysics/BallJoint.md +22 -10
  221. package/docs/_posts/components/RigidBodyPhysics/CollidableOffset.md +37 -14
  222. package/docs/_posts/components/RigidBodyPhysics/CollidableShape.md +34 -16
  223. package/docs/_posts/components/RigidBodyPhysics/CollisionCollection.md +17 -12
  224. package/docs/_posts/components/RigidBodyPhysics/CollisionSensor.md +21 -12
  225. package/docs/_posts/components/RigidBodyPhysics/CollisionSpace.md +31 -12
  226. package/docs/_posts/components/RigidBodyPhysics/Contact.md +19 -15
  227. package/docs/_posts/components/RigidBodyPhysics/DoubleAxisHingeJoint.md +33 -27
  228. package/docs/_posts/components/RigidBodyPhysics/MotorJoint.md +63 -11
  229. package/docs/_posts/components/RigidBodyPhysics/RigidBody.md +22 -12
  230. package/docs/_posts/components/RigidBodyPhysics/RigidBodyCollection.md +30 -14
  231. package/docs/_posts/components/RigidBodyPhysics/SingleAxisHingeJoint.md +26 -14
  232. package/docs/_posts/components/RigidBodyPhysics/SliderJoint.md +24 -12
  233. package/docs/_posts/components/RigidBodyPhysics/UniversalJoint.md +23 -15
  234. package/docs/_posts/components/Scripting/Script.md +43 -27
  235. package/docs/_posts/components/Shaders/ComposedShader.md +30 -17
  236. package/docs/_posts/components/Shaders/FloatVertexAttribute.md +18 -9
  237. package/docs/_posts/components/Shaders/Matrix3VertexAttribute.md +17 -8
  238. package/docs/_posts/components/Shaders/Matrix4VertexAttribute.md +17 -8
  239. package/docs/_posts/components/Shaders/PackagedShader.md +36 -30
  240. package/docs/_posts/components/Shaders/ProgramShader.md +35 -15
  241. package/docs/_posts/components/Shaders/ShaderPart.md +27 -18
  242. package/docs/_posts/components/Shaders/ShaderProgram.md +28 -17
  243. package/docs/_posts/components/Shape/AcousticProperties.md +34 -6
  244. package/docs/_posts/components/Shape/Appearance.md +29 -22
  245. package/docs/_posts/components/Shape/FillProperties.md +19 -12
  246. package/docs/_posts/components/Shape/LineProperties.md +18 -10
  247. package/docs/_posts/components/Shape/Material.md +64 -38
  248. package/docs/_posts/components/Shape/PhysicalMaterial.md +49 -25
  249. package/docs/_posts/components/Shape/PointProperties.md +21 -14
  250. package/docs/_posts/components/Shape/Shape.md +35 -17
  251. package/docs/_posts/components/Shape/TwoSidedMaterial.md +35 -36
  252. package/docs/_posts/components/Shape/UnlitMaterial.md +29 -17
  253. package/docs/_posts/components/Sound/Analyser.md +133 -4
  254. package/docs/_posts/components/Sound/AudioClip.md +64 -30
  255. package/docs/_posts/components/Sound/AudioDestination.md +76 -4
  256. package/docs/_posts/components/Sound/BiquadFilter.md +143 -4
  257. package/docs/_posts/components/Sound/BufferAudioSource.md +165 -13
  258. package/docs/_posts/components/Sound/ChannelMerger.md +62 -4
  259. package/docs/_posts/components/Sound/ChannelSelector.md +64 -4
  260. package/docs/_posts/components/Sound/ChannelSplitter.md +68 -4
  261. package/docs/_posts/components/Sound/Convolver.md +124 -4
  262. package/docs/_posts/components/Sound/Delay.md +119 -4
  263. package/docs/_posts/components/Sound/DynamicsCompressor.md +127 -4
  264. package/docs/_posts/components/Sound/Gain.md +115 -4
  265. package/docs/_posts/components/Sound/ListenerPointSource.md +109 -4
  266. package/docs/_posts/components/Sound/MicrophoneSource.md +91 -4
  267. package/docs/_posts/components/Sound/OscillatorSource.md +95 -4
  268. package/docs/_posts/components/Sound/PeriodicWave.md +43 -5
  269. package/docs/_posts/components/Sound/Sound.md +53 -20
  270. package/docs/_posts/components/Sound/SpatialSound.md +120 -4
  271. package/docs/_posts/components/Sound/StreamAudioDestination.md +80 -4
  272. package/docs/_posts/components/Sound/StreamAudioSource.md +91 -4
  273. package/docs/_posts/components/Sound/WaveShaper.md +123 -4
  274. package/docs/_posts/components/Text/FontStyle.md +73 -47
  275. package/docs/_posts/components/Text/Text.md +48 -26
  276. package/docs/_posts/components/TextureProjector/TextureProjector.md +55 -6
  277. package/docs/_posts/components/TextureProjector/TextureProjectorParallel.md +56 -6
  278. package/docs/_posts/components/Texturing/ImageTexture.md +28 -20
  279. package/docs/_posts/components/Texturing/MovieTexture.md +69 -38
  280. package/docs/_posts/components/Texturing/MultiTexture.md +47 -19
  281. package/docs/_posts/components/Texturing/MultiTextureCoordinate.md +27 -10
  282. package/docs/_posts/components/Texturing/MultiTextureTransform.md +32 -10
  283. package/docs/_posts/components/Texturing/PixelTexture.md +34 -14
  284. package/docs/_posts/components/Texturing/TextureCoordinate.md +20 -10
  285. package/docs/_posts/components/Texturing/TextureCoordinateGenerator.md +22 -12
  286. package/docs/_posts/components/Texturing/TextureProperties.md +44 -19
  287. package/docs/_posts/components/Texturing/TextureTransform.md +17 -8
  288. package/docs/_posts/components/Texturing3D/ComposedTexture3D.md +21 -13
  289. package/docs/_posts/components/Texturing3D/ImageTexture3D.md +32 -23
  290. package/docs/_posts/components/Texturing3D/ImageTextureAtlas.md +22 -16
  291. package/docs/_posts/components/Texturing3D/PixelTexture3D.md +25 -13
  292. package/docs/_posts/components/Texturing3D/TextureCoordinate3D.md +22 -10
  293. package/docs/_posts/components/Texturing3D/TextureCoordinate4D.md +21 -9
  294. package/docs/_posts/components/Texturing3D/TextureTransform3D.md +17 -8
  295. package/docs/_posts/components/Texturing3D/TextureTransformMatrix3D.md +20 -10
  296. package/docs/_posts/components/Time/TimeSensor.md +66 -23
  297. package/docs/_posts/components/VolumeRendering/BlendedVolumeStyle.md +36 -15
  298. package/docs/_posts/components/VolumeRendering/BoundaryEnhancementVolumeStyle.md +15 -5
  299. package/docs/_posts/components/VolumeRendering/CartoonVolumeStyle.md +20 -17
  300. package/docs/_posts/components/VolumeRendering/ComposedVolumeStyle.md +15 -7
  301. package/docs/_posts/components/VolumeRendering/EdgeEnhancementVolumeStyle.md +16 -8
  302. package/docs/_posts/components/VolumeRendering/IsoSurfaceVolumeData.md +43 -21
  303. package/docs/_posts/components/VolumeRendering/OpacityMapVolumeStyle.md +16 -8
  304. package/docs/_posts/components/VolumeRendering/ProjectionVolumeStyle.md +17 -7
  305. package/docs/_posts/components/VolumeRendering/SegmentedVolumeData.md +50 -17
  306. package/docs/_posts/components/VolumeRendering/ShadedVolumeStyle.md +18 -10
  307. package/docs/_posts/components/VolumeRendering/SilhouetteEnhancementVolumeStyle.md +16 -8
  308. package/docs/_posts/components/VolumeRendering/ToneMappedVolumeStyle.md +20 -11
  309. package/docs/_posts/components/VolumeRendering/VolumeData.md +32 -15
  310. package/docs/_posts/components/X_ITE/BlendMode.md +9 -2
  311. package/docs/_posts/getting-started.md +4 -7
  312. package/docs/_posts/laboratory/x3d-file-converter.md +1 -1
  313. package/docs/laboratory/gltf-sample-viewer.html +52 -4
  314. package/package.json +2 -1
  315. package/src/standard/Math/Geometry/Box2.js +12 -2
  316. package/src/standard/Math/Geometry/Box3.js +12 -2
  317. package/src/x_ite/Base/X3DObjectArrayField.js +3 -2
  318. package/src/x_ite/Base/X3DTypedArrayField.js +3 -2
  319. package/src/x_ite/Browser/Core/X3DCoreContext.js +10 -3
  320. package/src/x_ite/Browser/DOMIntegration.js +13 -8
  321. package/src/x_ite/Browser/VERSION.js +1 -1
  322. package/src/x_ite/Components/CubeMapTexturing/ComposedCubeMapTexture.js +1 -1
  323. package/src/x_ite/Components/DIS/DISEntityManager.js +1 -1
  324. package/src/x_ite/Components/Grouping/Switch.js +1 -1
  325. package/src/x_ite/Components/HAnim/HAnimHumanoid.js +105 -68
  326. package/src/x_ite/Components/HAnim/HAnimMotion.js +3 -3
  327. package/src/x_ite/Components/Layering/X3DLayerNode.js +1 -1
  328. package/src/x_ite/Components/Lighting/DirectionalLight.js +1 -1
  329. package/src/x_ite/Components/Navigation/Collision.js +1 -1
  330. package/src/x_ite/Components/Navigation/LOD.js +1 -1
  331. package/src/x_ite/Components/Navigation/X3DViewpointNode.js +1 -1
  332. package/src/x_ite/Components/Networking/LoadSensor.js +1 -1
  333. package/src/x_ite/Components/ParticleSystems/ParticleSystem.js +1 -1
  334. package/src/x_ite/Components/Rendering/X3DComposedGeometryNode.js +1 -1
  335. package/src/x_ite/Components/Shape/AcousticProperties.js +1 -1
  336. package/src/x_ite/Components/Shape/Appearance.js +1 -1
  337. package/src/x_ite/Components/Shape/Material.js +1 -1
  338. package/src/x_ite/Components/Shape/TwoSidedMaterial.js +1 -1
  339. package/src/x_ite/Components/Sound/PeriodicWave.js +1 -1
  340. package/src/x_ite/Components/Texturing/TextureProperties.js +1 -1
  341. package/src/x_ite/Fields/ArrayFields.js +9 -7
  342. package/src/x_ite/Fields/SFColor.js +1 -1
  343. package/src/x_ite/Fields/SFMatrixPrototypeTemplate.js +1 -1
  344. package/src/x_ite/Fields/SFRotation.js +3 -3
  345. package/src/x_ite/Fields/SFVecPrototypeTemplate.js +1 -1
  346. package/src/x_ite/Parser/GLTF2Parser.js +316 -55
  347. package/src/x_ite/Parser/GoldenGate.js +16 -5
  348. package/src/x_ite/Parser/PLYAParser.js +615 -0
  349. package/src/x_ite/Parser/PLYBParser.js +222 -0
  350. package/src/x_ite/Parser/STLAParser.js +0 -1
  351. package/src/x_ite/Parser/SVGParser.js +1 -1
  352. /package/build/{bin → docs}/components.js +0 -0
@@ -1,4 +1,4 @@
1
- /* X_ITE v8.8.7 */(() => { // webpackBootstrap
1
+ /* X_ITE v8.9.1 */(() => { // webpackBootstrap
2
2
  /******/ "use strict";
3
3
  /******/ // The require scope
4
4
  /******/ var __webpack_require__ = {};
@@ -39,25 +39,25 @@ 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.8.7")] .require ("x_ite/Components");
42
+ const Components_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.9.1")] .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.8.7")] .require ("x_ite/Fields");
45
+ const Fields_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.9.1")] .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/Base/X3DFieldDefinition\")"
48
- const X3DFieldDefinition_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.8.7")] .require ("x_ite/Base/X3DFieldDefinition");
48
+ const X3DFieldDefinition_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.9.1")] .require ("x_ite/Base/X3DFieldDefinition");
49
49
  var X3DFieldDefinition_default = /*#__PURE__*/__webpack_require__.n(X3DFieldDefinition_namespaceObject);
50
50
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Base/FieldDefinitionArray\")"
51
- const FieldDefinitionArray_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.8.7")] .require ("x_ite/Base/FieldDefinitionArray");
51
+ const FieldDefinitionArray_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.9.1")] .require ("x_ite/Base/FieldDefinitionArray");
52
52
  var FieldDefinitionArray_default = /*#__PURE__*/__webpack_require__.n(FieldDefinitionArray_namespaceObject);
53
53
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Components/Rendering/X3DGeometricPropertyNode\")"
54
- const X3DGeometricPropertyNode_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.8.7")] .require ("x_ite/Components/Rendering/X3DGeometricPropertyNode");
54
+ const X3DGeometricPropertyNode_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.9.1")] .require ("x_ite/Components/Rendering/X3DGeometricPropertyNode");
55
55
  var X3DGeometricPropertyNode_default = /*#__PURE__*/__webpack_require__.n(X3DGeometricPropertyNode_namespaceObject);
56
56
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Base/X3DConstants\")"
57
- const X3DConstants_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.8.7")] .require ("x_ite/Base/X3DConstants");
57
+ const X3DConstants_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.9.1")] .require ("x_ite/Base/X3DConstants");
58
58
  var X3DConstants_default = /*#__PURE__*/__webpack_require__.n(X3DConstants_namespaceObject);
59
59
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Namespace\")"
60
- const Namespace_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.8.7")] .require ("x_ite/Namespace");
60
+ const Namespace_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.9.1")] .require ("x_ite/Namespace");
61
61
  var Namespace_default = /*#__PURE__*/__webpack_require__.n(Namespace_namespaceObject);
62
62
  ;// CONCATENATED MODULE: ./src/x_ite/Components/HAnim/HAnimDisplacer.js
63
63
  /*******************************************************************************
@@ -166,29 +166,31 @@ const __default__ = HAnimDisplacer;
166
166
  Namespace_default().set ("x_ite/Components/HAnim/HAnimDisplacer", __default__);
167
167
  /* harmony default export */ const HAnim_HAnimDisplacer = (__default__);
168
168
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Components/Core/X3DChildNode\")"
169
- const X3DChildNode_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.8.7")] .require ("x_ite/Components/Core/X3DChildNode");
169
+ const X3DChildNode_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.9.1")] .require ("x_ite/Components/Core/X3DChildNode");
170
170
  var X3DChildNode_default = /*#__PURE__*/__webpack_require__.n(X3DChildNode_namespaceObject);
171
171
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Components/Grouping/Group\")"
172
- const Group_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.8.7")] .require ("x_ite/Components/Grouping/Group");
172
+ const Group_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.9.1")] .require ("x_ite/Components/Grouping/Group");
173
173
  var Group_default = /*#__PURE__*/__webpack_require__.n(Group_namespaceObject);
174
174
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Components/Grouping/Transform\")"
175
- const Transform_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.8.7")] .require ("x_ite/Components/Grouping/Transform");
175
+ const Transform_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.9.1")] .require ("x_ite/Components/Grouping/Transform");
176
176
  var Transform_default = /*#__PURE__*/__webpack_require__.n(Transform_namespaceObject);
177
177
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Components/Grouping/X3DBoundedObject\")"
178
- const X3DBoundedObject_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.8.7")] .require ("x_ite/Components/Grouping/X3DBoundedObject");
178
+ const X3DBoundedObject_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.9.1")] .require ("x_ite/Components/Grouping/X3DBoundedObject");
179
179
  var X3DBoundedObject_default = /*#__PURE__*/__webpack_require__.n(X3DBoundedObject_namespaceObject);
180
180
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Rendering/TraverseType\")"
181
- const TraverseType_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.8.7")] .require ("x_ite/Rendering/TraverseType");
181
+ const TraverseType_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.9.1")] .require ("x_ite/Rendering/TraverseType");
182
182
  var TraverseType_default = /*#__PURE__*/__webpack_require__.n(TraverseType_namespaceObject);
183
183
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Base/X3DCast\")"
184
- const X3DCast_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.8.7")] .require ("x_ite/Base/X3DCast");
184
+ const X3DCast_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.9.1")] .require ("x_ite/Base/X3DCast");
185
185
  var X3DCast_default = /*#__PURE__*/__webpack_require__.n(X3DCast_namespaceObject);
186
- ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"standard/Math/Numbers/Matrix4\")"
187
- const Matrix4_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.8.7")] .require ("standard/Math/Numbers/Matrix4");
188
- var Matrix4_default = /*#__PURE__*/__webpack_require__.n(Matrix4_namespaceObject);
189
186
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"standard/Math/Numbers/Vector3\")"
190
- const Vector3_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.8.7")] .require ("standard/Math/Numbers/Vector3");
187
+ const Vector3_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.9.1")] .require ("standard/Math/Numbers/Vector3");
191
188
  var Vector3_default = /*#__PURE__*/__webpack_require__.n(Vector3_namespaceObject);
189
+ ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"standard/Math/Numbers/Rotation4\")"
190
+ const Rotation4_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.9.1")] .require ("standard/Math/Numbers/Rotation4");
191
+ ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"standard/Math/Numbers/Matrix4\")"
192
+ const Matrix4_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.9.1")] .require ("standard/Math/Numbers/Matrix4");
193
+ var Matrix4_default = /*#__PURE__*/__webpack_require__.n(Matrix4_namespaceObject);
192
194
  ;// CONCATENATED MODULE: ./src/x_ite/Components/HAnim/HAnimHumanoid.js
193
195
  /*******************************************************************************
194
196
  *
@@ -250,6 +252,7 @@ var Vector3_default = /*#__PURE__*/__webpack_require__.n(Vector3_namespaceObject
250
252
 
251
253
 
252
254
 
255
+
253
256
  function HAnimHumanoid (executionContext)
254
257
  {
255
258
  X3DChildNode_default().call (this, executionContext);
@@ -262,16 +265,17 @@ function HAnimHumanoid (executionContext)
262
265
  this ._bboxSize .setUnit ("length");
263
266
  this ._bboxCenter .setUnit ("length");
264
267
 
265
- this .skeletonNode = new (Group_default()) (executionContext);
266
- this .viewpointsNode = new (Group_default()) (executionContext);
267
- this .skinNode = new (Group_default()) (executionContext);
268
- this .transformNode = new (Transform_default()) (executionContext);
269
- this .jointNodes = [ ];
270
- this .skinNormalNode = null;
271
- this .skinCoordNode = null;
272
- this .restNormalNode = null;
273
- this .restCoordNode = null;
274
- this .changed = false;
268
+ this .skeletonNode = new (Group_default()) (executionContext);
269
+ this .viewpointsNode = new (Group_default()) (executionContext);
270
+ this .skinNode = new (Group_default()) (executionContext);
271
+ this .transformNode = new (Transform_default()) (executionContext);
272
+ this .jointNodes = [ ];
273
+ this .jointBindingMatrices = [ ];
274
+ this .skinBindingNormal = null;
275
+ this .skinBindingCoord = null;
276
+ this .skinNormalNode = null;
277
+ this .skinCoordNode = null;
278
+ this .changed = false;
275
279
  }
276
280
 
277
281
  Object .assign (Object .setPrototypeOf (HAnimHumanoid .prototype, (X3DChildNode_default()).prototype),
@@ -337,13 +341,18 @@ Object .assign (Object .setPrototypeOf (HAnimHumanoid .prototype, (X3DChildNode_
337
341
 
338
342
  // Skinning
339
343
 
340
- this ._joints .addInterest ("set_joints__", this);
341
- this ._skinNormal .addInterest ("set_skinNormal__", this);
342
- this ._skinCoord .addInterest ("set_skinCoord__", this);
344
+ this ._joints .addInterest ("set_joints__", this);
345
+ this ._jointBindingPositions .addInterest ("set_joints__", this);
346
+ this ._jointBindingRotations .addInterest ("set_joints__", this);
347
+ this ._jointBindingScales .addInterest ("set_joints__", this);
348
+ this ._skinBindingNormal .addInterest ("set_skinBindingNormal__", this);
349
+ this ._skinBindingCoord .addInterest ("set_skinBindingCoord__", this);
350
+ this ._skinNormal .addInterest ("set_skinNormal__", this);
351
+ this ._skinCoord .addInterest ("set_skinCoord__", this);
343
352
 
344
353
  this .set_joints__ ();
345
- this .set_skinNormal__ ();
346
- this .set_skinCoord__ ();
354
+ this .set_skinBindingNormal__ ();
355
+ this .set_skinBindingCoord__ ();
347
356
  },
348
357
  getBBox (bbox, shadows)
349
358
  {
@@ -351,19 +360,39 @@ Object .assign (Object .setPrototypeOf (HAnimHumanoid .prototype, (X3DChildNode_
351
360
  },
352
361
  set_joints__ ()
353
362
  {
354
- const jointNodes = this .jointNodes;
363
+ const
364
+ jointNodes = this .jointNodes,
365
+ jointBindingMatrices = this .jointBindingMatrices,
366
+ jointBindingPositions = this ._jointBindingPositions,
367
+ jointBindingRotations = this ._jointBindingRotations,
368
+ jointBindingScales = this ._jointBindingScales;
355
369
 
356
370
  for (const jointNode of jointNodes)
357
371
  jointNode .removeInterest ("set_joint__", this);
358
372
 
359
- jointNodes .length = 0;
373
+ jointNodes .length = 0;
374
+ jointBindingMatrices .length = 0;
360
375
 
361
- for (const node of this ._joints)
376
+ for (const [i, node] of this ._joints .entries ())
362
377
  {
363
378
  const jointNode = X3DCast_default() ((X3DConstants_default()).HAnimJoint, node);
364
379
 
365
380
  if (jointNode)
366
- jointNodes .push (jointNode);
381
+ {
382
+ const jointBindingMatrix = new (Matrix4_default()) ();
383
+
384
+ if (jointBindingPositions .length)
385
+ jointBindingMatrix .translate (jointBindingPositions [Math .min (i, jointBindingPositions .length - 1)] .getValue ());
386
+
387
+ if (jointBindingRotations .length)
388
+ jointBindingMatrix .rotate (jointBindingRotations [Math .min (i, jointBindingRotations .length - 1)] .getValue ());
389
+
390
+ if (jointBindingScales .length)
391
+ jointBindingMatrix .scale (jointBindingScales [Math .min (i, jointBindingScales .length - 1)] .getValue ());
392
+
393
+ jointNodes .push (jointNode);
394
+ jointBindingMatrices .push (jointBindingMatrix);
395
+ }
367
396
  }
368
397
 
369
398
  for (const jointNode of jointNodes)
@@ -375,33 +404,38 @@ Object .assign (Object .setPrototypeOf (HAnimHumanoid .prototype, (X3DChildNode_
375
404
  {
376
405
  this .changed = true;
377
406
  },
378
- set_skinNormal__ ()
407
+ set_skinBindingNormal__ ()
408
+ {
409
+ this .skinBindingNormal = X3DCast_default() ((X3DConstants_default()).X3DNormalNode, this ._skinBindingNormal);
410
+
411
+ this .set_skinNormal__ ();
412
+ },
413
+ set_skinBindingCoord__ ()
379
414
  {
380
- this .restNormalNode = null;
415
+ this .skinBindingCoord = X3DCast_default() ((X3DConstants_default()).X3DCoordinateNode, this ._skinBindingCoord);
381
416
 
417
+ this .set_skinCoord__ ();
418
+ },
419
+ set_skinNormal__ ()
420
+ {
382
421
  this .skinNormalNode = X3DCast_default() ((X3DConstants_default()).X3DNormalNode, this ._skinNormal);
383
422
 
384
- if (this .skinNormalNode)
385
- this .restNormalNode = this .skinNormalNode .copy ();
423
+ if (!this .skinBindingNormal && this .skinNormalNode)
424
+ this .skinBindingNormal = this .skinNormalNode .copy ();
386
425
 
387
426
  this .changed = true;
388
427
  },
389
428
  set_skinCoord__ ()
390
429
  {
391
- this .restCoordNode = null;
392
-
393
430
  this .skinCoordNode = X3DCast_default() ((X3DConstants_default()).X3DCoordinateNode, this ._skinCoord);
394
431
 
395
- if (this .skinCoordNode)
396
- {
397
- this .restCoordNode = this .skinCoordNode .copy ();
432
+ if (!this .skinBindingCoord && this .skinCoordNode)
433
+ this .skinBindingCoord = this .skinCoordNode .copy ();
398
434
 
435
+ if (this .skinCoordNode)
399
436
  delete this .skinning;
400
- }
401
437
  else
402
- {
403
438
  this .skinning = Function .prototype
404
- }
405
439
 
406
440
  this .changed = true;
407
441
  },
@@ -415,9 +449,9 @@ Object .assign (Object .setPrototypeOf (HAnimHumanoid .prototype, (X3DChildNode_
415
449
  {
416
450
  const
417
451
  invModelMatrix = new (Matrix4_default()) (),
418
- vector = new (Vector3_default()) (0, 0, 0),
419
452
  rest = new (Vector3_default()) (0, 0, 0),
420
453
  skin = new (Vector3_default()) (0, 0, 0),
454
+ vector = new (Vector3_default()) (0, 0, 0),
421
455
  point = new (Vector3_default()) (0, 0, 0);
422
456
 
423
457
  return function (type, renderObject)
@@ -431,31 +465,36 @@ Object .assign (Object .setPrototypeOf (HAnimHumanoid .prototype, (X3DChildNode_
431
465
  this .changed = false;
432
466
 
433
467
  const
434
- jointNodes = this .jointNodes,
435
- skinNormalNode = this .skinNormalNode,
436
- skinCoordNode = this .skinCoordNode,
437
- restNormalNode = this .restNormalNode,
438
- restCoordNode = this .restCoordNode;
468
+ jointNodes = this .jointNodes,
469
+ jointNodesLength = jointNodes .length,
470
+ jointBindingMatrices = this .jointBindingMatrices,
471
+ skinBindingNormal = this .skinBindingNormal,
472
+ skinBindingCoord = this .skinBindingCoord,
473
+ skinNormalNode = this .skinNormalNode,
474
+ skinCoordNode = this .skinCoordNode;
439
475
 
440
476
  // Reset skin normals and coords.
441
477
 
442
478
  if (skinNormalNode)
443
- skinNormalNode ._vector .assign (restNormalNode ._vector);
479
+ skinNormalNode ._vector .assign (skinBindingNormal ._vector);
444
480
 
445
- skinCoordNode ._point .assign (restCoordNode ._point);
481
+ skinCoordNode ._point .assign (skinBindingCoord ._point);
446
482
 
447
483
  // Determine inverse model matrix of humanoid.
448
484
 
449
- invModelMatrix .assign (this .transformNode .getMatrix ()) .multRight (renderObject .getModelViewMatrix () .get ()) .inverse ();
485
+ invModelMatrix .assign (this .transformNode .getMatrix ())
486
+ .multRight (renderObject .getModelViewMatrix () .get ()) .inverse ();
450
487
 
451
488
  // Apply joint transformations.
452
489
 
453
- for (const jointNode of jointNodes)
490
+ for (let i = 0; i < jointNodesLength; ++ i)
454
491
  {
455
492
  const
456
- skinCoordIndexLength = jointNode ._skinCoordIndex .length,
457
- jointMatrix = jointNode .getModelMatrix () .multRight (invModelMatrix),
458
- displacerNodes = jointNode .getDisplacers ();
493
+ jointNode = jointNodes [i],
494
+ jointBindingMatrix = jointBindingMatrices [i],
495
+ jointMatrix = jointNode .getModelMatrix () .multRight (invModelMatrix) .multLeft (jointBindingMatrix),
496
+ displacerNodes = jointNode .getDisplacers (),
497
+ skinCoordIndexLength = jointNode ._skinCoordIndex .length;
459
498
 
460
499
  for (const displacerNode of displacerNodes)
461
500
  {
@@ -493,15 +532,15 @@ Object .assign (Object .setPrototypeOf (HAnimHumanoid .prototype, (X3DChildNode_
493
532
 
494
533
  if (skinNormalNode)
495
534
  {
496
- rest .assign (restNormalNode .get1Vector (index, vector));
535
+ rest .assign (skinBindingNormal .get1Vector (index, vector));
497
536
  skinNormalNode .get1Vector (index, skin);
498
537
  normalMatrix .multVecMatrix (vector) .subtract (rest) .multiply (weight) .add (skin);
499
538
  skinNormalNode .set1Vector (index, vector);
500
- // Should the normals be normalized at end, or let it the shader do?
539
+ // Let the shader normalize the normals.
501
540
  }
502
541
 
503
542
  //skin += (rest * J - rest) * weight
504
- rest .assign (restCoordNode .get1Point (index, point));
543
+ rest .assign (skinBindingCoord .get1Point (index, point));
505
544
  skinCoordNode .get1Point (index, skin);
506
545
  jointMatrix .multVecMatrix (point) .subtract (rest) .multiply (weight) .add (skin);
507
546
  skinCoordNode .set1Point (index, point);
@@ -511,31 +550,31 @@ Object .assign (Object .setPrototypeOf (HAnimHumanoid .prototype, (X3DChildNode_
511
550
  })(),
512
551
  toVRMLStream (generator)
513
552
  {
514
- if (this .skinCoordNode)
515
- this .skinCoordNode ._point = this .restCoordNode ._point;
516
-
517
553
  if (this .skinNormalNode)
518
- this .skinNormalNode ._vector = this .restNormalNode ._vector;
554
+ this .skinNormalNode ._vector = this .skinBindingNormal ._vector;
555
+
556
+ if (this .skinCoordNode)
557
+ this .skinCoordNode ._point = this .skinBindingCoord ._point;
519
558
 
520
559
  X3DChildNode_default().prototype .toVRMLStream .call (this, generator);
521
560
  },
522
561
  toXMLStream (generator)
523
562
  {
524
- if (this .skinCoordNode)
525
- this .skinCoordNode ._point = this .restCoordNode ._point;
526
-
527
563
  if (this .skinNormalNode)
528
- this .skinNormalNode ._vector = this .restNormalNode ._vector;
564
+ this .skinNormalNode ._vector = this .skinBindingNormal ._vector;
565
+
566
+ if (this .skinCoordNode)
567
+ this .skinCoordNode ._point = this .skinBindingCoord ._point;
529
568
 
530
569
  X3DChildNode_default().prototype .toXMLStream .call (this, generator);
531
570
  },
532
571
  toJSONStream (generator)
533
572
  {
534
- if (this .skinCoordNode)
535
- this .skinCoordNode ._point = this .restCoordNode ._point;
536
-
537
573
  if (this .skinNormalNode)
538
- this .skinNormalNode ._vector = this .restNormalNode ._vector;
574
+ this .skinNormalNode ._vector = this .skinBindingNormal ._vector;
575
+
576
+ if (this .skinCoordNode)
577
+ this .skinCoordNode ._point = this .skinBindingCoord ._point;
539
578
 
540
579
  X3DChildNode_default().prototype .toJSONStream .call (this, generator);
541
580
  },
@@ -572,31 +611,31 @@ Object .defineProperties (HAnimHumanoid,
572
611
  {
573
612
  value: new (FieldDefinitionArray_default()) ([
574
613
  new (X3DFieldDefinition_default()) ((X3DConstants_default()).inputOutput, "metadata", new (Fields_default()).SFNode ()),
614
+ new (X3DFieldDefinition_default()) ((X3DConstants_default()).inputOutput, "version", new (Fields_default()).SFString ()),
575
615
  new (X3DFieldDefinition_default()) ((X3DConstants_default()).inputOutput, "description", new (Fields_default()).SFString ()),
576
616
  new (X3DFieldDefinition_default()) ((X3DConstants_default()).inputOutput, "name", new (Fields_default()).SFString ()),
577
- new (X3DFieldDefinition_default()) ((X3DConstants_default()).inputOutput, "version", new (Fields_default()).SFString ()),
578
617
  new (X3DFieldDefinition_default()) ((X3DConstants_default()).inputOutput, "info", new (Fields_default()).MFString ()),
579
618
  new (X3DFieldDefinition_default()) ((X3DConstants_default()).inputOutput, "translation", new (Fields_default()).SFVec3f ()),
580
619
  new (X3DFieldDefinition_default()) ((X3DConstants_default()).inputOutput, "rotation", new (Fields_default()).SFRotation ()),
581
620
  new (X3DFieldDefinition_default()) ((X3DConstants_default()).inputOutput, "scale", new (Fields_default()).SFVec3f (1, 1, 1)),
582
621
  new (X3DFieldDefinition_default()) ((X3DConstants_default()).inputOutput, "scaleOrientation", new (Fields_default()).SFRotation ()),
583
622
  new (X3DFieldDefinition_default()) ((X3DConstants_default()).inputOutput, "center", new (Fields_default()).SFVec3f ()),
584
- new (X3DFieldDefinition_default()) ((X3DConstants_default()).inputOutput, "jointBindingPositions", new (Fields_default()).MFVec3f ()),
585
- new (X3DFieldDefinition_default()) ((X3DConstants_default()).inputOutput, "jointBindingRotations", new (Fields_default()).MFRotation ()),
586
- new (X3DFieldDefinition_default()) ((X3DConstants_default()).inputOutput, "jointBindingScales", new (Fields_default()).MFVec3f ()),
587
- new (X3DFieldDefinition_default()) ((X3DConstants_default()).inputOutput, "motionsEnabled", new (Fields_default()).MFBool ()),
588
- new (X3DFieldDefinition_default()) ((X3DConstants_default()).inputOutput, "loa", new (Fields_default()).SFInt32 (-1)),
589
- new (X3DFieldDefinition_default()) ((X3DConstants_default()).inputOutput, "skeletalConfiguration", new (Fields_default()).SFString ("BASIC")),
590
623
  new (X3DFieldDefinition_default()) ((X3DConstants_default()).inputOutput, "visible", new (Fields_default()).SFBool (true)),
591
624
  new (X3DFieldDefinition_default()) ((X3DConstants_default()).inputOutput, "bboxDisplay", new (Fields_default()).SFBool ()),
592
625
  new (X3DFieldDefinition_default()) ((X3DConstants_default()).initializeOnly, "bboxSize", new (Fields_default()).SFVec3f (-1, -1, -1)),
593
626
  new (X3DFieldDefinition_default()) ((X3DConstants_default()).initializeOnly, "bboxCenter", new (Fields_default()).SFVec3f ()),
627
+ new (X3DFieldDefinition_default()) ((X3DConstants_default()).inputOutput, "loa", new (Fields_default()).SFInt32 (-1)),
628
+ new (X3DFieldDefinition_default()) ((X3DConstants_default()).inputOutput, "skeletalConfiguration", new (Fields_default()).SFString ("BASIC")),
594
629
  new (X3DFieldDefinition_default()) ((X3DConstants_default()).inputOutput, "skeleton", new (Fields_default()).MFNode ()),
595
630
  new (X3DFieldDefinition_default()) ((X3DConstants_default()).inputOutput, "viewpoints", new (Fields_default()).MFNode ()),
596
631
  new (X3DFieldDefinition_default()) ((X3DConstants_default()).inputOutput, "sites", new (Fields_default()).MFNode ()),
597
632
  new (X3DFieldDefinition_default()) ((X3DConstants_default()).inputOutput, "segments", new (Fields_default()).MFNode ()),
598
- new (X3DFieldDefinition_default()) ((X3DConstants_default()).inputOutput, "joints", new (Fields_default()).MFNode ()),
633
+ new (X3DFieldDefinition_default()) ((X3DConstants_default()).inputOutput, "motionsEnabled", new (Fields_default()).MFBool ()),
599
634
  new (X3DFieldDefinition_default()) ((X3DConstants_default()).inputOutput, "motions", new (Fields_default()).MFNode ()),
635
+ new (X3DFieldDefinition_default()) ((X3DConstants_default()).inputOutput, "jointBindingPositions", new (Fields_default()).MFVec3f ()),
636
+ new (X3DFieldDefinition_default()) ((X3DConstants_default()).inputOutput, "jointBindingRotations", new (Fields_default()).MFRotation ()),
637
+ new (X3DFieldDefinition_default()) ((X3DConstants_default()).inputOutput, "jointBindingScales", new (Fields_default()).MFVec3f ()),
638
+ new (X3DFieldDefinition_default()) ((X3DConstants_default()).inputOutput, "joints", new (Fields_default()).MFNode ()),
600
639
  new (X3DFieldDefinition_default()) ((X3DConstants_default()).inputOutput, "skinBindingNormal", new (Fields_default()).SFNode ()),
601
640
  new (X3DFieldDefinition_default()) ((X3DConstants_default()).inputOutput, "skinBindingCoord", new (Fields_default()).SFNode ()),
602
641
  new (X3DFieldDefinition_default()) ((X3DConstants_default()).inputOutput, "skinNormal", new (Fields_default()).SFNode ()),
@@ -613,7 +652,7 @@ const HAnimHumanoid_default_ = HAnimHumanoid;
613
652
  Namespace_default().set ("x_ite/Components/HAnim/HAnimHumanoid", HAnimHumanoid_default_);
614
653
  /* harmony default export */ const HAnim_HAnimHumanoid = (HAnimHumanoid_default_);
615
654
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Components/Grouping/X3DTransformNode\")"
616
- const X3DTransformNode_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.8.7")] .require ("x_ite/Components/Grouping/X3DTransformNode");
655
+ const X3DTransformNode_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.9.1")] .require ("x_ite/Components/Grouping/X3DTransformNode");
617
656
  var X3DTransformNode_default = /*#__PURE__*/__webpack_require__.n(X3DTransformNode_namespaceObject);
618
657
  ;// CONCATENATED MODULE: ./src/x_ite/Components/HAnim/HAnimJoint.js
619
658
  /*******************************************************************************
@@ -905,16 +944,16 @@ Object .defineProperties (HAnimMotion,
905
944
  new (X3DFieldDefinition_default()) ((X3DConstants_default()).inputOutput, "enabled", new (Fields_default()).SFBool (true)),
906
945
  new (X3DFieldDefinition_default()) ((X3DConstants_default()).inputOnly, "next", new (Fields_default()).SFBool ()),
907
946
  new (X3DFieldDefinition_default()) ((X3DConstants_default()).inputOnly, "previous", new (Fields_default()).SFBool ()),
947
+ new (X3DFieldDefinition_default()) ((X3DConstants_default()).inputOutput, "startFrame", new (Fields_default()).SFInt32 ()),
948
+ new (X3DFieldDefinition_default()) ((X3DConstants_default()).inputOutput, "endFrame", new (Fields_default()).SFInt32 ()),
908
949
  new (X3DFieldDefinition_default()) ((X3DConstants_default()).inputOutput, "frameDuration", new (Fields_default()).SFTime (0.1)),
909
950
  new (X3DFieldDefinition_default()) ((X3DConstants_default()).inputOutput, "frameIncrement", new (Fields_default()).SFInt32 (1)),
910
951
  new (X3DFieldDefinition_default()) ((X3DConstants_default()).inputOutput, "frameIndex", new (Fields_default()).SFInt32 (0)),
911
952
  new (X3DFieldDefinition_default()) ((X3DConstants_default()).inputOutput, "loop", new (Fields_default()).SFBool ()),
912
- new (X3DFieldDefinition_default()) ((X3DConstants_default()).inputOutput, "channels", new (Fields_default()).SFString ()),
913
953
  new (X3DFieldDefinition_default()) ((X3DConstants_default()).inputOutput, "channelsEnabled", new (Fields_default()).MFBool ()),
954
+ new (X3DFieldDefinition_default()) ((X3DConstants_default()).inputOutput, "channels", new (Fields_default()).SFString ()),
914
955
  new (X3DFieldDefinition_default()) ((X3DConstants_default()).inputOutput, "joints", new (Fields_default()).SFString ()),
915
956
  new (X3DFieldDefinition_default()) ((X3DConstants_default()).inputOutput, "loa", new (Fields_default()).SFInt32 (-1)),
916
- new (X3DFieldDefinition_default()) ((X3DConstants_default()).inputOutput, "startFrame", new (Fields_default()).SFInt32 ()),
917
- new (X3DFieldDefinition_default()) ((X3DConstants_default()).inputOutput, "endFrame", new (Fields_default()).SFInt32 ()),
918
957
  new (X3DFieldDefinition_default()) ((X3DConstants_default()).inputOutput, "values", new (Fields_default()).MFFloat ()),
919
958
  new (X3DFieldDefinition_default()) ((X3DConstants_default()).outputOnly, "cycleTime", new (Fields_default()).SFTime ()),
920
959
  new (X3DFieldDefinition_default()) ((X3DConstants_default()).outputOnly, "elapsedTime", new (Fields_default()).SFTime ()),
@@ -930,7 +969,7 @@ const HAnimMotion_default_ = HAnimMotion;
930
969
  Namespace_default().set ("x_ite/Components/HAnim/HAnimMotion", HAnimMotion_default_);
931
970
  /* harmony default export */ const HAnim_HAnimMotion = (HAnimMotion_default_);
932
971
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Components/Grouping/X3DGroupingNode\")"
933
- const X3DGroupingNode_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.8.7")] .require ("x_ite/Components/Grouping/X3DGroupingNode");
972
+ const X3DGroupingNode_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.9.1")] .require ("x_ite/Components/Grouping/X3DGroupingNode");
934
973
  var X3DGroupingNode_default = /*#__PURE__*/__webpack_require__.n(X3DGroupingNode_namespaceObject);
935
974
  ;// CONCATENATED MODULE: ./src/x_ite/Components/HAnim/HAnimSegment.js
936
975
  /*******************************************************************************
@@ -1 +1 @@
1
- /* X_ITE v8.8.7 */(()=>{"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.8.7")].require("x_ite/Components");var n=e.n(t);const i=window[Symbol.for("X_ITE.X3D-8.8.7")].require("x_ite/Fields");var o=e.n(i);const s=window[Symbol.for("X_ITE.X3D-8.8.7")].require("x_ite/Base/X3DFieldDefinition");var r=e.n(s);const a=window[Symbol.for("X_ITE.X3D-8.8.7")].require("x_ite/Base/FieldDefinitionArray");var u=e.n(a);const l=window[Symbol.for("X_ITE.X3D-8.8.7")].require("x_ite/Components/Rendering/X3DGeometricPropertyNode");var d=e.n(l);const p=window[Symbol.for("X_ITE.X3D-8.8.7")].require("x_ite/Base/X3DConstants");var w=e.n(p);const c=window[Symbol.for("X_ITE.X3D-8.8.7")].require("x_ite/Namespace");var m=e.n(c);function h(e){d().call(this,e),this.addType(w().HAnimDisplacer),this._displacements.setUnit("length")}Object.setPrototypeOf(h.prototype,d().prototype),Object.defineProperties(h,{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(u())([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 _=h;m().set("x_ite/Components/HAnim/HAnimDisplacer",_);const N=_,O=window[Symbol.for("X_ITE.X3D-8.8.7")].require("x_ite/Components/Core/X3DChildNode");var b=e.n(O);const f=window[Symbol.for("X_ITE.X3D-8.8.7")].require("x_ite/Components/Grouping/Group");var F=e.n(f);const S=window[Symbol.for("X_ITE.X3D-8.8.7")].require("x_ite/Components/Grouping/Transform");var g=e.n(S);const y=window[Symbol.for("X_ITE.X3D-8.8.7")].require("x_ite/Components/Grouping/X3DBoundedObject");var v=e.n(y);const C=window[Symbol.for("X_ITE.X3D-8.8.7")].require("x_ite/Rendering/TraverseType");var x=e.n(C);const k=window[Symbol.for("X_ITE.X3D-8.8.7")].require("x_ite/Base/X3DCast");var I=e.n(k);const M=window[Symbol.for("X_ITE.X3D-8.8.7")].require("standard/Math/Numbers/Matrix4");var j=e.n(M);const A=window[Symbol.for("X_ITE.X3D-8.8.7")].require("standard/Math/Numbers/Vector3");var D=e.n(A);function X(e){b().call(this,e),v().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(g())(e),this.jointNodes=[],this.skinNormalNode=null,this.skinCoordNode=null,this.restNormalNode=null,this.restCoordNode=null,this.changed=!1}Object.assign(Object.setPrototypeOf(X.prototype,b().prototype),v().prototype,{initialize(){b().prototype.initialize.call(this),v().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._skinNormal.addInterest("set_skinNormal__",this),this._skinCoord.addInterest("set_skinCoord__",this),this.set_joints__(),this.set_skinNormal__(),this.set_skinCoord__()},getBBox(e,t){return this.transformNode.getBBox(e,t)},set_joints__(){const e=this.jointNodes;for(const t of e)t.removeInterest("set_joint__",this);e.length=0;for(const t of this._joints){const n=I()(w().HAnimJoint,t);n&&e.push(n)}for(const t of e)t.addInterest("set_joint__",this);this.set_joint__()},set_joint__(){this.changed=!0},set_skinNormal__(){this.restNormalNode=null,this.skinNormalNode=I()(w().X3DNormalNode,this._skinNormal),this.skinNormalNode&&(this.restNormalNode=this.skinNormalNode.copy()),this.changed=!0},set_skinCoord__(){this.restCoordNode=null,this.skinCoordNode=I()(w().X3DCoordinateNode,this._skinCoord),this.skinCoordNode?(this.restCoordNode=this.skinCoordNode.copy(),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(j()),t=new(D())(0,0,0),n=new(D())(0,0,0),i=new(D())(0,0,0),o=new(D())(0,0,0);return function(s,r){if(s!==x().CAMERA)return;if(!this.changed)return;this.changed=!1;const a=this.jointNodes,u=this.skinNormalNode,l=this.skinCoordNode,d=this.restNormalNode,p=this.restCoordNode;u&&u._vector.assign(d._vector),l._point.assign(p._point),e.assign(this.transformNode.getMatrix()).multRight(r.getModelViewMatrix().get()).inverse();for(const s of a){const r=s._skinCoordIndex.length,a=s.getModelMatrix().multRight(e),w=s.getDisplacers();for(const e of w){const t=e._coordIndex.getValue(),n=e._coordIndex.length,s=e._weight.getValue(),r=e._displacements.getValue(),u=e._displacements.length;for(let e=0;e<n;++e){const n=3*e,d=t[e],p=e<u?o.set(r[n],r[n+1],r[n+2]):o.assign(D().Zero);l.get1Point(d,i),a.multDirMatrix(p).multiply(s).add(i),l.set1Point(d,p)}}const c=u?a.submatrix.transpose().inverse():null,m=s._skinCoordIndex.getValue(),h=s._skinCoordWeight.getValue(),_=s._skinCoordWeight.length;for(let e=0;e<r;++e){const s=m[e],r=e<_?h[e]:1;u&&(n.assign(d.get1Vector(s,t)),u.get1Vector(s,i),c.multVecMatrix(t).subtract(n).multiply(r).add(i),u.set1Vector(s,t)),n.assign(p.get1Point(s,o)),l.get1Point(s,i),a.multVecMatrix(o).subtract(n).multiply(r).add(i),l.set1Point(s,o)}}}})(),toVRMLStream(e){this.skinCoordNode&&(this.skinCoordNode._point=this.restCoordNode._point),this.skinNormalNode&&(this.skinNormalNode._vector=this.restNormalNode._vector),b().prototype.toVRMLStream.call(this,e)},toXMLStream(e){this.skinCoordNode&&(this.skinCoordNode._point=this.restCoordNode._point),this.skinNormalNode&&(this.skinNormalNode._vector=this.restNormalNode._vector),b().prototype.toXMLStream.call(this,e)},toJSONStream(e){this.skinCoordNode&&(this.skinCoordNode._point=this.restCoordNode._point),this.skinNormalNode&&(this.skinNormalNode._vector=this.restNormalNode._vector),b().prototype.toJSONStream.call(this,e)},dispose(){v().prototype.dispose.call(this),b().prototype.dispose.call(this)}}),Object.defineProperties(X,{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(u())([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,"version",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,"jointBindingPositions",new(o().MFVec3f)),new(r())(w().inputOutput,"jointBindingRotations",new(o().MFRotation)),new(r())(w().inputOutput,"jointBindingScales",new(o().MFVec3f)),new(r())(w().inputOutput,"motionsEnabled",new(o().MFBool)),new(r())(w().inputOutput,"loa",new(o().SFInt32)(-1)),new(r())(w().inputOutput,"skeletalConfiguration",new(o().SFString)("BASIC")),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,"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,"joints",new(o().MFNode)),new(r())(w().inputOutput,"motions",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 H=X;m().set("x_ite/Components/HAnim/HAnimHumanoid",H);const T=H,V=window[Symbol.for("X_ITE.X3D-8.8.7")].require("x_ite/Components/Grouping/X3DTransformNode");var z=e.n(V);function B(e){z().call(this,e),this.addType(w().HAnimJoint),this.setAllowedTypes(w().HAnimJoint,w().HAnimSegment,w().HAnimSite),this.displacerNodes=[],this.modelMatrix=new(j())}Object.assign(Object.setPrototypeOf(B.prototype,z().prototype),{initialize(){z().prototype.initialize.call(this),this._skinCoordIndex.addInterest("set_skinCoordIndex__",this),this._displacers.addInterest("set_displacers__",this),this.set_displacers__()},setCameraObject(e){z().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===x().CAMERA&&this._skinCoordIndex.length&&this.modelMatrix.assign(this.getMatrix()).multRight(t.getModelViewMatrix().get()),z().prototype.traverse.call(this,e,t)},groupTraverse(e,t){e===x().CAMERA&&this._skinCoordIndex.length&&this.modelMatrix.assign(t.getModelViewMatrix().get()),z().prototype.groupTraverse.call(this,e,t)}}),Object.defineProperties(B,{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(u())([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=B;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(u())([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,"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,"channels",new(o().SFString)),new(r())(w().inputOutput,"channelsEnabled",new(o().MFBool)),new(r())(w().inputOutput,"joints",new(o().SFString)),new(r())(w().inputOutput,"loa",new(o().SFInt32)(-1)),new(r())(w().inputOutput,"startFrame",new(o().SFInt32)),new(r())(w().inputOutput,"endFrame",new(o().SFInt32)),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.8.7")].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(u())([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){z().call(this,e),this.addType(w().HAnimSite)}Object.setPrototypeOf(K.prototype,z().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(u())([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,T,R,G,Z,Y],abstractNodes:[]});const $=void 0;m().set("assets/components/HAnim",$)})();
1
+ /* X_ITE v8.9.1 */(()=>{"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.1")].require("x_ite/Components");var n=e.n(t);const i=window[Symbol.for("X_ITE.X3D-8.9.1")].require("x_ite/Fields");var o=e.n(i);const s=window[Symbol.for("X_ITE.X3D-8.9.1")].require("x_ite/Base/X3DFieldDefinition");var r=e.n(s);const a=window[Symbol.for("X_ITE.X3D-8.9.1")].require("x_ite/Base/FieldDefinitionArray");var d=e.n(a);const u=window[Symbol.for("X_ITE.X3D-8.9.1")].require("x_ite/Components/Rendering/X3DGeometricPropertyNode");var l=e.n(u);const p=window[Symbol.for("X_ITE.X3D-8.9.1")].require("x_ite/Base/X3DConstants");var w=e.n(p);const h=window[Symbol.for("X_ITE.X3D-8.9.1")].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.1")].require("x_ite/Components/Core/X3DChildNode");var b=e.n(O);const g=window[Symbol.for("X_ITE.X3D-8.9.1")].require("x_ite/Components/Grouping/Group");var f=e.n(g);const F=window[Symbol.for("X_ITE.X3D-8.9.1")].require("x_ite/Components/Grouping/Transform");var S=e.n(F);const y=window[Symbol.for("X_ITE.X3D-8.9.1")].require("x_ite/Components/Grouping/X3DBoundedObject");var k=e.n(y);const v=window[Symbol.for("X_ITE.X3D-8.9.1")].require("x_ite/Rendering/TraverseType");var C=e.n(v);const x=window[Symbol.for("X_ITE.X3D-8.9.1")].require("x_ite/Base/X3DCast");var I=e.n(x);const M=window[Symbol.for("X_ITE.X3D-8.9.1")].require("standard/Math/Numbers/Vector3");var j=e.n(M);window[Symbol.for("X_ITE.X3D-8.9.1")].require("standard/Math/Numbers/Rotation4");const B=window[Symbol.for("X_ITE.X3D-8.9.1")].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.1")].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.1")].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,4 +1,4 @@
1
- /* X_ITE v8.8.7 */(() => { // webpackBootstrap
1
+ /* X_ITE v8.9.1 */(() => { // 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.8.7")] .require ("x_ite/Components");
42
+ const Components_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.9.1")] .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.8.7")] .require ("x_ite/Fields");
45
+ const Fields_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.9.1")] .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.8.7")] .require ("x_ite/Namespace");
48
+ const Namespace_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.9.1")] .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.8.7")] .require ("x_ite/Base/X3DFieldDefinition");
153
+ const X3DFieldDefinition_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.9.1")] .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.8.7")] .require ("x_ite/Base/FieldDefinitionArray");
156
+ const FieldDefinitionArray_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.9.1")] .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.8.7")] .require ("x_ite/Components/Core/X3DSensorNode");
159
+ const X3DSensorNode_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.9.1")] .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.8.7")] .require ("x_ite/Base/X3DConstants");
162
+ const X3DConstants_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.9.1")] .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
  /*******************************************************************************