@needle-tools/three 0.169.20-experimental.0 → 0.183.2-canary.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 (1051) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +5 -6
  3. package/build/three.cjs +54184 -56703
  4. package/build/three.core.js +59506 -0
  5. package/build/three.core.min.js +6 -0
  6. package/build/three.module.js +11645 -73000
  7. package/build/three.module.min.js +2 -2
  8. package/build/three.tsl.js +648 -0
  9. package/build/three.tsl.min.js +6 -0
  10. package/build/three.webgpu.js +53912 -51652
  11. package/build/three.webgpu.min.js +2 -2
  12. package/build/three.webgpu.nodes.js +53888 -51806
  13. package/build/three.webgpu.nodes.min.js +2 -2
  14. package/examples/fonts/MPLUSRounded1c/MPLUSRounded1c-Regular.typeface.json.zip +0 -0
  15. package/examples/fonts/MPLUSRounded1c/OFL.txt +91 -0
  16. package/examples/jsm/Addons.js +5 -15
  17. package/examples/jsm/animation/AnimationClipCreator.js +58 -6
  18. package/examples/jsm/animation/CCDIKSolver.js +152 -45
  19. package/examples/jsm/capabilities/WebGL.js +28 -29
  20. package/examples/jsm/capabilities/WebGPU.js +19 -17
  21. package/examples/jsm/controls/ArcballControls.js +474 -178
  22. package/examples/jsm/controls/DragControls.js +100 -58
  23. package/examples/jsm/controls/FirstPersonControls.js +116 -6
  24. package/examples/jsm/controls/FlyControls.js +50 -2
  25. package/examples/jsm/controls/MapControls.js +96 -8
  26. package/examples/jsm/controls/OrbitControls.js +496 -57
  27. package/examples/jsm/controls/PointerLockControls.js +115 -22
  28. package/examples/jsm/controls/TrackballControls.js +166 -14
  29. package/examples/jsm/controls/TransformControls.js +336 -26
  30. package/examples/jsm/csm/CSM.js +232 -18
  31. package/examples/jsm/csm/CSMFrustum.js +61 -4
  32. package/examples/jsm/csm/CSMHelper.js +50 -0
  33. package/examples/jsm/csm/CSMShader.js +13 -1
  34. package/examples/jsm/csm/CSMShadowNode.js +599 -0
  35. package/examples/jsm/curves/CurveExtras.js +303 -31
  36. package/examples/jsm/curves/NURBSCurve.js +91 -16
  37. package/examples/jsm/curves/NURBSSurface.js +52 -6
  38. package/examples/jsm/curves/NURBSUtils.js +102 -112
  39. package/examples/jsm/curves/NURBSVolume.js +24 -4
  40. package/examples/jsm/effects/AnaglyphEffect.js +134 -7
  41. package/examples/jsm/effects/AsciiEffect.js +69 -22
  42. package/examples/jsm/effects/OutlineEffect.js +61 -111
  43. package/examples/jsm/effects/ParallaxBarrierEffect.js +30 -0
  44. package/examples/jsm/effects/StereoEffect.js +31 -0
  45. package/examples/jsm/environments/ColorEnvironment.js +59 -0
  46. package/examples/jsm/environments/DebugEnvironment.js +50 -0
  47. package/examples/jsm/environments/RoomEnvironment.js +83 -42
  48. package/examples/jsm/exporters/DRACOExporter.js +56 -14
  49. package/examples/jsm/exporters/EXRExporter.js +40 -9
  50. package/examples/jsm/exporters/GLTFExporter.js +502 -169
  51. package/examples/jsm/exporters/OBJExporter.js +21 -1
  52. package/examples/jsm/exporters/PLYExporter.js +44 -12
  53. package/examples/jsm/exporters/STLExporter.js +27 -5
  54. package/examples/jsm/exporters/USDZExporter.js +781 -291
  55. package/examples/jsm/geometries/BoxLineGeometry.js +23 -0
  56. package/examples/jsm/geometries/ConvexGeometry.js +19 -0
  57. package/examples/jsm/geometries/DecalGeometry.js +91 -30
  58. package/examples/jsm/geometries/ParametricFunctions.js +100 -0
  59. package/examples/jsm/geometries/ParametricGeometry.js +38 -5
  60. package/examples/jsm/geometries/RoundedBoxGeometry.js +68 -7
  61. package/examples/jsm/geometries/TeapotGeometry.js +23 -38
  62. package/examples/jsm/geometries/TextGeometry.js +48 -29
  63. package/examples/jsm/gpgpu/BitonicSort.js +715 -0
  64. package/examples/jsm/helpers/AnimationPathHelper.js +302 -0
  65. package/examples/jsm/helpers/LightProbeHelper.js +36 -0
  66. package/examples/jsm/helpers/LightProbeHelperGPU.js +38 -1
  67. package/examples/jsm/helpers/OctreeHelper.js +36 -0
  68. package/examples/jsm/helpers/PositionalAudioHelper.js +60 -0
  69. package/examples/jsm/helpers/RapierHelper.js +59 -0
  70. package/examples/jsm/helpers/RectAreaLightHelper.js +36 -3
  71. package/examples/jsm/helpers/TextureHelper.js +28 -0
  72. package/examples/jsm/helpers/TextureHelperGPU.js +214 -0
  73. package/examples/jsm/helpers/VertexNormalsHelper.js +61 -2
  74. package/examples/jsm/helpers/VertexTangentsHelper.js +47 -2
  75. package/examples/jsm/helpers/ViewHelper.js +181 -9
  76. package/examples/jsm/inspector/Inspector.js +487 -0
  77. package/examples/jsm/inspector/RendererInspector.js +425 -0
  78. package/examples/jsm/inspector/tabs/Console.js +238 -0
  79. package/examples/jsm/inspector/tabs/Parameters.js +348 -0
  80. package/examples/jsm/inspector/tabs/Performance.js +268 -0
  81. package/examples/jsm/inspector/tabs/Viewer.js +166 -0
  82. package/examples/jsm/inspector/ui/Graph.js +95 -0
  83. package/examples/jsm/inspector/ui/Item.js +170 -0
  84. package/examples/jsm/inspector/ui/List.js +75 -0
  85. package/examples/jsm/inspector/ui/Profiler.js +1975 -0
  86. package/examples/jsm/inspector/ui/Style.js +1613 -0
  87. package/examples/jsm/inspector/ui/Tab.js +233 -0
  88. package/examples/jsm/inspector/ui/Values.js +439 -0
  89. package/examples/jsm/inspector/ui/utils.js +56 -0
  90. package/examples/jsm/interactive/HTMLMesh.js +43 -12
  91. package/examples/jsm/interactive/InteractiveGroup.js +170 -52
  92. package/examples/jsm/interactive/SelectionBox.js +106 -9
  93. package/examples/jsm/interactive/SelectionHelper.js +76 -30
  94. package/examples/jsm/libs/demuxer_mp4.js +109 -0
  95. package/examples/jsm/libs/meshopt_decoder.module.js +76 -58
  96. package/examples/jsm/libs/motion-controllers.module.js +1 -1
  97. package/examples/jsm/lighting/TiledLighting.js +42 -0
  98. package/examples/jsm/lights/LightProbeGenerator.js +44 -7
  99. package/examples/jsm/lights/RectAreaLightTexturesLib.js +50 -14
  100. package/examples/jsm/lights/RectAreaLightUniformsLib.js +16 -0
  101. package/examples/jsm/lines/Line2.js +41 -4
  102. package/examples/jsm/lines/LineGeometry.js +80 -2
  103. package/examples/jsm/lines/LineMaterial.js +105 -5
  104. package/examples/jsm/lines/LineSegments2.js +54 -4
  105. package/examples/jsm/lines/LineSegmentsGeometry.js +65 -8
  106. package/examples/jsm/lines/Wireframe.js +41 -4
  107. package/examples/jsm/lines/WireframeGeometry2.js +27 -2
  108. package/examples/jsm/lines/webgpu/Line2.js +28 -2
  109. package/examples/jsm/lines/webgpu/LineSegments2.js +59 -24
  110. package/examples/jsm/lines/webgpu/Wireframe.js +86 -0
  111. package/examples/jsm/loaders/3DMLoader.js +78 -6
  112. package/examples/jsm/loaders/3MFLoader.js +148 -7
  113. package/examples/jsm/loaders/AMFLoader.js +34 -14
  114. package/examples/jsm/loaders/BVHLoader.js +59 -12
  115. package/examples/jsm/loaders/ColladaLoader.js +61 -4027
  116. package/examples/jsm/loaders/DDSLoader.js +68 -1
  117. package/examples/jsm/loaders/DRACOLoader.js +146 -22
  118. package/examples/jsm/loaders/EXRLoader.js +255 -34
  119. package/examples/jsm/loaders/FBXLoader.js +80 -42
  120. package/examples/jsm/loaders/FontLoader.js +83 -6
  121. package/examples/jsm/loaders/GCodeLoader.js +71 -14
  122. package/examples/jsm/loaders/GLTFLoader.js +381 -263
  123. package/examples/jsm/loaders/HDRCubeTextureLoader.js +52 -3
  124. package/examples/jsm/loaders/HDRLoader.js +485 -0
  125. package/examples/jsm/loaders/IESLoader.js +42 -0
  126. package/examples/jsm/loaders/KMZLoader.js +39 -6
  127. package/examples/jsm/loaders/KTX2Loader.js +124 -48
  128. package/examples/jsm/loaders/KTXLoader.js +31 -10
  129. package/examples/jsm/loaders/LDrawLoader.js +192 -145
  130. package/examples/jsm/loaders/LUT3dlLoader.js +47 -10
  131. package/examples/jsm/loaders/LUTCubeLoader.js +46 -9
  132. package/examples/jsm/loaders/LUTImageLoader.js +79 -38
  133. package/examples/jsm/loaders/LWOLoader.js +54 -59
  134. package/examples/jsm/loaders/LottieLoader.js +54 -1
  135. package/examples/jsm/loaders/MD2Loader.js +37 -1
  136. package/examples/jsm/loaders/MDDLoader.js +57 -12
  137. package/examples/jsm/loaders/MTLLoader.js +60 -35
  138. package/examples/jsm/loaders/MaterialXLoader.js +268 -34
  139. package/examples/jsm/loaders/NRRDLoader.js +40 -8
  140. package/examples/jsm/loaders/OBJLoader.js +51 -2
  141. package/examples/jsm/loaders/PCDLoader.js +173 -21
  142. package/examples/jsm/loaders/PDBLoader.js +41 -2
  143. package/examples/jsm/loaders/PLYLoader.js +70 -39
  144. package/examples/jsm/loaders/PVRLoader.js +25 -6
  145. package/examples/jsm/loaders/RGBELoader.js +6 -438
  146. package/examples/jsm/loaders/STLLoader.js +48 -38
  147. package/examples/jsm/loaders/SVGLoader.js +119 -25
  148. package/examples/jsm/loaders/TDSLoader.js +92 -74
  149. package/examples/jsm/loaders/TGALoader.js +23 -2
  150. package/examples/jsm/loaders/TIFFLoader.js +23 -0
  151. package/examples/jsm/loaders/TTFLoader.js +50 -3
  152. package/examples/jsm/loaders/USDLoader.js +279 -0
  153. package/examples/jsm/loaders/USDZLoader.js +4 -858
  154. package/examples/jsm/loaders/UltraHDRLoader.js +338 -166
  155. package/examples/jsm/loaders/VOXLoader.js +688 -87
  156. package/examples/jsm/loaders/VRMLLoader.js +121 -12
  157. package/examples/jsm/loaders/VTKLoader.js +77 -25
  158. package/examples/jsm/loaders/XYZLoader.js +36 -0
  159. package/examples/jsm/loaders/collada/ColladaComposer.js +2950 -0
  160. package/examples/jsm/loaders/collada/ColladaParser.js +1962 -0
  161. package/examples/jsm/loaders/lwo/IFFParser.js +77 -77
  162. package/examples/jsm/loaders/usd/USDAParser.js +822 -0
  163. package/examples/jsm/loaders/usd/USDCParser.js +1852 -0
  164. package/examples/jsm/loaders/usd/USDComposer.js +4041 -0
  165. package/examples/jsm/materials/LDrawConditionalLineMaterial.js +183 -0
  166. package/examples/jsm/materials/LDrawConditionalLineNodeMaterial.js +154 -0
  167. package/examples/jsm/materials/WoodNodeMaterial.js +533 -0
  168. package/examples/jsm/math/Capsule.js +91 -14
  169. package/examples/jsm/math/ColorConverter.js +22 -0
  170. package/examples/jsm/math/ColorSpaces.js +74 -2
  171. package/examples/jsm/math/ConvexHull.js +517 -93
  172. package/examples/jsm/math/ImprovedNoise.js +32 -15
  173. package/examples/jsm/math/Lut.js +113 -0
  174. package/examples/jsm/math/MeshSurfaceSampler.js +78 -13
  175. package/examples/jsm/math/OBB.js +141 -29
  176. package/examples/jsm/math/Octree.js +283 -7
  177. package/examples/jsm/math/SimplexNoise.js +68 -42
  178. package/examples/jsm/misc/ConvexObjectBreaker.js +45 -25
  179. package/examples/jsm/misc/GPUComputationRenderer.js +96 -20
  180. package/examples/jsm/misc/Gyroscope.js +12 -0
  181. package/examples/jsm/misc/MD2Character.js +117 -2
  182. package/examples/jsm/misc/MD2CharacterComplex.js +175 -11
  183. package/examples/jsm/misc/MorphAnimMesh.js +44 -0
  184. package/examples/jsm/misc/MorphBlendMesh.js +103 -0
  185. package/examples/jsm/misc/ProgressiveLightMap.js +100 -54
  186. package/examples/jsm/misc/ProgressiveLightMapGPU.js +322 -0
  187. package/examples/jsm/misc/RollerCoaster.js +57 -0
  188. package/examples/jsm/misc/TubePainter.js +437 -40
  189. package/examples/jsm/misc/Volume.js +123 -76
  190. package/examples/jsm/misc/VolumeSlice.js +95 -49
  191. package/examples/jsm/modifiers/CurveModifier.js +66 -38
  192. package/examples/jsm/modifiers/CurveModifierGPU.js +42 -19
  193. package/examples/jsm/modifiers/EdgeSplitModifier.js +20 -0
  194. package/examples/jsm/modifiers/SimplifyModifier.js +24 -10
  195. package/examples/jsm/modifiers/TessellateModifier.js +35 -2
  196. package/examples/jsm/objects/GroundedSkybox.js +25 -6
  197. package/examples/jsm/objects/Lensflare.js +94 -2
  198. package/examples/jsm/objects/LensflareMesh.js +64 -10
  199. package/examples/jsm/objects/MarchingCubes.js +90 -5
  200. package/examples/jsm/objects/Reflector.js +76 -2
  201. package/examples/jsm/objects/ReflectorForSSRPass.js +41 -0
  202. package/examples/jsm/objects/Refractor.js +62 -0
  203. package/examples/jsm/objects/ShadowMesh.js +54 -4
  204. package/examples/jsm/objects/Sky.js +106 -16
  205. package/examples/jsm/objects/SkyMesh.js +211 -38
  206. package/examples/jsm/objects/Water.js +49 -8
  207. package/examples/jsm/objects/Water2.js +49 -7
  208. package/examples/jsm/objects/Water2Mesh.js +50 -9
  209. package/examples/jsm/objects/WaterMesh.js +136 -43
  210. package/examples/jsm/physics/AmmoPhysics.js +60 -7
  211. package/examples/jsm/physics/JoltPhysics.js +65 -12
  212. package/examples/jsm/physics/RapierPhysics.js +217 -21
  213. package/examples/jsm/postprocessing/AfterimagePass.js +110 -29
  214. package/examples/jsm/postprocessing/BloomPass.js +128 -26
  215. package/examples/jsm/postprocessing/BokehPass.js +99 -22
  216. package/examples/jsm/postprocessing/ClearPass.js +54 -3
  217. package/examples/jsm/postprocessing/CubeTexturePass.js +82 -21
  218. package/examples/jsm/postprocessing/DotScreenPass.js +59 -10
  219. package/examples/jsm/postprocessing/EffectComposer.js +140 -6
  220. package/examples/jsm/postprocessing/FXAAPass.js +40 -0
  221. package/examples/jsm/postprocessing/FilmPass.js +54 -5
  222. package/examples/jsm/postprocessing/GTAOPass.js +202 -57
  223. package/examples/jsm/postprocessing/GlitchPass.js +86 -34
  224. package/examples/jsm/postprocessing/HalftonePass.js +65 -10
  225. package/examples/jsm/postprocessing/LUTPass.js +38 -8
  226. package/examples/jsm/postprocessing/MaskPass.js +91 -0
  227. package/examples/jsm/postprocessing/OutlinePass.js +272 -135
  228. package/examples/jsm/postprocessing/OutputPass.js +65 -14
  229. package/examples/jsm/postprocessing/Pass.js +100 -4
  230. package/examples/jsm/postprocessing/RenderPass.js +94 -0
  231. package/examples/jsm/postprocessing/RenderPixelatedPass.js +124 -45
  232. package/examples/jsm/postprocessing/RenderTransitionPass.js +120 -21
  233. package/examples/jsm/postprocessing/SAOPass.js +128 -55
  234. package/examples/jsm/postprocessing/SMAAPass.js +106 -75
  235. package/examples/jsm/postprocessing/SSAARenderPass.js +118 -35
  236. package/examples/jsm/postprocessing/SSAOPass.js +173 -60
  237. package/examples/jsm/postprocessing/SSRPass.js +268 -53
  238. package/examples/jsm/postprocessing/SavePass.js +69 -16
  239. package/examples/jsm/postprocessing/ShaderPass.js +65 -7
  240. package/examples/jsm/postprocessing/TAARenderPass.js +79 -24
  241. package/examples/jsm/postprocessing/TexturePass.js +72 -8
  242. package/examples/jsm/postprocessing/UnrealBloomPass.js +168 -59
  243. package/examples/jsm/renderers/CSS2DRenderer.js +98 -5
  244. package/examples/jsm/renderers/CSS3DRenderer.js +111 -7
  245. package/examples/jsm/renderers/Projector.js +288 -32
  246. package/examples/jsm/renderers/SVGRenderer.js +323 -61
  247. package/examples/jsm/renderers/webgl-legacy/nodes/GLSL1NodeBuilder.js +3 -1
  248. package/examples/jsm/renderers/webgl-legacy/nodes/SlotNode.js +1 -1
  249. package/examples/jsm/renderers/webgl-legacy/nodes/WebGLNodeBuilder.js +5 -1
  250. package/examples/jsm/shaders/ACESFilmicToneMappingShader.js +12 -5
  251. package/examples/jsm/shaders/AfterimageShader.js +8 -3
  252. package/examples/jsm/shaders/BasicShader.js +8 -1
  253. package/examples/jsm/shaders/BleachBypassShader.js +10 -3
  254. package/examples/jsm/shaders/BlendShader.js +8 -1
  255. package/examples/jsm/shaders/BokehShader.js +9 -3
  256. package/examples/jsm/shaders/BokehShader2.js +11 -4
  257. package/examples/jsm/shaders/BrightnessContrastShader.js +10 -4
  258. package/examples/jsm/shaders/ColorCorrectionShader.js +8 -1
  259. package/examples/jsm/shaders/ColorifyShader.js +8 -1
  260. package/examples/jsm/shaders/ConvolutionShader.js +9 -38
  261. package/examples/jsm/shaders/CopyShader.js +8 -1
  262. package/examples/jsm/shaders/DOFMipMapShader.js +10 -3
  263. package/examples/jsm/shaders/DepthLimitedBlurShader.js +10 -1
  264. package/examples/jsm/shaders/DigitalGlitch.js +10 -7
  265. package/examples/jsm/shaders/DotScreenShader.js +8 -3
  266. package/examples/jsm/shaders/ExposureShader.js +8 -1
  267. package/examples/jsm/shaders/FXAAShader.js +233 -221
  268. package/examples/jsm/shaders/FilmShader.js +13 -0
  269. package/examples/jsm/shaders/FocusShader.js +8 -3
  270. package/examples/jsm/shaders/FreiChenShader.js +10 -3
  271. package/examples/jsm/shaders/GTAOShader.js +55 -45
  272. package/examples/jsm/shaders/GammaCorrectionShader.js +11 -2
  273. package/examples/jsm/shaders/HalftoneShader.js +24 -4
  274. package/examples/jsm/shaders/HorizontalBlurShader.js +12 -3
  275. package/examples/jsm/shaders/HorizontalTiltShiftShader.js +9 -2
  276. package/examples/jsm/shaders/HueSaturationShader.js +10 -3
  277. package/examples/jsm/shaders/KaleidoShader.js +11 -4
  278. package/examples/jsm/shaders/LuminosityHighPassShader.js +8 -4
  279. package/examples/jsm/shaders/LuminosityShader.js +8 -2
  280. package/examples/jsm/shaders/MirrorShader.js +10 -4
  281. package/examples/jsm/shaders/NormalMapShader.js +7 -2
  282. package/examples/jsm/shaders/OutputShader.js +19 -1
  283. package/examples/jsm/shaders/PoissonDenoiseShader.js +30 -17
  284. package/examples/jsm/shaders/RGBShiftShader.js +8 -1
  285. package/examples/jsm/shaders/SAOShader.js +27 -5
  286. package/examples/jsm/shaders/SMAAShader.js +24 -1
  287. package/examples/jsm/shaders/SSAOShader.js +37 -6
  288. package/examples/jsm/shaders/SSRShader.js +32 -6
  289. package/examples/jsm/shaders/SepiaShader.js +8 -3
  290. package/examples/jsm/shaders/SobelOperatorShader.js +9 -3
  291. package/examples/jsm/shaders/SubsurfaceScatteringShader.js +13 -8
  292. package/examples/jsm/shaders/TechnicolorShader.js +10 -4
  293. package/examples/jsm/shaders/ToonShader.js +29 -6
  294. package/examples/jsm/shaders/TriangleBlurShader.js +9 -4
  295. package/examples/jsm/shaders/UnpackDepthRGBAShader.js +19 -6
  296. package/examples/jsm/shaders/VelocityShader.js +8 -1
  297. package/examples/jsm/shaders/VerticalBlurShader.js +9 -2
  298. package/examples/jsm/shaders/VerticalTiltShiftShader.js +8 -1
  299. package/examples/jsm/shaders/VignetteShader.js +8 -3
  300. package/examples/jsm/shaders/VolumeShader.js +11 -2
  301. package/examples/jsm/shaders/WaterRefractionShader.js +11 -0
  302. package/examples/jsm/textures/FlakesTexture.js +14 -0
  303. package/examples/jsm/transpiler/AST.js +436 -31
  304. package/examples/jsm/transpiler/GLSLDecoder.js +380 -135
  305. package/examples/jsm/transpiler/Linker.js +327 -0
  306. package/examples/jsm/transpiler/ShaderToyDecoder.js +3 -1
  307. package/examples/jsm/transpiler/TSLEncoder.js +363 -97
  308. package/examples/jsm/transpiler/Transpiler.js +50 -1
  309. package/examples/jsm/transpiler/TranspilerUtils.js +29 -0
  310. package/examples/jsm/transpiler/WGSLEncoder.js +839 -0
  311. package/examples/jsm/tsl/display/AfterImageNode.js +244 -0
  312. package/examples/jsm/tsl/display/AnaglyphPassNode.js +549 -0
  313. package/examples/jsm/tsl/display/AnamorphicNode.js +282 -0
  314. package/examples/jsm/tsl/display/BilateralBlurNode.js +364 -0
  315. package/{src/nodes → examples/jsm/tsl}/display/BleachBypass.js +11 -4
  316. package/examples/jsm/tsl/display/BloomNode.js +534 -0
  317. package/examples/jsm/tsl/display/CRT.js +150 -0
  318. package/examples/jsm/tsl/display/ChromaticAberrationNode.js +207 -0
  319. package/examples/jsm/tsl/display/DenoiseNode.js +334 -0
  320. package/examples/jsm/tsl/display/DepthOfFieldNode.js +554 -0
  321. package/examples/jsm/tsl/display/DotScreenNode.js +104 -0
  322. package/examples/jsm/tsl/display/FXAANode.js +365 -0
  323. package/examples/jsm/tsl/display/FilmNode.js +101 -0
  324. package/examples/jsm/tsl/display/GTAONode.js +571 -0
  325. package/examples/jsm/tsl/display/GaussianBlurNode.js +389 -0
  326. package/examples/jsm/tsl/display/GodraysNode.js +624 -0
  327. package/examples/jsm/tsl/display/LensflareNode.js +279 -0
  328. package/examples/jsm/tsl/display/Lut3DNode.js +109 -0
  329. package/examples/jsm/tsl/display/MotionBlur.js +33 -0
  330. package/examples/jsm/tsl/display/OutlineNode.js +762 -0
  331. package/examples/jsm/tsl/display/ParallaxBarrierPassNode.js +89 -0
  332. package/examples/jsm/tsl/display/PixelationPassNode.js +335 -0
  333. package/examples/jsm/tsl/display/RGBShiftNode.js +96 -0
  334. package/examples/jsm/tsl/display/RetroPassNode.js +263 -0
  335. package/examples/jsm/tsl/display/SMAANode.js +768 -0
  336. package/{src/nodes → examples/jsm/tsl}/display/SSAAPassNode.js +120 -49
  337. package/examples/jsm/tsl/display/SSGINode.js +642 -0
  338. package/examples/jsm/tsl/display/SSRNode.js +656 -0
  339. package/examples/jsm/tsl/display/SSSNode.js +490 -0
  340. package/{src/nodes → examples/jsm/tsl}/display/Sepia.js +9 -2
  341. package/examples/jsm/tsl/display/Shape.js +29 -0
  342. package/{src/nodes → examples/jsm/tsl}/display/SobelOperatorNode.js +61 -19
  343. package/examples/jsm/tsl/display/StereoCompositePassNode.js +192 -0
  344. package/{src/nodes → examples/jsm/tsl}/display/StereoPassNode.js +48 -12
  345. package/examples/jsm/tsl/display/TRAANode.js +726 -0
  346. package/examples/jsm/tsl/display/TransitionNode.js +141 -0
  347. package/examples/jsm/tsl/display/boxBlur.js +65 -0
  348. package/examples/jsm/tsl/display/depthAwareBlend.js +80 -0
  349. package/examples/jsm/tsl/display/hashBlur.js +54 -0
  350. package/examples/jsm/tsl/display/radialBlur.js +68 -0
  351. package/examples/jsm/tsl/lighting/TiledLightsNode.js +442 -0
  352. package/examples/jsm/tsl/math/Bayer.js +73 -0
  353. package/examples/jsm/tsl/shadows/TileShadowNode.js +456 -0
  354. package/examples/jsm/tsl/shadows/TileShadowNodeHelper.js +212 -0
  355. package/examples/jsm/tsl/utils/Raymarching.js +70 -0
  356. package/examples/jsm/utils/BufferGeometryUtils.js +91 -29
  357. package/examples/jsm/utils/CameraUtils.js +15 -6
  358. package/examples/jsm/utils/GeometryCompressionUtils.js +23 -30
  359. package/examples/jsm/utils/GeometryUtils.js +32 -27
  360. package/examples/jsm/utils/LDrawUtils.js +14 -5
  361. package/examples/jsm/utils/SceneOptimizer.js +458 -0
  362. package/examples/jsm/utils/SceneUtils.js +53 -3
  363. package/examples/jsm/utils/ShadowMapViewer.js +72 -33
  364. package/examples/jsm/utils/ShadowMapViewerGPU.js +61 -29
  365. package/examples/jsm/utils/SkeletonUtils.js +48 -0
  366. package/examples/jsm/utils/SortUtils.js +17 -5
  367. package/examples/jsm/utils/UVsDebug.js +12 -4
  368. package/examples/jsm/utils/{TextureUtils.js → WebGLTextureUtils.js} +16 -0
  369. package/examples/jsm/utils/{TextureUtilsGPU.js → WebGPUTextureUtils.js} +20 -2
  370. package/examples/jsm/utils/WorkerPool.js +67 -2
  371. package/examples/jsm/webxr/ARButton.js +19 -0
  372. package/examples/jsm/webxr/OculusHandModel.js +84 -0
  373. package/examples/jsm/webxr/OculusHandPointerModel.js +148 -22
  374. package/examples/jsm/webxr/Text2D.js +20 -6
  375. package/examples/jsm/webxr/VRButton.js +31 -0
  376. package/examples/jsm/webxr/XRButton.js +23 -0
  377. package/examples/jsm/webxr/XRControllerModelFactory.js +94 -3
  378. package/examples/jsm/webxr/XREstimatedLight.js +35 -4
  379. package/examples/jsm/webxr/XRHandMeshModel.js +37 -0
  380. package/examples/jsm/webxr/XRHandModelFactory.js +96 -6
  381. package/examples/jsm/webxr/XRHandPrimitiveModel.js +44 -0
  382. package/examples/jsm/webxr/XRPlanes.js +18 -0
  383. package/package.json +29 -37
  384. package/src/Three.Core.js +198 -0
  385. package/src/Three.Legacy.js +0 -21
  386. package/src/Three.TSL.js +641 -0
  387. package/src/Three.WebGPU.Nodes.js +14 -186
  388. package/src/Three.WebGPU.js +16 -186
  389. package/src/Three.js +2 -197
  390. package/src/animation/AnimationAction.js +263 -31
  391. package/src/animation/AnimationClip.js +162 -7
  392. package/src/animation/AnimationMixer.js +105 -15
  393. package/src/animation/AnimationObjectGroup.js +45 -21
  394. package/src/animation/AnimationUtils.js +163 -24
  395. package/src/animation/KeyframeTrack.js +191 -17
  396. package/src/animation/PropertyBinding.js +91 -16
  397. package/src/animation/PropertyMixer.js +72 -5
  398. package/src/animation/tracks/BooleanKeyframeTrack.js +33 -6
  399. package/src/animation/tracks/ColorKeyframeTrack.js +26 -5
  400. package/src/animation/tracks/NumberKeyframeTrack.js +26 -2
  401. package/src/animation/tracks/QuaternionKeyframeTrack.js +30 -1
  402. package/src/animation/tracks/StringKeyframeTrack.js +33 -2
  403. package/src/animation/tracks/VectorKeyframeTrack.js +26 -2
  404. package/src/audio/Audio.js +386 -8
  405. package/src/audio/AudioAnalyser.js +58 -1
  406. package/src/audio/AudioContext.js +15 -0
  407. package/src/audio/AudioListener.js +94 -13
  408. package/src/audio/PositionalAudio.js +107 -0
  409. package/src/cameras/ArrayCamera.js +37 -0
  410. package/src/cameras/Camera.js +61 -0
  411. package/src/cameras/CubeCamera.js +86 -0
  412. package/src/cameras/OrthographicCamera.js +110 -1
  413. package/src/cameras/PerspectiveCamera.js +174 -35
  414. package/src/cameras/StereoCamera.js +48 -2
  415. package/src/constants.js +1546 -11
  416. package/src/core/BufferAttribute.js +417 -3
  417. package/src/core/BufferGeometry.js +407 -22
  418. package/src/core/Clock.js +69 -8
  419. package/src/core/EventDispatcher.js +52 -8
  420. package/src/core/GLBufferAttribute.js +113 -2
  421. package/src/core/InstancedBufferAttribute.js +29 -0
  422. package/src/core/InstancedBufferGeometry.js +20 -0
  423. package/src/core/InstancedInterleavedBuffer.js +26 -0
  424. package/src/core/InterleavedBuffer.js +141 -7
  425. package/src/core/InterleavedBufferAttribute.js +200 -2
  426. package/src/core/Layers.js +71 -10
  427. package/src/core/Object3D.js +673 -26
  428. package/src/core/Raycaster.js +136 -2
  429. package/src/core/RenderTarget.js +256 -27
  430. package/src/core/RenderTarget3D.js +48 -0
  431. package/src/core/Timer.js +184 -0
  432. package/src/core/Uniform.js +29 -0
  433. package/src/core/UniformsGroup.js +84 -2
  434. package/src/extras/Controls.js +89 -1
  435. package/src/extras/DataUtils.js +50 -9
  436. package/src/extras/Earcut.js +18 -779
  437. package/src/extras/ImageUtils.js +22 -14
  438. package/src/extras/PMREMGenerator.js +316 -67
  439. package/src/extras/ShapeUtils.js +24 -2
  440. package/src/extras/TextureUtils.js +101 -15
  441. package/src/extras/core/Curve.js +156 -55
  442. package/src/extras/core/CurvePath.js +63 -22
  443. package/src/extras/core/Interpolations.js +34 -2
  444. package/src/extras/core/Path.js +134 -1
  445. package/src/extras/core/Shape.js +66 -3
  446. package/src/extras/core/ShapePath.js +80 -4
  447. package/src/extras/curves/ArcCurve.js +22 -0
  448. package/src/extras/curves/CatmullRomCurve3.js +89 -18
  449. package/src/extras/curves/CubicBezierCurve.js +67 -0
  450. package/src/extras/curves/CubicBezierCurve3.js +50 -0
  451. package/src/extras/curves/EllipseCurve.js +102 -0
  452. package/src/extras/curves/LineCurve.js +36 -0
  453. package/src/extras/curves/LineCurve3.js +36 -0
  454. package/src/extras/curves/QuadraticBezierCurve.js +59 -0
  455. package/src/extras/curves/QuadraticBezierCurve3.js +43 -0
  456. package/src/extras/curves/SplineCurve.js +48 -0
  457. package/src/extras/lib/earcut.js +685 -0
  458. package/src/geometries/BoxGeometry.js +39 -0
  459. package/src/geometries/CapsuleGeometry.js +196 -11
  460. package/src/geometries/CircleGeometry.js +41 -0
  461. package/src/geometries/ConeGeometry.js +39 -0
  462. package/src/geometries/CylinderGeometry.js +42 -2
  463. package/src/geometries/DodecahedronGeometry.js +33 -0
  464. package/src/geometries/EdgesGeometry.js +30 -2
  465. package/src/geometries/ExtrudeGeometry.js +148 -52
  466. package/src/geometries/IcosahedronGeometry.js +33 -0
  467. package/src/geometries/LatheGeometry.js +44 -3
  468. package/src/geometries/OctahedronGeometry.js +33 -0
  469. package/src/geometries/PlaneGeometry.js +35 -0
  470. package/src/geometries/PolyhedronGeometry.js +30 -1
  471. package/src/geometries/RingGeometry.js +37 -0
  472. package/src/geometries/ShapeGeometry.js +38 -0
  473. package/src/geometries/SphereGeometry.js +38 -0
  474. package/src/geometries/TetrahedronGeometry.js +33 -0
  475. package/src/geometries/TorusGeometry.js +44 -3
  476. package/src/geometries/TorusKnotGeometry.js +39 -0
  477. package/src/geometries/TubeGeometry.js +50 -0
  478. package/src/geometries/WireframeGeometry.js +32 -0
  479. package/src/helpers/ArrowHelper.js +62 -5
  480. package/src/helpers/AxesHelper.js +28 -0
  481. package/src/helpers/Box3Helper.js +28 -0
  482. package/src/helpers/BoxHelper.js +43 -7
  483. package/src/helpers/CameraHelper.js +103 -27
  484. package/src/helpers/DirectionalLightHelper.js +55 -0
  485. package/src/helpers/GridHelper.js +26 -0
  486. package/src/helpers/HemisphereLightHelper.js +42 -0
  487. package/src/helpers/PlaneHelper.js +33 -0
  488. package/src/helpers/PointLightHelper.js +43 -24
  489. package/src/helpers/PolarGridHelper.js +30 -0
  490. package/src/helpers/SkeletonHelper.js +73 -7
  491. package/src/helpers/SpotLightHelper.js +43 -0
  492. package/src/lights/AmbientLight.js +25 -0
  493. package/src/lights/DirectionalLight.js +70 -0
  494. package/src/lights/DirectionalLightShadow.js +15 -0
  495. package/src/lights/HemisphereLight.js +42 -0
  496. package/src/lights/Light.js +37 -11
  497. package/src/lights/LightProbe.js +37 -9
  498. package/src/lights/LightShadow.js +202 -7
  499. package/src/lights/PointLight.js +74 -0
  500. package/src/lights/PointLightShadow.js +15 -80
  501. package/src/lights/RectAreaLight.js +59 -0
  502. package/src/lights/SpotLight.js +124 -1
  503. package/src/lights/SpotLightShadow.js +33 -3
  504. package/src/lights/webgpu/IESSpotLight.js +22 -0
  505. package/src/lights/webgpu/ProjectorLight.js +46 -0
  506. package/src/loaders/AnimationLoader.js +34 -2
  507. package/src/loaders/AudioLoader.js +34 -2
  508. package/src/loaders/BufferGeometryLoader.js +38 -13
  509. package/src/loaders/Cache.js +75 -2
  510. package/src/loaders/CompressedTextureLoader.js +36 -3
  511. package/src/loaders/CubeTextureLoader.js +45 -0
  512. package/src/loaders/DataTextureLoader.js +45 -4
  513. package/src/loaders/FileLoader.js +85 -5
  514. package/src/loaders/ImageBitmapLoader.js +113 -11
  515. package/src/loaders/ImageLoader.js +85 -8
  516. package/src/loaders/Loader.js +150 -0
  517. package/src/loaders/LoaderUtils.js +18 -36
  518. package/src/loaders/LoadingManager.js +187 -0
  519. package/src/loaders/MaterialLoader.js +62 -3
  520. package/src/loaders/ObjectLoader.js +131 -31
  521. package/src/loaders/TextureLoader.js +33 -0
  522. package/src/loaders/nodes/NodeLoader.js +68 -4
  523. package/src/loaders/nodes/NodeMaterialLoader.js +45 -0
  524. package/src/loaders/nodes/NodeObjectLoader.js +61 -0
  525. package/src/materials/LineBasicMaterial.js +74 -1
  526. package/src/materials/LineDashedMaterial.js +52 -1
  527. package/src/materials/Material.js +502 -8
  528. package/src/materials/MeshBasicMaterial.js +168 -2
  529. package/src/materials/MeshDepthMaterial.js +94 -0
  530. package/src/materials/MeshDistanceMaterial.js +76 -0
  531. package/src/materials/MeshLambertMaterial.js +283 -0
  532. package/src/materials/MeshMatcapMaterial.js +164 -0
  533. package/src/materials/MeshNormalMaterial.js +114 -0
  534. package/src/materials/MeshPhongMaterial.js +298 -0
  535. package/src/materials/MeshPhysicalMaterial.js +296 -4
  536. package/src/materials/MeshStandardMaterial.js +300 -2
  537. package/src/materials/MeshToonMaterial.js +219 -0
  538. package/src/materials/PointsMaterial.js +89 -0
  539. package/src/materials/RawShaderMaterial.js +25 -0
  540. package/src/materials/ShaderMaterial.js +234 -6
  541. package/src/materials/ShadowMaterial.js +54 -0
  542. package/src/materials/SpriteMaterial.js +82 -0
  543. package/src/materials/nodes/Line2NodeMaterial.js +158 -53
  544. package/src/materials/nodes/LineBasicNodeMaterial.js +17 -2
  545. package/src/materials/nodes/LineDashedNodeMaterial.js +81 -6
  546. package/src/materials/nodes/MeshBasicNodeMaterial.js +59 -2
  547. package/src/materials/nodes/MeshLambertNodeMaterial.js +35 -0
  548. package/src/materials/nodes/MeshMatcapNodeMaterial.js +23 -3
  549. package/src/materials/nodes/MeshNormalNodeMaterial.js +27 -4
  550. package/src/materials/nodes/MeshPhongNodeMaterial.js +64 -1
  551. package/src/materials/nodes/MeshPhysicalNodeMaterial.js +276 -3
  552. package/src/materials/nodes/MeshSSSNodeMaterial.js +98 -10
  553. package/src/materials/nodes/MeshStandardNodeMaterial.js +83 -4
  554. package/src/materials/nodes/MeshToonNodeMaterial.js +28 -0
  555. package/src/materials/nodes/NodeMaterial.js +789 -74
  556. package/src/materials/nodes/NodeMaterials.js +0 -1
  557. package/src/materials/nodes/PointsNodeMaterial.js +180 -11
  558. package/src/materials/nodes/ShadowNodeMaterial.js +38 -0
  559. package/src/materials/nodes/SpriteNodeMaterial.js +86 -23
  560. package/src/materials/nodes/VolumeNodeMaterial.js +57 -84
  561. package/src/materials/nodes/manager/NodeMaterialObserver.js +329 -12
  562. package/src/math/Box2.js +177 -0
  563. package/src/math/Box3.js +271 -0
  564. package/src/math/Color.js +355 -11
  565. package/src/math/ColorManagement.js +158 -92
  566. package/src/math/Cylindrical.js +65 -6
  567. package/src/math/Euler.js +139 -5
  568. package/src/math/Frustum.js +108 -9
  569. package/src/math/FrustumArray.js +258 -0
  570. package/src/math/Interpolant.js +87 -8
  571. package/src/math/Line3.js +221 -2
  572. package/src/math/MathUtils.js +408 -20
  573. package/src/math/Matrix2.js +70 -0
  574. package/src/math/Matrix3.js +229 -4
  575. package/src/math/Matrix4.js +489 -94
  576. package/src/math/Plane.js +164 -2
  577. package/src/math/Quaternion.js +322 -90
  578. package/src/math/Ray.js +162 -0
  579. package/src/math/Sphere.js +175 -0
  580. package/src/math/Spherical.js +73 -11
  581. package/src/math/SphericalHarmonics3.js +112 -14
  582. package/src/math/Triangle.js +206 -2
  583. package/src/math/Vector2.js +396 -10
  584. package/src/math/Vector3.js +550 -15
  585. package/src/math/Vector4.js +415 -9
  586. package/src/math/interpolants/BezierInterpolant.js +108 -0
  587. package/src/math/interpolants/CubicInterpolant.js +10 -1
  588. package/src/math/interpolants/DiscreteInterpolant.js +10 -2
  589. package/src/math/interpolants/LinearInterpolant.js +13 -0
  590. package/src/math/interpolants/QuaternionLinearInterpolant.js +10 -1
  591. package/src/nodes/Nodes.js +91 -88
  592. package/src/nodes/TSL.js +32 -38
  593. package/src/nodes/accessors/AccessorsUtils.js +37 -9
  594. package/src/nodes/accessors/Arrays.js +68 -0
  595. package/src/nodes/accessors/BatchNode.js +49 -14
  596. package/src/nodes/accessors/Bitangent.js +82 -13
  597. package/src/nodes/accessors/BufferAttributeNode.js +269 -8
  598. package/src/nodes/accessors/BufferNode.js +91 -2
  599. package/src/nodes/accessors/BuiltinNode.js +63 -0
  600. package/src/nodes/accessors/Camera.js +400 -10
  601. package/src/nodes/accessors/ClippingNode.js +149 -45
  602. package/src/nodes/accessors/CubeTextureNode.js +137 -7
  603. package/src/nodes/accessors/InstanceNode.js +245 -40
  604. package/src/nodes/accessors/InstancedMeshNode.js +50 -0
  605. package/src/nodes/accessors/Lights.js +88 -0
  606. package/src/nodes/accessors/MaterialNode.js +355 -13
  607. package/src/nodes/accessors/MaterialProperties.js +57 -1
  608. package/src/nodes/accessors/MaterialReferenceNode.js +52 -14
  609. package/src/nodes/accessors/ModelNode.js +117 -5
  610. package/src/nodes/accessors/ModelViewProjectionNode.js +10 -39
  611. package/src/nodes/accessors/MorphNode.js +73 -26
  612. package/src/nodes/accessors/Normal.js +174 -19
  613. package/src/nodes/accessors/Object3DNode.js +146 -12
  614. package/src/nodes/accessors/PointUVNode.js +25 -0
  615. package/src/nodes/accessors/Position.js +119 -7
  616. package/src/nodes/accessors/ReferenceBaseNode.js +190 -4
  617. package/src/nodes/accessors/ReferenceNode.js +223 -8
  618. package/src/nodes/accessors/ReflectVector.js +29 -3
  619. package/src/nodes/accessors/RendererReferenceNode.js +45 -2
  620. package/src/nodes/accessors/SceneProperties.js +53 -0
  621. package/src/nodes/accessors/SkinningNode.js +180 -43
  622. package/src/nodes/accessors/StorageBufferNode.js +278 -26
  623. package/src/nodes/accessors/StorageTextureNode.js +205 -12
  624. package/src/nodes/accessors/Tangent.js +48 -10
  625. package/src/nodes/accessors/TangentUtils.js +46 -0
  626. package/src/nodes/accessors/Texture3DNode.js +104 -11
  627. package/src/nodes/accessors/TextureBicubic.js +31 -4
  628. package/src/nodes/accessors/TextureNode.js +564 -52
  629. package/src/nodes/accessors/TextureSizeNode.js +42 -1
  630. package/src/nodes/accessors/UV.js +9 -1
  631. package/src/nodes/accessors/UniformArrayNode.js +226 -34
  632. package/src/nodes/accessors/UserDataNode.js +46 -2
  633. package/src/nodes/accessors/VelocityNode.js +93 -3
  634. package/src/nodes/accessors/VertexColorNode.js +39 -4
  635. package/src/nodes/code/CodeNode.js +101 -8
  636. package/src/nodes/code/ExpressionNode.js +29 -2
  637. package/src/nodes/code/FunctionCallNode.js +98 -10
  638. package/src/nodes/code/FunctionNode.js +69 -2
  639. package/src/nodes/core/ArrayNode.js +174 -0
  640. package/src/nodes/core/AssignNode.js +80 -9
  641. package/src/nodes/core/AttributeNode.js +47 -4
  642. package/src/nodes/core/BypassNode.js +47 -3
  643. package/src/nodes/core/ConstNode.js +32 -0
  644. package/src/nodes/core/ContextNode.js +220 -14
  645. package/src/nodes/core/IndexNode.js +72 -7
  646. package/src/nodes/core/InputNode.js +50 -1
  647. package/src/nodes/core/InspectorNode.js +128 -0
  648. package/src/nodes/core/IsolateNode.js +133 -0
  649. package/src/nodes/core/LightingModel.js +65 -5
  650. package/src/nodes/core/MRTNode.js +113 -2
  651. package/src/nodes/core/Node.js +595 -36
  652. package/src/nodes/core/NodeAttribute.js +38 -0
  653. package/src/nodes/core/NodeBuilder.js +1840 -121
  654. package/src/nodes/core/NodeCache.js +41 -2
  655. package/src/nodes/core/NodeCode.js +31 -0
  656. package/src/nodes/core/NodeError.js +28 -0
  657. package/src/nodes/core/NodeFrame.js +153 -24
  658. package/src/nodes/core/NodeFunction.js +48 -1
  659. package/src/nodes/core/NodeFunctionInput.js +44 -0
  660. package/src/nodes/core/NodeParser.js +13 -1
  661. package/src/nodes/core/NodeUniform.js +53 -1
  662. package/src/nodes/core/NodeUtils.js +201 -51
  663. package/src/nodes/core/NodeVar.js +47 -1
  664. package/src/nodes/core/NodeVarying.js +47 -1
  665. package/src/nodes/core/OutputStructNode.js +54 -12
  666. package/src/nodes/core/ParameterNode.js +60 -2
  667. package/src/nodes/core/PropertyNode.js +286 -7
  668. package/src/nodes/core/StackNode.js +337 -20
  669. package/src/nodes/core/StackTrace.js +139 -0
  670. package/src/nodes/core/StructNode.js +134 -0
  671. package/src/nodes/core/StructType.js +13 -0
  672. package/src/nodes/core/StructTypeNode.js +126 -6
  673. package/src/nodes/core/SubBuildNode.js +89 -0
  674. package/src/nodes/core/TempNode.js +31 -5
  675. package/src/nodes/core/UniformGroupNode.js +85 -7
  676. package/src/nodes/core/UniformNode.js +163 -16
  677. package/src/nodes/core/VarNode.js +317 -10
  678. package/src/nodes/core/VaryingNode.js +115 -13
  679. package/src/nodes/core/constants.js +40 -0
  680. package/src/nodes/display/BlendModes.js +171 -0
  681. package/src/nodes/display/BumpMapNode.js +38 -2
  682. package/src/nodes/display/ColorAdjustment.js +118 -6
  683. package/src/nodes/display/ColorSpaceFunctions.js +22 -6
  684. package/src/nodes/display/ColorSpaceNode.js +97 -47
  685. package/src/nodes/display/FrontFacingNode.js +64 -7
  686. package/src/nodes/display/NormalMapNode.js +101 -54
  687. package/src/nodes/display/PassNode.js +690 -33
  688. package/src/nodes/display/RenderOutputNode.js +94 -4
  689. package/src/nodes/display/ScreenNode.js +138 -27
  690. package/src/nodes/display/ToneMappingFunctions.js +62 -10
  691. package/src/nodes/display/ToneMappingNode.js +88 -8
  692. package/src/nodes/display/ToonOutlinePassNode.js +84 -4
  693. package/src/nodes/display/ViewportDepthNode.js +227 -10
  694. package/src/nodes/display/ViewportDepthTextureNode.js +39 -5
  695. package/src/nodes/display/ViewportSharedTextureNode.js +35 -1
  696. package/src/nodes/display/ViewportTextureNode.js +171 -7
  697. package/src/nodes/fog/Fog.js +97 -0
  698. package/src/nodes/functions/BSDF/BRDF_GGX.js +2 -6
  699. package/src/nodes/functions/BSDF/BRDF_GGX_Multiscatter.js +52 -0
  700. package/src/nodes/functions/BSDF/BRDF_Sheen.js +4 -4
  701. package/src/nodes/functions/BSDF/DFGLUT.js +56 -0
  702. package/src/nodes/functions/BSDF/EnvironmentBRDF.js +2 -2
  703. package/src/nodes/functions/BSDF/LTC.js +45 -1
  704. package/src/nodes/functions/BSDF/V_GGX_SmithCorrelated_Anisotropic.js +1 -1
  705. package/src/nodes/functions/BasicLightingModel.js +28 -6
  706. package/src/nodes/functions/PhongLightingModel.js +36 -6
  707. package/src/nodes/functions/PhysicalLightingModel.js +336 -91
  708. package/src/nodes/functions/ShadowMaskModel.js +30 -3
  709. package/src/nodes/functions/ToonLightingModel.js +21 -2
  710. package/src/nodes/functions/VolumetricLightingModel.js +183 -0
  711. package/src/nodes/functions/material/getAlphaHashThreshold.js +68 -0
  712. package/src/nodes/functions/material/getGeometryRoughness.js +10 -4
  713. package/src/nodes/functions/material/getParallaxCorrectNormal.js +37 -0
  714. package/src/nodes/geometry/RangeNode.js +97 -8
  715. package/src/nodes/gpgpu/AtomicFunctionNode.js +198 -23
  716. package/src/nodes/gpgpu/BarrierNode.js +52 -3
  717. package/src/nodes/gpgpu/ComputeBuiltinNode.js +135 -6
  718. package/src/nodes/gpgpu/ComputeNode.js +212 -16
  719. package/src/nodes/gpgpu/SubgroupFunctionNode.js +455 -0
  720. package/src/nodes/gpgpu/WorkgroupInfoNode.js +143 -9
  721. package/src/nodes/lighting/AONode.js +18 -0
  722. package/src/nodes/lighting/AmbientLightNode.js +10 -0
  723. package/src/nodes/lighting/AnalyticLightNode.js +186 -399
  724. package/src/nodes/lighting/BasicEnvironmentNode.js +19 -0
  725. package/src/nodes/lighting/BasicLightMapNode.js +17 -0
  726. package/src/nodes/lighting/DirectionalLightNode.js +12 -11
  727. package/src/nodes/lighting/EnvironmentNode.js +59 -19
  728. package/src/nodes/lighting/HemisphereLightNode.js +33 -2
  729. package/src/nodes/lighting/IESSpotLightNode.js +13 -1
  730. package/src/nodes/lighting/IrradianceNode.js +17 -0
  731. package/src/nodes/lighting/LightProbeNode.js +20 -0
  732. package/src/nodes/lighting/LightUtils.js +11 -3
  733. package/src/nodes/lighting/LightingContextNode.js +52 -4
  734. package/src/nodes/lighting/LightingNode.js +15 -6
  735. package/src/nodes/lighting/LightsNode.js +238 -35
  736. package/src/nodes/lighting/PointLightNode.js +60 -25
  737. package/src/nodes/lighting/PointShadowNode.js +325 -0
  738. package/src/nodes/lighting/ProjectorLightNode.js +91 -0
  739. package/src/nodes/lighting/RectAreaLightNode.js +50 -14
  740. package/src/nodes/lighting/ShadowBaseNode.js +81 -0
  741. package/src/nodes/lighting/ShadowFilterNode.js +264 -0
  742. package/src/nodes/lighting/ShadowNode.js +867 -0
  743. package/src/nodes/lighting/SpotLightNode.js +99 -18
  744. package/src/nodes/materialx/MaterialXNodes.js +131 -2
  745. package/src/nodes/materialx/lib/mx_noise.js +166 -2
  746. package/src/nodes/math/BitcastNode.js +156 -0
  747. package/src/nodes/math/BitcountNode.js +433 -0
  748. package/src/nodes/math/ConditionalNode.js +110 -21
  749. package/src/nodes/math/Hash.js +8 -0
  750. package/src/nodes/math/MathNode.js +820 -97
  751. package/src/nodes/math/MathUtils.js +47 -1
  752. package/src/nodes/math/OperatorNode.js +517 -84
  753. package/src/nodes/math/PackFloatNode.js +98 -0
  754. package/src/nodes/math/TriNoise3D.js +17 -7
  755. package/src/nodes/math/UnpackFloatNode.js +96 -0
  756. package/src/nodes/parsers/GLSLNodeFunction.js +16 -0
  757. package/src/nodes/parsers/GLSLNodeParser.js +11 -0
  758. package/src/nodes/pmrem/PMREMNode.js +180 -23
  759. package/src/nodes/pmrem/PMREMUtils.js +114 -5
  760. package/src/nodes/procedural/Checker.js +8 -0
  761. package/src/nodes/shapes/Shapes.js +33 -0
  762. package/src/nodes/tsl/TSLBase.js +10 -4
  763. package/src/nodes/tsl/TSLCore.js +732 -160
  764. package/src/nodes/utils/ArrayElementNode.js +55 -4
  765. package/src/nodes/utils/ConvertNode.js +31 -0
  766. package/src/nodes/utils/CubeMapNode.js +79 -2
  767. package/src/nodes/utils/DebugNode.js +83 -0
  768. package/src/nodes/utils/Discard.js +18 -2
  769. package/src/nodes/utils/EquirectUV.js +27 -0
  770. package/src/nodes/utils/EventNode.js +118 -0
  771. package/src/nodes/utils/FlipNode.js +38 -0
  772. package/src/nodes/utils/FunctionOverloadingNode.js +91 -22
  773. package/src/nodes/utils/JoinNode.js +57 -4
  774. package/src/nodes/utils/LoopNode.js +193 -55
  775. package/src/nodes/utils/MatcapUV.js +22 -0
  776. package/src/nodes/utils/MaxMipLevelNode.js +49 -1
  777. package/src/nodes/utils/MemberNode.js +120 -0
  778. package/src/nodes/utils/Oscillators.js +41 -0
  779. package/src/nodes/utils/Packing.js +30 -1
  780. package/src/nodes/utils/PostProcessingUtils.js +154 -0
  781. package/src/nodes/utils/RTTNode.js +165 -9
  782. package/src/nodes/utils/ReflectorNode.js +407 -21
  783. package/src/nodes/utils/RemapNode.js +81 -2
  784. package/src/nodes/utils/RotateNode.js +41 -1
  785. package/src/nodes/utils/SampleNode.js +91 -0
  786. package/src/nodes/utils/SetNode.js +44 -1
  787. package/src/nodes/utils/SplitNode.js +66 -3
  788. package/src/nodes/utils/SpriteSheetUV.js +35 -0
  789. package/src/nodes/utils/SpriteUtils.js +16 -0
  790. package/src/nodes/utils/StorageArrayElementNode.js +56 -3
  791. package/src/nodes/utils/Timer.js +26 -0
  792. package/src/nodes/utils/TriplanarTextures.js +65 -0
  793. package/src/nodes/utils/UVUtils.js +48 -0
  794. package/src/nodes/utils/ViewportUtils.js +12 -0
  795. package/src/objects/BatchedMesh.js +798 -309
  796. package/src/objects/Bone.js +24 -0
  797. package/src/objects/ClippingGroup.js +68 -0
  798. package/src/objects/Group.js +24 -0
  799. package/src/objects/InstancedMesh.js +131 -2
  800. package/src/objects/LOD.js +99 -5
  801. package/src/objects/Line.js +90 -7
  802. package/src/objects/LineLoop.js +20 -0
  803. package/src/objects/LineSegments.js +20 -1
  804. package/src/objects/Mesh.js +84 -0
  805. package/src/objects/Points.js +60 -0
  806. package/src/objects/Skeleton.js +120 -5
  807. package/src/objects/SkinnedMesh.js +102 -6
  808. package/src/objects/Sprite.js +65 -1
  809. package/src/renderers/WebGL3DRenderTarget.js +26 -0
  810. package/src/renderers/WebGLArrayRenderTarget.js +26 -0
  811. package/src/renderers/WebGLCubeRenderTarget.js +41 -5
  812. package/src/renderers/WebGLRenderTarget.js +19 -0
  813. package/src/renderers/WebGLRenderer.js +1016 -278
  814. package/src/renderers/common/Animation.js +123 -14
  815. package/src/renderers/common/Attributes.js +41 -1
  816. package/src/renderers/common/Backend.js +623 -44
  817. package/src/renderers/common/Background.js +99 -16
  818. package/src/renderers/common/BindGroup.js +37 -2
  819. package/src/renderers/common/Binding.js +46 -0
  820. package/src/renderers/common/Bindings.js +211 -20
  821. package/src/renderers/common/BlendMode.js +143 -0
  822. package/src/renderers/common/Buffer.js +89 -0
  823. package/src/renderers/common/BufferUtils.js +25 -0
  824. package/src/renderers/common/BundleGroup.js +57 -0
  825. package/src/renderers/common/CanvasTarget.js +341 -0
  826. package/src/renderers/common/ChainMap.js +73 -10
  827. package/src/renderers/common/ClippingContext.js +172 -87
  828. package/src/renderers/common/Color4.js +40 -0
  829. package/src/renderers/common/ComputePipeline.js +24 -0
  830. package/src/renderers/common/Constants.js +2 -1
  831. package/src/renderers/common/CubeRenderTarget.js +77 -7
  832. package/src/renderers/common/DataMap.js +37 -1
  833. package/src/renderers/common/Geometries.js +163 -14
  834. package/src/renderers/common/IndirectStorageBufferAttribute.js +38 -0
  835. package/src/renderers/common/Info.js +81 -36
  836. package/src/renderers/common/InspectorBase.js +146 -0
  837. package/src/renderers/common/Lighting.js +57 -0
  838. package/src/renderers/common/Pipeline.js +22 -0
  839. package/src/renderers/common/Pipelines.js +150 -7
  840. package/src/renderers/common/PostProcessing.js +22 -84
  841. package/src/renderers/common/ProgrammableStage.js +60 -2
  842. package/src/renderers/common/QuadMesh.js +63 -6
  843. package/src/renderers/common/RenderBundle.js +14 -8
  844. package/src/renderers/common/RenderBundles.js +40 -10
  845. package/src/renderers/common/RenderContext.js +219 -4
  846. package/src/renderers/common/RenderContexts.js +54 -17
  847. package/src/renderers/common/RenderList.js +233 -24
  848. package/src/renderers/common/RenderLists.js +46 -6
  849. package/src/renderers/common/RenderObject.js +548 -46
  850. package/src/renderers/common/RenderObjectPipeline.js +40 -0
  851. package/src/renderers/common/RenderObjects.js +133 -15
  852. package/src/renderers/common/RenderPipeline.js +216 -6
  853. package/src/renderers/common/Renderer.js +2155 -332
  854. package/src/renderers/common/RendererUtils.js +200 -0
  855. package/src/renderers/common/SampledTexture.js +99 -39
  856. package/src/renderers/common/Sampler.js +148 -1
  857. package/src/renderers/common/Storage3DTexture.js +100 -0
  858. package/src/renderers/common/StorageArrayTexture.js +84 -0
  859. package/src/renderers/common/StorageBuffer.js +38 -2
  860. package/src/renderers/common/StorageBufferAttribute.js +31 -2
  861. package/src/renderers/common/StorageInstancedBufferAttribute.js +31 -2
  862. package/src/renderers/common/StorageTexture.js +65 -0
  863. package/src/renderers/common/Textures.js +273 -57
  864. package/src/renderers/common/TimestampQueryPool.js +163 -0
  865. package/src/renderers/common/Uniform.js +233 -3
  866. package/src/renderers/common/UniformBuffer.js +19 -0
  867. package/src/renderers/common/UniformsGroup.js +235 -26
  868. package/src/renderers/common/XRManager.js +1677 -0
  869. package/src/renderers/common/XRRenderTarget.js +91 -0
  870. package/src/renderers/common/extras/PMREMGenerator.js +371 -108
  871. package/src/renderers/common/nodes/NodeBuilderState.js +100 -6
  872. package/src/renderers/common/nodes/NodeLibrary.js +95 -17
  873. package/src/renderers/common/nodes/NodeManager.js +852 -0
  874. package/src/renderers/common/nodes/NodeSampledTexture.js +84 -8
  875. package/src/renderers/common/nodes/NodeSampler.js +41 -1
  876. package/src/renderers/common/nodes/NodeStorageBuffer.js +48 -3
  877. package/src/renderers/common/nodes/NodeUniform.js +285 -2
  878. package/src/renderers/common/nodes/NodeUniformBuffer.js +81 -0
  879. package/src/renderers/common/nodes/NodeUniformsGroup.js +31 -18
  880. package/src/renderers/shaders/DFGLUTData.js +49 -0
  881. package/src/renderers/shaders/ShaderChunk/batching_pars_vertex.glsl.js +2 -2
  882. package/src/renderers/shaders/ShaderChunk/color_fragment.glsl.js +1 -5
  883. package/src/renderers/shaders/ShaderChunk/color_pars_fragment.glsl.js +1 -5
  884. package/src/renderers/shaders/ShaderChunk/color_pars_vertex.glsl.js +1 -5
  885. package/src/renderers/shaders/ShaderChunk/color_vertex.glsl.js +8 -10
  886. package/src/renderers/shaders/ShaderChunk/colorspace_pars_fragment.glsl.js +4 -24
  887. package/src/renderers/shaders/ShaderChunk/common.glsl.js +0 -12
  888. package/src/renderers/shaders/ShaderChunk/emissivemap_fragment.glsl.js +8 -0
  889. package/src/renderers/shaders/ShaderChunk/envmap_common_pars_fragment.glsl.js +1 -1
  890. package/src/renderers/shaders/ShaderChunk/envmap_fragment.glsl.js +7 -11
  891. package/src/renderers/shaders/ShaderChunk/envmap_physical_pars_fragment.glsl.js +1 -1
  892. package/src/renderers/shaders/ShaderChunk/lights_fragment_begin.glsl.js +5 -2
  893. package/src/renderers/shaders/ShaderChunk/lights_fragment_end.glsl.js +6 -0
  894. package/src/renderers/shaders/ShaderChunk/lights_fragment_maps.glsl.js +6 -2
  895. package/src/renderers/shaders/ShaderChunk/lights_physical_fragment.glsl.js +8 -4
  896. package/src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js +154 -59
  897. package/src/renderers/shaders/ShaderChunk/logdepthbuf_fragment.glsl.js +1 -1
  898. package/src/renderers/shaders/ShaderChunk/logdepthbuf_pars_fragment.glsl.js +1 -1
  899. package/src/renderers/shaders/ShaderChunk/logdepthbuf_pars_vertex.glsl.js +1 -1
  900. package/src/renderers/shaders/ShaderChunk/logdepthbuf_vertex.glsl.js +1 -1
  901. package/src/renderers/shaders/ShaderChunk/map_fragment.glsl.js +2 -2
  902. package/src/renderers/shaders/ShaderChunk/packing.glsl.js +20 -4
  903. package/src/renderers/shaders/ShaderChunk/premultiplied_alpha_fragment.glsl.js +1 -1
  904. package/src/renderers/shaders/ShaderChunk/shadowmap_pars_fragment.glsl.js +230 -181
  905. package/src/renderers/shaders/ShaderChunk/shadowmask_pars_fragment.glsl.js +1 -1
  906. package/src/renderers/shaders/ShaderChunk/transmission_fragment.glsl.js +1 -1
  907. package/src/renderers/shaders/ShaderChunk/transmission_pars_fragment.glsl.js +7 -7
  908. package/src/renderers/shaders/ShaderChunk.js +3 -3
  909. package/src/renderers/shaders/ShaderLib/background.glsl.js +1 -1
  910. package/src/renderers/shaders/ShaderLib/depth.glsl.js +14 -2
  911. package/src/renderers/shaders/ShaderLib/{distanceRGBA.glsl.js → distance.glsl.js} +1 -2
  912. package/src/renderers/shaders/ShaderLib/meshlambert.glsl.js +2 -1
  913. package/src/renderers/shaders/ShaderLib/meshnormal.glsl.js +1 -2
  914. package/src/renderers/shaders/ShaderLib/meshphong.glsl.js +2 -1
  915. package/src/renderers/shaders/ShaderLib/meshphysical.glsl.js +4 -9
  916. package/src/renderers/shaders/ShaderLib/meshtoon.glsl.js +0 -1
  917. package/src/renderers/shaders/ShaderLib/shadow.glsl.js +1 -1
  918. package/src/renderers/shaders/ShaderLib/vsm.glsl.js +4 -6
  919. package/src/renderers/shaders/ShaderLib.js +7 -5
  920. package/src/renderers/shaders/UniformsLib.js +2 -7
  921. package/src/renderers/shaders/UniformsUtils.js +21 -2
  922. package/src/renderers/webgl/WebGLAttributes.js +4 -0
  923. package/src/renderers/webgl/WebGLBackground.js +30 -5
  924. package/src/renderers/webgl/WebGLBindingStates.js +99 -27
  925. package/src/renderers/webgl/WebGLBufferRenderer.js +2 -6
  926. package/src/renderers/webgl/WebGLCapabilities.js +7 -14
  927. package/src/renderers/webgl/WebGLEnvironments.js +228 -0
  928. package/src/renderers/webgl/WebGLExtensions.js +2 -25
  929. package/src/renderers/webgl/WebGLGeometries.js +10 -35
  930. package/src/renderers/webgl/WebGLIndexedBufferRenderer.js +2 -6
  931. package/src/renderers/webgl/WebGLInfo.js +3 -1
  932. package/src/renderers/webgl/WebGLLights.js +18 -1
  933. package/src/renderers/webgl/WebGLMaterials.js +12 -0
  934. package/src/renderers/webgl/WebGLObjects.js +3 -1
  935. package/src/renderers/webgl/WebGLOutput.js +267 -0
  936. package/src/renderers/webgl/WebGLProgram.js +87 -148
  937. package/src/renderers/webgl/WebGLPrograms.js +53 -51
  938. package/src/renderers/webgl/WebGLRenderLists.js +15 -0
  939. package/src/renderers/webgl/WebGLShadowMap.js +204 -28
  940. package/src/renderers/webgl/WebGLState.js +88 -56
  941. package/src/renderers/webgl/WebGLTextures.js +293 -59
  942. package/src/renderers/webgl/WebGLUniforms.js +40 -3
  943. package/src/renderers/webgl/WebGLUniformsGroups.js +5 -3
  944. package/src/renderers/webgl/WebGLUtils.js +7 -5
  945. package/src/renderers/webgl-fallback/WebGLBackend.js +1416 -293
  946. package/src/renderers/webgl-fallback/WebGLBufferRenderer.js +5 -10
  947. package/src/renderers/webgl-fallback/nodes/GLSLNodeBuilder.js +785 -92
  948. package/src/renderers/webgl-fallback/utils/WebGLAttributeUtils.js +62 -1
  949. package/src/renderers/webgl-fallback/utils/WebGLCapabilities.js +28 -0
  950. package/src/renderers/webgl-fallback/utils/WebGLConstants.js +3 -3
  951. package/src/renderers/webgl-fallback/utils/WebGLExtensions.js +45 -0
  952. package/src/renderers/webgl-fallback/utils/WebGLState.js +584 -20
  953. package/src/renderers/webgl-fallback/utils/WebGLTextureUtils.js +468 -80
  954. package/src/renderers/webgl-fallback/utils/WebGLTimestampQueryPool.js +396 -0
  955. package/src/renderers/webgl-fallback/utils/WebGLUtils.js +72 -24
  956. package/src/renderers/webgpu/WebGPUBackend.js +1517 -428
  957. package/src/renderers/webgpu/WebGPURenderer.Nodes.js +31 -4
  958. package/src/renderers/webgpu/WebGPURenderer.js +55 -4
  959. package/src/renderers/webgpu/nodes/BasicNodeLibrary.js +23 -16
  960. package/src/renderers/webgpu/nodes/StandardNodeLibrary.js +37 -42
  961. package/src/renderers/webgpu/nodes/WGSLNodeBuilder.js +1335 -241
  962. package/src/renderers/webgpu/nodes/WGSLNodeFunction.js +32 -4
  963. package/src/renderers/webgpu/nodes/WGSLNodeParser.js +11 -0
  964. package/src/renderers/webgpu/utils/WebGPUAttributeUtils.js +144 -20
  965. package/src/renderers/webgpu/utils/WebGPUBindingUtils.js +460 -116
  966. package/src/renderers/webgpu/utils/WebGPUConstants.js +17 -4
  967. package/src/renderers/webgpu/utils/WebGPUPipelineUtils.js +283 -69
  968. package/src/renderers/webgpu/utils/WebGPUTexturePassUtils.js +225 -178
  969. package/src/renderers/webgpu/utils/WebGPUTextureUtils.js +583 -191
  970. package/src/renderers/webgpu/utils/WebGPUTimestampQueryPool.js +310 -0
  971. package/src/renderers/webgpu/utils/WebGPUUtils.js +150 -28
  972. package/src/renderers/webxr/WebXRController.js +87 -2
  973. package/src/renderers/webxr/WebXRDepthSensing.js +52 -7
  974. package/src/renderers/webxr/WebXRManager.js +275 -15
  975. package/src/scenes/Fog.js +60 -0
  976. package/src/scenes/FogExp2.js +51 -0
  977. package/src/scenes/Scene.js +88 -0
  978. package/src/textures/CanvasTexture.js +28 -0
  979. package/src/textures/CompressedArrayTexture.js +57 -0
  980. package/src/textures/CompressedCubeTexture.js +29 -0
  981. package/src/textures/CompressedTexture.js +64 -6
  982. package/src/textures/CubeDepthTexture.js +76 -0
  983. package/src/textures/CubeTexture.js +52 -4
  984. package/src/textures/Data3DTexture.js +79 -2
  985. package/src/textures/DataArrayTexture.js +93 -0
  986. package/src/textures/DataTexture.js +65 -0
  987. package/src/textures/DepthTexture.js +59 -11
  988. package/src/textures/ExternalTexture.js +56 -0
  989. package/src/textures/FramebufferTexture.js +62 -0
  990. package/src/textures/Source.js +106 -4
  991. package/src/textures/Texture.js +488 -6
  992. package/src/textures/VideoFrameTexture.js +72 -0
  993. package/src/textures/VideoTexture.js +78 -6
  994. package/src/utils.js +322 -3
  995. package/examples/jsm/animation/MMDAnimationHelper.js +0 -1207
  996. package/examples/jsm/animation/MMDPhysics.js +0 -1406
  997. package/examples/jsm/cameras/CinematicCamera.js +0 -208
  998. package/examples/jsm/effects/PeppersGhostEffect.js +0 -153
  999. package/examples/jsm/exporters/MMDExporter.js +0 -217
  1000. package/examples/jsm/geometries/InstancedPointsGeometry.js +0 -174
  1001. package/examples/jsm/geometries/ParametricGeometries.js +0 -254
  1002. package/examples/jsm/libs/mmdparser.module.js +0 -11530
  1003. package/examples/jsm/loaders/GLTFLoaderAnimationPointer.js +0 -729
  1004. package/examples/jsm/loaders/MMDLoader.js +0 -2295
  1005. package/examples/jsm/loaders/RGBMLoader.js +0 -1081
  1006. package/examples/jsm/materials/MeshGouraudMaterial.js +0 -432
  1007. package/examples/jsm/materials/MeshPostProcessingMaterial.js +0 -144
  1008. package/examples/jsm/misc/Timer.js +0 -128
  1009. package/examples/jsm/objects/InstancedPoints.js +0 -21
  1010. package/examples/jsm/shaders/GodRaysShader.js +0 -321
  1011. package/examples/jsm/shaders/MMDToonShader.js +0 -134
  1012. package/src/materials/nodes/InstancedPointsNodeMaterial.js +0 -156
  1013. package/src/nodes/accessors/InstancedPointsMaterialNode.js +0 -24
  1014. package/src/nodes/accessors/SceneNode.js +0 -55
  1015. package/src/nodes/code/ScriptableNode.js +0 -505
  1016. package/src/nodes/code/ScriptableValueNode.js +0 -170
  1017. package/src/nodes/core/CacheNode.js +0 -50
  1018. package/src/nodes/core/UniformGroup.js +0 -13
  1019. package/src/nodes/display/AfterImageNode.js +0 -158
  1020. package/src/nodes/display/AnaglyphPassNode.js +0 -67
  1021. package/src/nodes/display/AnamorphicNode.js +0 -151
  1022. package/src/nodes/display/BlendMode.js +0 -54
  1023. package/src/nodes/display/BloomNode.js +0 -341
  1024. package/src/nodes/display/DenoiseNode.js +0 -204
  1025. package/src/nodes/display/DepthOfFieldNode.js +0 -124
  1026. package/src/nodes/display/DotScreenNode.js +0 -66
  1027. package/src/nodes/display/FXAANode.js +0 -332
  1028. package/src/nodes/display/FilmNode.js +0 -56
  1029. package/src/nodes/display/GTAONode.js +0 -331
  1030. package/src/nodes/display/GaussianBlurNode.js +0 -213
  1031. package/src/nodes/display/Lut3DNode.js +0 -57
  1032. package/src/nodes/display/MotionBlur.js +0 -25
  1033. package/src/nodes/display/ParallaxBarrierPassNode.js +0 -58
  1034. package/src/nodes/display/PixelationPassNode.js +0 -213
  1035. package/src/nodes/display/PosterizeNode.js +0 -33
  1036. package/src/nodes/display/RGBShiftNode.js +0 -53
  1037. package/src/nodes/display/StereoCompositePassNode.js +0 -110
  1038. package/src/nodes/display/TransitionNode.js +0 -80
  1039. package/src/nodes/fog/FogExp2Node.js +0 -35
  1040. package/src/nodes/fog/FogNode.js +0 -50
  1041. package/src/nodes/fog/FogRangeNode.js +0 -36
  1042. package/src/nodes/functions/BSDF/DFGApprox.js +0 -30
  1043. package/src/nodes/utils/EquirectUVNode.js +0 -36
  1044. package/src/nodes/utils/MatcapUVNode.js +0 -33
  1045. package/src/nodes/utils/OscNode.js +0 -85
  1046. package/src/nodes/utils/SpriteSheetUVNode.js +0 -45
  1047. package/src/nodes/utils/TimerNode.js +0 -97
  1048. package/src/nodes/utils/TriplanarTexturesNode.js +0 -64
  1049. package/src/renderers/common/nodes/Nodes.js +0 -534
  1050. package/src/renderers/webgl/WebGLCubeMaps.js +0 -99
  1051. package/src/renderers/webgl/WebGLCubeUVMaps.js +0 -136
package/src/constants.js CHANGED
@@ -1,96 +1,732 @@
1
- export const REVISION = '169.19';
1
+ export const REVISION = '183.2-canary.0';
2
2
 
3
+ /**
4
+ * Represents mouse buttons and interaction types in context of controls.
5
+ *
6
+ * @type {ConstantsMouse}
7
+ * @constant
8
+ */
3
9
  export const MOUSE = { LEFT: 0, MIDDLE: 1, RIGHT: 2, ROTATE: 0, DOLLY: 1, PAN: 2 };
10
+
11
+ /**
12
+ * Represents touch interaction types in context of controls.
13
+ *
14
+ * @type {ConstantsTouch}
15
+ * @constant
16
+ */
4
17
  export const TOUCH = { ROTATE: 0, PAN: 1, DOLLY_PAN: 2, DOLLY_ROTATE: 3 };
18
+
19
+ /**
20
+ * Disables face culling.
21
+ *
22
+ * @type {number}
23
+ * @constant
24
+ */
5
25
  export const CullFaceNone = 0;
26
+
27
+ /**
28
+ * Culls back faces.
29
+ *
30
+ * @type {number}
31
+ * @constant
32
+ */
6
33
  export const CullFaceBack = 1;
34
+
35
+ /**
36
+ * Culls front faces.
37
+ *
38
+ * @type {number}
39
+ * @constant
40
+ */
7
41
  export const CullFaceFront = 2;
42
+
43
+ /**
44
+ * Culls both front and back faces.
45
+ *
46
+ * @type {number}
47
+ * @constant
48
+ */
8
49
  export const CullFaceFrontBack = 3;
50
+
51
+ /**
52
+ * Gives unfiltered shadow maps - fastest, but lowest quality.
53
+ *
54
+ * @type {number}
55
+ * @constant
56
+ */
9
57
  export const BasicShadowMap = 0;
58
+
59
+ /**
60
+ * Filters shadow maps using the Percentage-Closer Filtering (PCF) algorithm.
61
+ *
62
+ * @type {number}
63
+ * @constant
64
+ */
10
65
  export const PCFShadowMap = 1;
66
+
67
+ /**
68
+ * Filters shadow maps using the Percentage-Closer Filtering (PCF) algorithm with
69
+ * better soft shadows especially when using low-resolution shadow maps.
70
+ *
71
+ * @type {number}
72
+ * @constant
73
+ */
11
74
  export const PCFSoftShadowMap = 2;
75
+
76
+ /**
77
+ * Filters shadow maps using the Variance Shadow Map (VSM) algorithm.
78
+ * When using VSMShadowMap all shadow receivers will also cast shadows.
79
+ *
80
+ * @type {number}
81
+ * @constant
82
+ */
12
83
  export const VSMShadowMap = 3;
84
+
85
+ /**
86
+ * Only front faces are rendered.
87
+ *
88
+ * @type {number}
89
+ * @constant
90
+ */
13
91
  export const FrontSide = 0;
92
+
93
+ /**
94
+ * Only back faces are rendered.
95
+ *
96
+ * @type {number}
97
+ * @constant
98
+ */
14
99
  export const BackSide = 1;
100
+
101
+ /**
102
+ * Both front and back faces are rendered.
103
+ *
104
+ * @type {number}
105
+ * @constant
106
+ */
15
107
  export const DoubleSide = 2;
108
+
109
+ /**
110
+ * No blending is performed which effectively disables
111
+ * alpha transparency.
112
+ *
113
+ * @type {number}
114
+ * @constant
115
+ */
16
116
  export const NoBlending = 0;
117
+
118
+ /**
119
+ * The default blending.
120
+ *
121
+ * @type {number}
122
+ * @constant
123
+ */
17
124
  export const NormalBlending = 1;
125
+
126
+ /**
127
+ * Represents additive blending.
128
+ *
129
+ * @type {number}
130
+ * @constant
131
+ */
18
132
  export const AdditiveBlending = 2;
133
+
134
+ /**
135
+ * Represents subtractive blending.
136
+ *
137
+ * @type {number}
138
+ * @constant
139
+ */
19
140
  export const SubtractiveBlending = 3;
141
+
142
+ /**
143
+ * Represents multiply blending.
144
+ *
145
+ * @type {number}
146
+ * @constant
147
+ */
20
148
  export const MultiplyBlending = 4;
149
+
150
+ /**
151
+ * Represents custom blending.
152
+ *
153
+ * @type {number}
154
+ * @constant
155
+ */
21
156
  export const CustomBlending = 5;
157
+
158
+ /**
159
+ * Represents material blending.
160
+ *
161
+ * @type {number}
162
+ * @constant
163
+ */
164
+ export const MaterialBlending = 6;
165
+
166
+ /**
167
+ * A `source + destination` blending equation.
168
+ *
169
+ * @type {number}
170
+ * @constant
171
+ */
22
172
  export const AddEquation = 100;
173
+
174
+ /**
175
+ * A `source - destination` blending equation.
176
+ *
177
+ * @type {number}
178
+ * @constant
179
+ */
23
180
  export const SubtractEquation = 101;
181
+
182
+ /**
183
+ * A `destination - source` blending equation.
184
+ *
185
+ * @type {number}
186
+ * @constant
187
+ */
24
188
  export const ReverseSubtractEquation = 102;
189
+
190
+ /**
191
+ * A blend equation that uses the minimum of source and destination.
192
+ *
193
+ * @type {number}
194
+ * @constant
195
+ */
25
196
  export const MinEquation = 103;
197
+
198
+ /**
199
+ * A blend equation that uses the maximum of source and destination.
200
+ *
201
+ * @type {number}
202
+ * @constant
203
+ */
26
204
  export const MaxEquation = 104;
205
+
206
+ /**
207
+ * Multiplies all colors by `0`.
208
+ *
209
+ * @type {number}
210
+ * @constant
211
+ */
27
212
  export const ZeroFactor = 200;
213
+
214
+ /**
215
+ * Multiplies all colors by `1`.
216
+ *
217
+ * @type {number}
218
+ * @constant
219
+ */
28
220
  export const OneFactor = 201;
221
+
222
+ /**
223
+ * Multiplies all colors by the source colors.
224
+ *
225
+ * @type {number}
226
+ * @constant
227
+ */
29
228
  export const SrcColorFactor = 202;
229
+
230
+ /**
231
+ * Multiplies all colors by `1` minus each source color.
232
+ *
233
+ * @type {number}
234
+ * @constant
235
+ */
30
236
  export const OneMinusSrcColorFactor = 203;
237
+
238
+ /**
239
+ * Multiplies all colors by the source alpha value.
240
+ *
241
+ * @type {number}
242
+ * @constant
243
+ */
31
244
  export const SrcAlphaFactor = 204;
245
+
246
+ /**
247
+ * Multiplies all colors by 1 minus the source alpha value.
248
+ *
249
+ * @type {number}
250
+ * @constant
251
+ */
32
252
  export const OneMinusSrcAlphaFactor = 205;
253
+
254
+ /**
255
+ * Multiplies all colors by the destination alpha value.
256
+ *
257
+ * @type {number}
258
+ * @constant
259
+ */
33
260
  export const DstAlphaFactor = 206;
261
+
262
+ /**
263
+ * Multiplies all colors by `1` minus the destination alpha value.
264
+ *
265
+ * @type {number}
266
+ * @constant
267
+ */
34
268
  export const OneMinusDstAlphaFactor = 207;
269
+
270
+ /**
271
+ * Multiplies all colors by the destination color.
272
+ *
273
+ * @type {number}
274
+ * @constant
275
+ */
35
276
  export const DstColorFactor = 208;
277
+
278
+ /**
279
+ * Multiplies all colors by `1` minus each destination color.
280
+ *
281
+ * @type {number}
282
+ * @constant
283
+ */
36
284
  export const OneMinusDstColorFactor = 209;
285
+
286
+ /**
287
+ * Multiplies the RGB colors by the smaller of either the source alpha
288
+ * value or the value of `1` minus the destination alpha value. The alpha
289
+ * value is multiplied by `1`.
290
+ *
291
+ * @type {number}
292
+ * @constant
293
+ */
37
294
  export const SrcAlphaSaturateFactor = 210;
295
+
296
+ /**
297
+ * Multiplies all colors by a constant color.
298
+ *
299
+ * @type {number}
300
+ * @constant
301
+ */
38
302
  export const ConstantColorFactor = 211;
303
+
304
+ /**
305
+ * Multiplies all colors by `1` minus a constant color.
306
+ *
307
+ * @type {number}
308
+ * @constant
309
+ */
39
310
  export const OneMinusConstantColorFactor = 212;
311
+
312
+ /**
313
+ * Multiplies all colors by a constant alpha value.
314
+ *
315
+ * @type {number}
316
+ * @constant
317
+ */
40
318
  export const ConstantAlphaFactor = 213;
319
+
320
+ /**
321
+ * Multiplies all colors by 1 minus a constant alpha value.
322
+ *
323
+ * @type {number}
324
+ * @constant
325
+ */
41
326
  export const OneMinusConstantAlphaFactor = 214;
327
+
328
+ /**
329
+ * Never pass.
330
+ *
331
+ * @type {number}
332
+ * @constant
333
+ */
42
334
  export const NeverDepth = 0;
335
+
336
+ /**
337
+ * Always pass.
338
+ *
339
+ * @type {number}
340
+ * @constant
341
+ */
43
342
  export const AlwaysDepth = 1;
343
+
344
+ /**
345
+ * Pass if the incoming value is less than the depth buffer value.
346
+ *
347
+ * @type {number}
348
+ * @constant
349
+ */
44
350
  export const LessDepth = 2;
351
+
352
+ /**
353
+ * Pass if the incoming value is less than or equal to the depth buffer value.
354
+ *
355
+ * @type {number}
356
+ * @constant
357
+ */
45
358
  export const LessEqualDepth = 3;
359
+
360
+ /**
361
+ * Pass if the incoming value equals the depth buffer value.
362
+ *
363
+ * @type {number}
364
+ * @constant
365
+ */
46
366
  export const EqualDepth = 4;
367
+
368
+ /**
369
+ * Pass if the incoming value is greater than or equal to the depth buffer value.
370
+ *
371
+ * @type {number}
372
+ * @constant
373
+ */
47
374
  export const GreaterEqualDepth = 5;
375
+
376
+ /**
377
+ * Pass if the incoming value is greater than the depth buffer value.
378
+ *
379
+ * @type {number}
380
+ * @constant
381
+ */
48
382
  export const GreaterDepth = 6;
383
+
384
+ /**
385
+ * Pass if the incoming value is not equal to the depth buffer value.
386
+ *
387
+ * @type {number}
388
+ * @constant
389
+ */
49
390
  export const NotEqualDepth = 7;
391
+
392
+ /**
393
+ * Multiplies the environment map color with the surface color.
394
+ *
395
+ * @type {number}
396
+ * @constant
397
+ */
50
398
  export const MultiplyOperation = 0;
399
+
400
+ /**
401
+ * Uses reflectivity to blend between the two colors.
402
+ *
403
+ * @type {number}
404
+ * @constant
405
+ */
51
406
  export const MixOperation = 1;
407
+
408
+ /**
409
+ * Adds the two colors.
410
+ *
411
+ * @type {number}
412
+ * @constant
413
+ */
52
414
  export const AddOperation = 2;
415
+
416
+ /**
417
+ * No tone mapping is applied.
418
+ *
419
+ * @type {number}
420
+ * @constant
421
+ */
53
422
  export const NoToneMapping = 0;
423
+
424
+ /**
425
+ * Linear tone mapping.
426
+ *
427
+ * @type {number}
428
+ * @constant
429
+ */
54
430
  export const LinearToneMapping = 1;
431
+
432
+ /**
433
+ * Reinhard tone mapping.
434
+ *
435
+ * @type {number}
436
+ * @constant
437
+ */
55
438
  export const ReinhardToneMapping = 2;
439
+
440
+ /**
441
+ * Cineon tone mapping.
442
+ *
443
+ * @type {number}
444
+ * @constant
445
+ */
56
446
  export const CineonToneMapping = 3;
447
+
448
+ /**
449
+ * ACES Filmic tone mapping.
450
+ *
451
+ * @type {number}
452
+ * @constant
453
+ */
57
454
  export const ACESFilmicToneMapping = 4;
455
+
456
+ /**
457
+ * Custom tone mapping.
458
+ *
459
+ * Expects a custom implementation by modifying shader code of the material's fragment shader.
460
+ *
461
+ * @type {number}
462
+ * @constant
463
+ */
58
464
  export const CustomToneMapping = 5;
465
+
466
+ /**
467
+ * AgX tone mapping.
468
+ *
469
+ * @type {number}
470
+ * @constant
471
+ */
59
472
  export const AgXToneMapping = 6;
473
+
474
+ /**
475
+ * Neutral tone mapping.
476
+ *
477
+ * Implementation based on the Khronos 3D Commerce Group standard tone mapping.
478
+ *
479
+ * @type {number}
480
+ * @constant
481
+ */
60
482
  export const NeutralToneMapping = 7;
483
+
484
+ /**
485
+ * The skinned mesh shares the same world space as the skeleton.
486
+ *
487
+ * @type {string}
488
+ * @constant
489
+ */
61
490
  export const AttachedBindMode = 'attached';
491
+
492
+ /**
493
+ * The skinned mesh does not share the same world space as the skeleton.
494
+ * This is useful when a skeleton is shared across multiple skinned meshes.
495
+ *
496
+ * @type {string}
497
+ * @constant
498
+ */
62
499
  export const DetachedBindMode = 'detached';
63
500
 
501
+ /**
502
+ * Maps textures using the geometry's UV coordinates.
503
+ *
504
+ * @type {number}
505
+ * @constant
506
+ */
64
507
  export const UVMapping = 300;
508
+
509
+ /**
510
+ * Reflection mapping for cube textures.
511
+ *
512
+ * @type {number}
513
+ * @constant
514
+ */
65
515
  export const CubeReflectionMapping = 301;
516
+
517
+ /**
518
+ * Refraction mapping for cube textures.
519
+ *
520
+ * @type {number}
521
+ * @constant
522
+ */
66
523
  export const CubeRefractionMapping = 302;
524
+
525
+ /**
526
+ * Reflection mapping for equirectangular textures.
527
+ *
528
+ * @type {number}
529
+ * @constant
530
+ */
67
531
  export const EquirectangularReflectionMapping = 303;
532
+
533
+ /**
534
+ * Refraction mapping for equirectangular textures.
535
+ *
536
+ * @type {number}
537
+ * @constant
538
+ */
68
539
  export const EquirectangularRefractionMapping = 304;
540
+
541
+ /**
542
+ * Reflection mapping for PMREM textures.
543
+ *
544
+ * @type {number}
545
+ * @constant
546
+ */
69
547
  export const CubeUVReflectionMapping = 306;
548
+
549
+ /**
550
+ * The texture will simply repeat to infinity.
551
+ *
552
+ * @type {number}
553
+ * @constant
554
+ */
70
555
  export const RepeatWrapping = 1000;
556
+
557
+ /**
558
+ * The last pixel of the texture stretches to the edge of the mesh.
559
+ *
560
+ * @type {number}
561
+ * @constant
562
+ */
71
563
  export const ClampToEdgeWrapping = 1001;
564
+
565
+ /**
566
+ * The texture will repeats to infinity, mirroring on each repeat.
567
+ *
568
+ * @type {number}
569
+ * @constant
570
+ */
72
571
  export const MirroredRepeatWrapping = 1002;
572
+
573
+ /**
574
+ * Returns the value of the texture element that is nearest (in Manhattan distance)
575
+ * to the specified texture coordinates.
576
+ *
577
+ * @type {number}
578
+ * @constant
579
+ */
73
580
  export const NearestFilter = 1003;
581
+
582
+ /**
583
+ * Chooses the mipmap that most closely matches the size of the pixel being textured
584
+ * and uses the `NearestFilter` criterion (the texel nearest to the center of the pixel)
585
+ * to produce a texture value.
586
+ *
587
+ * @type {number}
588
+ * @constant
589
+ */
74
590
  export const NearestMipmapNearestFilter = 1004;
75
- export const NearestMipMapNearestFilter = 1004;
591
+ export const NearestMipMapNearestFilter = 1004; // legacy
592
+
593
+ /**
594
+ * Chooses the two mipmaps that most closely match the size of the pixel being textured and
595
+ * uses the `NearestFilter` criterion to produce a texture value from each mipmap.
596
+ * The final texture value is a weighted average of those two values.
597
+ *
598
+ * @type {number}
599
+ * @constant
600
+ */
76
601
  export const NearestMipmapLinearFilter = 1005;
77
- export const NearestMipMapLinearFilter = 1005;
602
+ export const NearestMipMapLinearFilter = 1005; // legacy
603
+
604
+ /**
605
+ * Returns the weighted average of the four texture elements that are closest to the specified
606
+ * texture coordinates, and can include items wrapped or repeated from other parts of a texture,
607
+ * depending on the values of `wrapS` and `wrapT`, and on the exact mapping.
608
+ *
609
+ * @type {number}
610
+ * @constant
611
+ */
78
612
  export const LinearFilter = 1006;
613
+
614
+ /**
615
+ * Chooses the mipmap that most closely matches the size of the pixel being textured and uses
616
+ * the `LinearFilter` criterion (a weighted average of the four texels that are closest to the
617
+ * center of the pixel) to produce a texture value.
618
+ *
619
+ * @type {number}
620
+ * @constant
621
+ */
79
622
  export const LinearMipmapNearestFilter = 1007;
80
- export const LinearMipMapNearestFilter = 1007;
623
+ export const LinearMipMapNearestFilter = 1007; // legacy
624
+
625
+ /**
626
+ * Chooses the two mipmaps that most closely match the size of the pixel being textured and uses
627
+ * the `LinearFilter` criterion to produce a texture value from each mipmap. The final texture value
628
+ * is a weighted average of those two values.
629
+ *
630
+ * @type {number}
631
+ * @constant
632
+ */
81
633
  export const LinearMipmapLinearFilter = 1008;
82
- export const LinearMipMapLinearFilter = 1008;
634
+ export const LinearMipMapLinearFilter = 1008; // legacy
635
+
636
+ /**
637
+ * An unsigned byte data type for textures.
638
+ *
639
+ * @type {number}
640
+ * @constant
641
+ */
83
642
  export const UnsignedByteType = 1009;
643
+
644
+ /**
645
+ * A byte data type for textures.
646
+ *
647
+ * @type {number}
648
+ * @constant
649
+ */
84
650
  export const ByteType = 1010;
651
+
652
+ /**
653
+ * A short data type for textures.
654
+ *
655
+ * @type {number}
656
+ * @constant
657
+ */
85
658
  export const ShortType = 1011;
659
+
660
+ /**
661
+ * An unsigned short data type for textures.
662
+ *
663
+ * @type {number}
664
+ * @constant
665
+ */
86
666
  export const UnsignedShortType = 1012;
667
+
668
+ /**
669
+ * An int data type for textures.
670
+ *
671
+ * @type {number}
672
+ * @constant
673
+ */
87
674
  export const IntType = 1013;
675
+
676
+ /**
677
+ * An unsigned int data type for textures.
678
+ *
679
+ * @type {number}
680
+ * @constant
681
+ */
88
682
  export const UnsignedIntType = 1014;
683
+
684
+ /**
685
+ * A float data type for textures.
686
+ *
687
+ * @type {number}
688
+ * @constant
689
+ */
89
690
  export const FloatType = 1015;
691
+
692
+ /**
693
+ * A half float data type for textures.
694
+ *
695
+ * @type {number}
696
+ * @constant
697
+ */
90
698
  export const HalfFloatType = 1016;
699
+
700
+ /**
701
+ * An unsigned short 4_4_4_4 (packed) data type for textures.
702
+ *
703
+ * @type {number}
704
+ * @constant
705
+ */
91
706
  export const UnsignedShort4444Type = 1017;
707
+
708
+ /**
709
+ * An unsigned short 5_5_5_1 (packed) data type for textures.
710
+ *
711
+ * @type {number}
712
+ * @constant
713
+ */
92
714
  export const UnsignedShort5551Type = 1018;
715
+
716
+ /**
717
+ * An unsigned int 24_8 data type for textures.
718
+ *
719
+ * @type {number}
720
+ * @constant
721
+ */
93
722
  export const UnsignedInt248Type = 1020;
723
+
724
+ /**
725
+ * An unsigned int 5_9_9_9 (packed) data type for textures.
726
+ *
727
+ * @type {number}
728
+ * @constant
729
+ */
94
730
  export const UnsignedInt5999Type = 35902;
95
731
 
96
732
  /**
@@ -101,125 +737,1024 @@ export const UnsignedInt5999Type = 35902;
101
737
  */
102
738
  export const UnsignedInt101111Type = 35899;
103
739
 
740
+ /**
741
+ * Discards the red, green and blue components and reads just the alpha component.
742
+ *
743
+ * @type {number}
744
+ * @constant
745
+ */
104
746
  export const AlphaFormat = 1021;
747
+
748
+ /**
749
+ * Discards the alpha component and reads the red, green and blue component.
750
+ *
751
+ * @type {number}
752
+ * @constant
753
+ */
105
754
  export const RGBFormat = 1022;
755
+
756
+ /**
757
+ * Reads the red, green, blue and alpha components.
758
+ *
759
+ * @type {number}
760
+ * @constant
761
+ */
106
762
  export const RGBAFormat = 1023;
107
- export const LuminanceFormat = 1024;
108
- export const LuminanceAlphaFormat = 1025;
763
+
764
+ /**
765
+ * Reads each element as a single depth value, converts it to floating point, and clamps to the range `[0,1]`.
766
+ *
767
+ * @type {number}
768
+ * @constant
769
+ */
109
770
  export const DepthFormat = 1026;
771
+
772
+ /**
773
+ * Reads each element is a pair of depth and stencil values. The depth component of the pair is interpreted as
774
+ * in `DepthFormat`. The stencil component is interpreted based on the depth + stencil internal format.
775
+ *
776
+ * @type {number}
777
+ * @constant
778
+ */
110
779
  export const DepthStencilFormat = 1027;
780
+
781
+ /**
782
+ * Discards the green, blue and alpha components and reads just the red component.
783
+ *
784
+ * @type {number}
785
+ * @constant
786
+ */
111
787
  export const RedFormat = 1028;
788
+
789
+ /**
790
+ * Discards the green, blue and alpha components and reads just the red component. The texels are read as integers instead of floating point.
791
+ *
792
+ * @type {number}
793
+ * @constant
794
+ */
112
795
  export const RedIntegerFormat = 1029;
796
+
797
+ /**
798
+ * Discards the alpha, and blue components and reads the red, and green components.
799
+ *
800
+ * @type {number}
801
+ * @constant
802
+ */
113
803
  export const RGFormat = 1030;
804
+
805
+ /**
806
+ * Discards the alpha, and blue components and reads the red, and green components. The texels are read as integers instead of floating point.
807
+ *
808
+ * @type {number}
809
+ * @constant
810
+ */
114
811
  export const RGIntegerFormat = 1031;
812
+
813
+ /**
814
+ * Discards the alpha component and reads the red, green and blue component. The texels are read as integers instead of floating point.
815
+ *
816
+ * @type {number}
817
+ * @constant
818
+ */
115
819
  export const RGBIntegerFormat = 1032;
820
+
821
+ /**
822
+ * Reads the red, green, blue and alpha components. The texels are read as integers instead of floating point.
823
+ *
824
+ * @type {number}
825
+ * @constant
826
+ */
116
827
  export const RGBAIntegerFormat = 1033;
117
828
 
829
+ /**
830
+ * A DXT1-compressed image in an RGB image format.
831
+ *
832
+ * @type {number}
833
+ * @constant
834
+ */
118
835
  export const RGB_S3TC_DXT1_Format = 33776;
836
+
837
+ /**
838
+ * A DXT1-compressed image in an RGB image format with a simple on/off alpha value.
839
+ *
840
+ * @type {number}
841
+ * @constant
842
+ */
119
843
  export const RGBA_S3TC_DXT1_Format = 33777;
844
+
845
+ /**
846
+ * A DXT3-compressed image in an RGBA image format. Compared to a 32-bit RGBA texture, it offers 4:1 compression.
847
+ *
848
+ * @type {number}
849
+ * @constant
850
+ */
120
851
  export const RGBA_S3TC_DXT3_Format = 33778;
852
+
853
+ /**
854
+ * A DXT5-compressed image in an RGBA image format. It also provides a 4:1 compression, but differs to the DXT3
855
+ * compression in how the alpha compression is done.
856
+ *
857
+ * @type {number}
858
+ * @constant
859
+ */
121
860
  export const RGBA_S3TC_DXT5_Format = 33779;
861
+
862
+ /**
863
+ * PVRTC RGB compression in 4-bit mode. One block for each 4×4 pixels.
864
+ *
865
+ * @type {number}
866
+ * @constant
867
+ */
122
868
  export const RGB_PVRTC_4BPPV1_Format = 35840;
869
+
870
+ /**
871
+ * PVRTC RGB compression in 2-bit mode. One block for each 8×4 pixels.
872
+ *
873
+ * @type {number}
874
+ * @constant
875
+ */
123
876
  export const RGB_PVRTC_2BPPV1_Format = 35841;
877
+
878
+ /**
879
+ * PVRTC RGBA compression in 4-bit mode. One block for each 4×4 pixels.
880
+ *
881
+ * @type {number}
882
+ * @constant
883
+ */
124
884
  export const RGBA_PVRTC_4BPPV1_Format = 35842;
885
+
886
+ /**
887
+ * PVRTC RGBA compression in 2-bit mode. One block for each 8×4 pixels.
888
+ *
889
+ * @type {number}
890
+ * @constant
891
+ */
125
892
  export const RGBA_PVRTC_2BPPV1_Format = 35843;
893
+
894
+ /**
895
+ * ETC1 RGB format.
896
+ *
897
+ * @type {number}
898
+ * @constant
899
+ */
126
900
  export const RGB_ETC1_Format = 36196;
901
+
902
+ /**
903
+ * ETC2 RGB format.
904
+ *
905
+ * @type {number}
906
+ * @constant
907
+ */
127
908
  export const RGB_ETC2_Format = 37492;
909
+
910
+ /**
911
+ * ETC2 RGBA format.
912
+ *
913
+ * @type {number}
914
+ * @constant
915
+ */
128
916
  export const RGBA_ETC2_EAC_Format = 37496;
917
+
918
+ /**
919
+ * EAC R11 UNORM format.
920
+ *
921
+ * @type {number}
922
+ * @constant
923
+ */
924
+ export const R11_EAC_Format = 37488; // 0x9270
925
+
926
+ /**
927
+ * EAC R11 SNORM format.
928
+ *
929
+ * @type {number}
930
+ * @constant
931
+ */
932
+ export const SIGNED_R11_EAC_Format = 37489; // 0x9271
933
+
934
+ /**
935
+ * EAC RG11 UNORM format.
936
+ *
937
+ * @type {number}
938
+ * @constant
939
+ */
940
+ export const RG11_EAC_Format = 37490; // 0x9272
941
+
942
+ /**
943
+ * EAC RG11 SNORM format.
944
+ *
945
+ * @type {number}
946
+ * @constant
947
+ */
948
+ export const SIGNED_RG11_EAC_Format = 37491; // 0x9273
949
+
950
+ /**
951
+ * ASTC RGBA 4x4 format.
952
+ *
953
+ * @type {number}
954
+ * @constant
955
+ */
129
956
  export const RGBA_ASTC_4x4_Format = 37808;
957
+
958
+ /**
959
+ * ASTC RGBA 5x4 format.
960
+ *
961
+ * @type {number}
962
+ * @constant
963
+ */
130
964
  export const RGBA_ASTC_5x4_Format = 37809;
965
+
966
+ /**
967
+ * ASTC RGBA 5x5 format.
968
+ *
969
+ * @type {number}
970
+ * @constant
971
+ */
131
972
  export const RGBA_ASTC_5x5_Format = 37810;
973
+
974
+ /**
975
+ * ASTC RGBA 6x5 format.
976
+ *
977
+ * @type {number}
978
+ * @constant
979
+ */
132
980
  export const RGBA_ASTC_6x5_Format = 37811;
981
+
982
+ /**
983
+ * ASTC RGBA 6x6 format.
984
+ *
985
+ * @type {number}
986
+ * @constant
987
+ */
133
988
  export const RGBA_ASTC_6x6_Format = 37812;
989
+
990
+ /**
991
+ * ASTC RGBA 8x5 format.
992
+ *
993
+ * @type {number}
994
+ * @constant
995
+ */
134
996
  export const RGBA_ASTC_8x5_Format = 37813;
997
+
998
+ /**
999
+ * ASTC RGBA 8x6 format.
1000
+ *
1001
+ * @type {number}
1002
+ * @constant
1003
+ */
135
1004
  export const RGBA_ASTC_8x6_Format = 37814;
1005
+
1006
+ /**
1007
+ * ASTC RGBA 8x8 format.
1008
+ *
1009
+ * @type {number}
1010
+ * @constant
1011
+ */
136
1012
  export const RGBA_ASTC_8x8_Format = 37815;
1013
+
1014
+ /**
1015
+ * ASTC RGBA 10x5 format.
1016
+ *
1017
+ * @type {number}
1018
+ * @constant
1019
+ */
137
1020
  export const RGBA_ASTC_10x5_Format = 37816;
1021
+
1022
+ /**
1023
+ * ASTC RGBA 10x6 format.
1024
+ *
1025
+ * @type {number}
1026
+ * @constant
1027
+ */
138
1028
  export const RGBA_ASTC_10x6_Format = 37817;
1029
+
1030
+ /**
1031
+ * ASTC RGBA 10x8 format.
1032
+ *
1033
+ * @type {number}
1034
+ * @constant
1035
+ */
139
1036
  export const RGBA_ASTC_10x8_Format = 37818;
1037
+
1038
+ /**
1039
+ * ASTC RGBA 10x10 format.
1040
+ *
1041
+ * @type {number}
1042
+ * @constant
1043
+ */
140
1044
  export const RGBA_ASTC_10x10_Format = 37819;
1045
+
1046
+ /**
1047
+ * ASTC RGBA 12x10 format.
1048
+ *
1049
+ * @type {number}
1050
+ * @constant
1051
+ */
141
1052
  export const RGBA_ASTC_12x10_Format = 37820;
1053
+
1054
+ /**
1055
+ * ASTC RGBA 12x12 format.
1056
+ *
1057
+ * @type {number}
1058
+ * @constant
1059
+ */
142
1060
  export const RGBA_ASTC_12x12_Format = 37821;
1061
+
1062
+ /**
1063
+ * BPTC RGBA format.
1064
+ *
1065
+ * @type {number}
1066
+ * @constant
1067
+ */
143
1068
  export const RGBA_BPTC_Format = 36492;
1069
+
1070
+ /**
1071
+ * BPTC Signed RGB format.
1072
+ *
1073
+ * @type {number}
1074
+ * @constant
1075
+ */
144
1076
  export const RGB_BPTC_SIGNED_Format = 36494;
1077
+
1078
+ /**
1079
+ * BPTC Unsigned RGB format.
1080
+ *
1081
+ * @type {number}
1082
+ * @constant
1083
+ */
145
1084
  export const RGB_BPTC_UNSIGNED_Format = 36495;
1085
+
1086
+ /**
1087
+ * RGTC1 Red format.
1088
+ *
1089
+ * @type {number}
1090
+ * @constant
1091
+ */
146
1092
  export const RED_RGTC1_Format = 36283;
1093
+
1094
+ /**
1095
+ * RGTC1 Signed Red format.
1096
+ *
1097
+ * @type {number}
1098
+ * @constant
1099
+ */
147
1100
  export const SIGNED_RED_RGTC1_Format = 36284;
1101
+
1102
+ /**
1103
+ * RGTC2 Red Green format.
1104
+ *
1105
+ * @type {number}
1106
+ * @constant
1107
+ */
148
1108
  export const RED_GREEN_RGTC2_Format = 36285;
1109
+
1110
+ /**
1111
+ * RGTC2 Signed Red Green format.
1112
+ *
1113
+ * @type {number}
1114
+ * @constant
1115
+ */
149
1116
  export const SIGNED_RED_GREEN_RGTC2_Format = 36286;
1117
+
1118
+ /**
1119
+ * Animations are played once.
1120
+ *
1121
+ * @type {number}
1122
+ * @constant
1123
+ */
150
1124
  export const LoopOnce = 2200;
1125
+
1126
+ /**
1127
+ * Animations are played with a chosen number of repetitions, each time jumping from
1128
+ * the end of the clip directly to its beginning.
1129
+ *
1130
+ * @type {number}
1131
+ * @constant
1132
+ */
151
1133
  export const LoopRepeat = 2201;
1134
+
1135
+ /**
1136
+ * Animations are played with a chosen number of repetitions, alternately playing forward
1137
+ * and backward.
1138
+ *
1139
+ * @type {number}
1140
+ * @constant
1141
+ */
152
1142
  export const LoopPingPong = 2202;
1143
+
1144
+ /**
1145
+ * Discrete interpolation mode for keyframe tracks.
1146
+ *
1147
+ * @type {number}
1148
+ * @constant
1149
+ */
153
1150
  export const InterpolateDiscrete = 2300;
1151
+
1152
+ /**
1153
+ * Linear interpolation mode for keyframe tracks.
1154
+ *
1155
+ * @type {number}
1156
+ * @constant
1157
+ */
154
1158
  export const InterpolateLinear = 2301;
1159
+
1160
+ /**
1161
+ * Smooth interpolation mode for keyframe tracks.
1162
+ *
1163
+ * @type {number}
1164
+ * @constant
1165
+ */
155
1166
  export const InterpolateSmooth = 2302;
1167
+
1168
+ /**
1169
+ * Bezier interpolation mode for keyframe tracks.
1170
+ *
1171
+ * Uses cubic Bezier curves with explicit 2D control points.
1172
+ * Requires tangent data to be set on the track.
1173
+ *
1174
+ * @type {number}
1175
+ * @constant
1176
+ */
1177
+ export const InterpolateBezier = 2303;
1178
+
1179
+ /**
1180
+ * Zero curvature ending for animations.
1181
+ *
1182
+ * @type {number}
1183
+ * @constant
1184
+ */
156
1185
  export const ZeroCurvatureEnding = 2400;
1186
+
1187
+ /**
1188
+ * Zero slope ending for animations.
1189
+ *
1190
+ * @type {number}
1191
+ * @constant
1192
+ */
157
1193
  export const ZeroSlopeEnding = 2401;
1194
+
1195
+ /**
1196
+ * Wrap around ending for animations.
1197
+ *
1198
+ * @type {number}
1199
+ * @constant
1200
+ */
158
1201
  export const WrapAroundEnding = 2402;
1202
+
1203
+ /**
1204
+ * Default animation blend mode.
1205
+ *
1206
+ * @type {number}
1207
+ * @constant
1208
+ */
159
1209
  export const NormalAnimationBlendMode = 2500;
1210
+
1211
+ /**
1212
+ * Additive animation blend mode. Can be used to layer motions on top of
1213
+ * each other to build complex performances from smaller re-usable assets.
1214
+ *
1215
+ * @type {number}
1216
+ * @constant
1217
+ */
160
1218
  export const AdditiveAnimationBlendMode = 2501;
1219
+
1220
+ /**
1221
+ * For every three vertices draw a single triangle.
1222
+ *
1223
+ * @type {number}
1224
+ * @constant
1225
+ */
161
1226
  export const TrianglesDrawMode = 0;
1227
+
1228
+ /**
1229
+ * For each vertex draw a triangle from the last three vertices.
1230
+ *
1231
+ * @type {number}
1232
+ * @constant
1233
+ */
162
1234
  export const TriangleStripDrawMode = 1;
1235
+
1236
+ /**
1237
+ * For each vertex draw a triangle from the first vertex and the last two vertices.
1238
+ *
1239
+ * @type {number}
1240
+ * @constant
1241
+ */
163
1242
  export const TriangleFanDrawMode = 2;
1243
+
1244
+ /**
1245
+ * The depth value is inverted (1.0 - z) for visualization purposes.
1246
+ *
1247
+ * @type {number}
1248
+ * @constant
1249
+ */
164
1250
  export const BasicDepthPacking = 3200;
1251
+
1252
+ /**
1253
+ * The depth value is packed into 32 bit RGBA.
1254
+ *
1255
+ * @type {number}
1256
+ * @constant
1257
+ */
165
1258
  export const RGBADepthPacking = 3201;
1259
+
1260
+ /**
1261
+ * The depth value is packed into 24 bit RGB.
1262
+ *
1263
+ * @type {number}
1264
+ * @constant
1265
+ */
166
1266
  export const RGBDepthPacking = 3202;
1267
+
1268
+ /**
1269
+ * The depth value is packed into 16 bit RG.
1270
+ *
1271
+ * @type {number}
1272
+ * @constant
1273
+ */
167
1274
  export const RGDepthPacking = 3203;
1275
+
1276
+ /**
1277
+ * Normal information is relative to the underlying surface.
1278
+ *
1279
+ * @type {number}
1280
+ * @constant
1281
+ */
168
1282
  export const TangentSpaceNormalMap = 0;
1283
+
1284
+ /**
1285
+ * Normal information is relative to the object orientation.
1286
+ *
1287
+ * @type {number}
1288
+ * @constant
1289
+ */
169
1290
  export const ObjectSpaceNormalMap = 1;
170
1291
 
171
1292
  // Color space string identifiers, matching CSS Color Module Level 4 and WebGPU names where available.
1293
+
1294
+ /**
1295
+ * No color space.
1296
+ *
1297
+ * @type {string}
1298
+ * @constant
1299
+ */
172
1300
  export const NoColorSpace = '';
1301
+
1302
+ /**
1303
+ * sRGB color space.
1304
+ *
1305
+ * @type {string}
1306
+ * @constant
1307
+ */
173
1308
  export const SRGBColorSpace = 'srgb';
1309
+
1310
+ /**
1311
+ * sRGB-linear color space.
1312
+ *
1313
+ * @type {string}
1314
+ * @constant
1315
+ */
174
1316
  export const LinearSRGBColorSpace = 'srgb-linear';
175
- export const DisplayP3ColorSpace = 'display-p3';
176
- export const LinearDisplayP3ColorSpace = 'display-p3-linear';
177
1317
 
1318
+ /**
1319
+ * Linear transfer function.
1320
+ *
1321
+ * @type {string}
1322
+ * @constant
1323
+ */
178
1324
  export const LinearTransfer = 'linear';
1325
+
1326
+ /**
1327
+ * sRGB transfer function.
1328
+ *
1329
+ * @type {string}
1330
+ * @constant
1331
+ */
179
1332
  export const SRGBTransfer = 'srgb';
180
1333
 
181
- export const Rec709Primaries = 'rec709';
182
- export const P3Primaries = 'p3';
1334
+ /**
1335
+ * No normal map packing.
1336
+ *
1337
+ * @type {string}
1338
+ * @constant
1339
+ */
1340
+ export const NoNormalPacking = '';
1341
+
1342
+ /**
1343
+ * Normal RG packing.
1344
+ *
1345
+ * @type {string}
1346
+ * @constant
1347
+ */
1348
+ export const NormalRGPacking = 'rg';
1349
+
1350
+ /**
1351
+ * Normal GA packing.
1352
+ *
1353
+ * @type {string}
1354
+ * @constant
1355
+ */
1356
+ export const NormalGAPacking = 'ga';
183
1357
 
1358
+ /**
1359
+ * Sets the stencil buffer value to `0`.
1360
+ *
1361
+ * @type {number}
1362
+ * @constant
1363
+ */
184
1364
  export const ZeroStencilOp = 0;
1365
+
1366
+ /**
1367
+ * Keeps the current value.
1368
+ *
1369
+ * @type {number}
1370
+ * @constant
1371
+ */
185
1372
  export const KeepStencilOp = 7680;
1373
+
1374
+ /**
1375
+ * Sets the stencil buffer value to the specified reference value.
1376
+ *
1377
+ * @type {number}
1378
+ * @constant
1379
+ */
186
1380
  export const ReplaceStencilOp = 7681;
1381
+
1382
+ /**
1383
+ * Increments the current stencil buffer value. Clamps to the maximum representable unsigned value.
1384
+ *
1385
+ * @type {number}
1386
+ * @constant
1387
+ */
187
1388
  export const IncrementStencilOp = 7682;
1389
+
1390
+ /**
1391
+ * Decrements the current stencil buffer value. Clamps to `0`.
1392
+ *
1393
+ * @type {number}
1394
+ * @constant
1395
+ */
188
1396
  export const DecrementStencilOp = 7683;
1397
+
1398
+ /**
1399
+ * Increments the current stencil buffer value. Wraps stencil buffer value to zero when incrementing
1400
+ * the maximum representable unsigned value.
1401
+ *
1402
+ * @type {number}
1403
+ * @constant
1404
+ */
189
1405
  export const IncrementWrapStencilOp = 34055;
1406
+
1407
+ /**
1408
+ * Decrements the current stencil buffer value. Wraps stencil buffer value to the maximum representable
1409
+ * unsigned value when decrementing a stencil buffer value of `0`.
1410
+ *
1411
+ * @type {number}
1412
+ * @constant
1413
+ */
190
1414
  export const DecrementWrapStencilOp = 34056;
1415
+
1416
+ /**
1417
+ * Inverts the current stencil buffer value bitwise.
1418
+ *
1419
+ * @type {number}
1420
+ * @constant
1421
+ */
191
1422
  export const InvertStencilOp = 5386;
192
1423
 
1424
+ /**
1425
+ * Will never return true.
1426
+ *
1427
+ * @type {number}
1428
+ * @constant
1429
+ */
193
1430
  export const NeverStencilFunc = 512;
1431
+
1432
+ /**
1433
+ * Will return true if the stencil reference value is less than the current stencil value.
1434
+ *
1435
+ * @type {number}
1436
+ * @constant
1437
+ */
194
1438
  export const LessStencilFunc = 513;
1439
+
1440
+ /**
1441
+ * Will return true if the stencil reference value is equal to the current stencil value.
1442
+ *
1443
+ * @type {number}
1444
+ * @constant
1445
+ */
195
1446
  export const EqualStencilFunc = 514;
1447
+
1448
+ /**
1449
+ * Will return true if the stencil reference value is less than or equal to the current stencil value.
1450
+ *
1451
+ * @type {number}
1452
+ * @constant
1453
+ */
196
1454
  export const LessEqualStencilFunc = 515;
1455
+
1456
+ /**
1457
+ * Will return true if the stencil reference value is greater than the current stencil value.
1458
+ *
1459
+ * @type {number}
1460
+ * @constant
1461
+ */
197
1462
  export const GreaterStencilFunc = 516;
1463
+
1464
+ /**
1465
+ * Will return true if the stencil reference value is not equal to the current stencil value.
1466
+ *
1467
+ * @type {number}
1468
+ * @constant
1469
+ */
198
1470
  export const NotEqualStencilFunc = 517;
1471
+
1472
+ /**
1473
+ * Will return true if the stencil reference value is greater than or equal to the current stencil value.
1474
+ *
1475
+ * @type {number}
1476
+ * @constant
1477
+ */
199
1478
  export const GreaterEqualStencilFunc = 518;
1479
+
1480
+ /**
1481
+ * Will always return true.
1482
+ *
1483
+ * @type {number}
1484
+ * @constant
1485
+ */
200
1486
  export const AlwaysStencilFunc = 519;
201
1487
 
1488
+ /**
1489
+ * Never pass.
1490
+ *
1491
+ * @type {number}
1492
+ * @constant
1493
+ */
202
1494
  export const NeverCompare = 512;
1495
+
1496
+ /**
1497
+ * Pass if the incoming value is less than the texture value.
1498
+ *
1499
+ * @type {number}
1500
+ * @constant
1501
+ */
203
1502
  export const LessCompare = 513;
1503
+
1504
+ /**
1505
+ * Pass if the incoming value equals the texture value.
1506
+ *
1507
+ * @type {number}
1508
+ * @constant
1509
+ */
204
1510
  export const EqualCompare = 514;
1511
+
1512
+ /**
1513
+ * Pass if the incoming value is less than or equal to the texture value.
1514
+ *
1515
+ * @type {number}
1516
+ * @constant
1517
+ */
205
1518
  export const LessEqualCompare = 515;
1519
+
1520
+ /**
1521
+ * Pass if the incoming value is greater than the texture value.
1522
+ *
1523
+ * @type {number}
1524
+ * @constant
1525
+ */
206
1526
  export const GreaterCompare = 516;
1527
+
1528
+ /**
1529
+ * Pass if the incoming value is not equal to the texture value.
1530
+ *
1531
+ * @type {number}
1532
+ * @constant
1533
+ */
207
1534
  export const NotEqualCompare = 517;
1535
+
1536
+ /**
1537
+ * Pass if the incoming value is greater than or equal to the texture value.
1538
+ *
1539
+ * @type {number}
1540
+ * @constant
1541
+ */
208
1542
  export const GreaterEqualCompare = 518;
1543
+
1544
+ /**
1545
+ * Always pass.
1546
+ *
1547
+ * @type {number}
1548
+ * @constant
1549
+ */
209
1550
  export const AlwaysCompare = 519;
210
1551
 
1552
+ /**
1553
+ * The contents are intended to be specified once by the application, and used many
1554
+ * times as the source for drawing and image specification commands.
1555
+ *
1556
+ * @type {number}
1557
+ * @constant
1558
+ */
211
1559
  export const StaticDrawUsage = 35044;
1560
+
1561
+ /**
1562
+ * The contents are intended to be respecified repeatedly by the application, and
1563
+ * used many times as the source for drawing and image specification commands.
1564
+ *
1565
+ * @type {number}
1566
+ * @constant
1567
+ */
212
1568
  export const DynamicDrawUsage = 35048;
1569
+
1570
+ /**
1571
+ * The contents are intended to be specified once by the application, and used at most
1572
+ * a few times as the source for drawing and image specification commands.
1573
+ *
1574
+ * @type {number}
1575
+ * @constant
1576
+ */
213
1577
  export const StreamDrawUsage = 35040;
1578
+
1579
+ /**
1580
+ * The contents are intended to be specified once by reading data from the 3D API, and queried
1581
+ * many times by the application.
1582
+ *
1583
+ * @type {number}
1584
+ * @constant
1585
+ */
214
1586
  export const StaticReadUsage = 35045;
1587
+
1588
+ /**
1589
+ * The contents are intended to be respecified repeatedly by reading data from the 3D API, and queried
1590
+ * many times by the application.
1591
+ *
1592
+ * @type {number}
1593
+ * @constant
1594
+ */
215
1595
  export const DynamicReadUsage = 35049;
1596
+
1597
+ /**
1598
+ * The contents are intended to be specified once by reading data from the 3D API, and queried at most
1599
+ * a few times by the application
1600
+ *
1601
+ * @type {number}
1602
+ * @constant
1603
+ */
216
1604
  export const StreamReadUsage = 35041;
1605
+
1606
+ /**
1607
+ * The contents are intended to be specified once by reading data from the 3D API, and used many times as
1608
+ * the source for WebGL drawing and image specification commands.
1609
+ *
1610
+ * @type {number}
1611
+ * @constant
1612
+ */
217
1613
  export const StaticCopyUsage = 35046;
1614
+
1615
+ /**
1616
+ * The contents are intended to be respecified repeatedly by reading data from the 3D API, and used many times
1617
+ * as the source for WebGL drawing and image specification commands.
1618
+ *
1619
+ * @type {number}
1620
+ * @constant
1621
+ */
218
1622
  export const DynamicCopyUsage = 35050;
1623
+
1624
+ /**
1625
+ * The contents are intended to be specified once by reading data from the 3D API, and used at most a few times
1626
+ * as the source for WebGL drawing and image specification commands.
1627
+ *
1628
+ * @type {number}
1629
+ * @constant
1630
+ */
219
1631
  export const StreamCopyUsage = 35042;
220
1632
 
1633
+ /**
1634
+ * GLSL 1 shader code.
1635
+ *
1636
+ * @type {string}
1637
+ * @constant
1638
+ */
221
1639
  export const GLSL1 = '100';
1640
+
1641
+ /**
1642
+ * GLSL 3 shader code.
1643
+ *
1644
+ * @type {string}
1645
+ * @constant
1646
+ */
222
1647
  export const GLSL3 = '300 es';
223
1648
 
1649
+ /**
1650
+ * WebGL coordinate system.
1651
+ *
1652
+ * @type {number}
1653
+ * @constant
1654
+ */
224
1655
  export const WebGLCoordinateSystem = 2000;
1656
+
1657
+ /**
1658
+ * WebGPU coordinate system.
1659
+ *
1660
+ * @type {number}
1661
+ * @constant
1662
+ */
225
1663
  export const WebGPUCoordinateSystem = 2001;
1664
+
1665
+ /**
1666
+ * Represents the different timestamp query types.
1667
+ *
1668
+ * @type {ConstantsTimestampQuery}
1669
+ * @constant
1670
+ */
1671
+ export const TimestampQuery = {
1672
+ COMPUTE: 'compute',
1673
+ RENDER: 'render'
1674
+ };
1675
+
1676
+ /**
1677
+ * Represents mouse buttons and interaction types in context of controls.
1678
+ *
1679
+ * @type {ConstantsInterpolationSamplingType}
1680
+ * @constant
1681
+ */
1682
+ export const InterpolationSamplingType = {
1683
+ PERSPECTIVE: 'perspective',
1684
+ LINEAR: 'linear',
1685
+ FLAT: 'flat'
1686
+ };
1687
+
1688
+ /**
1689
+ * Represents the different interpolation sampling modes.
1690
+ *
1691
+ * @type {ConstantsInterpolationSamplingMode}
1692
+ * @constant
1693
+ */
1694
+ export const InterpolationSamplingMode = {
1695
+ NORMAL: 'normal',
1696
+ CENTROID: 'centroid',
1697
+ SAMPLE: 'sample',
1698
+ FIRST: 'first',
1699
+ EITHER: 'either'
1700
+ };
1701
+
1702
+ /**
1703
+ * Compatibility flags for features that may not be supported across all platforms.
1704
+ *
1705
+ * @type {Object}
1706
+ * @constant
1707
+ */
1708
+ export const Compatibility = {
1709
+ TEXTURE_COMPARE: 'depthTextureCompare'
1710
+ };
1711
+
1712
+ /**
1713
+ * This type represents mouse buttons and interaction types in context of controls.
1714
+ *
1715
+ * @typedef {Object} ConstantsMouse
1716
+ * @property {number} MIDDLE - The left mouse button.
1717
+ * @property {number} LEFT - The middle mouse button.
1718
+ * @property {number} RIGHT - The right mouse button.
1719
+ * @property {number} ROTATE - A rotate interaction.
1720
+ * @property {number} DOLLY - A dolly interaction.
1721
+ * @property {number} PAN - A pan interaction.
1722
+ **/
1723
+
1724
+ /**
1725
+ * This type represents touch interaction types in context of controls.
1726
+ *
1727
+ * @typedef {Object} ConstantsTouch
1728
+ * @property {number} ROTATE - A rotate interaction.
1729
+ * @property {number} PAN - A pan interaction.
1730
+ * @property {number} DOLLY_PAN - The dolly-pan interaction.
1731
+ * @property {number} DOLLY_ROTATE - A dolly-rotate interaction.
1732
+ **/
1733
+
1734
+ /**
1735
+ * This type represents the different timestamp query types.
1736
+ *
1737
+ * @typedef {Object} ConstantsTimestampQuery
1738
+ * @property {string} COMPUTE - A `compute` timestamp query.
1739
+ * @property {string} RENDER - A `render` timestamp query.
1740
+ **/
1741
+
1742
+ /**
1743
+ * Represents the different interpolation sampling types.
1744
+ *
1745
+ * @typedef {Object} ConstantsInterpolationSamplingType
1746
+ * @property {string} PERSPECTIVE - Perspective-correct interpolation.
1747
+ * @property {string} LINEAR - Linear interpolation.
1748
+ * @property {string} FLAT - Flat interpolation.
1749
+ */
1750
+
1751
+ /**
1752
+ * Represents the different interpolation sampling modes.
1753
+ *
1754
+ * @typedef {Object} ConstantsInterpolationSamplingMode
1755
+ * @property {string} NORMAL - Normal sampling mode.
1756
+ * @property {string} CENTROID - Centroid sampling mode.
1757
+ * @property {string} SAMPLE - Sample-specific sampling mode.
1758
+ * @property {string} FIRST - Flat interpolation using the first vertex.
1759
+ * @property {string} EITHER - Flat interpolation using either vertex.
1760
+ */