x_ite 8.6.12 → 8.6.13

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 (383) hide show
  1. package/dist/LICENSE.md +4 -4
  2. package/dist/assets/components/Annotation.js +37 -13
  3. package/dist/assets/components/Annotation.min.js +1 -1
  4. package/dist/assets/components/CADGeometry.js +37 -13
  5. package/dist/assets/components/CADGeometry.min.js +1 -1
  6. package/dist/assets/components/CubeMapTexturing.js +37 -26
  7. package/dist/assets/components/CubeMapTexturing.min.js +1 -1
  8. package/dist/assets/components/DIS.js +37 -13
  9. package/dist/assets/components/DIS.min.js +1 -1
  10. package/dist/assets/components/EventUtilities.js +37 -9
  11. package/dist/assets/components/EventUtilities.min.js +1 -1
  12. package/dist/assets/components/Geometry2D.js +51 -19
  13. package/dist/assets/components/Geometry2D.min.js +1 -1
  14. package/dist/assets/components/Geospatial.js +77 -33
  15. package/dist/assets/components/Geospatial.min.js +1 -1
  16. package/dist/assets/components/HAnim.js +42 -18
  17. package/dist/assets/components/HAnim.min.js +1 -1
  18. package/dist/assets/components/KeyDeviceSensor.js +16 -8
  19. package/dist/assets/components/KeyDeviceSensor.min.js +1 -1
  20. package/dist/assets/components/Layout.js +47 -27
  21. package/dist/assets/components/Layout.min.js +1 -1
  22. package/dist/assets/components/NURBS.js +80 -24
  23. package/dist/assets/components/NURBS.min.js +1 -1
  24. package/dist/assets/components/ParticleSystems.js +62 -22
  25. package/dist/assets/components/ParticleSystems.min.js +1 -1
  26. package/dist/assets/components/Picking.js +38 -18
  27. package/dist/assets/components/Picking.min.js +1 -1
  28. package/dist/assets/components/RigidBodyPhysics.js +74 -18
  29. package/dist/assets/components/RigidBodyPhysics.min.js +1 -1
  30. package/dist/assets/components/Scripting.js +32 -28
  31. package/dist/assets/components/Scripting.min.js +1 -1
  32. package/dist/assets/components/Text.js +32 -24
  33. package/dist/assets/components/Text.min.js +1 -1
  34. package/dist/assets/components/TextureProjector.js +22 -14
  35. package/dist/assets/components/TextureProjector.min.js +1 -1
  36. package/dist/assets/components/Texturing3D.js +62 -30
  37. package/dist/assets/components/Texturing3D.min.js +1 -1
  38. package/dist/assets/components/VolumeRendering.js +71 -19
  39. package/dist/assets/components/VolumeRendering.min.js +1 -1
  40. package/dist/assets/components/X_ITE.js +13 -9
  41. package/dist/assets/components/X_ITE.min.js +1 -1
  42. package/dist/x_ite.css +1 -1
  43. package/dist/x_ite.js +1019 -465
  44. package/dist/x_ite.min.js +1 -1
  45. package/dist/x_ite.zip +0 -0
  46. package/docs/_config.yml +1 -1
  47. package/docs/_posts/components/Core/WorldInfo.md +1 -1
  48. package/docs/_posts/components/EnvironmentalEffects/Background.md +1 -1
  49. package/docs/_posts/components/EnvironmentalEffects/Fog.md +1 -1
  50. package/docs/_posts/components/EnvironmentalSensor/ProximitySensor.md +1 -1
  51. package/docs/_posts/components/EnvironmentalSensor/VisibilitySensor.md +1 -1
  52. package/docs/_posts/components/Geometry3D/Box.md +1 -1
  53. package/docs/_posts/components/Geometry3D/Cone.md +1 -1
  54. package/docs/_posts/components/Geometry3D/Cylinder.md +1 -1
  55. package/docs/_posts/components/Geometry3D/ElevationGrid.md +1 -1
  56. package/docs/_posts/components/Geometry3D/Extrusion.md +1 -1
  57. package/docs/_posts/components/Geometry3D/IndexedFaceSet.md +1 -1
  58. package/docs/_posts/components/Geometry3D/Sphere.md +1 -1
  59. package/docs/_posts/components/Grouping/Group.md +1 -1
  60. package/docs/_posts/components/Grouping/Switch.md +1 -1
  61. package/docs/_posts/components/Grouping/Transform.md +1 -1
  62. package/docs/_posts/components/Interpolation/ColorInterpolator.md +1 -1
  63. package/docs/_posts/components/Interpolation/CoordinateInterpolator.md +1 -1
  64. package/docs/_posts/components/Interpolation/NormalInterpolator.md +1 -1
  65. package/docs/_posts/components/Interpolation/OrientationInterpolator.md +1 -1
  66. package/docs/_posts/components/Interpolation/PositionInterpolator.md +1 -1
  67. package/docs/_posts/components/Interpolation/ScalarInterpolator.md +1 -1
  68. package/docs/_posts/components/Lighting/DirectionalLight.md +1 -1
  69. package/docs/_posts/components/Lighting/PointLight.md +1 -1
  70. package/docs/_posts/components/Lighting/SpotLight.md +1 -1
  71. package/docs/_posts/components/Navigation/Billboard.md +1 -1
  72. package/docs/_posts/components/Navigation/Collision.md +1 -1
  73. package/docs/_posts/components/Navigation/LOD.md +1 -1
  74. package/docs/_posts/components/Navigation/NavigationInfo.md +1 -1
  75. package/docs/_posts/components/Navigation/Viewpoint.md +1 -1
  76. package/docs/_posts/components/Networking/Anchor.md +1 -1
  77. package/docs/_posts/components/Networking/Inline.md +1 -1
  78. package/docs/_posts/components/PointingDeviceSensor/CylinderSensor.md +1 -1
  79. package/docs/_posts/components/PointingDeviceSensor/PlaneSensor.md +1 -1
  80. package/docs/_posts/components/PointingDeviceSensor/SphereSensor.md +1 -1
  81. package/docs/_posts/components/PointingDeviceSensor/TouchSensor.md +1 -1
  82. package/docs/_posts/components/Rendering/Color.md +1 -1
  83. package/docs/_posts/components/Rendering/Coordinate.md +1 -1
  84. package/docs/_posts/components/Rendering/IndexedLineSet.md +1 -1
  85. package/docs/_posts/components/Rendering/Normal.md +1 -1
  86. package/docs/_posts/components/Rendering/PointSet.md +1 -1
  87. package/docs/_posts/components/Scripting/Script.md +1 -1
  88. package/docs/_posts/components/Shape/Appearance.md +1 -1
  89. package/docs/_posts/components/Shape/Material.md +1 -9
  90. package/docs/_posts/components/Shape/PhysicalMaterial.md +0 -8
  91. package/docs/_posts/components/Shape/Shape.md +1 -1
  92. package/docs/_posts/components/Shape/UnlitMaterial.md +0 -8
  93. package/docs/_posts/components/Sound/AudioClip.md +1 -1
  94. package/docs/_posts/components/Sound/Sound.md +1 -1
  95. package/docs/_posts/components/Text/FontStyle.md +1 -1
  96. package/docs/_posts/components/Text/Text.md +1 -1
  97. package/docs/_posts/components/Texturing/ImageTexture.md +1 -5
  98. package/docs/_posts/components/Texturing/MovieTexture.md +1 -5
  99. package/docs/_posts/components/Texturing/PixelTexture.md +1 -1
  100. package/docs/_posts/components/Texturing/TextureCoordinate.md +1 -1
  101. package/docs/_posts/components/Texturing/TextureTransform.md +1 -1
  102. package/docs/_posts/components/Time/TimeSensor.md +1 -1
  103. package/docs/laboratory/gltf-sample-viewer.html +1 -1
  104. package/package.json +1 -1
  105. package/src/tests.js +2 -0
  106. package/src/x_ite/Browser/Core/X3DCoreContext.js +1 -3
  107. package/src/x_ite/Browser/Grouping/X3DGroupingContext.js +9 -15
  108. package/src/x_ite/Browser/VERSION.js +1 -1
  109. package/src/x_ite/Components/Annotation/AnnotationLayer.js +4 -0
  110. package/src/x_ite/Components/Annotation/AnnotationTarget.js +4 -0
  111. package/src/x_ite/Components/Annotation/GroupAnnotation.js +4 -0
  112. package/src/x_ite/Components/Annotation/IconAnnotation.js +4 -0
  113. package/src/x_ite/Components/Annotation/TextAnnotation.js +4 -0
  114. package/src/x_ite/Components/Annotation/URLAnnotation.js +4 -0
  115. package/src/x_ite/Components/CADGeometry/CADAssembly.js +4 -0
  116. package/src/x_ite/Components/CADGeometry/CADFace.js +4 -0
  117. package/src/x_ite/Components/CADGeometry/CADLayer.js +4 -0
  118. package/src/x_ite/Components/CADGeometry/CADPart.js +4 -0
  119. package/src/x_ite/Components/CADGeometry/IndexedQuadSet.js +4 -0
  120. package/src/x_ite/Components/CADGeometry/QuadSet.js +4 -0
  121. package/src/x_ite/Components/Core/MetadataBoolean.js +4 -0
  122. package/src/x_ite/Components/Core/MetadataDouble.js +4 -0
  123. package/src/x_ite/Components/Core/MetadataFloat.js +4 -0
  124. package/src/x_ite/Components/Core/MetadataInteger.js +4 -0
  125. package/src/x_ite/Components/Core/MetadataSet.js +4 -0
  126. package/src/x_ite/Components/Core/MetadataString.js +4 -0
  127. package/src/x_ite/Components/Core/WorldInfo.js +4 -0
  128. package/src/x_ite/Components/CubeMapTexturing/ComposedCubeMapTexture.js +4 -1
  129. package/src/x_ite/Components/CubeMapTexturing/GeneratedCubeMapTexture.js +4 -0
  130. package/src/x_ite/Components/CubeMapTexturing/ImageCubeMapTexture.js +4 -0
  131. package/src/x_ite/Components/DIS/DISEntityManager.js +4 -0
  132. package/src/x_ite/Components/DIS/DISEntityTypeMapping.js +4 -0
  133. package/src/x_ite/Components/DIS/EspduTransform.js +4 -0
  134. package/src/x_ite/Components/DIS/ReceiverPdu.js +4 -0
  135. package/src/x_ite/Components/DIS/SignalPdu.js +4 -0
  136. package/src/x_ite/Components/DIS/TransmitterPdu.js +4 -0
  137. package/src/x_ite/Components/EnvironmentalEffects/Background.js +4 -0
  138. package/src/x_ite/Components/EnvironmentalEffects/Fog.js +4 -0
  139. package/src/x_ite/Components/EnvironmentalEffects/FogCoordinate.js +4 -0
  140. package/src/x_ite/Components/EnvironmentalEffects/LocalFog.js +4 -0
  141. package/src/x_ite/Components/EnvironmentalEffects/TextureBackground.js +4 -0
  142. package/src/x_ite/Components/EnvironmentalSensor/ProximitySensor.js +4 -0
  143. package/src/x_ite/Components/EnvironmentalSensor/TransformSensor.js +4 -0
  144. package/src/x_ite/Components/EnvironmentalSensor/VisibilitySensor.js +4 -0
  145. package/src/x_ite/Components/EventUtilities/BooleanFilter.js +4 -0
  146. package/src/x_ite/Components/EventUtilities/BooleanSequencer.js +4 -0
  147. package/src/x_ite/Components/EventUtilities/BooleanToggle.js +4 -0
  148. package/src/x_ite/Components/EventUtilities/BooleanTrigger.js +4 -0
  149. package/src/x_ite/Components/EventUtilities/IntegerSequencer.js +4 -0
  150. package/src/x_ite/Components/EventUtilities/IntegerTrigger.js +4 -0
  151. package/src/x_ite/Components/EventUtilities/TimeTrigger.js +4 -0
  152. package/src/x_ite/Components/Followers/ColorChaser.js +4 -0
  153. package/src/x_ite/Components/Followers/ColorDamper.js +4 -0
  154. package/src/x_ite/Components/Followers/CoordinateChaser.js +4 -0
  155. package/src/x_ite/Components/Followers/CoordinateDamper.js +4 -0
  156. package/src/x_ite/Components/Followers/OrientationChaser.js +4 -0
  157. package/src/x_ite/Components/Followers/OrientationDamper.js +4 -0
  158. package/src/x_ite/Components/Followers/PositionChaser.js +4 -0
  159. package/src/x_ite/Components/Followers/PositionChaser2D.js +4 -0
  160. package/src/x_ite/Components/Followers/PositionDamper.js +4 -0
  161. package/src/x_ite/Components/Followers/PositionDamper2D.js +4 -0
  162. package/src/x_ite/Components/Followers/ScalarChaser.js +4 -0
  163. package/src/x_ite/Components/Followers/ScalarDamper.js +4 -0
  164. package/src/x_ite/Components/Followers/TexCoordChaser2D.js +4 -0
  165. package/src/x_ite/Components/Followers/TexCoordDamper2D.js +4 -0
  166. package/src/x_ite/Components/Geometry2D/Arc2D.js +4 -0
  167. package/src/x_ite/Components/Geometry2D/ArcClose2D.js +4 -0
  168. package/src/x_ite/Components/Geometry2D/Circle2D.js +4 -0
  169. package/src/x_ite/Components/Geometry2D/Disk2D.js +4 -0
  170. package/src/x_ite/Components/Geometry2D/Polyline2D.js +4 -0
  171. package/src/x_ite/Components/Geometry2D/Polypoint2D.js +4 -0
  172. package/src/x_ite/Components/Geometry2D/Rectangle2D.js +4 -0
  173. package/src/x_ite/Components/Geometry2D/TriangleSet2D.js +4 -0
  174. package/src/x_ite/Components/Geometry3D/Box.js +4 -0
  175. package/src/x_ite/Components/Geometry3D/Cone.js +4 -0
  176. package/src/x_ite/Components/Geometry3D/Cylinder.js +4 -0
  177. package/src/x_ite/Components/Geometry3D/ElevationGrid.js +4 -0
  178. package/src/x_ite/Components/Geometry3D/Extrusion.js +4 -0
  179. package/src/x_ite/Components/Geometry3D/IndexedFaceSet.js +4 -0
  180. package/src/x_ite/Components/Geometry3D/Sphere.js +4 -0
  181. package/src/x_ite/Components/Geospatial/GeoCoordinate.js +4 -0
  182. package/src/x_ite/Components/Geospatial/GeoElevationGrid.js +4 -0
  183. package/src/x_ite/Components/Geospatial/GeoLOD.js +4 -0
  184. package/src/x_ite/Components/Geospatial/GeoLocation.js +4 -0
  185. package/src/x_ite/Components/Geospatial/GeoMetadata.js +4 -0
  186. package/src/x_ite/Components/Geospatial/GeoOrigin.js +4 -0
  187. package/src/x_ite/Components/Geospatial/GeoPositionInterpolator.js +4 -0
  188. package/src/x_ite/Components/Geospatial/GeoProximitySensor.js +4 -0
  189. package/src/x_ite/Components/Geospatial/GeoTouchSensor.js +4 -0
  190. package/src/x_ite/Components/Geospatial/GeoTransform.js +4 -0
  191. package/src/x_ite/Components/Geospatial/GeoViewpoint.js +4 -0
  192. package/src/x_ite/Components/Grouping/Group.js +4 -0
  193. package/src/x_ite/Components/Grouping/StaticGroup.js +4 -0
  194. package/src/x_ite/Components/Grouping/Switch.js +4 -0
  195. package/src/x_ite/Components/Grouping/Transform.js +4 -0
  196. package/src/x_ite/Components/HAnim/HAnimDisplacer.js +4 -0
  197. package/src/x_ite/Components/HAnim/HAnimHumanoid.js +4 -0
  198. package/src/x_ite/Components/HAnim/HAnimJoint.js +4 -0
  199. package/src/x_ite/Components/HAnim/HAnimMotion.js +4 -0
  200. package/src/x_ite/Components/HAnim/HAnimSegment.js +4 -0
  201. package/src/x_ite/Components/HAnim/HAnimSite.js +4 -0
  202. package/src/x_ite/Components/Interpolation/ColorInterpolator.js +4 -0
  203. package/src/x_ite/Components/Interpolation/CoordinateInterpolator.js +4 -0
  204. package/src/x_ite/Components/Interpolation/CoordinateInterpolator2D.js +4 -0
  205. package/src/x_ite/Components/Interpolation/EaseInEaseOut.js +4 -0
  206. package/src/x_ite/Components/Interpolation/NormalInterpolator.js +4 -0
  207. package/src/x_ite/Components/Interpolation/OrientationInterpolator.js +4 -0
  208. package/src/x_ite/Components/Interpolation/PositionInterpolator.js +4 -0
  209. package/src/x_ite/Components/Interpolation/PositionInterpolator2D.js +4 -0
  210. package/src/x_ite/Components/Interpolation/ScalarInterpolator.js +4 -0
  211. package/src/x_ite/Components/Interpolation/SplinePositionInterpolator.js +4 -0
  212. package/src/x_ite/Components/Interpolation/SplinePositionInterpolator2D.js +4 -0
  213. package/src/x_ite/Components/Interpolation/SplineScalarInterpolator.js +4 -0
  214. package/src/x_ite/Components/Interpolation/SquadOrientationInterpolator.js +4 -0
  215. package/src/x_ite/Components/KeyDeviceSensor/KeySensor.js +4 -0
  216. package/src/x_ite/Components/KeyDeviceSensor/StringSensor.js +4 -0
  217. package/src/x_ite/Components/Layering/Layer.js +4 -0
  218. package/src/x_ite/Components/Layering/LayerSet.js +4 -0
  219. package/src/x_ite/Components/Layering/Viewport.js +4 -0
  220. package/src/x_ite/Components/Layout/Layout.js +4 -0
  221. package/src/x_ite/Components/Layout/LayoutGroup.js +4 -0
  222. package/src/x_ite/Components/Layout/LayoutLayer.js +4 -0
  223. package/src/x_ite/Components/Layout/ScreenFontStyle.js +4 -0
  224. package/src/x_ite/Components/Layout/ScreenGroup.js +4 -0
  225. package/src/x_ite/Components/Lighting/DirectionalLight.js +4 -0
  226. package/src/x_ite/Components/Lighting/EnvironmentLight.js +4 -0
  227. package/src/x_ite/Components/Lighting/PointLight.js +4 -0
  228. package/src/x_ite/Components/Lighting/SpotLight.js +7 -9
  229. package/src/x_ite/Components/NURBS/Contour2D.js +4 -0
  230. package/src/x_ite/Components/NURBS/ContourPolyline2D.js +4 -0
  231. package/src/x_ite/Components/NURBS/CoordinateDouble.js +4 -0
  232. package/src/x_ite/Components/NURBS/NurbsCurve.js +4 -0
  233. package/src/x_ite/Components/NURBS/NurbsCurve2D.js +4 -0
  234. package/src/x_ite/Components/NURBS/NurbsOrientationInterpolator.js +4 -0
  235. package/src/x_ite/Components/NURBS/NurbsPatchSurface.js +4 -0
  236. package/src/x_ite/Components/NURBS/NurbsPositionInterpolator.js +4 -0
  237. package/src/x_ite/Components/NURBS/NurbsSet.js +4 -0
  238. package/src/x_ite/Components/NURBS/NurbsSurfaceInterpolator.js +4 -0
  239. package/src/x_ite/Components/NURBS/NurbsSweptSurface.js +4 -0
  240. package/src/x_ite/Components/NURBS/NurbsSwungSurface.js +4 -0
  241. package/src/x_ite/Components/NURBS/NurbsTextureCoordinate.js +4 -0
  242. package/src/x_ite/Components/NURBS/NurbsTrimmedSurface.js +4 -0
  243. package/src/x_ite/Components/Navigation/Billboard.js +4 -0
  244. package/src/x_ite/Components/Navigation/Collision.js +4 -0
  245. package/src/x_ite/Components/Navigation/LOD.js +4 -0
  246. package/src/x_ite/Components/Navigation/NavigationInfo.js +4 -0
  247. package/src/x_ite/Components/Navigation/OrthoViewpoint.js +4 -0
  248. package/src/x_ite/Components/Navigation/Viewpoint.js +4 -0
  249. package/src/x_ite/Components/Navigation/ViewpointGroup.js +4 -0
  250. package/src/x_ite/Components/Navigation/X3DViewpointNode.js +8 -0
  251. package/src/x_ite/Components/Networking/Anchor.js +4 -0
  252. package/src/x_ite/Components/Networking/Inline.js +4 -0
  253. package/src/x_ite/Components/Networking/LoadSensor.js +42 -29
  254. package/src/x_ite/Components/ParticleSystems/BoundedPhysicsModel.js +4 -0
  255. package/src/x_ite/Components/ParticleSystems/ConeEmitter.js +4 -0
  256. package/src/x_ite/Components/ParticleSystems/ExplosionEmitter.js +4 -0
  257. package/src/x_ite/Components/ParticleSystems/ForcePhysicsModel.js +4 -0
  258. package/src/x_ite/Components/ParticleSystems/ParticleSystem.js +4 -0
  259. package/src/x_ite/Components/ParticleSystems/PointEmitter.js +4 -0
  260. package/src/x_ite/Components/ParticleSystems/PolylineEmitter.js +4 -0
  261. package/src/x_ite/Components/ParticleSystems/SurfaceEmitter.js +4 -0
  262. package/src/x_ite/Components/ParticleSystems/VolumeEmitter.js +4 -0
  263. package/src/x_ite/Components/ParticleSystems/WindPhysicsModel.js +4 -0
  264. package/src/x_ite/Components/Picking/LinePickSensor.js +4 -0
  265. package/src/x_ite/Components/Picking/PickableGroup.js +4 -0
  266. package/src/x_ite/Components/Picking/PointPickSensor.js +4 -0
  267. package/src/x_ite/Components/Picking/PrimitivePickSensor.js +4 -0
  268. package/src/x_ite/Components/Picking/VolumePickSensor.js +4 -0
  269. package/src/x_ite/Components/PointingDeviceSensor/CylinderSensor.js +4 -0
  270. package/src/x_ite/Components/PointingDeviceSensor/PlaneSensor.js +4 -0
  271. package/src/x_ite/Components/PointingDeviceSensor/SphereSensor.js +4 -0
  272. package/src/x_ite/Components/PointingDeviceSensor/TouchSensor.js +4 -0
  273. package/src/x_ite/Components/Rendering/ClipPlane.js +4 -0
  274. package/src/x_ite/Components/Rendering/Color.js +4 -0
  275. package/src/x_ite/Components/Rendering/ColorRGBA.js +4 -0
  276. package/src/x_ite/Components/Rendering/Coordinate.js +4 -0
  277. package/src/x_ite/Components/Rendering/IndexedLineSet.js +4 -0
  278. package/src/x_ite/Components/Rendering/IndexedTriangleFanSet.js +4 -0
  279. package/src/x_ite/Components/Rendering/IndexedTriangleSet.js +4 -0
  280. package/src/x_ite/Components/Rendering/IndexedTriangleStripSet.js +4 -0
  281. package/src/x_ite/Components/Rendering/LineSet.js +4 -0
  282. package/src/x_ite/Components/Rendering/Normal.js +4 -0
  283. package/src/x_ite/Components/Rendering/PointSet.js +4 -0
  284. package/src/x_ite/Components/Rendering/TriangleFanSet.js +4 -0
  285. package/src/x_ite/Components/Rendering/TriangleSet.js +4 -0
  286. package/src/x_ite/Components/Rendering/TriangleStripSet.js +4 -0
  287. package/src/x_ite/Components/RigidBodyPhysics/BallJoint.js +4 -0
  288. package/src/x_ite/Components/RigidBodyPhysics/CollidableOffset.js +4 -0
  289. package/src/x_ite/Components/RigidBodyPhysics/CollidableShape.js +4 -0
  290. package/src/x_ite/Components/RigidBodyPhysics/CollisionCollection.js +4 -0
  291. package/src/x_ite/Components/RigidBodyPhysics/CollisionSensor.js +4 -0
  292. package/src/x_ite/Components/RigidBodyPhysics/CollisionSpace.js +4 -0
  293. package/src/x_ite/Components/RigidBodyPhysics/Contact.js +4 -0
  294. package/src/x_ite/Components/RigidBodyPhysics/DoubleAxisHingeJoint.js +4 -0
  295. package/src/x_ite/Components/RigidBodyPhysics/MotorJoint.js +4 -0
  296. package/src/x_ite/Components/RigidBodyPhysics/RigidBody.js +4 -0
  297. package/src/x_ite/Components/RigidBodyPhysics/RigidBodyCollection.js +4 -0
  298. package/src/x_ite/Components/RigidBodyPhysics/SingleAxisHingeJoint.js +4 -0
  299. package/src/x_ite/Components/RigidBodyPhysics/SliderJoint.js +4 -0
  300. package/src/x_ite/Components/RigidBodyPhysics/UniversalJoint.js +4 -0
  301. package/src/x_ite/Components/Scripting/Script.js +4 -0
  302. package/src/x_ite/Components/Shaders/ComposedShader.js +7 -3
  303. package/src/x_ite/Components/Shaders/FloatVertexAttribute.js +4 -0
  304. package/src/x_ite/Components/Shaders/Matrix3VertexAttribute.js +4 -0
  305. package/src/x_ite/Components/Shaders/Matrix4VertexAttribute.js +4 -0
  306. package/src/x_ite/Components/Shaders/PackagedShader.js +4 -0
  307. package/src/x_ite/Components/Shaders/ProgramShader.js +4 -0
  308. package/src/x_ite/Components/Shaders/ShaderPart.js +4 -0
  309. package/src/x_ite/Components/Shaders/ShaderProgram.js +4 -0
  310. package/src/x_ite/Components/Shape/AcousticProperties.js +4 -0
  311. package/src/x_ite/Components/Shape/Appearance.js +4 -0
  312. package/src/x_ite/Components/Shape/FillProperties.js +4 -0
  313. package/src/x_ite/Components/Shape/LineProperties.js +4 -0
  314. package/src/x_ite/Components/Shape/Material.js +4 -1
  315. package/src/x_ite/Components/Shape/PhysicalMaterial.js +4 -1
  316. package/src/x_ite/Components/Shape/PointProperties.js +4 -0
  317. package/src/x_ite/Components/Shape/Shape.js +4 -0
  318. package/src/x_ite/Components/Shape/TwoSidedMaterial.js +4 -0
  319. package/src/x_ite/Components/Shape/UnlitMaterial.js +4 -1
  320. package/src/x_ite/Components/Shape/X3DOneSidedMaterialNode.js +5 -7
  321. package/src/x_ite/Components/Sound/Analyser.js +4 -0
  322. package/src/x_ite/Components/Sound/AudioClip.js +4 -0
  323. package/src/x_ite/Components/Sound/AudioDestination.js +4 -0
  324. package/src/x_ite/Components/Sound/BiquadFilter.js +4 -0
  325. package/src/x_ite/Components/Sound/BufferAudioSource.js +4 -0
  326. package/src/x_ite/Components/Sound/ChannelMerger.js +4 -0
  327. package/src/x_ite/Components/Sound/ChannelSelector.js +4 -0
  328. package/src/x_ite/Components/Sound/ChannelSplitter.js +4 -0
  329. package/src/x_ite/Components/Sound/Convolver.js +4 -0
  330. package/src/x_ite/Components/Sound/Delay.js +4 -0
  331. package/src/x_ite/Components/Sound/DynamicsCompressor.js +4 -0
  332. package/src/x_ite/Components/Sound/Gain.js +4 -0
  333. package/src/x_ite/Components/Sound/ListenerPointSource.js +4 -0
  334. package/src/x_ite/Components/Sound/MicrophoneSource.js +4 -0
  335. package/src/x_ite/Components/Sound/OscillatorSource.js +4 -0
  336. package/src/x_ite/Components/Sound/PeriodicWave.js +4 -0
  337. package/src/x_ite/Components/Sound/Sound.js +4 -0
  338. package/src/x_ite/Components/Sound/SpatialSound.js +4 -0
  339. package/src/x_ite/Components/Sound/StreamAudioDestination.js +4 -0
  340. package/src/x_ite/Components/Sound/StreamAudioSource.js +4 -0
  341. package/src/x_ite/Components/Sound/WaveShaper.js +4 -0
  342. package/src/x_ite/Components/Text/FontStyle.js +4 -0
  343. package/src/x_ite/Components/Text/Text.js +4 -0
  344. package/src/x_ite/Components/TextureProjector/TextureProjector.js +4 -0
  345. package/src/x_ite/Components/TextureProjector/TextureProjectorParallel.js +4 -0
  346. package/src/x_ite/Components/Texturing/ImageTexture.js +11 -11
  347. package/src/x_ite/Components/Texturing/MovieTexture.js +8 -5
  348. package/src/x_ite/Components/Texturing/MultiTexture.js +4 -0
  349. package/src/x_ite/Components/Texturing/MultiTextureCoordinate.js +4 -0
  350. package/src/x_ite/Components/Texturing/MultiTextureTransform.js +4 -0
  351. package/src/x_ite/Components/Texturing/PixelTexture.js +4 -0
  352. package/src/x_ite/Components/Texturing/TextureCoordinate.js +4 -0
  353. package/src/x_ite/Components/Texturing/TextureCoordinateGenerator.js +4 -0
  354. package/src/x_ite/Components/Texturing/TextureProperties.js +4 -0
  355. package/src/x_ite/Components/Texturing/TextureTransform.js +4 -0
  356. package/src/x_ite/Components/Texturing3D/ComposedTexture3D.js +4 -0
  357. package/src/x_ite/Components/Texturing3D/ImageTexture3D.js +4 -0
  358. package/src/x_ite/Components/Texturing3D/ImageTextureAtlas.js +4 -0
  359. package/src/x_ite/Components/Texturing3D/PixelTexture3D.js +4 -0
  360. package/src/x_ite/Components/Texturing3D/TextureCoordinate3D.js +4 -0
  361. package/src/x_ite/Components/Texturing3D/TextureCoordinate4D.js +4 -0
  362. package/src/x_ite/Components/Texturing3D/TextureTransform3D.js +4 -0
  363. package/src/x_ite/Components/Texturing3D/TextureTransformMatrix3D.js +4 -0
  364. package/src/x_ite/Components/Time/TimeSensor.js +4 -0
  365. package/src/x_ite/Components/VolumeRendering/BlendedVolumeStyle.js +4 -0
  366. package/src/x_ite/Components/VolumeRendering/BoundaryEnhancementVolumeStyle.js +4 -0
  367. package/src/x_ite/Components/VolumeRendering/CartoonVolumeStyle.js +4 -0
  368. package/src/x_ite/Components/VolumeRendering/ComposedVolumeStyle.js +4 -0
  369. package/src/x_ite/Components/VolumeRendering/EdgeEnhancementVolumeStyle.js +4 -0
  370. package/src/x_ite/Components/VolumeRendering/IsoSurfaceVolumeData.js +4 -0
  371. package/src/x_ite/Components/VolumeRendering/OpacityMapVolumeStyle.js +4 -0
  372. package/src/x_ite/Components/VolumeRendering/ProjectionVolumeStyle.js +4 -0
  373. package/src/x_ite/Components/VolumeRendering/SegmentedVolumeData.js +4 -0
  374. package/src/x_ite/Components/VolumeRendering/ShadedVolumeStyle.js +4 -0
  375. package/src/x_ite/Components/VolumeRendering/SilhouetteEnhancementVolumeStyle.js +4 -0
  376. package/src/x_ite/Components/VolumeRendering/ToneMappedVolumeStyle.js +4 -0
  377. package/src/x_ite/Components/VolumeRendering/VolumeData.js +4 -0
  378. package/src/x_ite/Components/X_ITE/BlendMode.js +4 -0
  379. package/src/x_ite/Execution/X3DExecutionContext.js +16 -0
  380. package/src/x_ite/InputOutput/FileLoader.js +1 -1
  381. package/src/x_ite/Parser/GLTF2Parser.js +26 -5
  382. package/src/x_ite/Parser/VRMLParser.js +3 -3
  383. package/src/x_ite/Parser/XMLParser.js +3 -3
@@ -76,7 +76,6 @@ ImageTexture .prototype = Object .assign (Object .create (X3DTexture2DNode .prot
76
76
  new X3DFieldDefinition (X3DConstants .inputOutput, "url", new Fields .MFString ()),
77
77
  new X3DFieldDefinition (X3DConstants .inputOutput, "autoRefresh", new Fields .SFTime ()),
78
78
  new X3DFieldDefinition (X3DConstants .inputOutput, "autoRefreshTimeLimit", new Fields .SFTime (3600)),
79
- new X3DFieldDefinition (X3DConstants .initializeOnly, "flipVertically", new Fields .SFBool ()),
80
79
  new X3DFieldDefinition (X3DConstants .initializeOnly, "repeatS", new Fields .SFBool (true)),
81
80
  new X3DFieldDefinition (X3DConstants .initializeOnly, "repeatT", new Fields .SFBool (true)),
82
81
  new X3DFieldDefinition (X3DConstants .initializeOnly, "textureProperties", new Fields .SFNode ()),
@@ -93,13 +92,15 @@ ImageTexture .prototype = Object .assign (Object .create (X3DTexture2DNode .prot
93
92
  {
94
93
  return "texture";
95
94
  },
95
+ getSpecificationRange: function ()
96
+ {
97
+ return ["2.0", "Infinity"];
98
+ },
96
99
  initialize: function ()
97
100
  {
98
101
  X3DTexture2DNode .prototype .initialize .call (this);
99
102
  X3DUrlObject .prototype .initialize .call (this);
100
103
 
101
- this ._flipVertically .addInterest ("set_url__", this);
102
-
103
104
  this .image .on ("load", this .setImage .bind (this));
104
105
  this .image .on ("abort error", this .setError .bind (this));
105
106
  this .image .prop ("crossOrigin", "Anonymous");
@@ -180,11 +181,9 @@ ImageTexture .prototype = Object .assign (Object .create (X3DTexture2DNode .prot
180
181
  cx .clearRect (0, 0, width, height);
181
182
  cx .save ();
182
183
 
183
- if (!this ._flipVertically .getValue ())
184
- {
185
- cx .translate (0, height);
186
- cx .scale (1, -1);
187
- }
184
+ // Flip vertically.
185
+ cx .translate (0, height);
186
+ cx .scale (1, -1);
188
187
 
189
188
  cx .drawImage (image, 0, 0, image .width, image .height, 0, 0, width, height);
190
189
  cx .restore ();
@@ -208,10 +207,9 @@ ImageTexture .prototype = Object .assign (Object .create (X3DTexture2DNode .prot
208
207
  width = image .width,
209
208
  height = image .height;
210
209
 
211
- // Flip Y if needed.
210
+ // Flip vertically.
212
211
 
213
- if (!this ._flipVertically .getValue ())
214
- this .flipImage (data, width, height, 4);
212
+ this .flipImage (data, width, height, 4);
215
213
 
216
214
  // Upload image to GPU.
217
215
 
@@ -236,7 +234,9 @@ ImageTexture .prototype = Object .assign (Object .create (X3DTexture2DNode .prot
236
234
  gl .bindFramebuffer (gl.FRAMEBUFFER, framebuffer);
237
235
  gl .bindTexture (gl.TEXTURE_2D, texture);
238
236
  gl .framebufferTexture2D (gl.FRAMEBUFFER, gl .COLOR_ATTACHMENT0, gl .TEXTURE_2D, texture, 0);
237
+ //gl .pixelStorei (gl .UNPACK_COLORSPACE_CONVERSION_WEBGL, colorspace ? gl .BROWSER_DEFAULT_WEBGL : gl .NONE);
239
238
  gl .texImage2D (gl .TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, image);
239
+ //gl .pixelStorei (gl .UNPACK_COLORSPACE_CONVERSION_WEBGL, gl .BROWSER_DEFAULT_WEBGL);
240
240
  await gl .readPixelsAsync (0, 0, image .width, image .height, gl.RGBA, gl.UNSIGNED_BYTE, data);
241
241
  gl .deleteFramebuffer (framebuffer);
242
242
  gl .deleteTexture (texture);
@@ -93,7 +93,6 @@ MovieTexture .prototype = Object .assign (Object .create (X3DTexture2DNode .prot
93
93
  new X3DFieldDefinition (X3DConstants .outputOnly, "isActive", new Fields .SFBool ()),
94
94
  new X3DFieldDefinition (X3DConstants .outputOnly, "elapsedTime", new Fields .SFTime ()),
95
95
  new X3DFieldDefinition (X3DConstants .outputOnly, "duration_changed", new Fields .SFTime (-1)),
96
- new X3DFieldDefinition (X3DConstants .initializeOnly, "flipVertically", new Fields .SFBool ()),
97
96
  new X3DFieldDefinition (X3DConstants .initializeOnly, "repeatS", new Fields .SFBool (true)),
98
97
  new X3DFieldDefinition (X3DConstants .initializeOnly, "repeatT", new Fields .SFBool (true)),
99
98
  new X3DFieldDefinition (X3DConstants .initializeOnly, "textureProperties", new Fields .SFNode ()),
@@ -110,6 +109,10 @@ MovieTexture .prototype = Object .assign (Object .create (X3DTexture2DNode .prot
110
109
  {
111
110
  return "texture";
112
111
  },
112
+ getSpecificationRange: function ()
113
+ {
114
+ return ["2.0", "Infinity"];
115
+ },
113
116
  initialize: function ()
114
117
  {
115
118
  X3DTexture2DNode .prototype .initialize .call (this);
@@ -220,7 +223,7 @@ MovieTexture .prototype = Object .assign (Object .create (X3DTexture2DNode .prot
220
223
  throw new Error ("The movie texture is a non power-of-two texture.");
221
224
 
222
225
  this .setMedia (this .video [0]);
223
- this .setTexture (width, height, false, video, !this ._flipVertically .getValue ());
226
+ this .setTexture (width, height, false, video, true);
224
227
  this .setLoadState (X3DConstants .COMPLETE_STATE);
225
228
  }
226
229
  catch (error)
@@ -240,7 +243,7 @@ MovieTexture .prototype = Object .assign (Object .create (X3DTexture2DNode .prot
240
243
  gif .pause ();
241
244
 
242
245
  this .setMedia (gif);
243
- this .setTexture (gif .get_canvas () .width, gif .get_canvas () .height, false, gif .get_frames () [0] .data, !this ._flipVertically .getValue ());
246
+ this .setTexture (gif .get_canvas () .width, gif .get_canvas () .height, false, gif .get_frames () [0] .data, true);
244
247
  this .setLoadState (X3DConstants .COMPLETE_STATE);
245
248
  }
246
249
  catch (error)
@@ -257,9 +260,9 @@ MovieTexture .prototype = Object .assign (Object .create (X3DTexture2DNode .prot
257
260
  return;
258
261
 
259
262
  if (this .gif)
260
- this .updateTexture (this .gif .currentFrame .data, !this ._flipVertically .getValue ());
263
+ this .updateTexture (this .gif .currentFrame .data, true);
261
264
  else
262
- this .updateTexture (this .video [0], !this ._flipVertically .getValue ());
265
+ this .updateTexture (this .video [0], true);
263
266
  },
264
267
  traverse: X3DTexture2DNode .prototype .traverse,
265
268
  dispose: function ()
@@ -99,6 +99,10 @@ MultiTexture .prototype = Object .assign (Object .create (X3DTextureNode .protot
99
99
  {
100
100
  return "texture";
101
101
  },
102
+ getSpecificationRange: function ()
103
+ {
104
+ return ["3.0", "Infinity"];
105
+ },
102
106
  initialize: function ()
103
107
  {
104
108
  X3DTextureNode .prototype .initialize .call (this);
@@ -83,6 +83,10 @@ MultiTextureCoordinate .prototype = Object .assign (Object .create (X3DTextureCo
83
83
  {
84
84
  return "texCoord";
85
85
  },
86
+ getSpecificationRange: function ()
87
+ {
88
+ return ["3.0", "Infinity"];
89
+ },
86
90
  initialize: function ()
87
91
  {
88
92
  X3DTextureCoordinateNode .prototype .initialize .call (this);
@@ -83,6 +83,10 @@ MultiTextureTransform .prototype = Object .assign (Object .create (X3DTextureTra
83
83
  {
84
84
  return "textureTransform";
85
85
  },
86
+ getSpecificationRange: function ()
87
+ {
88
+ return ["3.0", "Infinity"];
89
+ },
86
90
  initialize: function ()
87
91
  {
88
92
  X3DTextureTransformNode .prototype .initialize .call (this);
@@ -86,6 +86,10 @@ PixelTexture .prototype = Object .assign (Object .create (X3DTexture2DNode .prot
86
86
  {
87
87
  return "texture";
88
88
  },
89
+ getSpecificationRange: function ()
90
+ {
91
+ return ["2.0", "Infinity"];
92
+ },
89
93
  initialize: function ()
90
94
  {
91
95
  X3DTexture2DNode .prototype .initialize .call (this);
@@ -79,6 +79,10 @@ TextureCoordinate .prototype = Object .assign (Object .create (X3DSingleTextureC
79
79
  {
80
80
  return "texCoord";
81
81
  },
82
+ getSpecificationRange: function ()
83
+ {
84
+ return ["2.0", "Infinity"];
85
+ },
82
86
  initialize: function ()
83
87
  {
84
88
  X3DSingleTextureCoordinateNode .prototype .initialize .call (this);
@@ -83,6 +83,10 @@ TextureCoordinateGenerator .prototype = Object .assign (Object .create (X3DSingl
83
83
  {
84
84
  return "texCoord";
85
85
  },
86
+ getSpecificationRange: function ()
87
+ {
88
+ return ["3.0", "Infinity"];
89
+ },
86
90
  initialize: function ()
87
91
  {
88
92
  X3DSingleTextureCoordinateNode .prototype .initialize .call (this);
@@ -95,6 +95,10 @@ TextureProperties .prototype = Object .assign (Object .create (X3DNode .prototyp
95
95
  {
96
96
  return "textureProperties";
97
97
  },
98
+ getSpecificationRange: function ()
99
+ {
100
+ return ["3.0", "Infinity"];
101
+ },
98
102
  getBorderWidth: function ()
99
103
  {
100
104
  // https://stackoverflow.com/questions/27760277/webgl-border-color-shader?lq=1
@@ -88,6 +88,10 @@ TextureTransform .prototype = Object .assign (Object .create (X3DSingleTextureTr
88
88
  {
89
89
  return "textureTransform";
90
90
  },
91
+ getSpecificationRange: function ()
92
+ {
93
+ return ["2.0", "Infinity"];
94
+ },
91
95
  initialize: function ()
92
96
  {
93
97
  X3DSingleTextureTransformNode .prototype .initialize .call (this);
@@ -88,6 +88,10 @@ ComposedTexture3D .prototype = Object .assign (Object .create (X3DTexture3DNode
88
88
  {
89
89
  return "texture";
90
90
  },
91
+ getSpecificationRange: function ()
92
+ {
93
+ return ["3.1", "Infinity"];
94
+ },
91
95
  initialize: function ()
92
96
  {
93
97
  X3DTexture3DNode .prototype .initialize .call (this);
@@ -91,6 +91,10 @@ ImageTexture3D .prototype = Object .assign (Object .create (X3DTexture3DNode .pr
91
91
  {
92
92
  return "texture";
93
93
  },
94
+ getSpecificationRange: function ()
95
+ {
96
+ return ["3.1", "Infinity"];
97
+ },
94
98
  initialize: function ()
95
99
  {
96
100
  X3DTexture3DNode .prototype .initialize .call (this);
@@ -96,6 +96,10 @@ ImageTextureAtlas .prototype = Object .assign (Object .create (X3DTexture3DNode
96
96
  {
97
97
  return "texture";
98
98
  },
99
+ getSpecificationRange: function ()
100
+ {
101
+ return ["4.0", "Infinity"];
102
+ },
99
103
  initialize: function ()
100
104
  {
101
105
  X3DTexture3DNode .prototype .initialize .call (this);
@@ -84,6 +84,10 @@ PixelTexture3D .prototype = Object .assign (Object .create (X3DTexture3DNode .pr
84
84
  {
85
85
  return "texture";
86
86
  },
87
+ getSpecificationRange: function ()
88
+ {
89
+ return ["3.1", "Infinity"];
90
+ },
87
91
  initialize: function ()
88
92
  {
89
93
  X3DTexture3DNode .prototype .initialize .call (this);
@@ -79,6 +79,10 @@ TextureCoordinate3D .prototype = Object .assign (Object .create (X3DSingleTextur
79
79
  {
80
80
  return "texCoord";
81
81
  },
82
+ getSpecificationRange: function ()
83
+ {
84
+ return ["3.1", "Infinity"];
85
+ },
82
86
  initialize: function ()
83
87
  {
84
88
  X3DSingleTextureCoordinateNode .prototype .initialize .call (this);
@@ -79,6 +79,10 @@ TextureCoordinate4D .prototype = Object .assign (Object .create (X3DSingleTextur
79
79
  {
80
80
  return "texCoord";
81
81
  },
82
+ getSpecificationRange: function ()
83
+ {
84
+ return ["3.1", "Infinity"];
85
+ },
82
86
  initialize: function ()
83
87
  {
84
88
  X3DSingleTextureCoordinateNode .prototype .initialize .call (this);
@@ -86,6 +86,10 @@ TextureTransform3D .prototype = Object .assign (Object .create (X3DSingleTexture
86
86
  {
87
87
  return "textureTransform";
88
88
  },
89
+ getSpecificationRange: function ()
90
+ {
91
+ return ["3.1", "Infinity"];
92
+ },
89
93
  initialize: function ()
90
94
  {
91
95
  X3DSingleTextureTransformNode .prototype .initialize .call (this);
@@ -78,6 +78,10 @@ TextureTransformMatrix3D .prototype = Object .assign (Object .create (X3DSingleT
78
78
  {
79
79
  return "textureTransform";
80
80
  },
81
+ getSpecificationRange: function ()
82
+ {
83
+ return ["3.1", "Infinity"];
84
+ },
81
85
  initialize: function ()
82
86
  {
83
87
  X3DSingleTextureTransformNode .prototype .initialize .call (this);
@@ -103,6 +103,10 @@ TimeSensor .prototype = Object .assign (Object .create (X3DSensorNode .prototype
103
103
  {
104
104
  return "children";
105
105
  },
106
+ getSpecificationRange: function ()
107
+ {
108
+ return ["2.0", "Infinity"];
109
+ },
106
110
  initialize: function ()
107
111
  {
108
112
  X3DSensorNode .prototype .initialize .call (this);
@@ -87,6 +87,10 @@ BlendedVolumeStyle .prototype = Object .assign (Object .create (X3DComposableVol
87
87
  {
88
88
  return "renderStyle";
89
89
  },
90
+ getSpecificationRange: function ()
91
+ {
92
+ return ["3.3", "Infinity"];
93
+ },
90
94
  initialize: function ()
91
95
  {
92
96
  X3DComposableVolumeRenderStyleNode .prototype .initialize .call (this);
@@ -80,6 +80,10 @@ BoundaryEnhancementVolumeStyle .prototype = Object .assign (Object .create (X3DC
80
80
  {
81
81
  return "renderStyle";
82
82
  },
83
+ getSpecificationRange: function ()
84
+ {
85
+ return ["3.3", "Infinity"];
86
+ },
83
87
  addShaderFields: function (shaderNode)
84
88
  {
85
89
  if (! this ._enabled .getValue ())
@@ -82,6 +82,10 @@ CartoonVolumeStyle .prototype = Object .assign (Object .create (X3DComposableVol
82
82
  {
83
83
  return "renderStyle";
84
84
  },
85
+ getSpecificationRange: function ()
86
+ {
87
+ return ["3.3", "Infinity"];
88
+ },
85
89
  initialize: function ()
86
90
  {
87
91
  X3DComposableVolumeRenderStyleNode .prototype .initialize .call (this);
@@ -81,6 +81,10 @@ ComposedVolumeStyle .prototype = Object .assign (Object .create (X3DComposableVo
81
81
  {
82
82
  return "renderStyle";
83
83
  },
84
+ getSpecificationRange: function ()
85
+ {
86
+ return ["3.3", "Infinity"];
87
+ },
84
88
  initialize: function ()
85
89
  {
86
90
  X3DComposableVolumeRenderStyleNode .prototype .initialize .call (this);
@@ -81,6 +81,10 @@ EdgeEnhancementVolumeStyle .prototype = Object .assign (Object .create (X3DCompo
81
81
  {
82
82
  return "renderStyle";
83
83
  },
84
+ getSpecificationRange: function ()
85
+ {
86
+ return ["3.3", "Infinity"];
87
+ },
84
88
  initialize: function ()
85
89
  {
86
90
  X3DComposableVolumeRenderStyleNode .prototype .initialize .call (this);
@@ -92,6 +92,10 @@ IsoSurfaceVolumeData .prototype = Object .assign (Object .create (X3DVolumeDataN
92
92
  {
93
93
  return "children";
94
94
  },
95
+ getSpecificationRange: function ()
96
+ {
97
+ return ["3.3", "Infinity"];
98
+ },
95
99
  initialize: function ()
96
100
  {
97
101
  X3DVolumeDataNode .prototype .initialize .call (this);
@@ -79,6 +79,10 @@ OpacityMapVolumeStyle .prototype = Object .assign (Object .create (X3DComposable
79
79
  {
80
80
  return "renderStyle";
81
81
  },
82
+ getSpecificationRange: function ()
83
+ {
84
+ return ["3.3", "Infinity"];
85
+ },
82
86
  initialize: function ()
83
87
  {
84
88
  X3DComposableVolumeRenderStyleNode .prototype .initialize .call (this);
@@ -79,6 +79,10 @@ ProjectionVolumeStyle .prototype = Object .assign (Object .create (X3DVolumeRend
79
79
  {
80
80
  return "renderStyle";
81
81
  },
82
+ getSpecificationRange: function ()
83
+ {
84
+ return ["3.3", "Infinity"];
85
+ },
82
86
  addShaderFields: function (shaderNode)
83
87
  {
84
88
  if (! this ._enabled .getValue ())
@@ -91,6 +91,10 @@ SegmentedVolumeData .prototype = Object .assign (Object .create (X3DVolumeDataNo
91
91
  {
92
92
  return "children";
93
93
  },
94
+ getSpecificationRange: function ()
95
+ {
96
+ return ["3.3", "Infinity"];
97
+ },
94
98
  initialize: function ()
95
99
  {
96
100
  X3DVolumeDataNode .prototype .initialize .call (this);
@@ -83,6 +83,10 @@ ShadedVolumeStyle .prototype = Object .assign (Object .create (X3DComposableVolu
83
83
  {
84
84
  return "renderStyle";
85
85
  },
86
+ getSpecificationRange: function ()
87
+ {
88
+ return ["3.3", "Infinity"];
89
+ },
86
90
  initialize: function ()
87
91
  {
88
92
  X3DComposableVolumeRenderStyleNode .prototype .initialize .call (this);
@@ -82,6 +82,10 @@ SilhouetteEnhancementVolumeStyle .prototype = Object .assign (Object .create (X3
82
82
  {
83
83
  return "renderStyle";
84
84
  },
85
+ getSpecificationRange: function ()
86
+ {
87
+ return ["3.3", "Infinity"];
88
+ },
85
89
  initialize: function ()
86
90
  {
87
91
  X3DComposableVolumeRenderStyleNode .prototype .initialize .call (this);
@@ -81,6 +81,10 @@ ToneMappedVolumeStyle .prototype = Object .assign (Object .create (X3DComposable
81
81
  {
82
82
  return "renderStyle";
83
83
  },
84
+ getSpecificationRange: function ()
85
+ {
86
+ return ["3.3", "Infinity"];
87
+ },
84
88
  initialize: function ()
85
89
  {
86
90
  X3DComposableVolumeRenderStyleNode .prototype .initialize .call (this);
@@ -88,6 +88,10 @@ VolumeData .prototype = Object .assign (Object .create (X3DVolumeDataNode .proto
88
88
  {
89
89
  return "children";
90
90
  },
91
+ getSpecificationRange: function ()
92
+ {
93
+ return ["3.3", "Infinity"];
94
+ },
91
95
  initialize: function ()
92
96
  {
93
97
  X3DVolumeDataNode .prototype .initialize .call (this);
@@ -87,6 +87,10 @@ BlendMode .prototype = Object .assign (Object .create (X3DAppearanceChildNode .p
87
87
  {
88
88
  return "blendMode";
89
89
  },
90
+ getSpecificationRange: function ()
91
+ {
92
+ return ["3.3", "Infinity"];
93
+ },
90
94
  initialize: function ()
91
95
  {
92
96
  X3DAppearanceChildNode .prototype .initialize .call (this);
@@ -172,6 +172,14 @@ X3DExecutionContext .prototype = Object .assign (Object .create (X3DBaseNode .pr
172
172
  if (! Type)
173
173
  return null;
174
174
 
175
+ const specificationRange = Type .prototype .getSpecificationRange ();
176
+
177
+ if (this .getSpecificationVersion () < specificationRange [0])
178
+ return null;
179
+
180
+ if (this .getSpecificationVersion () > specificationRange [1])
181
+ return null;
182
+
175
183
  return new Type (this);
176
184
  }
177
185
  else
@@ -181,6 +189,14 @@ X3DExecutionContext .prototype = Object .assign (Object .create (X3DBaseNode .pr
181
189
  if (! Type)
182
190
  throw new Error ("Unknown node type '" + typeName + "'.");
183
191
 
192
+ const specificationRange = Type .prototype .getSpecificationRange ();
193
+
194
+ if (this .getSpecificationVersion () < specificationRange [0])
195
+ throw new Error ("Node type '" + typeName + "' does not match specification version.");
196
+
197
+ if (this .getSpecificationVersion () > specificationRange [1])
198
+ throw new Error ("Node type '" + typeName + "' does not match specification version.");
199
+
184
200
  const baseNode = new Type (this);
185
201
 
186
202
  baseNode .setup ();
@@ -283,7 +283,7 @@ FileLoader .prototype = Object .assign (Object .create (X3DObject .prototype),
283
283
  const
284
284
  options = { cache: this .node .getCache () ? "default" : "reload" },
285
285
  response = this .handleErrors (await fetch (this .URL .href, options)),
286
- contentType = response .headers .get ("content-type") .replace (/;.*$/, "");
286
+ contentType = response .headers .get ("content-type")?.replace (/;.*$/, "");
287
287
 
288
288
  if (this .foreign)
289
289
  {
@@ -704,8 +704,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (X3DParser .prototype),
704
704
  scene .addExportedNode (scene .getUniqueExportName (name), textureNode);
705
705
  }
706
706
 
707
- textureNode ._url = [image .uri];
708
- textureNode ._flipVertically = true;
707
+ textureNode ._url = [image .uri];
709
708
 
710
709
  const sampler = this .samplers [texture .sampler];
711
710
 
@@ -767,7 +766,10 @@ GLTF2Parser .prototype = Object .assign (Object .create (X3DParser .prototype),
767
766
  {
768
767
  const textureTransformNode = scene .createNode ("TextureTransform", false);
769
768
 
770
- textureTransformNode ._mapping = mapping;
769
+ textureTransformNode ._mapping = mapping;
770
+ textureTransformNode ._translation .y = -1;
771
+ textureTransformNode ._scale .y = -1;
772
+
771
773
  textureTransformNode .setup ();
772
774
 
773
775
  this .textureTransformNodes .push (textureTransformNode);
@@ -975,7 +977,11 @@ GLTF2Parser .prototype = Object .assign (Object .create (X3DParser .prototype),
975
977
  if (!(KHR_materials_emissive_strength instanceof Object))
976
978
  return;
977
979
 
978
- materialNode ._emissiveStrength = this .numberValue (KHR_materials_emissive_strength .emissiveStrength, 1);
980
+ const emissiveStrength = this .numberValue (KHR_materials_emissive_strength .emissiveStrength, 1);
981
+
982
+ materialNode ._emissiveColor .r *= emissiveStrength;
983
+ materialNode ._emissiveColor .g *= emissiveStrength;
984
+ materialNode ._emissiveColor .b *= emissiveStrength;
979
985
  },
980
986
  textureTransformObject: function (KHR_texture_transform, texCoord)
981
987
  {
@@ -995,6 +1001,9 @@ GLTF2Parser .prototype = Object .assign (Object .create (X3DParser .prototype),
995
1001
  scale = new Vector2 (1, 1),
996
1002
  matrix = new Matrix4 ();
997
1003
 
1004
+ matrix .translate (new Vector3 (0, 1, 0));
1005
+ matrix .scale (new Vector3 (1, -1, 1));
1006
+
998
1007
  if (this .vectorValue (KHR_texture_transform .offset, translation))
999
1008
  matrix .translate (new Vector3 (... translation, 0));
1000
1009
 
@@ -1755,7 +1764,19 @@ GLTF2Parser .prototype = Object .assign (Object .create (X3DParser .prototype),
1755
1764
  {
1756
1765
  case 0:
1757
1766
  {
1758
- return null;
1767
+ if (this .textureTransformNode)
1768
+ return this .textureTransformNode;
1769
+
1770
+ const
1771
+ scene = this .getExecutionContext (),
1772
+ textureTransformNode = scene .createNode ("TextureTransform", false);
1773
+
1774
+ textureTransformNode ._translation .y = -1;
1775
+ textureTransformNode ._scale .y = -1;
1776
+
1777
+ textureTransformNode .setup ();
1778
+
1779
+ return this .textureTransformNode = textureTransformNode;
1759
1780
  }
1760
1781
  case 1:
1761
1782
  {
@@ -1233,14 +1233,14 @@ VRMLParser .prototype = Object .assign (Object .create (X3DParser .prototype),
1233
1233
  {
1234
1234
  var
1235
1235
  nodeTypeId = this .result [1],
1236
- baseNode = this .getExecutionContext () .createProto (nodeTypeId, false);
1236
+ baseNode = this .getExecutionContext () .createNode (nodeTypeId, false);
1237
1237
 
1238
1238
  if (! baseNode)
1239
1239
  {
1240
- baseNode = this .getExecutionContext () .createNode (nodeTypeId, false);
1240
+ baseNode = this .getExecutionContext () .createProto (nodeTypeId, false);
1241
1241
 
1242
1242
  if (! baseNode)
1243
- throw new Error ("Unknown node type or proto '" + nodeTypeId + "', you probably have insufficient component/profile statements.");
1243
+ throw new Error ("Unknown node type or proto '" + nodeTypeId + "', you probably have insufficient component/profile statements, and/or an inappropriate specification version.");
1244
1244
  }
1245
1245
 
1246
1246
  if (nodeNameId .length)
@@ -780,13 +780,13 @@ XMLParser .prototype = Object .assign (Object .create (X3DParser .prototype),
780
780
  if (this .useAttribute (xmlElement))
781
781
  return;
782
782
 
783
- var node = this .getExecutionContext () .createProto (this .protoNameToCamelCase (xmlElement .nodeName), false);
783
+ var node = this .getExecutionContext () .createNode (this .nodeNameToCamelCase (xmlElement .nodeName), false);
784
784
 
785
785
  if (! node)
786
- node = this .getExecutionContext () .createNode (this .nodeNameToCamelCase (xmlElement .nodeName), false);
786
+ node = this .getExecutionContext () .createProto (this .protoNameToCamelCase (xmlElement .nodeName), false);
787
787
 
788
788
  if (! node)
789
- throw new Error ("Unknown node type '" + xmlElement .nodeName + "', you probably have insufficient component/profile statements.");
789
+ throw new Error ("Unknown node type '" + xmlElement .nodeName + "', you probably have insufficient component/profile statements and/or an inappropriate specification version.");
790
790
 
791
791
  ///DOMIntegration: attach node to DOM xmlElement for access from DOM.
792
792
  $.data (xmlElement, "node", node);