super-three 0.141.0 → 0.144.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 (353) hide show
  1. package/README.md +8 -8
  2. package/build/three.cjs +1558 -1034
  3. package/build/three.js +1558 -1034
  4. package/build/three.min.js +1 -1
  5. package/build/three.module.js +2012 -1243
  6. package/examples/js/animation/MMDPhysics.js +1 -16
  7. package/examples/js/controls/ArcballControls.js +16 -3
  8. package/examples/js/controls/FirstPersonControls.js +0 -7
  9. package/examples/js/controls/FlyControls.js +0 -8
  10. package/examples/js/controls/OrbitControls.js +0 -4
  11. package/examples/js/controls/PointerLockControls.js +0 -8
  12. package/examples/js/controls/TrackballControls.js +0 -2
  13. package/examples/js/controls/TransformControls.js +20 -16
  14. package/examples/js/effects/AnaglyphEffect.js +2 -2
  15. package/examples/js/effects/OutlineEffect.js +4 -24
  16. package/examples/js/effects/ParallaxBarrierEffect.js +2 -2
  17. package/examples/js/effects/PeppersGhostEffect.js +2 -2
  18. package/examples/js/effects/StereoEffect.js +2 -2
  19. package/examples/js/environments/RoomEnvironment.js +22 -0
  20. package/examples/js/exporters/ColladaExporter.js +4 -13
  21. package/examples/js/exporters/DRACOExporter.js +0 -12
  22. package/examples/js/exporters/GLTFExporter.js +28 -29
  23. package/examples/js/exporters/OBJExporter.js +2 -23
  24. package/examples/js/exporters/PLYExporter.js +12 -24
  25. package/examples/js/exporters/STLExporter.js +0 -7
  26. package/examples/js/exporters/USDZExporter.js +6 -0
  27. package/examples/js/geometries/ConvexGeometry.js +1 -1
  28. package/examples/js/geometries/ParametricGeometry.js +1 -8
  29. package/examples/js/interactive/SelectionHelper.js +2 -0
  30. package/examples/js/libs/ktx-parse.umd.js +1 -0
  31. package/examples/js/libs/meshopt_decoder.js +98 -32
  32. package/examples/js/loaders/ColladaLoader.js +1 -0
  33. package/examples/js/loaders/DRACOLoader.js +2 -25
  34. package/examples/js/loaders/EXRLoader.js +2 -13
  35. package/examples/js/loaders/FBXLoader.js +10 -3
  36. package/examples/js/loaders/FontLoader.js +3 -16
  37. package/examples/js/loaders/GLTFLoader.js +52 -36
  38. package/examples/js/loaders/HDRCubeTextureLoader.js +0 -11
  39. package/examples/js/loaders/LDrawLoader.js +139 -74
  40. package/examples/js/loaders/OBJLoader.js +7 -13
  41. package/examples/js/loaders/PCDLoader.js +59 -14
  42. package/examples/js/loaders/PLYLoader.js +3 -3
  43. package/examples/js/loaders/SVGLoader.js +4 -3
  44. package/examples/js/loaders/TIFFLoader.js +31 -0
  45. package/examples/js/loaders/VRMLLoader.js +33 -24
  46. package/examples/js/loaders/VTKLoader.js +1 -1
  47. package/examples/js/loaders/lwo/LWO2Parser.js +8 -7
  48. package/examples/js/loaders/lwo/LWO3Parser.js +8 -7
  49. package/examples/js/materials/MeshGouraudMaterial.js +385 -0
  50. package/examples/js/math/ColorConverter.js +0 -50
  51. package/examples/js/misc/GPUComputationRenderer.js +23 -0
  52. package/examples/js/misc/Volume.js +198 -190
  53. package/examples/js/misc/VolumeSlice.js +90 -88
  54. package/examples/js/modifiers/SimplifyModifier.js +1 -1
  55. package/examples/js/objects/GroundProjectedEnv.js +193 -0
  56. package/examples/js/objects/Reflector.js +9 -2
  57. package/examples/js/objects/ReflectorForSSRPass.js +3 -4
  58. package/examples/js/objects/Refractor.js +10 -4
  59. package/examples/js/objects/ShadowMesh.js +5 -1
  60. package/examples/js/postprocessing/OutlinePass.js +5 -3
  61. package/examples/js/renderers/CSS2DRenderer.js +2 -2
  62. package/examples/js/renderers/CSS3DRenderer.js +2 -2
  63. package/examples/js/renderers/Projector.js +2 -23
  64. package/examples/js/shaders/LuminosityShader.js +1 -1
  65. package/examples/js/shaders/MMDToonShader.js +6 -2
  66. package/examples/js/shaders/ToneMapShader.js +1 -1
  67. package/examples/js/utils/BufferGeometryUtils.js +1 -1
  68. package/examples/js/utils/GeometryUtils.js +2 -18
  69. package/examples/js/utils/PackedPhongMaterial.js +1 -1
  70. package/examples/js/utils/SceneUtils.js +0 -16
  71. package/examples/jsm/animation/MMDPhysics.js +3 -22
  72. package/examples/jsm/controls/ArcballControls.js +17 -2
  73. package/examples/jsm/controls/FirstPersonControls.js +0 -7
  74. package/examples/jsm/controls/FlyControls.js +0 -7
  75. package/examples/jsm/controls/OrbitControls.js +0 -5
  76. package/examples/jsm/controls/PointerLockControls.js +0 -7
  77. package/examples/jsm/controls/TrackballControls.js +0 -3
  78. package/examples/jsm/controls/TransformControls.js +18 -16
  79. package/examples/jsm/effects/AnaglyphEffect.js +2 -2
  80. package/examples/jsm/effects/OutlineEffect.js +4 -25
  81. package/examples/jsm/effects/ParallaxBarrierEffect.js +2 -2
  82. package/examples/jsm/effects/PeppersGhostEffect.js +2 -2
  83. package/examples/jsm/effects/StereoEffect.js +2 -2
  84. package/examples/jsm/environments/RoomEnvironment.js +23 -0
  85. package/examples/jsm/exporters/ColladaExporter.js +4 -13
  86. package/examples/jsm/exporters/DRACOExporter.js +0 -13
  87. package/examples/jsm/exporters/GLTFExporter.js +29 -31
  88. package/examples/jsm/exporters/KTX2Exporter.js +29 -29
  89. package/examples/jsm/exporters/OBJExporter.js +0 -18
  90. package/examples/jsm/exporters/PLYExporter.js +14 -22
  91. package/examples/jsm/exporters/STLExporter.js +1 -9
  92. package/examples/jsm/exporters/USDZExporter.js +14 -3
  93. package/examples/jsm/geometries/ConvexGeometry.js +1 -1
  94. package/examples/jsm/geometries/ParametricGeometry.js +0 -6
  95. package/examples/jsm/interactive/HTMLMesh.js +9 -9
  96. package/examples/jsm/interactive/SelectionHelper.js +5 -3
  97. package/examples/jsm/libs/meshopt_decoder.module.js +97 -32
  98. package/examples/jsm/libs/utif.module.js +1579 -0
  99. package/examples/jsm/libs/zstddec.module.js +1 -0
  100. package/examples/jsm/loaders/ColladaLoader.js +1 -0
  101. package/examples/jsm/loaders/DRACOLoader.js +2 -28
  102. package/examples/jsm/loaders/EXRLoader.js +3 -13
  103. package/examples/jsm/loaders/FBXLoader.js +10 -3
  104. package/examples/jsm/loaders/FontLoader.js +3 -16
  105. package/examples/jsm/loaders/GLTFLoader.js +52 -36
  106. package/examples/jsm/loaders/HDRCubeTextureLoader.js +0 -13
  107. package/examples/jsm/loaders/KTX2Loader.js +192 -30
  108. package/examples/jsm/loaders/LDrawLoader.js +135 -74
  109. package/examples/jsm/loaders/OBJLoader.js +6 -14
  110. package/examples/jsm/loaders/PCDLoader.js +59 -13
  111. package/examples/jsm/loaders/PLYLoader.js +3 -3
  112. package/examples/jsm/loaders/RGBELoader.js +1 -1
  113. package/examples/jsm/loaders/SVGLoader.js +4 -3
  114. package/examples/jsm/loaders/TIFFLoader.js +36 -0
  115. package/examples/jsm/loaders/USDZLoader.js +393 -0
  116. package/examples/jsm/loaders/VRMLLoader.js +23 -25
  117. package/examples/jsm/loaders/VTKLoader.js +1 -1
  118. package/examples/jsm/loaders/lwo/LWO2Parser.js +6 -8
  119. package/examples/jsm/loaders/lwo/LWO3Parser.js +6 -8
  120. package/examples/jsm/materials/MeshGouraudMaterial.js +423 -0
  121. package/examples/jsm/math/ColorConverter.js +1 -49
  122. package/examples/jsm/misc/GPUComputationRenderer.js +43 -0
  123. package/examples/jsm/misc/Volume.js +169 -171
  124. package/examples/jsm/misc/VolumeSlice.js +78 -80
  125. package/examples/jsm/modifiers/SimplifyModifier.js +1 -1
  126. package/examples/jsm/node-editor/accessors/MatcapUVEditor.js +1 -1
  127. package/examples/jsm/node-editor/accessors/NormalEditor.js +1 -1
  128. package/examples/jsm/node-editor/accessors/PositionEditor.js +1 -1
  129. package/examples/jsm/node-editor/accessors/UVEditor.js +1 -1
  130. package/examples/jsm/node-editor/display/BlendEditor.js +1 -1
  131. package/examples/jsm/node-editor/display/NormalMapEditor.js +1 -1
  132. package/examples/jsm/node-editor/inputs/ColorEditor.js +1 -1
  133. package/examples/jsm/node-editor/inputs/FloatEditor.js +1 -1
  134. package/examples/jsm/node-editor/inputs/SliderEditor.js +1 -1
  135. package/examples/jsm/node-editor/inputs/TextureEditor.js +1 -1
  136. package/examples/jsm/node-editor/inputs/Vector2Editor.js +1 -1
  137. package/examples/jsm/node-editor/inputs/Vector3Editor.js +1 -1
  138. package/examples/jsm/node-editor/inputs/Vector4Editor.js +1 -1
  139. package/examples/jsm/node-editor/materials/BasicMaterialEditor.js +1 -1
  140. package/examples/jsm/node-editor/materials/PointsMaterialEditor.js +1 -1
  141. package/examples/jsm/node-editor/materials/StandardMaterialEditor.js +1 -1
  142. package/examples/jsm/node-editor/math/AngleEditor.js +1 -1
  143. package/examples/jsm/node-editor/math/DotEditor.js +1 -1
  144. package/examples/jsm/node-editor/math/InvertEditor.js +1 -1
  145. package/examples/jsm/node-editor/math/LimiterEditor.js +1 -1
  146. package/examples/jsm/node-editor/math/NormalizeEditor.js +1 -1
  147. package/examples/jsm/node-editor/math/OperatorEditor.js +1 -1
  148. package/examples/jsm/node-editor/math/PowerEditor.js +1 -1
  149. package/examples/jsm/node-editor/math/TrigonometryEditor.js +1 -1
  150. package/examples/jsm/node-editor/procedural/CheckerEditor.js +1 -1
  151. package/examples/jsm/node-editor/utils/JoinEditor.js +1 -1
  152. package/examples/jsm/node-editor/utils/OscillatorEditor.js +1 -1
  153. package/examples/jsm/node-editor/utils/PreviewEditor.js +3 -3
  154. package/examples/jsm/node-editor/utils/SplitEditor.js +1 -1
  155. package/examples/jsm/node-editor/utils/TimerEditor.js +1 -1
  156. package/examples/jsm/nodes/Nodes.js +43 -13
  157. package/examples/jsm/nodes/accessors/CubeTextureNode.js +9 -5
  158. package/examples/jsm/nodes/accessors/NormalNode.js +4 -4
  159. package/examples/jsm/nodes/accessors/PositionNode.js +5 -5
  160. package/examples/jsm/nodes/accessors/ReflectVectorNode.js +31 -0
  161. package/examples/jsm/nodes/core/AttributeNode.js +3 -3
  162. package/examples/jsm/nodes/core/CodeNode.js +3 -3
  163. package/examples/jsm/nodes/core/FunctionCallNode.js +20 -5
  164. package/examples/jsm/nodes/core/FunctionNode.js +2 -2
  165. package/examples/jsm/nodes/core/Node.js +14 -12
  166. package/examples/jsm/nodes/core/NodeBuilder.js +12 -12
  167. package/examples/jsm/nodes/core/NodeUtils.js +23 -1
  168. package/examples/jsm/nodes/core/{NodeVary.js → NodeVarying.js} +3 -3
  169. package/examples/jsm/nodes/core/{VaryNode.js → VaryingNode.js} +7 -7
  170. package/examples/jsm/nodes/display/ColorAdjustmentNode.js +94 -0
  171. package/examples/jsm/nodes/geometry/RangeNode.js +109 -0
  172. package/examples/jsm/nodes/gpgpu/ComputeNode.js +2 -0
  173. package/examples/jsm/nodes/lighting/EnvironmentNode.js +8 -7
  174. package/examples/jsm/nodes/lighting/LightingContextNode.js +4 -4
  175. package/examples/jsm/nodes/loaders/NodeLoader.js +2 -2
  176. package/examples/jsm/nodes/loaders/NodeMaterialLoader.js +31 -0
  177. package/examples/jsm/nodes/materials/Materials.js +13 -25
  178. package/examples/jsm/nodes/materials/MeshPhysicalNodeMaterial.js +70 -0
  179. package/examples/jsm/nodes/materials/MeshStandardNodeMaterial.js +4 -7
  180. package/examples/jsm/nodes/materials/NodeMaterial.js +2 -2
  181. package/examples/jsm/nodes/materials/SpriteNodeMaterial.js +28 -17
  182. package/examples/jsm/nodes/materialx/Disclaimer.md +199 -0
  183. package/examples/jsm/nodes/materialx/functions/lib/mx_hsv.js +56 -0
  184. package/examples/jsm/nodes/materialx/functions/lib/mx_noise.js +607 -0
  185. package/examples/jsm/nodes/math/MathNode.js +2 -12
  186. package/examples/jsm/nodes/parsers/GLSLNodeFunction.js +21 -6
  187. package/examples/jsm/nodes/procedural/CheckerNode.js +2 -2
  188. package/examples/jsm/nodes/shadernode/ShaderNode.js +5 -5
  189. package/examples/jsm/nodes/shadernode/ShaderNodeBaseElements.js +8 -5
  190. package/examples/jsm/nodes/shadernode/ShaderNodeElements.js +20 -6
  191. package/examples/jsm/nodes/utils/ConvertNode.js +8 -3
  192. package/examples/jsm/nodes/utils/JoinNode.js +7 -7
  193. package/examples/jsm/nodes/utils/MaxMipLevelNode.js +2 -1
  194. package/examples/jsm/nodes/utils/RotateUVNode.js +32 -0
  195. package/examples/jsm/nodes/utils/SplitNode.js +21 -5
  196. package/examples/jsm/nodes/utils/TimerNode.js +2 -2
  197. package/examples/jsm/objects/GroundProjectedEnv.js +186 -0
  198. package/examples/jsm/objects/Reflector.js +12 -5
  199. package/examples/jsm/objects/ReflectorForSSRPass.js +3 -5
  200. package/examples/jsm/objects/Refractor.js +12 -6
  201. package/examples/jsm/objects/ShadowMesh.js +8 -2
  202. package/examples/jsm/postprocessing/OutlinePass.js +5 -3
  203. package/examples/jsm/renderers/CSS2DRenderer.js +2 -2
  204. package/examples/jsm/renderers/CSS3DRenderer.js +2 -2
  205. package/examples/jsm/renderers/Projector.js +2 -24
  206. package/examples/jsm/renderers/webgl/nodes/SlotNode.js +9 -5
  207. package/examples/jsm/renderers/webgl/nodes/WebGLNodeBuilder.js +329 -218
  208. package/examples/jsm/renderers/webgl/nodes/WebGLNodes.js +7 -3
  209. package/examples/jsm/renderers/webgpu/WebGPUBackground.js +39 -3
  210. package/examples/jsm/renderers/webgpu/WebGPUComputePipelines.js +6 -0
  211. package/examples/jsm/renderers/webgpu/WebGPUGeometries.js +6 -0
  212. package/examples/jsm/renderers/webgpu/WebGPUObjects.js +1 -1
  213. package/examples/jsm/renderers/webgpu/WebGPURenderPipeline.js +17 -19
  214. package/examples/jsm/renderers/webgpu/WebGPURenderPipelines.js +16 -14
  215. package/examples/jsm/renderers/webgpu/WebGPURenderStates.js +2 -2
  216. package/examples/jsm/renderers/webgpu/WebGPURenderer.js +66 -81
  217. package/examples/jsm/renderers/webgpu/WebGPUTextureUtils.js +5 -3
  218. package/examples/jsm/renderers/webgpu/WebGPUTextures.js +2 -2
  219. package/examples/jsm/renderers/webgpu/WebGPUUtils.js +81 -0
  220. package/examples/jsm/renderers/webgpu/nodes/WebGPUNodeBuilder.js +25 -30
  221. package/examples/jsm/renderers/webgpu/nodes/WebGPUNodes.js +1 -1
  222. package/examples/jsm/shaders/LuminosityShader.js +1 -1
  223. package/examples/jsm/shaders/MMDToonShader.js +2 -2
  224. package/examples/jsm/shaders/ToneMapShader.js +1 -1
  225. package/examples/jsm/utils/BufferGeometryUtils.js +2 -1
  226. package/examples/jsm/utils/GeometryUtils.js +17 -25
  227. package/examples/jsm/utils/PackedPhongMaterial.js +0 -1
  228. package/examples/jsm/utils/SceneUtils.js +1 -21
  229. package/examples/jsm/webxr/OculusHandPointerModel.js +6 -1
  230. package/examples/jsm/webxr/VRButton.js +1 -7
  231. package/package.json +18 -14
  232. package/src/Three.Legacy.js +262 -36
  233. package/src/Three.js +3 -2
  234. package/src/animation/AnimationAction.js +6 -5
  235. package/src/animation/AnimationClip.js +1 -1
  236. package/src/animation/AnimationMixer.js +1 -1
  237. package/src/animation/AnimationUtils.js +204 -199
  238. package/src/animation/KeyframeTrack.js +1 -1
  239. package/src/animation/PropertyBinding.js +24 -5
  240. package/src/cameras/CubeCamera.js +0 -7
  241. package/src/constants.js +2 -4
  242. package/src/core/BufferAttribute.js +81 -111
  243. package/src/core/BufferGeometry.js +3 -41
  244. package/src/core/InstancedBufferAttribute.js +0 -10
  245. package/src/core/InterleavedBuffer.js +1 -1
  246. package/src/core/InterleavedBufferAttribute.js +56 -7
  247. package/src/core/Object3D.js +22 -5
  248. package/src/core/Uniform.js +0 -7
  249. package/src/core/UniformsGroup.js +92 -0
  250. package/src/extras/DataUtils.js +104 -88
  251. package/src/extras/core/Path.js +1 -0
  252. package/src/extras/core/ShapePath.js +1 -4
  253. package/src/extras/curves/CatmullRomCurve3.js +4 -2
  254. package/src/geometries/BoxGeometry.js +1 -1
  255. package/src/geometries/CapsuleGeometry.js +1 -1
  256. package/src/geometries/CircleGeometry.js +1 -1
  257. package/src/geometries/ConeGeometry.js +1 -1
  258. package/src/geometries/CylinderGeometry.js +2 -1
  259. package/src/geometries/DodecahedronGeometry.js +1 -1
  260. package/src/geometries/EdgesGeometry.js +5 -4
  261. package/src/geometries/ExtrudeGeometry.js +2 -11
  262. package/src/geometries/IcosahedronGeometry.js +1 -1
  263. package/src/geometries/LatheGeometry.js +2 -2
  264. package/src/geometries/OctahedronGeometry.js +1 -1
  265. package/src/geometries/PlaneGeometry.js +2 -1
  266. package/src/geometries/PolyhedronGeometry.js +1 -1
  267. package/src/geometries/RingGeometry.js +1 -1
  268. package/src/geometries/ShapeGeometry.js +2 -1
  269. package/src/geometries/SphereGeometry.js +2 -1
  270. package/src/geometries/TetrahedronGeometry.js +1 -1
  271. package/src/geometries/TorusGeometry.js +2 -1
  272. package/src/geometries/TorusKnotGeometry.js +2 -1
  273. package/src/geometries/TubeGeometry.js +2 -1
  274. package/src/geometries/WireframeGeometry.js +1 -0
  275. package/src/helpers/CameraHelper.js +97 -38
  276. package/src/helpers/DirectionalLightHelper.js +1 -0
  277. package/src/helpers/HemisphereLightHelper.js +1 -0
  278. package/src/helpers/PlaneHelper.js +6 -9
  279. package/src/helpers/PolarGridHelper.js +18 -14
  280. package/src/helpers/SpotLightHelper.js +1 -0
  281. package/src/lights/SpotLight.js +2 -0
  282. package/src/loaders/FileLoader.js +12 -1
  283. package/src/loaders/LoadingManager.js +1 -1
  284. package/src/loaders/MaterialLoader.js +49 -7
  285. package/src/loaders/ObjectLoader.js +4 -41
  286. package/src/materials/Material.js +1 -33
  287. package/src/materials/Materials.js +0 -27
  288. package/src/materials/MeshLambertMaterial.js +28 -1
  289. package/src/materials/ShaderMaterial.js +3 -7
  290. package/src/math/Color.js +3 -13
  291. package/src/math/MathUtils.js +1 -7
  292. package/src/math/Matrix3.js +1 -7
  293. package/src/math/Matrix4.js +3 -27
  294. package/src/math/Quaternion.js +1 -21
  295. package/src/math/Vector2.js +4 -24
  296. package/src/math/Vector3.js +7 -46
  297. package/src/math/Vector4.js +4 -24
  298. package/src/renderers/WebGLRenderer.js +84 -8
  299. package/src/renderers/shaders/ShaderChunk/bsdfs.glsl.js +12 -12
  300. package/src/renderers/shaders/ShaderChunk/bumpmap_pars_fragment.glsl.js +3 -5
  301. package/src/renderers/shaders/ShaderChunk/common.glsl.js +6 -5
  302. package/src/renderers/shaders/ShaderChunk/cube_uv_reflection_fragment.glsl.js +24 -24
  303. package/src/renderers/shaders/ShaderChunk/envmap_pars_fragment.glsl.js +1 -1
  304. package/src/renderers/shaders/ShaderChunk/envmap_pars_vertex.glsl.js +1 -1
  305. package/src/renderers/shaders/ShaderChunk/gradientmap_pars_fragment.glsl.js +2 -1
  306. package/src/renderers/shaders/ShaderChunk/iridescence_fragment.glsl.js +113 -99
  307. package/src/renderers/shaders/ShaderChunk/lights_fragment_begin.glsl.js +34 -12
  308. package/src/renderers/shaders/ShaderChunk/lights_lambert_fragment.glsl.js +5 -0
  309. package/src/renderers/shaders/ShaderChunk/lights_lambert_pars_fragment.glsl.js +30 -0
  310. package/src/renderers/shaders/ShaderChunk/lights_physical_fragment.glsl.js +3 -1
  311. package/src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js +13 -1
  312. package/src/renderers/shaders/ShaderChunk/normalmap_pars_fragment.glsl.js +2 -4
  313. package/src/renderers/shaders/ShaderChunk/output_fragment.glsl.js +1 -1
  314. package/src/renderers/shaders/ShaderChunk/shadowmap_pars_fragment.glsl.js +18 -7
  315. package/src/renderers/shaders/ShaderChunk/shadowmap_pars_vertex.glsl.js +8 -3
  316. package/src/renderers/shaders/ShaderChunk/shadowmap_vertex.glsl.js +9 -6
  317. package/src/renderers/shaders/ShaderChunk/shadowmask_pars_fragment.glsl.js +1 -1
  318. package/src/renderers/shaders/ShaderChunk/transmission_fragment.glsl.js +14 -10
  319. package/src/renderers/shaders/ShaderChunk/worldpos_vertex.glsl.js +1 -1
  320. package/src/renderers/shaders/ShaderChunk.js +4 -2
  321. package/src/renderers/shaders/ShaderLib/meshbasic.glsl.js +0 -1
  322. package/src/renderers/shaders/ShaderLib/meshlambert.glsl.js +22 -50
  323. package/src/renderers/shaders/ShaderLib/meshphong.glsl.js +0 -1
  324. package/src/renderers/shaders/ShaderLib.js +31 -31
  325. package/src/renderers/shaders/UniformsLib.js +12 -11
  326. package/src/renderers/shaders/UniformsUtils.js +14 -0
  327. package/src/renderers/webgl/WebGLBackground.js +2 -2
  328. package/src/renderers/webgl/WebGLLights.js +37 -13
  329. package/src/renderers/webgl/WebGLMorphtargets.js +0 -20
  330. package/src/renderers/webgl/WebGLProgram.js +6 -11
  331. package/src/renderers/webgl/WebGLPrograms.js +30 -26
  332. package/src/renderers/webgl/WebGLRenderLists.js +5 -4
  333. package/src/renderers/webgl/WebGLRenderStates.js +5 -4
  334. package/src/renderers/webgl/WebGLShaderCache.js +9 -6
  335. package/src/renderers/webgl/WebGLShadowMap.js +10 -15
  336. package/src/renderers/webgl/WebGLState.js +47 -0
  337. package/src/renderers/webgl/WebGLUniforms.js +4 -4
  338. package/src/renderers/webgl/WebGLUniformsGroups.js +372 -0
  339. package/src/renderers/webgl/WebGLUtils.js +2 -0
  340. package/src/renderers/webvr/WebVRManager.js +42 -9
  341. package/src/renderers/webvr/WebVRUtils.js +1 -1
  342. package/src/renderers/webxr/WebXRController.js +45 -37
  343. package/src/renderers/webxr/WebXRManager.js +58 -33
  344. package/src/scenes/Scene.js +16 -3
  345. package/src/textures/Source.js +1 -1
  346. package/src/utils.js +1 -1
  347. package/examples/js/controls/experimental/CameraControls.js +0 -1048
  348. package/examples/js/loaders/KTX2Loader.js +0 -558
  349. package/examples/jsm/controls/experimental/CameraControls.js +0 -1248
  350. package/examples/jsm/nodes/accessors/ReflectNode.js +0 -70
  351. package/examples/jsm/package.json +0 -3
  352. package/examples/jsm/renderers/webgl/nodes/WebGLPhysicalContextNode.js +0 -45
  353. package/src/renderers/shaders/ShaderChunk/lights_lambert_vertex.glsl.js +0 -122
package/src/constants.js CHANGED
@@ -1,4 +1,4 @@
1
- export const REVISION = '141';
1
+ export const REVISION = '144';
2
2
  export const MOUSE = { LEFT: 0, MIDDLE: 1, RIGHT: 2, ROTATE: 0, DOLLY: 1, PAN: 2 };
3
3
  export const TOUCH = { ROTATE: 0, PAN: 1, DOLLY_PAN: 2, DOLLY_ROTATE: 3 };
4
4
  export const CullFaceNone = 0;
@@ -12,8 +12,6 @@ export const VSMShadowMap = 3;
12
12
  export const FrontSide = 0;
13
13
  export const BackSide = 1;
14
14
  export const DoubleSide = 2;
15
- export const FlatShading = 1;
16
- export const SmoothShading = 2;
17
15
  export const NoBlending = 0;
18
16
  export const NormalBlending = 1;
19
17
  export const AdditiveBlending = 2;
@@ -85,7 +83,7 @@ export const UnsignedShort4444Type = 1017;
85
83
  export const UnsignedShort5551Type = 1018;
86
84
  export const UnsignedInt248Type = 1020;
87
85
  export const AlphaFormat = 1021;
88
- export const RGBFormat = 1022;
86
+ export const RGBFormat = 1022; // @deprecated since r137
89
87
  export const RGBAFormat = 1023;
90
88
  export const LuminanceFormat = 1024;
91
89
  export const LuminanceAlphaFormat = 1025;
@@ -1,7 +1,6 @@
1
- import { Vector4 } from '../math/Vector4.js';
2
1
  import { Vector3 } from '../math/Vector3.js';
3
2
  import { Vector2 } from '../math/Vector2.js';
4
- import { Color } from '../math/Color.js';
3
+ import { denormalize, normalize } from '../math/MathUtils.js';
5
4
  import { StaticDrawUsage } from '../constants.js';
6
5
 
7
6
  const _vector = /*@__PURE__*/ new Vector3();
@@ -86,110 +85,6 @@ class BufferAttribute {
86
85
 
87
86
  }
88
87
 
89
- copyColorsArray( colors ) {
90
-
91
- const array = this.array;
92
- let offset = 0;
93
-
94
- for ( let i = 0, l = colors.length; i < l; i ++ ) {
95
-
96
- let color = colors[ i ];
97
-
98
- if ( color === undefined ) {
99
-
100
- console.warn( 'THREE.BufferAttribute.copyColorsArray(): color is undefined', i );
101
- color = new Color();
102
-
103
- }
104
-
105
- array[ offset ++ ] = color.r;
106
- array[ offset ++ ] = color.g;
107
- array[ offset ++ ] = color.b;
108
-
109
- }
110
-
111
- return this;
112
-
113
- }
114
-
115
- copyVector2sArray( vectors ) {
116
-
117
- const array = this.array;
118
- let offset = 0;
119
-
120
- for ( let i = 0, l = vectors.length; i < l; i ++ ) {
121
-
122
- let vector = vectors[ i ];
123
-
124
- if ( vector === undefined ) {
125
-
126
- console.warn( 'THREE.BufferAttribute.copyVector2sArray(): vector is undefined', i );
127
- vector = new Vector2();
128
-
129
- }
130
-
131
- array[ offset ++ ] = vector.x;
132
- array[ offset ++ ] = vector.y;
133
-
134
- }
135
-
136
- return this;
137
-
138
- }
139
-
140
- copyVector3sArray( vectors ) {
141
-
142
- const array = this.array;
143
- let offset = 0;
144
-
145
- for ( let i = 0, l = vectors.length; i < l; i ++ ) {
146
-
147
- let vector = vectors[ i ];
148
-
149
- if ( vector === undefined ) {
150
-
151
- console.warn( 'THREE.BufferAttribute.copyVector3sArray(): vector is undefined', i );
152
- vector = new Vector3();
153
-
154
- }
155
-
156
- array[ offset ++ ] = vector.x;
157
- array[ offset ++ ] = vector.y;
158
- array[ offset ++ ] = vector.z;
159
-
160
- }
161
-
162
- return this;
163
-
164
- }
165
-
166
- copyVector4sArray( vectors ) {
167
-
168
- const array = this.array;
169
- let offset = 0;
170
-
171
- for ( let i = 0, l = vectors.length; i < l; i ++ ) {
172
-
173
- let vector = vectors[ i ];
174
-
175
- if ( vector === undefined ) {
176
-
177
- console.warn( 'THREE.BufferAttribute.copyVector4sArray(): vector is undefined', i );
178
- vector = new Vector4();
179
-
180
- }
181
-
182
- array[ offset ++ ] = vector.x;
183
- array[ offset ++ ] = vector.y;
184
- array[ offset ++ ] = vector.z;
185
- array[ offset ++ ] = vector.w;
186
-
187
- }
188
-
189
- return this;
190
-
191
- }
192
-
193
88
  applyMatrix3( m ) {
194
89
 
195
90
  if ( this.itemSize === 2 ) {
@@ -270,6 +165,7 @@ class BufferAttribute {
270
165
 
271
166
  set( value, offset = 0 ) {
272
167
 
168
+ // Matching BufferAttribute constructor, do not normalize the array.
273
169
  this.array.set( value, offset );
274
170
 
275
171
  return this;
@@ -278,12 +174,18 @@ class BufferAttribute {
278
174
 
279
175
  getX( index ) {
280
176
 
281
- return this.array[ index * this.itemSize ];
177
+ let x = this.array[ index * this.itemSize ];
178
+
179
+ if ( this.normalized ) x = denormalize( x, this.array );
180
+
181
+ return x;
282
182
 
283
183
  }
284
184
 
285
185
  setX( index, x ) {
286
186
 
187
+ if ( this.normalized ) x = normalize( x, this.array );
188
+
287
189
  this.array[ index * this.itemSize ] = x;
288
190
 
289
191
  return this;
@@ -292,12 +194,18 @@ class BufferAttribute {
292
194
 
293
195
  getY( index ) {
294
196
 
295
- return this.array[ index * this.itemSize + 1 ];
197
+ let y = this.array[ index * this.itemSize + 1 ];
198
+
199
+ if ( this.normalized ) y = denormalize( y, this.array );
200
+
201
+ return y;
296
202
 
297
203
  }
298
204
 
299
205
  setY( index, y ) {
300
206
 
207
+ if ( this.normalized ) y = normalize( y, this.array );
208
+
301
209
  this.array[ index * this.itemSize + 1 ] = y;
302
210
 
303
211
  return this;
@@ -306,12 +214,18 @@ class BufferAttribute {
306
214
 
307
215
  getZ( index ) {
308
216
 
309
- return this.array[ index * this.itemSize + 2 ];
217
+ let z = this.array[ index * this.itemSize + 2 ];
218
+
219
+ if ( this.normalized ) z = denormalize( z, this.array );
220
+
221
+ return z;
310
222
 
311
223
  }
312
224
 
313
225
  setZ( index, z ) {
314
226
 
227
+ if ( this.normalized ) z = normalize( z, this.array );
228
+
315
229
  this.array[ index * this.itemSize + 2 ] = z;
316
230
 
317
231
  return this;
@@ -320,12 +234,18 @@ class BufferAttribute {
320
234
 
321
235
  getW( index ) {
322
236
 
323
- return this.array[ index * this.itemSize + 3 ];
237
+ let w = this.array[ index * this.itemSize + 3 ];
238
+
239
+ if ( this.normalized ) w = denormalize( w, this.array );
240
+
241
+ return w;
324
242
 
325
243
  }
326
244
 
327
245
  setW( index, w ) {
328
246
 
247
+ if ( this.normalized ) w = normalize( w, this.array );
248
+
329
249
  this.array[ index * this.itemSize + 3 ] = w;
330
250
 
331
251
  return this;
@@ -336,6 +256,13 @@ class BufferAttribute {
336
256
 
337
257
  index *= this.itemSize;
338
258
 
259
+ if ( this.normalized ) {
260
+
261
+ x = normalize( x, this.array );
262
+ y = normalize( y, this.array );
263
+
264
+ }
265
+
339
266
  this.array[ index + 0 ] = x;
340
267
  this.array[ index + 1 ] = y;
341
268
 
@@ -347,6 +274,14 @@ class BufferAttribute {
347
274
 
348
275
  index *= this.itemSize;
349
276
 
277
+ if ( this.normalized ) {
278
+
279
+ x = normalize( x, this.array );
280
+ y = normalize( y, this.array );
281
+ z = normalize( z, this.array );
282
+
283
+ }
284
+
350
285
  this.array[ index + 0 ] = x;
351
286
  this.array[ index + 1 ] = y;
352
287
  this.array[ index + 2 ] = z;
@@ -359,6 +294,15 @@ class BufferAttribute {
359
294
 
360
295
  index *= this.itemSize;
361
296
 
297
+ if ( this.normalized ) {
298
+
299
+ x = normalize( x, this.array );
300
+ y = normalize( y, this.array );
301
+ z = normalize( z, this.array );
302
+ w = normalize( w, this.array );
303
+
304
+ }
305
+
362
306
  this.array[ index + 0 ] = x;
363
307
  this.array[ index + 1 ] = y;
364
308
  this.array[ index + 2 ] = z;
@@ -387,7 +331,7 @@ class BufferAttribute {
387
331
  const data = {
388
332
  itemSize: this.itemSize,
389
333
  type: this.array.constructor.name,
390
- array: Array.prototype.slice.call( this.array ),
334
+ array: Array.from( this.array ),
391
335
  normalized: this.normalized
392
336
  };
393
337
 
@@ -399,6 +343,32 @@ class BufferAttribute {
399
343
 
400
344
  }
401
345
 
346
+ // @deprecated
347
+
348
+ copyColorsArray() {
349
+
350
+ console.error( 'THREE.BufferAttribute: copyColorsArray() was removed in r144.' );
351
+
352
+ }
353
+
354
+ copyVector2sArray() {
355
+
356
+ console.error( 'THREE.BufferAttribute: copyVector2sArray() was removed in r144.' );
357
+
358
+ }
359
+
360
+ copyVector3sArray() {
361
+
362
+ console.error( 'THREE.BufferAttribute: copyVector3sArray() was removed in r144.' );
363
+
364
+ }
365
+
366
+ copyVector4sArray() {
367
+
368
+ console.error( 'THREE.BufferAttribute: copyVector4sArray() was removed in r144.' );
369
+
370
+ }
371
+
402
372
  }
403
373
 
404
374
  //
@@ -726,49 +726,11 @@ class BufferGeometry extends EventDispatcher {
726
726
 
727
727
  }
728
728
 
729
- merge( geometry, offset ) {
729
+ // @deprecated since r144
730
730
 
731
- if ( ! ( geometry && geometry.isBufferGeometry ) ) {
732
-
733
- console.error( 'THREE.BufferGeometry.merge(): geometry not an instance of THREE.BufferGeometry.', geometry );
734
- return;
735
-
736
- }
737
-
738
- if ( offset === undefined ) {
739
-
740
- offset = 0;
741
-
742
- console.warn(
743
- 'THREE.BufferGeometry.merge(): Overwriting original geometry, starting at offset=0. '
744
- + 'Use BufferGeometryUtils.mergeBufferGeometries() for lossless merge.'
745
- );
746
-
747
- }
748
-
749
- const attributes = this.attributes;
750
-
751
- for ( const key in attributes ) {
752
-
753
- if ( geometry.attributes[ key ] === undefined ) continue;
754
-
755
- const attribute1 = attributes[ key ];
756
- const attributeArray1 = attribute1.array;
757
-
758
- const attribute2 = geometry.attributes[ key ];
759
- const attributeArray2 = attribute2.array;
760
-
761
- const attributeOffset = attribute2.itemSize * offset;
762
- const length = Math.min( attributeArray2.length, attributeArray1.length - attributeOffset );
763
-
764
- for ( let i = 0, j = attributeOffset; i < length; i ++, j ++ ) {
765
-
766
- attributeArray1[ j ] = attributeArray2[ i ];
767
-
768
- }
769
-
770
- }
731
+ merge() {
771
732
 
733
+ console.error( 'THREE.BufferGeometry.merge() has been removed. Use THREE.BufferGeometryUtils.mergeBufferGeometries() instead.' );
772
734
  return this;
773
735
 
774
736
  }
@@ -4,16 +4,6 @@ class InstancedBufferAttribute extends BufferAttribute {
4
4
 
5
5
  constructor( array, itemSize, normalized, meshPerAttribute = 1 ) {
6
6
 
7
- if ( typeof normalized === 'number' ) {
8
-
9
- meshPerAttribute = normalized;
10
-
11
- normalized = false;
12
-
13
- console.error( 'THREE.InstancedBufferAttribute: The constructor now expects normalized as the third argument.' );
14
-
15
- }
16
-
17
7
  super( array, itemSize, normalized );
18
8
 
19
9
  this.isInstancedBufferAttribute = true;
@@ -125,7 +125,7 @@ class InterleavedBuffer {
125
125
 
126
126
  if ( data.arrayBuffers[ this.array.buffer._uuid ] === undefined ) {
127
127
 
128
- data.arrayBuffers[ this.array.buffer._uuid ] = Array.prototype.slice.call( new Uint32Array( this.array.buffer ) );
128
+ data.arrayBuffers[ this.array.buffer._uuid ] = Array.from( new Uint32Array( this.array.buffer ) );
129
129
 
130
130
  }
131
131
 
@@ -1,5 +1,6 @@
1
1
  import { Vector3 } from '../math/Vector3.js';
2
2
  import { BufferAttribute } from './BufferAttribute.js';
3
+ import { denormalize, normalize } from '../math/MathUtils.js';
3
4
 
4
5
  const _vector = /*@__PURE__*/ new Vector3();
5
6
 
@@ -87,6 +88,8 @@ class InterleavedBufferAttribute {
87
88
 
88
89
  setX( index, x ) {
89
90
 
91
+ if ( this.normalized ) x = normalize( x, this.array );
92
+
90
93
  this.data.array[ index * this.data.stride + this.offset ] = x;
91
94
 
92
95
  return this;
@@ -95,6 +98,8 @@ class InterleavedBufferAttribute {
95
98
 
96
99
  setY( index, y ) {
97
100
 
101
+ if ( this.normalized ) y = normalize( y, this.array );
102
+
98
103
  this.data.array[ index * this.data.stride + this.offset + 1 ] = y;
99
104
 
100
105
  return this;
@@ -103,6 +108,8 @@ class InterleavedBufferAttribute {
103
108
 
104
109
  setZ( index, z ) {
105
110
 
111
+ if ( this.normalized ) z = normalize( z, this.array );
112
+
106
113
  this.data.array[ index * this.data.stride + this.offset + 2 ] = z;
107
114
 
108
115
  return this;
@@ -111,6 +118,8 @@ class InterleavedBufferAttribute {
111
118
 
112
119
  setW( index, w ) {
113
120
 
121
+ if ( this.normalized ) w = normalize( w, this.array );
122
+
114
123
  this.data.array[ index * this.data.stride + this.offset + 3 ] = w;
115
124
 
116
125
  return this;
@@ -119,25 +128,41 @@ class InterleavedBufferAttribute {
119
128
 
120
129
  getX( index ) {
121
130
 
122
- return this.data.array[ index * this.data.stride + this.offset ];
131
+ let x = this.data.array[ index * this.data.stride + this.offset ];
132
+
133
+ if ( this.normalized ) x = denormalize( x, this.array );
134
+
135
+ return x;
123
136
 
124
137
  }
125
138
 
126
139
  getY( index ) {
127
140
 
128
- return this.data.array[ index * this.data.stride + this.offset + 1 ];
141
+ let y = this.data.array[ index * this.data.stride + this.offset + 1 ];
142
+
143
+ if ( this.normalized ) y = denormalize( y, this.array );
144
+
145
+ return y;
129
146
 
130
147
  }
131
148
 
132
149
  getZ( index ) {
133
150
 
134
- return this.data.array[ index * this.data.stride + this.offset + 2 ];
151
+ let z = this.data.array[ index * this.data.stride + this.offset + 2 ];
152
+
153
+ if ( this.normalized ) z = denormalize( z, this.array );
154
+
155
+ return z;
135
156
 
136
157
  }
137
158
 
138
159
  getW( index ) {
139
160
 
140
- return this.data.array[ index * this.data.stride + this.offset + 3 ];
161
+ let w = this.data.array[ index * this.data.stride + this.offset + 3 ];
162
+
163
+ if ( this.normalized ) w = denormalize( w, this.array );
164
+
165
+ return w;
141
166
 
142
167
  }
143
168
 
@@ -145,6 +170,13 @@ class InterleavedBufferAttribute {
145
170
 
146
171
  index = index * this.data.stride + this.offset;
147
172
 
173
+ if ( this.normalized ) {
174
+
175
+ x = normalize( x, this.array );
176
+ y = normalize( y, this.array );
177
+
178
+ }
179
+
148
180
  this.data.array[ index + 0 ] = x;
149
181
  this.data.array[ index + 1 ] = y;
150
182
 
@@ -156,6 +188,14 @@ class InterleavedBufferAttribute {
156
188
 
157
189
  index = index * this.data.stride + this.offset;
158
190
 
191
+ if ( this.normalized ) {
192
+
193
+ x = normalize( x, this.array );
194
+ y = normalize( y, this.array );
195
+ z = normalize( z, this.array );
196
+
197
+ }
198
+
159
199
  this.data.array[ index + 0 ] = x;
160
200
  this.data.array[ index + 1 ] = y;
161
201
  this.data.array[ index + 2 ] = z;
@@ -168,6 +208,15 @@ class InterleavedBufferAttribute {
168
208
 
169
209
  index = index * this.data.stride + this.offset;
170
210
 
211
+ if ( this.normalized ) {
212
+
213
+ x = normalize( x, this.array );
214
+ y = normalize( y, this.array );
215
+ z = normalize( z, this.array );
216
+ w = normalize( w, this.array );
217
+
218
+ }
219
+
171
220
  this.data.array[ index + 0 ] = x;
172
221
  this.data.array[ index + 1 ] = y;
173
222
  this.data.array[ index + 2 ] = z;
@@ -181,7 +230,7 @@ class InterleavedBufferAttribute {
181
230
 
182
231
  if ( data === undefined ) {
183
232
 
184
- console.log( 'THREE.InterleavedBufferAttribute.clone(): Cloning an interlaved buffer attribute will deinterleave buffer data.' );
233
+ console.log( 'THREE.InterleavedBufferAttribute.clone(): Cloning an interleaved buffer attribute will deinterleave buffer data.' );
185
234
 
186
235
  const array = [];
187
236
 
@@ -223,7 +272,7 @@ class InterleavedBufferAttribute {
223
272
 
224
273
  if ( data === undefined ) {
225
274
 
226
- console.log( 'THREE.InterleavedBufferAttribute.toJSON(): Serializing an interlaved buffer attribute will deinterleave buffer data.' );
275
+ console.log( 'THREE.InterleavedBufferAttribute.toJSON(): Serializing an interleaved buffer attribute will deinterleave buffer data.' );
227
276
 
228
277
  const array = [];
229
278
 
@@ -250,7 +299,7 @@ class InterleavedBufferAttribute {
250
299
 
251
300
  } else {
252
301
 
253
- // save as true interlaved attribtue
302
+ // save as true interleaved attribtue
254
303
 
255
304
  if ( data.interleavedBuffers === undefined ) {
256
305
 
@@ -100,6 +100,8 @@ class Object3D extends EventDispatcher {
100
100
  this.matrixAutoUpdate = Object3D.DefaultMatrixAutoUpdate;
101
101
  this.matrixWorldNeedsUpdate = false;
102
102
 
103
+ this.matrixWorldAutoUpdate = Object3D.DefaultMatrixWorldAutoUpdate; // checked by the renderer
104
+
103
105
  this.layers = new Layers();
104
106
  this.visible = true;
105
107
 
@@ -584,7 +586,13 @@ class Object3D extends EventDispatcher {
584
586
 
585
587
  for ( let i = 0, l = children.length; i < l; i ++ ) {
586
588
 
587
- children[ i ].updateMatrixWorld( force );
589
+ const child = children[ i ];
590
+
591
+ if ( child.matrixWorldAutoUpdate === true || force === true ) {
592
+
593
+ child.updateMatrixWorld( force );
594
+
595
+ }
588
596
 
589
597
  }
590
598
 
@@ -594,7 +602,7 @@ class Object3D extends EventDispatcher {
594
602
 
595
603
  const parent = this.parent;
596
604
 
597
- if ( updateParents === true && parent !== null ) {
605
+ if ( updateParents === true && parent !== null && parent.matrixWorldAutoUpdate === true ) {
598
606
 
599
607
  parent.updateWorldMatrix( true, false );
600
608
 
@@ -620,7 +628,13 @@ class Object3D extends EventDispatcher {
620
628
 
621
629
  for ( let i = 0, l = children.length; i < l; i ++ ) {
622
630
 
623
- children[ i ].updateWorldMatrix( false, true );
631
+ const child = children[ i ];
632
+
633
+ if ( child.matrixWorldAutoUpdate === true ) {
634
+
635
+ child.updateWorldMatrix( false, true );
636
+
637
+ }
624
638
 
625
639
  }
626
640
 
@@ -721,7 +735,7 @@ class Object3D extends EventDispatcher {
721
735
 
722
736
  }
723
737
 
724
- if ( this.environment && this.environment.isTexture ) {
738
+ if ( this.environment && this.environment.isTexture && this.environment.isRenderTargetTexture !== true ) {
725
739
 
726
740
  object.environment = this.environment.toJSON( meta ).uuid;
727
741
 
@@ -893,6 +907,8 @@ class Object3D extends EventDispatcher {
893
907
  this.matrixAutoUpdate = source.matrixAutoUpdate;
894
908
  this.matrixWorldNeedsUpdate = source.matrixWorldNeedsUpdate;
895
909
 
910
+ this.matrixWorldAutoUpdate = source.matrixWorldAutoUpdate;
911
+
896
912
  this.layers.mask = source.layers.mask;
897
913
  this.visible = source.visible;
898
914
 
@@ -921,7 +937,8 @@ class Object3D extends EventDispatcher {
921
937
 
922
938
  }
923
939
 
924
- Object3D.DefaultUp = new Vector3( 0, 1, 0 );
940
+ Object3D.DefaultUp = /*@__PURE__*/ new Vector3( 0, 1, 0 );
925
941
  Object3D.DefaultMatrixAutoUpdate = true;
942
+ Object3D.DefaultMatrixWorldAutoUpdate = true;
926
943
 
927
944
  export { Object3D };
@@ -2,13 +2,6 @@ class Uniform {
2
2
 
3
3
  constructor( value ) {
4
4
 
5
- if ( typeof value === 'string' ) {
6
-
7
- console.warn( 'THREE.Uniform: Type parameter is no longer needed.' );
8
- value = arguments[ 1 ];
9
-
10
- }
11
-
12
5
  this.value = value;
13
6
 
14
7
  }