x_ite 5.0.3 → 6.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (385) hide show
  1. package/.vscode/settings.json +12 -5
  2. package/.vscode/tasks.json +25 -1
  3. package/Makefile +36 -28
  4. package/README.md +6 -11
  5. package/build/bin/dist.pl +0 -6
  6. package/build/bin/examples-and-tests.pl +75 -0
  7. package/build/bin/tests-menu.pl +57 -0
  8. package/build/bin/version.pl +7 -4
  9. package/build/parts/default.start.frag.js +3 -2
  10. package/dist/assets/components/annotation.js +3 -2
  11. package/dist/assets/components/annotation.min.js +1 -1
  12. package/dist/assets/components/cad-geometry.js +3 -2
  13. package/dist/assets/components/cad-geometry.min.js +1 -1
  14. package/dist/assets/components/cube-map-texturing.js +8 -20
  15. package/dist/assets/components/cube-map-texturing.min.js +1 -1
  16. package/dist/assets/components/dis.js +3 -2
  17. package/dist/assets/components/dis.min.js +1 -1
  18. package/dist/assets/components/event-utilities.js +4 -3
  19. package/dist/assets/components/event-utilities.min.js +1 -1
  20. package/dist/assets/components/geometry2d.js +38 -52
  21. package/dist/assets/components/geometry2d.min.js +1 -1
  22. package/dist/assets/components/geospatial.js +34 -1686
  23. package/dist/assets/components/geospatial.min.js +1 -1
  24. package/dist/assets/components/h-anim.js +71 -77
  25. package/dist/assets/components/h-anim.min.js +1 -1
  26. package/dist/assets/components/key-device-sensor.js +4 -3
  27. package/dist/assets/components/key-device-sensor.min.js +1 -1
  28. package/dist/assets/components/layout.js +101 -173
  29. package/dist/assets/components/layout.min.js +1 -1
  30. package/dist/assets/components/nurbs.js +3 -2
  31. package/dist/assets/components/nurbs.min.js +1 -1
  32. package/dist/assets/components/particle-systems.js +1926 -1669
  33. package/dist/assets/components/particle-systems.min.js +1 -1
  34. package/dist/assets/components/picking.js +34 -41
  35. package/dist/assets/components/picking.min.js +1 -1
  36. package/dist/assets/components/projective-texture-mapping.js +73 -86
  37. package/dist/assets/components/projective-texture-mapping.min.js +1 -1
  38. package/dist/assets/components/rigid-body-physics.js +37 -57
  39. package/dist/assets/components/rigid-body-physics.min.js +1 -1
  40. package/dist/assets/components/scripting.js +3 -2
  41. package/dist/assets/components/scripting.min.js +1 -1
  42. package/dist/assets/components/texturing-3d.js +27 -33
  43. package/dist/assets/components/texturing-3d.min.js +3 -3
  44. package/dist/assets/components/volume-rendering.js +12 -11
  45. package/dist/assets/components/volume-rendering.min.js +1 -1
  46. package/dist/assets/components/x_ite.js +3 -2
  47. package/dist/assets/components/x_ite.min.js +1 -1
  48. package/dist/assets/images/Shading.png +0 -0
  49. package/dist/assets/linetype/1.png +0 -0
  50. package/dist/assets/linetype/10.png +0 -0
  51. package/dist/assets/linetype/11.png +0 -0
  52. package/dist/assets/linetype/12.png +0 -0
  53. package/dist/assets/linetype/13.png +0 -0
  54. package/dist/assets/linetype/14.png +0 -0
  55. package/dist/assets/linetype/15.png +0 -0
  56. package/dist/assets/linetype/16.png +0 -0
  57. package/dist/assets/linetype/2.png +0 -0
  58. package/dist/assets/linetype/3.png +0 -0
  59. package/dist/assets/linetype/4.png +0 -0
  60. package/dist/assets/linetype/5.png +0 -0
  61. package/dist/assets/linetype/6.png +0 -0
  62. package/dist/assets/linetype/7.png +0 -0
  63. package/dist/assets/linetype/8.png +0 -0
  64. package/dist/assets/linetype/9.png +0 -0
  65. package/dist/assets/shaders/webgl1/Gouraud.vs +1 -1
  66. package/dist/assets/shaders/webgl1/Line.fs +0 -21
  67. package/dist/assets/shaders/webgl1/Line.vs +0 -10
  68. package/dist/assets/shaders/webgl1/PBR.fs +1 -1
  69. package/dist/assets/shaders/webgl1/PBR.vs +1 -1
  70. package/dist/assets/shaders/webgl1/Phong.fs +1 -1
  71. package/dist/assets/shaders/webgl1/Point.vs +1 -1
  72. package/dist/assets/shaders/webgl2/Depth.vs +29 -1
  73. package/dist/assets/shaders/webgl2/Gouraud.vs +32 -4
  74. package/dist/assets/shaders/webgl2/Line.fs +24 -12
  75. package/dist/assets/shaders/webgl2/Line.vs +36 -11
  76. package/dist/assets/shaders/webgl2/LineTransform.fs +4 -0
  77. package/dist/assets/shaders/webgl2/LineTransform.vs +57 -0
  78. package/dist/assets/shaders/webgl2/PBR.fs +1 -1
  79. package/dist/assets/shaders/webgl2/PBR.vs +35 -7
  80. package/dist/assets/shaders/webgl2/Phong.fs +1 -1
  81. package/dist/assets/shaders/webgl2/Phong.vs +31 -3
  82. package/dist/assets/shaders/webgl2/Point.vs +30 -2
  83. package/dist/assets/shaders/webgl2/Unlit.vs +31 -3
  84. package/dist/example.html +6 -6
  85. package/dist/x_ite.css +199 -224
  86. package/dist/x_ite.js +16335 -15917
  87. package/dist/x_ite.min.js +17 -17
  88. package/dist/x_ite.zip +0 -0
  89. package/docs/404.md +6 -0
  90. package/docs/Accessing-the-External-Browser.md +21 -15
  91. package/docs/Browser-Support.md +6 -0
  92. package/docs/Custom-Shaders.md +18 -25
  93. package/docs/Features.md +11 -5
  94. package/docs/Gemfile +44 -0
  95. package/docs/Gemfile.lock +122 -0
  96. package/docs/Glossary.md +6 -0
  97. package/docs/How-To-Configure-Your-Web-Server.md +6 -0
  98. package/docs/Supported-Nodes.md +9 -1
  99. package/docs/What's-New.md +93 -39
  100. package/docs/XHTML-DOM-Integration.md +6 -0
  101. package/docs/_config.yml +2 -2
  102. package/docs/assets/css/main.scss +26 -0
  103. package/docs/index.md +42 -50
  104. package/docs/reference/Browser-Services.md +9 -3
  105. package/docs/reference/Constants-Services.md +6 -0
  106. package/docs/reference/ECMAScript-Object-and-Function-Definitions.md +12 -6
  107. package/docs/reference/Field-Services-and-Objects.md +105 -1
  108. package/docs/reference/Prototype-Services.md +11 -0
  109. package/docs/reference/Route-Services.md +9 -0
  110. package/docs/reference/Scene-Services.md +17 -2
  111. package/docs/reference/Script-Node-Authoring-Interface.md +7 -1
  112. package/docs/tutorials/Adding-backgrounds.md +6 -0
  113. package/docs/tutorials/Adding-fog.md +6 -0
  114. package/docs/tutorials/Adding-sound.md +6 -0
  115. package/docs/tutorials/Animating-transforms.md +6 -0
  116. package/docs/tutorials/Basic-Nodes.md +6 -0
  117. package/docs/tutorials/Building-a-X3D-world.md +6 -0
  118. package/docs/tutorials/Building-elevation-grids.md +6 -0
  119. package/docs/tutorials/Building-extruded-shapes.md +6 -0
  120. package/docs/tutorials/Building-primitive-shapes.md +6 -0
  121. package/docs/tutorials/Building-shapes-out-of-points,-lines,-and-faces.md +6 -0
  122. package/docs/tutorials/Controlling-appearance-with-materials.md +6 -0
  123. package/docs/tutorials/Controlling-color-on-coordinate-based-geometry.md +6 -0
  124. package/docs/tutorials/Controlling-detail.md +6 -0
  125. package/docs/tutorials/Controlling-how-textures-are-mapped.md +6 -0
  126. package/docs/tutorials/Controlling-navigation.md +6 -0
  127. package/docs/tutorials/Controlling-shading-on-coordinate-based-geometry.md +6 -0
  128. package/docs/tutorials/Controlling-the-viewpoint.md +6 -0
  129. package/docs/tutorials/Creating-new-node-types.md +6 -0
  130. package/docs/tutorials/Grouping-nodes.md +6 -0
  131. package/docs/tutorials/Hello,-World!.md +6 -0
  132. package/docs/tutorials/Improving-Performance.md +6 -0
  133. package/docs/tutorials/Increasing-Rendering-Speed.md +6 -0
  134. package/docs/tutorials/Introducing-X3D.md +6 -0
  135. package/docs/tutorials/Introducing-animation.md +6 -0
  136. package/docs/tutorials/Introducing-script-use.md +6 -0
  137. package/docs/tutorials/Lighting-your-world.md +6 -0
  138. package/docs/tutorials/Mapping-textures.md +6 -0
  139. package/docs/tutorials/Naming-nodes.md +6 -0
  140. package/docs/tutorials/Providing-information-about-your-world.md +6 -0
  141. package/docs/tutorials/Sensing-the-viewer.md +6 -0
  142. package/docs/tutorials/Sensing-viewer-actions.md +6 -0
  143. package/docs/tutorials/Transforming-Shapes.md +6 -0
  144. package/docs/tutorials/Writing-program-scripts-with-ECMAScript.md +6 -0
  145. package/docs/tutorials/index.md +42 -36
  146. package/package.json +6 -7
  147. package/src/assets/components/geometry2d.js +1 -1
  148. package/src/assets/components/key-device-sensor.js +1 -1
  149. package/src/assets/components/layout.js +1 -1
  150. package/src/assets/components/particle-systems.js +1 -1
  151. package/src/assets/components/volume-rendering.js +1 -1
  152. package/src/assets/images/Shading.png +0 -0
  153. package/src/assets/linetype/1.png +0 -0
  154. package/src/assets/linetype/10.png +0 -0
  155. package/src/assets/linetype/11.png +0 -0
  156. package/src/assets/linetype/12.png +0 -0
  157. package/src/assets/linetype/13.png +0 -0
  158. package/src/assets/linetype/14.png +0 -0
  159. package/src/assets/linetype/15.png +0 -0
  160. package/src/assets/linetype/16.png +0 -0
  161. package/src/assets/linetype/2.png +0 -0
  162. package/src/assets/linetype/3.png +0 -0
  163. package/src/assets/linetype/4.png +0 -0
  164. package/src/assets/linetype/5.png +0 -0
  165. package/src/assets/linetype/6.png +0 -0
  166. package/src/assets/linetype/7.png +0 -0
  167. package/src/assets/linetype/8.png +0 -0
  168. package/src/assets/linetype/9.png +0 -0
  169. package/src/assets/shaders/Types.glsl +1 -9
  170. package/src/assets/shaders/webgl1/Gouraud.fs +1 -1
  171. package/src/assets/shaders/webgl1/Gouraud.vs +2 -3
  172. package/src/assets/shaders/webgl1/Line.fs +3 -28
  173. package/src/assets/shaders/webgl1/Line.vs +6 -20
  174. package/src/assets/shaders/webgl1/PBR.fs +6 -6
  175. package/src/assets/shaders/webgl1/PBR.vs +1 -1
  176. package/src/assets/shaders/webgl1/Phong.fs +10 -10
  177. package/src/assets/shaders/webgl1/Point.vs +2 -2
  178. package/src/assets/shaders/webgl1/Unlit.fs +4 -4
  179. package/src/assets/shaders/webgl1/include/Normal.glsl +1 -1
  180. package/src/assets/shaders/webgl1/include/Texture.glsl +3 -8
  181. package/src/assets/shaders/webgl2/Depth.vs +4 -1
  182. package/src/assets/shaders/webgl2/Gouraud.fs +1 -1
  183. package/src/assets/shaders/webgl2/Gouraud.vs +8 -6
  184. package/src/assets/shaders/webgl2/Line.fs +11 -17
  185. package/src/assets/shaders/webgl2/Line.vs +17 -21
  186. package/src/assets/shaders/webgl2/LineTransform.fs +6 -0
  187. package/src/assets/shaders/webgl2/LineTransform.vs +77 -0
  188. package/src/assets/shaders/webgl2/PBR.fs +6 -6
  189. package/src/assets/shaders/webgl2/PBR.vs +10 -7
  190. package/src/assets/shaders/webgl2/Phong.fs +11 -11
  191. package/src/assets/shaders/webgl2/Phong.vs +6 -3
  192. package/src/assets/shaders/webgl2/Point.vs +5 -4
  193. package/src/assets/shaders/webgl2/Unlit.fs +5 -5
  194. package/src/assets/shaders/webgl2/Unlit.vs +6 -3
  195. package/src/assets/shaders/webgl2/include/Line2.glsl +20 -0
  196. package/src/assets/shaders/webgl2/include/Normal.glsl +1 -1
  197. package/src/assets/shaders/webgl2/include/Particle.glsl +36 -0
  198. package/src/assets/shaders/webgl2/include/Texture.glsl +3 -3
  199. package/src/example.html +6 -6
  200. package/src/examples.js +5 -4
  201. package/src/standard/Math/Algorithm.js +12 -28
  202. package/src/standard/Math/Geometry/Line2.js +163 -0
  203. package/src/standard/Math/Geometry/Line3.js +3 -5
  204. package/src/standard/Math/Geometry/Plane3.js +0 -2
  205. package/src/standard/Math/Geometry/Triangle3.js +1 -1
  206. package/src/standard/Math/Geometry/ViewVolume.js +121 -103
  207. package/src/standard/Math/Numbers/Color3.js +6 -0
  208. package/src/standard/Math/Numbers/Color4.js +7 -0
  209. package/src/standard/Math/Numbers/Complex.js +48 -34
  210. package/src/standard/Math/Numbers/Matrix2.js +62 -2
  211. package/src/standard/Math/Numbers/Matrix3.js +129 -110
  212. package/src/standard/Math/Numbers/Matrix4.js +138 -119
  213. package/src/standard/Math/Numbers/Quaternion.js +12 -5
  214. package/src/standard/Math/Numbers/Rotation4.js +8 -1
  215. package/src/standard/Math/Numbers/Vector2.js +42 -9
  216. package/src/standard/Math/Numbers/Vector3.js +50 -14
  217. package/src/standard/Math/Numbers/Vector4.js +48 -11
  218. package/src/standard/Math/Utility/BVH.js +45 -17
  219. package/src/tests.js +68 -66
  220. package/src/x_ite/Base/X3DBaseNode.js +22 -11
  221. package/src/x_ite/Base/X3DField.js +1 -1
  222. package/src/x_ite/Browser/Core/BrowserOptions.js +24 -143
  223. package/src/x_ite/Browser/Core/BrowserTimings.js +6 -4
  224. package/src/x_ite/Browser/Core/Context.js +185 -0
  225. package/src/x_ite/Browser/Core/ContextMenu.js +398 -211
  226. package/src/x_ite/Browser/Core/Notification.js +1 -0
  227. package/src/x_ite/Browser/Core/X3DCoreContext.js +35 -146
  228. package/src/x_ite/Browser/Followers/X3DArrayFollowerTemplate.js +1 -1
  229. package/src/x_ite/Browser/Geometry2D/Disk2DOptions.js +1 -0
  230. package/src/x_ite/Browser/Geometry2D/X3DGeometry2DContext.js +2 -2
  231. package/src/x_ite/Browser/Geometry3D/X3DGeometry3DContext.js +41 -2
  232. package/src/x_ite/Browser/Geospatial/Geocentric.js +2 -2
  233. package/src/x_ite/Browser/Interpolation/CatmullRomSplineInterpolatorTemplate.js +1 -1
  234. package/src/x_ite/Browser/Layout/ScreenText.js +18 -65
  235. package/src/x_ite/Browser/Layout/X3DLayoutContext.js +59 -16
  236. package/src/x_ite/Browser/Navigation/ExamineViewer.js +13 -20
  237. package/src/x_ite/Browser/Navigation/LookAtViewer.js +1 -4
  238. package/src/x_ite/Browser/Navigation/PlaneViewer.js +0 -3
  239. package/src/x_ite/Browser/Navigation/X3DFlyViewer.js +15 -8
  240. package/src/x_ite/Browser/Navigation/X3DViewer.js +12 -20
  241. package/src/x_ite/Browser/Networking/X3DNetworkingContext.js +11 -7
  242. package/src/x_ite/Browser/ParticleSystems/BVH.glsl +183 -0
  243. package/src/x_ite/Browser/ParticleSystems/Box3.glsl +47 -0
  244. package/src/x_ite/Browser/ParticleSystems/GeometryTypes.js +66 -0
  245. package/src/x_ite/Browser/ParticleSystems/Line3.glsl +55 -0
  246. package/src/x_ite/Browser/ParticleSystems/Plane3.glsl +160 -0
  247. package/src/x_ite/Browser/PointingDeviceSensor/PointingDevice.js +27 -3
  248. package/src/x_ite/Browser/PointingDeviceSensor/X3DPointingDeviceSensorContext.js +41 -37
  249. package/src/x_ite/Browser/Rendering/X3DRenderingContext.js +21 -13
  250. package/src/x_ite/Browser/Shaders/Shader.js +33 -12
  251. package/src/x_ite/Browser/Shaders/ShaderSource.js +6 -0
  252. package/src/x_ite/Browser/Shaders/ShaderTest.js +16 -10
  253. package/src/x_ite/Browser/Shape/X3DShapeContext.js +50 -9
  254. package/src/x_ite/Browser/Text/X3DTextContext.js +4 -13
  255. package/src/x_ite/Browser/Text/X3DTextGeometry.js +2 -1
  256. package/src/x_ite/Browser/Texturing/X3DTexturingContext.js +71 -34
  257. package/src/x_ite/Browser/Texturing3D/DICOMParser.js +2 -2
  258. package/src/x_ite/Browser/Time/X3DTimeContext.js +4 -2
  259. package/src/x_ite/Browser/VERSION.js +1 -1
  260. package/src/x_ite/Browser/X3DBrowser.js +7 -6
  261. package/src/x_ite/Browser/X3DBrowserContext.js +43 -10
  262. package/src/x_ite/Components/Core/X3DNode.js +4 -0
  263. package/src/x_ite/Components/Core/X3DPrototypeInstance.js +0 -2
  264. package/src/x_ite/Components/CubeMapTexturing/ComposedCubeMapTexture.js +3 -4
  265. package/src/x_ite/Components/CubeMapTexturing/GeneratedCubeMapTexture.js +1 -12
  266. package/src/x_ite/Components/CubeMapTexturing/ImageCubeMapTexture.js +1 -2
  267. package/src/x_ite/Components/EnvironmentalEffects/TextureBackground.js +1 -1
  268. package/src/x_ite/Components/EnvironmentalEffects/X3DBackgroundNode.js +76 -77
  269. package/src/x_ite/Components/EnvironmentalEffects/X3DFogObject.js +2 -9
  270. package/src/x_ite/Components/EnvironmentalSensor/ProximitySensor.js +51 -65
  271. package/src/x_ite/Components/EventUtilities/X3DSequencerNode.js +1 -1
  272. package/src/x_ite/Components/Followers/ColorDamper.js +1 -1
  273. package/src/x_ite/Components/Followers/X3DChaserNode.js +18 -32
  274. package/src/x_ite/Components/Followers/X3DDamperNode.js +1 -6
  275. package/src/x_ite/Components/Followers/X3DFollowerNode.js +1 -1
  276. package/src/x_ite/Components/Geometry2D/Disk2D.js +30 -46
  277. package/src/x_ite/Components/Geometry2D/TriangleSet2D.js +1 -1
  278. package/src/x_ite/Components/Geometry3D/ElevationGrid.js +12 -4
  279. package/src/x_ite/Components/Geometry3D/IndexedFaceSet.js +4 -4
  280. package/src/x_ite/Components/Geospatial/GeoCoordinate.js +10 -27
  281. package/src/x_ite/Components/Geospatial/GeoLOD.js +1 -1
  282. package/src/x_ite/Components/Geospatial/GeoPositionInterpolator.js +5 -10
  283. package/src/x_ite/Components/Geospatial/GeoTouchSensor.js +9 -16
  284. package/src/x_ite/Components/Geospatial/GeoTransform.js +6 -18
  285. package/src/x_ite/Components/Geospatial/GeoViewpoint.js +26 -30
  286. package/src/x_ite/Components/Geospatial/X3DGeospatialObject.js +20 -27
  287. package/src/x_ite/Components/Grouping/X3DGroupingNode.js +8 -8
  288. package/src/x_ite/Components/Grouping/X3DTransformNode.js +0 -4
  289. package/src/x_ite/Components/HAnim/HAnimHumanoid.js +68 -75
  290. package/src/x_ite/Components/Interpolation/OrientationInterpolator.js +4 -11
  291. package/src/x_ite/Components/Interpolation/X3DInterpolatorNode.js +1 -1
  292. package/src/x_ite/Components/Layout/LayoutGroup.js +4 -9
  293. package/src/x_ite/Components/Layout/ScreenFontStyle.js +1 -1
  294. package/src/x_ite/Components/Layout/ScreenGroup.js +16 -80
  295. package/src/x_ite/Components/Lighting/DirectionalLight.js +28 -36
  296. package/src/x_ite/Components/Lighting/PointLight.js +32 -47
  297. package/src/x_ite/Components/Lighting/SpotLight.js +33 -48
  298. package/src/x_ite/Components/Navigation/Billboard.js +49 -56
  299. package/src/x_ite/Components/Navigation/LOD.js +2 -2
  300. package/src/x_ite/Components/Navigation/OrthoViewpoint.js +29 -30
  301. package/src/x_ite/Components/Navigation/Viewpoint.js +16 -20
  302. package/src/x_ite/Components/Navigation/X3DViewpointNode.js +82 -111
  303. package/src/x_ite/Components/Networking/Anchor.js +18 -7
  304. package/src/x_ite/Components/ParticleSystems/BoundedPhysicsModel.js +6 -6
  305. package/src/x_ite/Components/ParticleSystems/ConeEmitter.js +44 -36
  306. package/src/x_ite/Components/ParticleSystems/ExplosionEmitter.js +26 -17
  307. package/src/x_ite/Components/ParticleSystems/ForcePhysicsModel.js +20 -7
  308. package/src/x_ite/Components/ParticleSystems/ParticleSystem.js +463 -882
  309. package/src/x_ite/Components/ParticleSystems/PointEmitter.js +39 -35
  310. package/src/x_ite/Components/ParticleSystems/PolylineEmitter.js +112 -128
  311. package/src/x_ite/Components/ParticleSystems/SurfaceEmitter.js +105 -112
  312. package/src/x_ite/Components/ParticleSystems/VolumeEmitter.js +138 -176
  313. package/src/x_ite/Components/ParticleSystems/WindPhysicsModel.js +16 -11
  314. package/src/x_ite/Components/ParticleSystems/X3DParticleEmitterNode.js +807 -217
  315. package/src/x_ite/Components/Picking/LinePickSensor.js +31 -39
  316. package/src/x_ite/Components/PointingDeviceSensor/CylinderSensor.js +91 -108
  317. package/src/x_ite/Components/PointingDeviceSensor/PlaneSensor.js +56 -59
  318. package/src/x_ite/Components/PointingDeviceSensor/SphereSensor.js +54 -71
  319. package/src/x_ite/Components/PointingDeviceSensor/TouchSensor.js +8 -15
  320. package/src/x_ite/Components/ProjectiveTextureMapping/TextureProjectorParallel.js +43 -50
  321. package/src/x_ite/Components/ProjectiveTextureMapping/TextureProjectorPerspective.js +32 -39
  322. package/src/x_ite/Components/Rendering/ClipPlane.js +3 -11
  323. package/src/x_ite/Components/Rendering/Color.js +12 -24
  324. package/src/x_ite/Components/Rendering/ColorRGBA.js +13 -25
  325. package/src/x_ite/Components/Rendering/IndexedLineSet.js +26 -4
  326. package/src/x_ite/Components/Rendering/LineSet.js +35 -13
  327. package/src/x_ite/Components/Rendering/PointSet.js +35 -13
  328. package/src/x_ite/Components/Rendering/X3DComposedGeometryNode.js +13 -5
  329. package/src/x_ite/Components/Rendering/X3DGeometryNode.js +331 -387
  330. package/src/x_ite/Components/Rendering/X3DLineGeometryNode.js +350 -140
  331. package/src/x_ite/Components/Rendering/X3DPointGeometryNode.js +116 -126
  332. package/src/x_ite/Components/RigidBodyPhysics/DoubleAxisHingeJoint.js +24 -38
  333. package/src/x_ite/Components/RigidBodyPhysics/SingleAxisHingeJoint.js +10 -17
  334. package/src/x_ite/Components/Shaders/ComposedShader.js +35 -75
  335. package/src/x_ite/Components/Shaders/FloatVertexAttribute.js +8 -11
  336. package/src/x_ite/Components/Shaders/Matrix3VertexAttribute.js +10 -14
  337. package/src/x_ite/Components/Shaders/Matrix4VertexAttribute.js +10 -14
  338. package/src/x_ite/Components/Shaders/ShaderPart.js +1 -10
  339. package/src/x_ite/Components/Shaders/X3DProgrammableShaderObject.js +220 -210
  340. package/src/x_ite/Components/Shaders/X3DShaderNode.js +28 -10
  341. package/src/x_ite/Components/Shaders/X3DVertexAttributeNode.js +15 -1
  342. package/src/x_ite/Components/Shape/Appearance.js +37 -4
  343. package/src/x_ite/Components/Shape/FillProperties.js +12 -1
  344. package/src/x_ite/Components/Shape/LineProperties.js +33 -1
  345. package/src/x_ite/Components/Shape/PointProperties.js +24 -3
  346. package/src/x_ite/Components/Shape/Shape.js +30 -39
  347. package/src/x_ite/Components/Shape/TwoSidedMaterial.js +3 -1
  348. package/src/x_ite/Components/Sound/Sound.js +31 -41
  349. package/src/x_ite/Components/Text/Text.js +6 -20
  350. package/src/x_ite/Components/Texturing/ImageTexture.js +1 -1
  351. package/src/x_ite/Components/Texturing/MovieTexture.js +1 -1
  352. package/src/x_ite/Components/Texturing/PixelTexture.js +2 -2
  353. package/src/x_ite/Components/Texturing/TextureCoordinate.js +5 -5
  354. package/src/x_ite/Components/Texturing/TextureProperties.js +4 -4
  355. package/src/x_ite/Components/Texturing/X3DSingleTextureNode.js +5 -4
  356. package/src/x_ite/Components/Texturing/X3DTexture2DNode.js +24 -33
  357. package/src/x_ite/Components/Texturing3D/TextureCoordinate3D.js +5 -5
  358. package/src/x_ite/Components/Texturing3D/TextureCoordinate4D.js +5 -5
  359. package/src/x_ite/Components/Texturing3D/X3DTexture3DNode.js +12 -19
  360. package/src/x_ite/Components/VolumeRendering/X3DVolumeDataNode.js +8 -8
  361. package/src/x_ite/Components.js +2 -2
  362. package/src/x_ite/Fallback.js +9 -3
  363. package/src/x_ite/Fields/SFColor.js +4 -0
  364. package/src/x_ite/Fields/SFColorRGBA.js +4 -0
  365. package/src/x_ite/Fields/SFImage.js +2 -11
  366. package/src/x_ite/Fields/SFMatrixPrototypeTemplate.js +4 -0
  367. package/src/x_ite/Fields/SFRotation.js +4 -0
  368. package/src/x_ite/Fields/SFString.js +4 -0
  369. package/src/x_ite/Fields/SFVecPrototypeTemplate.js +22 -2
  370. package/src/x_ite/Parser/XMLParser.js +1 -1
  371. package/src/x_ite/Rendering/TextureBuffer.js +43 -36
  372. package/src/x_ite/Rendering/VertexArray.js +103 -0
  373. package/src/x_ite/Rendering/X3DRenderObject.js +127 -148
  374. package/src/x_ite/X3D.js +32 -26
  375. package/src/x_ite.config.js +0 -5
  376. package/src/x_ite.css +216 -175
  377. package/src/x_ite.html +15 -10
  378. package/src/x_ite.js +49 -1
  379. package/x_ite.min.html +15 -10
  380. package/dist/assets/hatching/0.png +0 -0
  381. package/dist/assets/linetype/0.png +0 -0
  382. package/src/assets/hatching/0.png +0 -0
  383. package/src/assets/linetype/0.png +0 -0
  384. package/src/spinner.css +0 -67
  385. package/src/x_ite/Browser/Shape/LineStipples.xcf +0 -0
package/dist/x_ite.css CHANGED
@@ -1,119 +1,61 @@
1
- /* X_ITE v5.0.3-1148 */
1
+ /* X_ITE v6.1.0-1157 */
2
2
  @charset "utf-8";
3
- @import url(https://fonts.googleapis.com/css?family=PT+Sans:400,400italic,700,700italic);
4
- X3DCanvas .x_ite-private-splash-screen {
5
- display: none;
6
- z-index: 100;
7
- position: absolute;
8
- inset: 0;
9
- background: #1b1d21;
10
- background: -moz-radial-gradient(center, ellipse cover, #2f3135 0%, #1b1d21 100%);
11
- background: -webkit-radial-gradient(center, ellipse cover, #2f3135 0%,#1b1d21 100%);
12
- background: radial-gradient(ellipse at center, #2f3135 0%,#1b1d21 100%);
13
- }
14
- X3DCanvas .x_ite-private-spinner {
15
- position: absolute;
16
- top: calc(50% - (138px / 2));
17
- left: calc(50% - (134px / 2));
18
- width: 138px;
19
- height: 134px;
20
- background: url(assets/images/logo.128.png) no-repeat;
21
- -webkit-animation: spinner-animation-spin 32s linear infinite;
22
- -moz-animation: spinner-animation-spin 32s linear infinite;
23
- animation: spinner-animation-spin 32s linear infinite;
24
- }
25
- @-moz-keyframes spinner-animation-spin { 100% { -moz-transform: rotate(360deg); } }
26
- @-webkit-keyframes spinner-animation-spin { 100% { -webkit-transform: rotate(360deg); } }
27
- @keyframes spinner-animation-spin { 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } }
28
- X3DCanvas .x_ite-private-progress {
29
- position: absolute;
30
- top: calc(50% - 28pt - 11pt);
31
- left: calc(50% - 100px);
32
- width: 200px;
33
- }
34
- X3DCanvas .x_ite-private-x_ite {
35
- color: white;
36
- font-size: 28pt;
37
- text-align: center;
38
- text-shadow: 1px 1px 0 black;
39
- font-family: PT Sans, sans-serif;
40
- }
41
- X3DCanvas .x_ite-private-x_ite span.x_ite-private-x3d {
42
- font-weight: bold;
43
- }
44
- X3DCanvas .x_ite-private-spinner-text {
45
- color: white;
46
- font-size: 11pt;
47
- text-align: center;
48
- text-shadow: 1px 1px 0 black;
49
- font-family: PT Sans, sans-serif;
50
- }
51
- X3DCanvas .x_ite-private-progressbar {
52
- margin: 8px;
53
- border-left: 2px solid rgba(255, 255, 255, 0.5);
54
- border-right: 2px solid rgba(255, 255, 255, 0.5);
55
- padding: 0 2px;
56
- text-align: left;
57
- }
58
- X3DCanvas .x_ite-private-progressbar div {
59
- width: 0%;
60
- height: 6px;
61
- background: rgba(255, 255, 255, 0.5);
62
- }
3
+ @import url("https://fonts.googleapis.com/css?family=PT+Sans:400,400italic,700,700italic");
4
+ :host,
63
5
  X3DCanvas {
64
- overflow: hidden;
65
- position: relative;
66
6
  display: inline-block;
7
+ overflow: hidden;
67
8
  outline: none;
68
9
  margin: 0;
69
- padding: 0;
70
10
  border: 0;
71
11
  border-radius: 0;
12
+ padding: 0;
72
13
  width: 300px;
73
14
  height: 150px;
15
+ user-select: none;
16
+ -webkit-user-select: none;
74
17
  }
75
- X3DCanvas.x_ite-fullscreen {
18
+ :host([hidden]) {
19
+ display: none;
20
+ }
21
+ :host(.x_ite-fullscreen) {
76
22
  width: 100vw !important;
77
23
  height: 100vh !important;
78
24
  }
79
- X3DCanvas > *:not(.x_ite-fallback) {
25
+ X3DCanvas > :not(.x_ite-private-browser, .x_ite-private-menu) {
80
26
  display: none;
81
27
  }
82
- .x_ite-console {
83
- font-family: monospace;
84
- white-space: pre;
85
- }
86
- X3DCanvas .x_ite-private-browser {
87
- z-index: 0;
88
- display: block;
89
- position: absolute;
90
- inset: 0;
28
+ .x_ite-private-browser {
29
+ overflow: hidden;
30
+ position: relative;
91
31
  margin: 0;
92
- padding: 0;
93
32
  border: 0;
94
33
  border-radius: 0;
34
+ padding: 0;
35
+ width: 100%;
36
+ height: 100%;
37
+ user-select: none;
38
+ -webkit-user-select: none;
95
39
  }
96
- X3DCanvas .x_ite-private-surface {
40
+ .x_ite-private-surface {
41
+ position: absolute;
97
42
  margin: 0;
98
- padding: 0;
99
43
  border: 0;
100
44
  border-radius: 0;
101
- height: 100%;
102
- margin-right: 0;
45
+ padding: 0;
46
+ inset: 0;
103
47
  }
104
- X3DCanvas canvas.x_ite-private-canvas {
48
+ .x_ite-private-canvas {
105
49
  display: block;
106
50
  outline: none;
107
51
  margin: 0;
108
- padding: 0;
109
52
  border: 0;
110
53
  border-radius: 0;
54
+ padding: 0;
111
55
  width: 100%;
112
56
  height: 100%;
113
57
  }
114
- X3DCanvas .x_ite-private-notification {
115
- display: none;
116
- padding: 5px;
58
+ .x_ite-private-notification {
117
59
  position: absolute;
118
60
  top: 20px;
119
61
  right: -4px;
@@ -123,10 +65,11 @@ X3DCanvas .x_ite-private-notification {
123
65
  background: -moz-linear-gradient(top, rgba(50,50,50,0.61803) 0%, rgba(0,0,0,0.61803) 100%);
124
66
  background: -webkit-linear-gradient(top, rgba(50,50,50,0.61803) 0%,rgba(0,0,0,0.61803) 100%);
125
67
  background: linear-gradient(to bottom, rgba(50,50,50,0.61803) 0%,rgba(0,0,0,0.61803) 100%);
126
- border: 4px solid rgba(60,60,60,0.61803);
127
- border-radius: 5px;
128
68
  -webkit-background-clip: padding-box;
129
69
  background-clip: padding-box;
70
+ border: 4px solid rgba(60,60,60,0.61803);
71
+ border-radius: 5px;
72
+ padding: 5px;
130
73
  color: white;
131
74
  font-family: PT Sans, sans-serif;
132
75
  font-size: 10pt;
@@ -135,40 +78,39 @@ X3DCanvas .x_ite-private-notification {
135
78
  white-space: pre;
136
79
  pointer-events: none;
137
80
  }
138
- X3DCanvas .x_ite-private-notification span {
81
+ .x_ite-private-notification span {
139
82
  padding: 0 24px 0 20px;
140
- background: url(assets/images/icon.bw.png) no-repeat 0 2px;
83
+ background: url("assets/images/icon.bw.png") no-repeat 0 2px;
141
84
  }
142
- X3DCanvas .x_ite-private-browser-timings {
143
- display: none;
85
+ .x_ite-private-browser-timings {
144
86
  position: absolute;
145
87
  bottom: -4px;
146
88
  left: -4px;
147
- padding: 10px 15px 14px 14px;
148
89
  -webkit-backdrop-filter: blur(8px);
149
90
  backdrop-filter: blur(8px);
150
91
  background: rgba(0,0,0,0.61803);
151
92
  background: -moz-linear-gradient(top, rgba(50,50,50,0.61803) 0%, rgba(0,0,0,0.61803) 100%);
152
93
  background: -webkit-linear-gradient(top, rgba(50,50,50,0.61803) 0%,rgba(0,0,0,0.61803) 100%);
153
94
  background: linear-gradient(to bottom, rgba(50,50,50,0.61803) 0%,rgba(0,0,0,0.61803) 100%);
95
+ -webkit-background-clip: padding-box;
96
+ background-clip: padding-box;
154
97
  border-top: 4px solid rgba(60,60,60,0.61803);
155
98
  border-right: 4px solid rgba(60,60,60,0.61803);
156
99
  border-radius: 5px;
157
- -webkit-background-clip: padding-box;
158
- background-clip: padding-box;
100
+ padding: 10px 15px 14px 14px;
159
101
  color: white;
160
102
  font-family: PT Sans, sans-serif;
161
103
  font-size: 9pt;
162
104
  white-space: pre;
163
105
  pointer-events: none;
164
106
  }
165
- X3DCanvas .x_ite-private-browser-timings table,
166
- X3DCanvas .x_ite-private-browser-timings thead,
167
- X3DCanvas .x_ite-private-browser-timings tbody,
168
- X3DCanvas .x_ite-private-browser-timings tfoot,
169
- X3DCanvas .x_ite-private-browser-timings tr,
170
- X3DCanvas .x_ite-private-browser-timings th,
171
- X3DCanvas .x_ite-private-browser-timings td {
107
+ .x_ite-private-browser-timings table,
108
+ .x_ite-private-browser-timings thead,
109
+ .x_ite-private-browser-timings tbody,
110
+ .x_ite-private-browser-timings tfoot,
111
+ .x_ite-private-browser-timings tr,
112
+ .x_ite-private-browser-timings th,
113
+ .x_ite-private-browser-timings td {
172
114
  box-sizing: border-box;
173
115
  outline: 0;
174
116
  margin: 0;
@@ -184,36 +126,36 @@ X3DCanvas .x_ite-private-browser-timings td {
184
126
  line-height: 1;
185
127
  text-align: left;
186
128
  }
187
- X3DCanvas .x_ite-private-browser-timings table {
129
+ .x_ite-private-browser-timings table {
188
130
  overflow: hidden;
189
- background: url(assets/images/Time.png) no-repeat;
131
+ background: url("assets/images/Time.png") no-repeat;
190
132
  width: 100%;
191
133
  max-width: 100%;
192
134
  border-collapse: separate;
193
135
  border-spacing: 2px;
194
136
  empty-cells: show;
195
137
  }
196
- X3DCanvas .x_ite-private-browser-timings thead th {
138
+ .x_ite-private-browser-timings thead th {
197
139
  padding-left: 20px;
198
140
  padding-bottom: 5px;
199
141
  font-weight: bold;
200
142
  }
201
- X3DCanvas .x_ite-private-browser-timings td:first-child {
143
+ .x_ite-private-browser-timings td:first-child {
202
144
  padding-right: 10px;
203
145
  }
204
- X3DCanvas .x_ite-private-browser-timings tr.x_ite-private-more td {
146
+ .x_ite-private-browser-timings tr.x_ite-private-more td {
205
147
  padding-bottom: 5px;
206
148
  }
207
- X3DCanvas .x_ite-private-browser-timings td {
149
+ .x_ite-private-browser-timings td {
208
150
  padding-bottom: 2px;
209
151
  }
210
- X3DCanvas .x_ite-private-browser-timings tfoot td:first-child {
152
+ .x_ite-private-browser-timings tfoot td:first-child {
211
153
  padding-right: 0;
212
154
  }
213
- X3DCanvas .x_ite-private-browser-timings tfoot td {
155
+ .x_ite-private-browser-timings tfoot td {
214
156
  padding-top: 4px;
215
157
  }
216
- X3DCanvas .x_ite-private-browser-timings button {
158
+ .x_ite-private-browser-timings button {
217
159
  box-sizing: border-box;
218
160
  border: 0;
219
161
  border-radius: 10px;
@@ -230,26 +172,31 @@ X3DCanvas .x_ite-private-browser-timings button {
230
172
  pointer-events: all;
231
173
  cursor: pointer;
232
174
  }
233
- X3DCanvas .x_ite-private-world-info-overlay {
175
+ .x_ite-private-world-info-overlay {
234
176
  position: absolute;
235
177
  inset: 0;
236
178
  }
237
- X3DCanvas .x_ite-private-world-info {
179
+ .x_ite-private-world-info {
238
180
  overflow-y: auto;
239
181
  position: absolute;
240
182
  inset: 0;
183
+ margin: 21pt;
241
184
  -webkit-backdrop-filter: blur(8px);
242
185
  backdrop-filter: blur(8px);
243
186
  background: rgba(0,0,0,0.61803);
244
- margin: 21pt;
187
+ background: -moz-linear-gradient(top, rgba(50,50,50,0.61803) 0%, rgba(0,0,0,0.61803) 100%);
188
+ background: -webkit-linear-gradient(top, rgba(50,50,50,0.61803) 0%,rgba(0,0,0,0.61803) 100%);
189
+ background: linear-gradient(to bottom, rgba(50,50,50,0.61803) 0%,rgba(0,0,0,0.61803) 100%);
190
+ -webkit-background-clip: padding-box;
191
+ background-clip: padding-box;
245
192
  border: 4px solid rgba(60,60,60,0.61803);
246
193
  border-radius: 15px;
247
194
  padding: 21pt;
248
195
  }
249
- X3DCanvas .x_ite-private-world-info .x_ite-private-world-info-top,
250
- X3DCanvas .x_ite-private-world-info .x_ite-private-world-info-title,
251
- X3DCanvas .x_ite-private-world-info .x_ite-private-world-info-info,
252
- X3DCanvas .x_ite-private-world-info p {
196
+ .x_ite-private-world-info .x_ite-private-world-info-top,
197
+ .x_ite-private-world-info .x_ite-private-world-info-title,
198
+ .x_ite-private-world-info .x_ite-private-world-info-info,
199
+ .x_ite-private-world-info p {
253
200
  box-sizing: border-box;
254
201
  outline: 0;
255
202
  margin: 0;
@@ -266,142 +213,118 @@ X3DCanvas .x_ite-private-world-info p {
266
213
  line-height: 1.2;
267
214
  text-align: left;
268
215
  }
269
- X3DCanvas .x_ite-private-world-info .x_ite-private-world-info-top {
216
+ .x_ite-private-world-info .x_ite-private-world-info-top {
270
217
  font-weight: bold;
271
218
  font-style: italic;
272
219
  font-size: 9pt;
273
220
  }
274
- X3DCanvas .x_ite-private-world-info .x_ite-private-world-info-title {
221
+ .x_ite-private-world-info .x_ite-private-world-info-title {
275
222
  margin: 0.3em 0 1em 0;
276
223
  font-weight: bold;
277
224
  font-size: 21pt;
278
225
  }
279
- X3DCanvas .x_ite-private-world-info .x_ite-private-world-info-info,
280
- X3DCanvas .x_ite-private-world-info .x_ite-private-world-info-info p {
226
+ .x_ite-private-world-info .x_ite-private-world-info-info,
227
+ .x_ite-private-world-info .x_ite-private-world-info-info p {
281
228
  margin: 1em 0 1em 0;
282
229
  font-size: 14pt;
283
230
  }
284
- X3DCanvas .x_ite-private-world-info a {
231
+ .x_ite-private-world-info a {
285
232
  text-decoration: underline;
286
233
  color: #fd9f2e;
287
234
  }
288
- /*!
289
- * jQuery contextMenu - Plugin for simple contextMenu handling
290
- *
291
- * Version: v1.8.1
292
- *
293
- * Authors: Björn Brala (SWIS.nl), Rodney Rehm, Addy Osmani (patches for FF)
294
- * Web: http://swisnl.github.io/jQuery-contextMenu/
295
- *
296
- * Copyright (c) 2011-2015 SWIS BV and contributors
297
- *
298
- * Licensed under
299
- * MIT License http://www.opensource.org/licenses/mit-license
300
- * Date: 2015-09-20T18:47:54.927Z
301
- */
302
- X3DCanvas #context-menu-layer {
303
- z-index: 0 !important;
304
- }
305
- .x_ite-private-menu.x_ite-private-menu-title:before {
306
- content: "X_ITE Browser v5.0.3";
307
- display: block;
308
- padding: 4px 32px 4px 8px;
309
- font-weight: bold;
235
+ .x_ite-private-menu.context-menu-layer {
236
+ position: fixed;
237
+ z-index: 10000;
238
+ inset: 0;
310
239
  }
311
- .x_ite-private-menu .context-menu-selected {
312
- font-weight: bold;
313
- font-style: italic;
240
+ .x_ite-private-menu.context-menu-list {
241
+ position: fixed;
242
+ z-index: 10000;
243
+ isolation: isolate;
314
244
  }
315
- .x_ite-private-menu.context-menu-list,
316
245
  .x_ite-private-menu .context-menu-list {
317
246
  position: absolute;
318
- display: inline-block;
247
+ }
248
+ .x_ite-private-menu.context-menu-list,
249
+ .x_ite-private-menu .context-menu-list {
250
+ display: block;
251
+ box-sizing: border-box;
319
252
  min-width: 120px;
320
- padding: 0;
321
253
  margin: 0;
322
254
  margin-left: 1px;
323
- white-space: pre;
255
+ -webkit-backdrop-filter: blur(8px);
256
+ backdrop-filter: blur(8px);
257
+ background: rgba(0,0,0,0.61803);
258
+ background: -moz-linear-gradient(top, rgba(50,50,50,0.61803) 0%, rgba(0,0,0,0.61803) 100%);
259
+ background: -webkit-linear-gradient(top, rgba(50,50,50,0.61803) 0%,rgba(0,0,0,0.61803) 100%);
260
+ background: linear-gradient(to bottom, rgba(50,50,50,0.61803) 0%,rgba(0,0,0,0.61803) 100%);
261
+ -webkit-background-clip: padding-box;
262
+ background-clip: padding-box;
263
+ border: 4px solid rgba(60,60,60,0.61803);
264
+ border-radius: 5px;
265
+ padding: 5px 10px 9px 9px;
266
+ color: white;
324
267
  font-family: PT Sans, sans-serif;
325
268
  font-size: 10pt;
269
+ white-space: pre;
326
270
  line-height: 1.2;
327
271
  list-style-type: none;
328
- background: #222;
329
- color: #eee;
330
- border: 0 solid #ddd;
331
- -webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, .5);
332
- box-shadow: 0 2px 5px rgba(0, 0, 0, .5);
333
272
  }
334
273
  .x_ite-private-menu .context-menu-item {
274
+ cursor: pointer;
335
275
  position: relative;
336
- background-color: #222;
276
+ border-radius: 5px;
337
277
  margin: 0;
338
- border-top: 1px solid #222;
339
- border-bottom: 1px solid #222;
340
- padding: 3px 24px 3px 24px;
341
- -webkit-user-select: none;
342
- -moz-user-select: none;
343
- -ms-user-select: none;
344
- user-select: none;
278
+ padding: 5px 24px;
345
279
  font-size: 10pt;
346
280
  line-height: 1;
347
281
  letter-spacing: unset;
348
282
  text-align: left;
349
283
  }
350
- .x_ite-private-menu .context-menu-item > label > input,
351
- .x_ite-private-menu .context-menu-item > label > textarea {
352
- all: revert;
353
- -webkit-user-select: text;
354
- -moz-user-select: text;
355
- -ms-user-select: text;
356
- user-select: text;
357
- }
358
- .x_ite-private-menu .context-menu-input > label > input[type="checkbox"] {
359
- -webkit-appearance: checkbox;
360
- -moz-appearance: checkbox;
284
+ .x_ite-private-menu .context-menu-item:hover:not(.context-menu-not-selectable) {
285
+ background-color: rgba(255, 69, 58, 0.8);
361
286
  }
362
- .x_ite-private-menu .context-menu-input > label > input[type="radio"] {
363
- -webkit-appearance: radio;
364
- -moz-appearance: radio;
287
+ .x_ite-private-menu .context-menu-item:hover > .context-menu-list {
288
+ display: block;
365
289
  }
366
- .x_ite-private-menu .context-menu-item:hover {
367
- cursor: pointer;
368
- background-color: #444;
369
- border-top: 1px solid #eee;
370
- border-bottom: 1px solid #eee;
290
+ .x_ite-private-menu .context-menu-not-selectable {
291
+ cursor: default;
371
292
  }
372
- .x_ite-private-menu .context-menu-item.context-menu-separator {
293
+ .x_ite-private-menu .context-menu-separator {
294
+ cursor: default;
295
+ margin: 2px 0;
296
+ border-top: 0;
297
+ border-bottom: 1px solid rgb(138, 138, 138);
373
298
  padding-top: 0;
374
299
  padding-bottom: 0;
375
- border-top: 0;
376
- border-bottom: 1px solid #111;
377
300
  }
378
301
  .x_ite-private-menu .context-menu-separator + .context-menu-separator {
379
302
  display: none !important;
380
303
  }
381
- .x_ite-private-menu .context-menu-disabled {
382
- color: #666;
383
- }
384
- .x_ite-private-menu .context-menu-input.context-menu-hover,
385
- .x_ite-private-menu .context-menu-disabled.context-menu-hover {
386
- cursor: default;
387
- }
388
304
  .x_ite-private-menu .context-menu-submenu:after {
389
305
  content: "";
390
306
  position: absolute;
391
307
  display: block;
392
308
  right: 0;
393
- top: 5px;
309
+ top: 8px;
394
310
  margin-right: 2px;
395
311
 
396
- width: 0;
397
- height: 0;
398
312
  border-style: solid;
399
313
  border-width: 4px 0 4px 5px;
400
314
  border-color: transparent transparent transparent #eee;
315
+ width: 0;
316
+ height: 0;
401
317
  }
402
- .x_ite-private-menu .context-menu-item.context-menu-icon {
403
- background-repeat: no-repeat;
404
- background-position: 3px 2px;
318
+ .x_ite-private-menu .context-menu-input > label {
319
+ cursor: pointer;
320
+ display: block;
321
+ box-sizing: border-box;
322
+ margin: 0;
323
+ padding: 0;
324
+ width: 100%;
325
+ font-size: 10pt;
326
+ letter-spacing: unset;
327
+ line-height: 1;
405
328
  }
406
329
  .x_ite-private-menu .context-menu-input > label > * {
407
330
  vertical-align: top;
@@ -410,32 +333,21 @@ X3DCanvas #context-menu-layer {
410
333
  letter-spacing: unset;
411
334
  line-height: 1;
412
335
  }
336
+ .x_ite-private-menu .context-menu-item > label > input {
337
+ all: revert;
338
+ cursor: pointer;
339
+ }
413
340
  .x_ite-private-menu .context-menu-input > label > input[type="checkbox"],
414
341
  .x_ite-private-menu .context-menu-input > label > input[type="radio"] {
342
+ accent-color: rgb(255, 69, 58);
415
343
  display: inline;
344
+ width: 12px;
416
345
  margin: 0;
417
346
  margin-left: -20px;
418
- margin-right: 3px;
419
347
  padding: 0;
420
348
  }
421
349
  .x_ite-private-menu .context-menu-input > label > span {
422
- margin-left: 2px;
423
- }
424
- .x_ite-private-menu .context-menu-input > label,
425
- .x_ite-private-menu .context-menu-input > label > input[type="text"],
426
- .x_ite-private-menu .context-menu-input > label > textarea,
427
- .x_ite-private-menu .context-menu-input > label > select {
428
- display: block;
429
- box-sizing: border-box;
430
- margin: 0;
431
- padding: 0;
432
- width: 100%;
433
- font-size: 10pt;
434
- letter-spacing: unset;
435
- line-height: 1;
436
- }
437
- .x_ite-private-menu .context-menu-input > label > textarea {
438
- height: 100px;
350
+ padding-left: 8px;
439
351
  }
440
352
  .x_ite-private-menu .context-menu-item > .context-menu-list {
441
353
  top: -9px;
@@ -443,14 +355,17 @@ X3DCanvas #context-menu-layer {
443
355
  right: -5px;
444
356
  display: none;
445
357
  }
446
- .x_ite-private-menu.x_ite-private-menu-submenus-left .context-menu-item > .context-menu-list {
447
- left: unset !important;
358
+ .x_ite-private-menu .context-menu-title {
359
+ font-weight: bold;
360
+ padding: 4px 32px 4px 8px;
448
361
  }
449
- .x_ite-private-menu .context-menu-item:hover > .context-menu-list {
450
- display: block;
362
+ .x_ite-private-menu .context-menu-selected {
363
+ font-weight: bold;
364
+ font-style: italic;
451
365
  }
452
- .x_ite-private-menu .context-menu-accesskey {
453
- text-decoration: underline;
366
+ .x_ite-private-menu .context-menu-icon {
367
+ background-repeat: no-repeat;
368
+ background-position: 2px 3px;
454
369
  }
455
370
  .x_ite-private-icon-viewpoint {
456
371
  background: url("assets/images/Viewpoint.png");
@@ -485,7 +400,10 @@ X3DCanvas #context-menu-layer {
485
400
  .x_ite-private-icon-texture-quality {
486
401
  background: url("assets/images/TextureQuality.png");
487
402
  }
488
- .x_ite-private-icon-fullscreen {
403
+ .x_ite-private-icon-shading {
404
+ background: url("assets/images/Shading.png");
405
+ }
406
+ .x_ite-private-icon-enter-fullscreen {
489
407
  background: url("assets/images/gtk-fullscreen.png");
490
408
  }
491
409
  .x_ite-private-icon-leave-fullscreen {
@@ -497,3 +415,60 @@ X3DCanvas #context-menu-layer {
497
415
  .x_ite-private-icon-help-about {
498
416
  background: url("assets/images/help-about.png");
499
417
  }
418
+ .x_ite-private-splash-screen {
419
+ position: absolute;
420
+ inset: 0;
421
+ background: #1b1d21;
422
+ background: -moz-radial-gradient(center, ellipse cover, #2f3135 0%, #1b1d21 100%);
423
+ background: -webkit-radial-gradient(center, ellipse cover, #2f3135 0%,#1b1d21 100%);
424
+ background: radial-gradient(ellipse at center, #2f3135 0%,#1b1d21 100%);
425
+ }
426
+ .x_ite-private-spinner {
427
+ position: absolute;
428
+ top: calc(50% - (138px / 2));
429
+ left: calc(50% - (134px / 2));
430
+ width: 138px;
431
+ height: 134px;
432
+ background: url("assets/images/logo.128.png") no-repeat;
433
+ -webkit-animation: spinner-animation-spin 32s linear infinite;
434
+ -moz-animation: spinner-animation-spin 32s linear infinite;
435
+ animation: spinner-animation-spin 32s linear infinite;
436
+ }
437
+ @-moz-keyframes spinner-animation-spin { 100% { -moz-transform: rotate(360deg); } }
438
+ @-webkit-keyframes spinner-animation-spin { 100% { -webkit-transform: rotate(360deg); } }
439
+ @keyframes spinner-animation-spin { 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } }
440
+ .x_ite-private-progress {
441
+ position: absolute;
442
+ top: calc(50% - 28pt - 11pt);
443
+ left: calc(50% - 100px);
444
+ width: 200px;
445
+ }
446
+ .x_ite-private-x_ite {
447
+ color: white;
448
+ font-size: 28pt;
449
+ text-align: center;
450
+ text-shadow: 1px 1px 0 black;
451
+ font-family: PT Sans, sans-serif;
452
+ }
453
+ .x_ite-private-x_ite span.x_ite-private-x3d {
454
+ font-weight: bold;
455
+ }
456
+ .x_ite-private-spinner-text {
457
+ color: white;
458
+ font-size: 11pt;
459
+ text-align: center;
460
+ text-shadow: 1px 1px 0 black;
461
+ font-family: PT Sans, sans-serif;
462
+ }
463
+ .x_ite-private-progressbar {
464
+ margin: 8px;
465
+ border-left: 2px solid rgba(255, 255, 255, 0.5);
466
+ border-right: 2px solid rgba(255, 255, 255, 0.5);
467
+ padding: 0 2px;
468
+ text-align: left;
469
+ }
470
+ .x_ite-private-progressbar div {
471
+ width: 0%;
472
+ height: 6px;
473
+ background: rgba(255, 255, 255, 0.5);
474
+ }