three-stdlib 2.15.0 → 2.15.2

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 (1222) hide show
  1. package/animation/AnimationClipCreator.js +32 -52
  2. package/animation/AnimationClipCreator.mjs +57 -0
  3. package/animation/CCDIKSolver.js +66 -161
  4. package/animation/CCDIKSolver.mjs +234 -0
  5. package/animation/MMDAnimationHelper.js +150 -341
  6. package/animation/MMDAnimationHelper.mjs +514 -0
  7. package/animation/MMDPhysics.js +154 -361
  8. package/animation/MMDPhysics.mjs +769 -0
  9. package/cameras/CinematicCamera.js +67 -77
  10. package/cameras/CinematicCamera.mjs +129 -0
  11. package/controls/ArcballControls.js +544 -1449
  12. package/controls/ArcballControls.mjs +1737 -0
  13. package/controls/DeviceOrientationControls.js +52 -97
  14. package/controls/DeviceOrientationControls.mjs +74 -0
  15. package/controls/DragControls.js +85 -187
  16. package/controls/DragControls.mjs +172 -0
  17. package/controls/FirstPersonControls.js +123 -193
  18. package/controls/FirstPersonControls.mjs +220 -0
  19. package/controls/FlyControls.js +82 -152
  20. package/controls/FlyControls.mjs +239 -0
  21. package/controls/OrbitControls.js +232 -481
  22. package/controls/OrbitControls.mjs +731 -0
  23. package/controls/PointerLockControls.js +63 -99
  24. package/controls/PointerLockControls.mjs +88 -0
  25. package/controls/TrackballControls.js +211 -383
  26. package/controls/TrackballControls.mjs +481 -0
  27. package/controls/TransformControls.js +575 -782
  28. package/controls/TransformControls.mjs +1068 -0
  29. package/controls/experimental/CameraControls.js +329 -609
  30. package/controls/experimental/CameraControls.mjs +673 -0
  31. package/csm/CSM.js +47 -108
  32. package/csm/CSM.mjs +244 -0
  33. package/csm/CSMFrustum.js +14 -29
  34. package/csm/CSMFrustum.mjs +75 -0
  35. package/csm/CSMHelper.js +20 -34
  36. package/csm/CSMHelper.mjs +114 -0
  37. package/csm/CSMShader.js +7 -11
  38. package/csm/CSMShader.mjs +251 -0
  39. package/curves/CurveExtras.js +73 -115
  40. package/curves/CurveExtras.mjs +224 -0
  41. package/curves/NURBSCurve.js +15 -43
  42. package/curves/NURBSCurve.mjs +35 -0
  43. package/curves/NURBSSurface.js +11 -27
  44. package/curves/NURBSSurface.mjs +28 -0
  45. package/curves/NURBSUtils.js +54 -203
  46. package/curves/NURBSUtils.mjs +226 -0
  47. package/deprecated/Geometry.js +191 -486
  48. package/deprecated/Geometry.mjs +966 -0
  49. package/effects/AnaglyphEffect.js +95 -60
  50. package/effects/AnaglyphEffect.mjs +120 -0
  51. package/effects/AsciiEffect.js +80 -110
  52. package/effects/AsciiEffect.mjs +173 -0
  53. package/effects/OutlineEffect.js +121 -204
  54. package/effects/OutlineEffect.mjs +295 -0
  55. package/effects/ParallaxBarrierEffect.js +39 -38
  56. package/effects/ParallaxBarrierEffect.mjs +64 -0
  57. package/effects/PeppersGhostEffect.js +19 -68
  58. package/effects/PeppersGhostEffect.mjs +85 -0
  59. package/effects/StereoEffect.js +12 -16
  60. package/effects/StereoEffect.mjs +32 -0
  61. package/environments/RoomEnvironment.js +52 -47
  62. package/environments/RoomEnvironment.mjs +78 -0
  63. package/exporters/ColladaExporter.js +115 -241
  64. package/exporters/ColladaExporter.mjs +299 -0
  65. package/exporters/DRACOExporter.js +67 -121
  66. package/exporters/DRACOExporter.mjs +132 -0
  67. package/exporters/GLTFExporter.js +463 -1014
  68. package/exporters/GLTFExporter.mjs +1381 -0
  69. package/exporters/MMDExporter.js +44 -102
  70. package/exporters/MMDExporter.mjs +102 -0
  71. package/exporters/OBJExporter.js +78 -140
  72. package/exporters/OBJExporter.mjs +166 -0
  73. package/exporters/PLYExporter.js +93 -154
  74. package/exporters/PLYExporter.mjs +278 -0
  75. package/exporters/STLExporter.js +30 -81
  76. package/exporters/STLExporter.mjs +129 -0
  77. package/exporters/USDZExporter.js +84 -144
  78. package/exporters/USDZExporter.mjs +328 -0
  79. package/geometries/BoxLineGeometry.js +7 -14
  80. package/geometries/BoxLineGeometry.mjs +45 -0
  81. package/geometries/ConvexGeometry.js +15 -24
  82. package/geometries/ConvexGeometry.mjs +29 -0
  83. package/geometries/DecalGeometry.js +108 -162
  84. package/geometries/DecalGeometry.mjs +184 -0
  85. package/geometries/LightningStrike.js +101 -294
  86. package/geometries/LightningStrike.mjs +547 -0
  87. package/geometries/ParametricGeometries.js +26 -76
  88. package/geometries/ParametricGeometries.mjs +129 -0
  89. package/geometries/ParametricGeometry.js +24 -48
  90. package/geometries/ParametricGeometry.mjs +63 -0
  91. package/geometries/RoundedBoxGeometry.js +33 -64
  92. package/geometries/RoundedBoxGeometry.mjs +91 -0
  93. package/geometries/TeapotGeometry.js +1434 -174
  94. package/geometries/TeapotGeometry.mjs +1557 -0
  95. package/geometries/TextGeometry.js +9 -17
  96. package/geometries/TextGeometry.mjs +23 -0
  97. package/helpers/LightProbeHelper.js +53 -21
  98. package/helpers/LightProbeHelper.mjs +72 -0
  99. package/helpers/PositionalAudioHelper.js +23 -30
  100. package/helpers/PositionalAudioHelper.mjs +68 -0
  101. package/helpers/RectAreaLightHelper.js +17 -33
  102. package/helpers/RectAreaLightHelper.mjs +44 -0
  103. package/helpers/VertexNormalsHelper.js +20 -41
  104. package/helpers/VertexNormalsHelper.mjs +54 -0
  105. package/helpers/VertexTangentsHelper.js +18 -36
  106. package/helpers/VertexTangentsHelper.mjs +45 -0
  107. package/index.d.ts +54 -0
  108. package/index.js +968 -333
  109. package/index.mjs +968 -0
  110. package/interactive/SelectionBox.js +31 -46
  111. package/interactive/SelectionBox.mjs +137 -0
  112. package/interactive/SelectionHelper.js +16 -21
  113. package/interactive/SelectionHelper.mjs +54 -0
  114. package/libs/MeshoptDecoder.js +147 -58
  115. package/libs/MeshoptDecoder.mjs +210 -0
  116. package/libs/MotionControllers.js +66 -208
  117. package/libs/MotionControllers.mjs +261 -0
  118. package/lights/LightProbeGenerator.js +40 -96
  119. package/lights/LightProbeGenerator.mjs +145 -0
  120. package/lights/RectAreaLightUniformsLib.js +32842 -9
  121. package/lights/RectAreaLightUniformsLib.mjs +32842 -0
  122. package/lines/Line2.js +9 -12
  123. package/lines/Line2.mjs +13 -0
  124. package/lines/LineGeometry.js +7 -19
  125. package/lines/LineGeometry.mjs +44 -0
  126. package/lines/LineMaterial.js +51 -89
  127. package/lines/LineMaterial.mjs +539 -0
  128. package/lines/LineSegments2.js +56 -165
  129. package/lines/LineSegments2.mjs +202 -0
  130. package/lines/LineSegmentsGeometry.js +29 -71
  131. package/lines/LineSegmentsGeometry.mjs +124 -0
  132. package/lines/Wireframe.js +15 -29
  133. package/lines/Wireframe.mjs +31 -0
  134. package/lines/WireframeGeometry2.js +8 -9
  135. package/lines/WireframeGeometry2.mjs +13 -0
  136. package/loaders/3DMLoader.js +234 -469
  137. package/loaders/3DMLoader.mjs +802 -0
  138. package/loaders/3MFLoader.js +340 -555
  139. package/loaders/3MFLoader.mjs +837 -0
  140. package/loaders/AMFLoader.js +114 -219
  141. package/loaders/AMFLoader.mjs +284 -0
  142. package/loaders/AssimpLoader.js +328 -725
  143. package/loaders/AssimpLoader.mjs +1396 -0
  144. package/loaders/BVHLoader.js +94 -200
  145. package/loaders/BVHLoader.mjs +207 -0
  146. package/loaders/BasisTextureLoader.js +229 -357
  147. package/loaders/BasisTextureLoader.mjs +474 -0
  148. package/loaders/ColladaLoader.js +932 -1522
  149. package/loaders/ColladaLoader.mjs +2403 -0
  150. package/loaders/DDSLoader.js +42 -108
  151. package/loaders/DDSLoader.mjs +148 -0
  152. package/loaders/DRACOLoader.js +103 -210
  153. package/loaders/DRACOLoader.mjs +340 -0
  154. package/loaders/EXRLoader.js +461 -809
  155. package/loaders/EXRLoader.mjs +1351 -0
  156. package/loaders/FBXLoader.js +842 -1397
  157. package/loaders/FBXLoader.mjs +2362 -0
  158. package/loaders/FontLoader.js +33 -66
  159. package/loaders/FontLoader.mjs +111 -0
  160. package/loaders/GCodeLoader.js +63 -111
  161. package/loaders/GCodeLoader.mjs +141 -0
  162. package/loaders/GLTFLoader.js +771 -1484
  163. package/loaders/GLTFLoader.mjs +2316 -0
  164. package/loaders/HDRCubeTextureLoader.js +45 -50
  165. package/loaders/HDRCubeTextureLoader.mjs +77 -0
  166. package/loaders/KMZLoader.js +42 -55
  167. package/loaders/KMZLoader.mjs +75 -0
  168. package/loaders/KTX2Loader.js +229 -362
  169. package/loaders/KTX2Loader.mjs +427 -0
  170. package/loaders/KTXLoader.js +37 -99
  171. package/loaders/KTXLoader.mjs +87 -0
  172. package/loaders/LDrawLoader.js +313 -746
  173. package/loaders/LDrawLoader.mjs +1409 -0
  174. package/loaders/LUT3dlLoader.js +50 -62
  175. package/loaders/LUT3dlLoader.mjs +100 -0
  176. package/loaders/LUTCubeLoader.js +45 -56
  177. package/loaders/LUTCubeLoader.mjs +104 -0
  178. package/loaders/LWOLoader.js +227 -339
  179. package/loaders/LWOLoader.mjs +625 -0
  180. package/loaders/LottieLoader.js +36 -38
  181. package/loaders/LottieLoader.mjs +47 -0
  182. package/loaders/MD2Loader.js +248 -91
  183. package/loaders/MD2Loader.mjs +359 -0
  184. package/loaders/MDDLoader.js +25 -45
  185. package/loaders/MDDLoader.mjs +58 -0
  186. package/loaders/MMDLoader.js +359 -795
  187. package/loaders/MMDLoader.mjs +998 -0
  188. package/loaders/MTLLoader.js +91 -201
  189. package/loaders/MTLLoader.mjs +280 -0
  190. package/loaders/NRRDLoader.js +182 -263
  191. package/loaders/NRRDLoader.mjs +401 -0
  192. package/loaders/NodeMaterialLoader.js +121 -14
  193. package/loaders/NodeMaterialLoader.mjs +146 -0
  194. package/loaders/OBJLoader.js +161 -283
  195. package/loaders/OBJLoader.mjs +487 -0
  196. package/loaders/PCDLoader.js +145 -164
  197. package/loaders/PCDLoader.mjs +248 -0
  198. package/loaders/PDBLoader.js +45 -63
  199. package/loaders/PDBLoader.mjs +246 -0
  200. package/loaders/PLYLoader.js +106 -203
  201. package/loaders/PLYLoader.mjs +317 -0
  202. package/loaders/PRWMLoader.js +73 -110
  203. package/loaders/PRWMLoader.mjs +160 -0
  204. package/loaders/PVRLoader.js +32 -93
  205. package/loaders/PVRLoader.mjs +131 -0
  206. package/loaders/RGBELoader.js +96 -233
  207. package/loaders/RGBELoader.mjs +244 -0
  208. package/loaders/RGBMLoader.js +344 -514
  209. package/loaders/RGBMLoader.mjs +998 -0
  210. package/loaders/STLLoader.js +59 -165
  211. package/loaders/STLLoader.mjs +190 -0
  212. package/loaders/SVGLoader.js +481 -851
  213. package/loaders/SVGLoader.mjs +1709 -0
  214. package/loaders/TDSLoader.js +137 -527
  215. package/loaders/TDSLoader.mjs +480 -0
  216. package/loaders/TGALoader.js +94 -205
  217. package/loaders/TGALoader.mjs +285 -0
  218. package/loaders/TTFLoader.js +58 -79
  219. package/loaders/TTFLoader.mjs +131 -0
  220. package/loaders/TiltLoader.js +129 -167
  221. package/loaders/TiltLoader.mjs +373 -0
  222. package/loaders/VOXLoader.js +320 -84
  223. package/loaders/VOXLoader.mjs +431 -0
  224. package/loaders/VRMLLoader.js +786 -1268
  225. package/loaders/VRMLLoader.mjs +2093 -0
  226. package/loaders/VRMLoader.js +23 -31
  227. package/loaders/VRMLoader.mjs +38 -0
  228. package/loaders/VTKLoader.js +219 -407
  229. package/loaders/VTKLoader.mjs +646 -0
  230. package/loaders/XLoader.js +1083 -1259
  231. package/loaders/XLoader.mjs +1258 -0
  232. package/loaders/XYZLoader.js +28 -34
  233. package/loaders/XYZLoader.mjs +60 -0
  234. package/loaders/lwo/IFFParser.js +238 -492
  235. package/loaders/lwo/IFFParser.mjs +697 -0
  236. package/loaders/lwo/LWO2Parser.js +176 -279
  237. package/loaders/lwo/LWO2Parser.mjs +327 -0
  238. package/loaders/lwo/LWO3Parser.js +160 -247
  239. package/loaders/lwo/LWO3Parser.mjs +298 -0
  240. package/math/Capsule.js +56 -43
  241. package/math/Capsule.mjs +100 -0
  242. package/math/ColorConverter.js +18 -32
  243. package/math/ColorConverter.mjs +51 -0
  244. package/math/ConvexHull.js +515 -739
  245. package/math/ConvexHull.mjs +574 -0
  246. package/math/ImprovedNoise.js +282 -32
  247. package/math/ImprovedNoise.mjs +302 -0
  248. package/math/Lut.js +51 -35
  249. package/math/Lut.mjs +135 -0
  250. package/math/MeshSurfaceSampler.js +25 -68
  251. package/math/MeshSurfaceSampler.mjs +107 -0
  252. package/math/OBB.js +91 -152
  253. package/math/OBB.mjs +235 -0
  254. package/math/Octree.js +76 -139
  255. package/math/Octree.mjs +278 -0
  256. package/math/SimplexNoise.js +217 -238
  257. package/math/SimplexNoise.mjs +425 -0
  258. package/misc/ConvexObjectBreaker.js +79 -185
  259. package/misc/ConvexObjectBreaker.mjs +292 -0
  260. package/misc/GPUComputationRenderer.js +69 -194
  261. package/misc/GPUComputationRenderer.mjs +171 -0
  262. package/misc/Gyroscope.js +16 -22
  263. package/misc/Gyroscope.mjs +35 -0
  264. package/misc/MD2Character.js +52 -74
  265. package/misc/MD2Character.mjs +162 -0
  266. package/misc/MD2CharacterComplex.js +112 -163
  267. package/misc/MD2CharacterComplex.mjs +328 -0
  268. package/misc/MorphAnimMesh.js +20 -28
  269. package/misc/MorphAnimMesh.mjs +40 -0
  270. package/misc/MorphBlendMesh.js +45 -69
  271. package/misc/MorphBlendMesh.mjs +179 -0
  272. package/misc/ProgressiveLightmap.js +70 -187
  273. package/misc/ProgressiveLightmap.mjs +166 -0
  274. package/misc/RollerCoaster.js +106 -135
  275. package/misc/RollerCoaster.mjs +346 -0
  276. package/misc/TubePainter.js +74 -92
  277. package/misc/TubePainter.mjs +123 -0
  278. package/misc/Volume.js +108 -270
  279. package/misc/Volume.mjs +244 -0
  280. package/misc/VolumeSlice.js +34 -122
  281. package/misc/VolumeSlice.mjs +106 -0
  282. package/misc/WebGL.js +37 -34
  283. package/misc/WebGL.mjs +74 -0
  284. package/modifiers/CurveModifier.js +46 -151
  285. package/modifiers/CurveModifier.mjs +182 -0
  286. package/modifiers/EdgeSplitModifier.js +46 -90
  287. package/modifiers/EdgeSplitModifier.mjs +162 -0
  288. package/modifiers/SimplifyModifier.js +77 -202
  289. package/modifiers/SimplifyModifier.mjs +282 -0
  290. package/modifiers/TessellateModifier.js +65 -90
  291. package/modifiers/TessellateModifier.mjs +206 -0
  292. package/nodes/Nodes.js +274 -140
  293. package/nodes/Nodes.mjs +400 -0
  294. package/nodes/ShaderNode.js +296 -196
  295. package/nodes/ShaderNode.mjs +408 -0
  296. package/nodes/accessors/BufferNode.js +4 -8
  297. package/nodes/accessors/BufferNode.mjs +15 -0
  298. package/nodes/accessors/CameraNode.js +20 -25
  299. package/nodes/accessors/CameraNode.mjs +44 -0
  300. package/nodes/accessors/CubeTextureNode.js +14 -26
  301. package/nodes/accessors/CubeTextureNode.mjs +42 -0
  302. package/nodes/accessors/MaterialNode.js +43 -53
  303. package/nodes/accessors/MaterialNode.mjs +71 -0
  304. package/nodes/accessors/MaterialReferenceNode.js +3 -6
  305. package/nodes/accessors/MaterialReferenceNode.mjs +14 -0
  306. package/nodes/accessors/ModelNode.js +3 -5
  307. package/nodes/accessors/ModelNode.mjs +9 -0
  308. package/nodes/accessors/ModelViewProjectionNode.js +14 -13
  309. package/nodes/accessors/ModelViewProjectionNode.mjs +24 -0
  310. package/nodes/accessors/NormalNode.js +40 -39
  311. package/nodes/accessors/NormalNode.mjs +62 -0
  312. package/nodes/accessors/Object3DNode.js +40 -50
  313. package/nodes/accessors/Object3DNode.mjs +76 -0
  314. package/nodes/accessors/PointUVNode.js +5 -9
  315. package/nodes/accessors/PointUVNode.mjs +13 -0
  316. package/nodes/accessors/PositionNode.js +42 -41
  317. package/nodes/accessors/PositionNode.mjs +65 -0
  318. package/nodes/accessors/ReferenceNode.js +10 -17
  319. package/nodes/accessors/ReferenceNode.mjs +37 -0
  320. package/nodes/accessors/ReflectNode.js +23 -26
  321. package/nodes/accessors/ReflectNode.mjs +43 -0
  322. package/nodes/accessors/SkinningNode.js +46 -48
  323. package/nodes/accessors/SkinningNode.mjs +58 -0
  324. package/nodes/accessors/TextureNode.js +14 -29
  325. package/nodes/accessors/TextureNode.mjs +54 -0
  326. package/nodes/accessors/UVNode.js +5 -11
  327. package/nodes/accessors/UVNode.mjs +23 -0
  328. package/nodes/core/ArrayUniformNode.js +3 -7
  329. package/nodes/core/ArrayUniformNode.mjs +14 -0
  330. package/nodes/core/AttributeNode.js +5 -12
  331. package/nodes/core/AttributeNode.mjs +30 -0
  332. package/nodes/core/BypassNode.js +5 -12
  333. package/nodes/core/BypassNode.mjs +22 -0
  334. package/nodes/core/CodeNode.js +4 -12
  335. package/nodes/core/CodeNode.mjs +28 -0
  336. package/nodes/core/ConstNode.js +3 -7
  337. package/nodes/core/ConstNode.mjs +14 -0
  338. package/nodes/core/ContextNode.js +3 -8
  339. package/nodes/core/ContextNode.mjs +22 -0
  340. package/nodes/core/ExpressionNode.js +5 -9
  341. package/nodes/core/ExpressionNode.mjs +19 -0
  342. package/nodes/core/FunctionCallNode.js +6 -15
  343. package/nodes/core/FunctionCallNode.mjs +37 -0
  344. package/nodes/core/FunctionNode.js +10 -25
  345. package/nodes/core/FunctionNode.mjs +56 -0
  346. package/nodes/core/InputNode.js +12 -23
  347. package/nodes/core/InputNode.mjs +38 -0
  348. package/nodes/core/Node.js +35 -75
  349. package/nodes/core/Node.mjs +139 -0
  350. package/nodes/core/NodeAttribute.js +2 -4
  351. package/nodes/core/NodeAttribute.mjs +10 -0
  352. package/nodes/core/NodeBuilder.js +110 -224
  353. package/nodes/core/NodeBuilder.mjs +395 -0
  354. package/nodes/core/NodeCode.js +4 -7
  355. package/nodes/core/NodeCode.mjs +11 -0
  356. package/nodes/core/NodeFrame.js +9 -12
  357. package/nodes/core/NodeFrame.mjs +35 -0
  358. package/nodes/core/NodeFunctionInput.js +3 -5
  359. package/nodes/core/NodeFunctionInput.mjs +13 -0
  360. package/nodes/core/NodeKeywords.js +5 -16
  361. package/nodes/core/NodeKeywords.mjs +44 -0
  362. package/nodes/core/NodeUniform.js +3 -7
  363. package/nodes/core/NodeUniform.mjs +18 -0
  364. package/nodes/core/NodeUtils.js +39 -43
  365. package/nodes/core/NodeUtils.mjs +57 -0
  366. package/nodes/core/NodeVar.js +2 -4
  367. package/nodes/core/NodeVar.mjs +10 -0
  368. package/nodes/core/NodeVary.js +2 -4
  369. package/nodes/core/NodeVary.mjs +10 -0
  370. package/nodes/core/PropertyNode.js +4 -10
  371. package/nodes/core/PropertyNode.mjs +21 -0
  372. package/nodes/core/TempNode.js +5 -11
  373. package/nodes/core/TempNode.mjs +25 -0
  374. package/nodes/core/UniformNode.js +4 -10
  375. package/nodes/core/UniformNode.mjs +23 -0
  376. package/nodes/core/VarNode.js +3 -11
  377. package/nodes/core/VarNode.mjs +31 -0
  378. package/nodes/core/VaryNode.js +6 -15
  379. package/nodes/core/VaryNode.mjs +30 -0
  380. package/nodes/core/constants.js +20 -7
  381. package/nodes/core/constants.mjs +24 -0
  382. package/nodes/display/ColorSpaceNode.js +34 -38
  383. package/nodes/display/ColorSpaceNode.mjs +63 -0
  384. package/nodes/display/NormalMapNode.js +35 -53
  385. package/nodes/display/NormalMapNode.mjs +54 -0
  386. package/nodes/fog/FogNode.js +5 -9
  387. package/nodes/fog/FogNode.mjs +15 -0
  388. package/nodes/fog/FogRangeNode.js +5 -9
  389. package/nodes/fog/FogRangeNode.mjs +17 -0
  390. package/nodes/functions/BSDFs.js +61 -118
  391. package/nodes/functions/BSDFs.mjs +64 -0
  392. package/nodes/lights/LightContextNode.js +14 -23
  393. package/nodes/lights/LightContextNode.mjs +35 -0
  394. package/nodes/lights/LightNode.js +27 -31
  395. package/nodes/lights/LightNode.mjs +58 -0
  396. package/nodes/lights/LightsNode.js +9 -28
  397. package/nodes/lights/LightsNode.mjs +59 -0
  398. package/nodes/loaders/NodeLoader.js +27 -42
  399. package/nodes/loaders/NodeLoader.mjs +66 -0
  400. package/nodes/loaders/NodeMaterialLoader.js +4 -10
  401. package/nodes/loaders/NodeMaterialLoader.mjs +24 -0
  402. package/nodes/loaders/NodeObjectLoader.js +9 -19
  403. package/nodes/loaders/NodeObjectLoader.mjs +40 -0
  404. package/nodes/materials/LineBasicNodeMaterial.js +5 -10
  405. package/nodes/materials/LineBasicNodeMaterial.mjs +27 -0
  406. package/nodes/materials/Materials.js +14 -17
  407. package/nodes/materials/Materials.mjs +28 -0
  408. package/nodes/materials/MeshBasicNodeMaterial.js +5 -10
  409. package/nodes/materials/MeshBasicNodeMaterial.mjs +28 -0
  410. package/nodes/materials/MeshStandardNodeMaterial.js +5 -8
  411. package/nodes/materials/MeshStandardNodeMaterial.mjs +41 -0
  412. package/nodes/materials/NodeMaterial.js +20 -36
  413. package/nodes/materials/NodeMaterial.mjs +64 -0
  414. package/nodes/materials/PointsNodeMaterial.js +5 -10
  415. package/nodes/materials/PointsNodeMaterial.mjs +30 -0
  416. package/nodes/math/CondNode.js +11 -23
  417. package/nodes/math/CondNode.mjs +38 -0
  418. package/nodes/math/MathNode.js +98 -142
  419. package/nodes/math/MathNode.mjs +163 -0
  420. package/nodes/math/OperatorNode.js +24 -46
  421. package/nodes/math/OperatorNode.mjs +103 -0
  422. package/nodes/procedural/CheckerNode.js +13 -19
  423. package/nodes/procedural/CheckerNode.mjs +21 -0
  424. package/nodes/utils/ArrayElementNode.js +4 -8
  425. package/nodes/utils/ArrayElementNode.mjs +19 -0
  426. package/nodes/utils/ConvertNode.js +3 -8
  427. package/nodes/utils/ConvertNode.mjs +25 -0
  428. package/nodes/utils/JoinNode.js +7 -11
  429. package/nodes/utils/JoinNode.mjs +26 -0
  430. package/nodes/utils/MatcapUVNode.js +8 -11
  431. package/nodes/utils/MatcapUVNode.mjs +16 -0
  432. package/nodes/utils/OscNode.js +27 -33
  433. package/nodes/utils/OscNode.mjs +50 -0
  434. package/nodes/utils/SplitNode.js +6 -20
  435. package/nodes/utils/SplitNode.mjs +45 -0
  436. package/nodes/utils/SpriteSheetUVNode.js +23 -23
  437. package/nodes/utils/SpriteSheetUVNode.mjs +40 -0
  438. package/nodes/utils/TimerNode.js +20 -24
  439. package/nodes/utils/TimerNode.mjs +44 -0
  440. package/objects/GroundProjectedEnv.js +22 -37
  441. package/objects/GroundProjectedEnv.mjs +130 -0
  442. package/objects/Lensflare.js +86 -156
  443. package/objects/Lensflare.mjs +262 -0
  444. package/objects/LightningStorm.js +38 -102
  445. package/objects/LightningStorm.mjs +110 -0
  446. package/objects/MarchingCubes.js +150 -303
  447. package/objects/MarchingCubes.mjs +457 -0
  448. package/objects/Reflector.js +50 -72
  449. package/objects/Reflector.mjs +166 -0
  450. package/objects/ReflectorForSSRPass.js +80 -131
  451. package/objects/ReflectorForSSRPass.mjs +247 -0
  452. package/objects/ReflectorRTT.js +6 -7
  453. package/objects/ReflectorRTT.mjs +10 -0
  454. package/objects/Refractor.js +64 -106
  455. package/objects/Refractor.mjs +178 -0
  456. package/objects/ShadowMesh.js +8 -17
  457. package/objects/ShadowMesh.mjs +41 -0
  458. package/objects/Sky.js +119 -80
  459. package/objects/Sky.mjs +124 -0
  460. package/objects/Water.js +83 -127
  461. package/objects/Water.mjs +235 -0
  462. package/objects/Water2.js +72 -108
  463. package/objects/Water2.mjs +252 -0
  464. package/offscreen/jank.js +10 -14
  465. package/offscreen/jank.mjs +27 -0
  466. package/offscreen/offscreen.js +4 -5
  467. package/offscreen/offscreen.mjs +5 -0
  468. package/offscreen/scene.js +45 -48
  469. package/offscreen/scene.mjs +52 -0
  470. package/package.json +3 -3
  471. package/physics/AmmoPhysics.js +30 -71
  472. package/physics/AmmoPhysics.mjs +165 -0
  473. package/postprocessing/AdaptiveToneMappingPass.js +97 -123
  474. package/postprocessing/AdaptiveToneMappingPass.mjs +221 -0
  475. package/postprocessing/AfterimagePass.js +28 -49
  476. package/postprocessing/AfterimagePass.mjs +55 -0
  477. package/postprocessing/BloomPass.js +43 -69
  478. package/postprocessing/BloomPass.mjs +90 -0
  479. package/postprocessing/BokehPass.js +39 -69
  480. package/postprocessing/BokehPass.mjs +76 -0
  481. package/postprocessing/ClearPass.js +10 -25
  482. package/postprocessing/ClearPass.mjs +27 -0
  483. package/postprocessing/CubeTexturePass.js +28 -27
  484. package/postprocessing/CubeTexturePass.mjs +49 -0
  485. package/postprocessing/DotScreenPass.js +24 -32
  486. package/postprocessing/DotScreenPass.mjs +40 -0
  487. package/postprocessing/EffectComposer.js +39 -86
  488. package/postprocessing/EffectComposer.mjs +139 -0
  489. package/postprocessing/FilmPass.js +25 -30
  490. package/postprocessing/FilmPass.mjs +42 -0
  491. package/postprocessing/GlitchPass.js +38 -61
  492. package/postprocessing/GlitchPass.mjs +75 -0
  493. package/postprocessing/HalftonePass.js +19 -39
  494. package/postprocessing/HalftonePass.mjs +44 -0
  495. package/postprocessing/LUTPass.js +13 -38
  496. package/postprocessing/LUTPass.mjs +136 -0
  497. package/postprocessing/MaskPass.js +19 -38
  498. package/postprocessing/MaskPass.mjs +60 -0
  499. package/postprocessing/OutlinePass.js +135 -277
  500. package/postprocessing/OutlinePass.mjs +438 -0
  501. package/postprocessing/Pass.js +20 -44
  502. package/postprocessing/Pass.mjs +37 -0
  503. package/postprocessing/RenderPass.js +13 -36
  504. package/postprocessing/RenderPass.mjs +48 -0
  505. package/postprocessing/RenderPixelatedPass.js +44 -58
  506. package/postprocessing/RenderPixelatedPass.mjs +199 -0
  507. package/postprocessing/SAOPass.js +154 -189
  508. package/postprocessing/SAOPass.mjs +282 -0
  509. package/postprocessing/SMAAPass.js +64 -84
  510. package/postprocessing/SMAAPass.mjs +112 -0
  511. package/postprocessing/SSAARenderPass.js +121 -69
  512. package/postprocessing/SSAARenderPass.mjs +170 -0
  513. package/postprocessing/SSAOPass.js +123 -172
  514. package/postprocessing/SSAOPass.mjs +265 -0
  515. package/postprocessing/SSRPass.js +211 -280
  516. package/postprocessing/SSRPass.mjs +432 -0
  517. package/postprocessing/SavePass.js +20 -25
  518. package/postprocessing/SavePass.mjs +37 -0
  519. package/postprocessing/ShaderPass.js +14 -30
  520. package/postprocessing/ShaderPass.mjs +39 -0
  521. package/postprocessing/TAARenderPass.js +42 -61
  522. package/postprocessing/TAARenderPass.mjs +88 -0
  523. package/postprocessing/TexturePass.js +21 -22
  524. package/postprocessing/TexturePass.mjs +39 -0
  525. package/postprocessing/UnrealBloomPass.js +105 -213
  526. package/postprocessing/UnrealBloomPass.mjs +220 -0
  527. package/renderers/CSS2DRenderer.js +44 -56
  528. package/renderers/CSS2DRenderer.mjs +112 -0
  529. package/renderers/CSS3DRenderer.js +53 -86
  530. package/renderers/CSS3DRenderer.mjs +133 -0
  531. package/renderers/Projector.js +107 -274
  532. package/renderers/Projector.mjs +511 -0
  533. package/renderers/SVGRenderer.js +72 -182
  534. package/renderers/SVGRenderer.mjs +306 -0
  535. package/renderers/nodes/accessors/CameraNode.js +29 -40
  536. package/renderers/nodes/accessors/CameraNode.mjs +63 -0
  537. package/renderers/nodes/accessors/ModelNode.js +28 -37
  538. package/renderers/nodes/accessors/ModelNode.mjs +61 -0
  539. package/renderers/nodes/accessors/ModelViewProjectionNode.js +10 -23
  540. package/renderers/nodes/accessors/ModelViewProjectionNode.mjs +21 -0
  541. package/renderers/nodes/accessors/NormalNode.js +35 -45
  542. package/renderers/nodes/accessors/NormalNode.mjs +61 -0
  543. package/renderers/nodes/accessors/PositionNode.js +18 -19
  544. package/renderers/nodes/accessors/PositionNode.mjs +30 -0
  545. package/renderers/nodes/accessors/UVNode.js +5 -10
  546. package/renderers/nodes/accessors/UVNode.mjs +13 -0
  547. package/renderers/nodes/core/AttributeNode.js +5 -14
  548. package/renderers/nodes/core/AttributeNode.mjs +35 -0
  549. package/renderers/nodes/core/InputNode.js +4 -14
  550. package/renderers/nodes/core/InputNode.mjs +31 -0
  551. package/renderers/nodes/core/Node.js +7 -17
  552. package/renderers/nodes/core/Node.mjs +34 -0
  553. package/renderers/nodes/core/NodeAttribute.js +3 -6
  554. package/renderers/nodes/core/NodeAttribute.mjs +10 -0
  555. package/renderers/nodes/core/NodeBuilder.js +87 -154
  556. package/renderers/nodes/core/NodeBuilder.mjs +243 -0
  557. package/renderers/nodes/core/NodeFrame.js +9 -12
  558. package/renderers/nodes/core/NodeFrame.mjs +35 -0
  559. package/renderers/nodes/core/NodeSlot.js +2 -3
  560. package/renderers/nodes/core/NodeSlot.mjs +10 -0
  561. package/renderers/nodes/core/NodeUniform.js +4 -9
  562. package/renderers/nodes/core/NodeUniform.mjs +18 -0
  563. package/renderers/nodes/core/NodeVary.js +4 -7
  564. package/renderers/nodes/core/NodeVary.mjs +11 -0
  565. package/renderers/nodes/core/VaryNode.js +6 -12
  566. package/renderers/nodes/core/VaryNode.mjs +22 -0
  567. package/renderers/nodes/core/constants.js +16 -13
  568. package/renderers/nodes/core/constants.mjs +22 -0
  569. package/renderers/nodes/inputs/ColorNode.js +5 -11
  570. package/renderers/nodes/inputs/ColorNode.mjs +11 -0
  571. package/renderers/nodes/inputs/FloatNode.js +5 -11
  572. package/renderers/nodes/inputs/FloatNode.mjs +11 -0
  573. package/renderers/nodes/inputs/Matrix3Node.js +7 -13
  574. package/renderers/nodes/inputs/Matrix3Node.mjs +12 -0
  575. package/renderers/nodes/inputs/Matrix4Node.js +7 -13
  576. package/renderers/nodes/inputs/Matrix4Node.mjs +12 -0
  577. package/renderers/nodes/inputs/TextureNode.js +7 -15
  578. package/renderers/nodes/inputs/TextureNode.mjs +20 -0
  579. package/renderers/nodes/inputs/Vector2Node.js +5 -11
  580. package/renderers/nodes/inputs/Vector2Node.mjs +11 -0
  581. package/renderers/nodes/inputs/Vector3Node.js +7 -13
  582. package/renderers/nodes/inputs/Vector3Node.mjs +12 -0
  583. package/renderers/nodes/inputs/Vector4Node.js +7 -13
  584. package/renderers/nodes/inputs/Vector4Node.mjs +12 -0
  585. package/renderers/nodes/math/MathNode.js +20 -30
  586. package/renderers/nodes/math/MathNode.mjs +55 -0
  587. package/renderers/nodes/math/OperatorNode.js +4 -20
  588. package/renderers/nodes/math/OperatorNode.mjs +42 -0
  589. package/renderers/nodes/utils/SwitchNode.js +4 -9
  590. package/renderers/nodes/utils/SwitchNode.mjs +20 -0
  591. package/renderers/nodes/utils/TimerNode.js +5 -10
  592. package/renderers/nodes/utils/TimerNode.mjs +14 -0
  593. package/renderers/webgpu/WebGPU.js +14 -16
  594. package/renderers/webgpu/WebGPU.mjs +24 -0
  595. package/renderers/webgpu/WebGPUAttributes.js +16 -23
  596. package/renderers/webgpu/WebGPUAttributes.mjs +69 -0
  597. package/renderers/webgpu/WebGPUBackground.js +13 -30
  598. package/renderers/webgpu/WebGPUBackground.mjs +61 -0
  599. package/renderers/webgpu/WebGPUBinding.js +4 -7
  600. package/renderers/webgpu/WebGPUBinding.mjs +14 -0
  601. package/renderers/webgpu/WebGPUBindings.js +21 -57
  602. package/renderers/webgpu/WebGPUBindings.mjs +155 -0
  603. package/renderers/webgpu/WebGPUComputePipelines.js +14 -25
  604. package/renderers/webgpu/WebGPUComputePipelines.mjs +44 -0
  605. package/renderers/webgpu/WebGPUGeometries.js +5 -15
  606. package/renderers/webgpu/WebGPUGeometries.mjs +41 -0
  607. package/renderers/webgpu/WebGPUInfo.js +3 -8
  608. package/renderers/webgpu/WebGPUInfo.mjs +46 -0
  609. package/renderers/webgpu/WebGPUObjects.js +5 -10
  610. package/renderers/webgpu/WebGPUObjects.mjs +25 -0
  611. package/renderers/webgpu/WebGPUProperties.js +5 -11
  612. package/renderers/webgpu/WebGPUProperties.mjs +22 -0
  613. package/renderers/webgpu/WebGPURenderLists.js +20 -36
  614. package/renderers/webgpu/WebGPURenderLists.mjs +119 -0
  615. package/renderers/webgpu/WebGPURenderPipelines.js +260 -387
  616. package/renderers/webgpu/WebGPURenderPipelines.mjs +545 -0
  617. package/renderers/webgpu/WebGPURenderer.js +124 -262
  618. package/renderers/webgpu/WebGPURenderer.mjs +574 -0
  619. package/renderers/webgpu/WebGPUSampledTexture.js +18 -31
  620. package/renderers/webgpu/WebGPUSampledTexture.mjs +40 -0
  621. package/renderers/webgpu/WebGPUSampler.js +7 -12
  622. package/renderers/webgpu/WebGPUSampler.mjs +15 -0
  623. package/renderers/webgpu/WebGPUStorageBuffer.js +7 -12
  624. package/renderers/webgpu/WebGPUStorageBuffer.mjs +15 -0
  625. package/renderers/webgpu/WebGPUTextureRenderer.js +5 -11
  626. package/renderers/webgpu/WebGPUTextureRenderer.mjs +23 -0
  627. package/renderers/webgpu/WebGPUTextureUtils.js +29 -40
  628. package/renderers/webgpu/WebGPUTextureUtils.mjs +98 -0
  629. package/renderers/webgpu/WebGPUTextures.js +186 -333
  630. package/renderers/webgpu/WebGPUTextures.mjs +484 -0
  631. package/renderers/webgpu/WebGPUUniform.js +25 -51
  632. package/renderers/webgpu/WebGPUUniform.mjs +81 -0
  633. package/renderers/webgpu/WebGPUUniformsGroup.js +32 -72
  634. package/renderers/webgpu/WebGPUUniformsGroup.mjs +176 -0
  635. package/renderers/webgpu/constants.js +190 -181
  636. package/renderers/webgpu/constants.mjs +230 -0
  637. package/renderers/webgpu/nodes/ShaderLib.js +2 -2
  638. package/renderers/webgpu/nodes/ShaderLib.mjs +42 -0
  639. package/renderers/webgpu/nodes/WebGPUNodeBuilder.js +53 -124
  640. package/renderers/webgpu/nodes/WebGPUNodeBuilder.mjs +165 -0
  641. package/renderers/webgpu/nodes/WebGPUNodeUniform.js +17 -31
  642. package/renderers/webgpu/nodes/WebGPUNodeUniform.mjs +73 -0
  643. package/renderers/webgpu/nodes/WebGPUNodeUniformsGroup.js +8 -9
  644. package/renderers/webgpu/nodes/WebGPUNodeUniformsGroup.mjs +15 -0
  645. package/renderers/webgpu/nodes/WebGPUNodes.js +7 -45
  646. package/renderers/webgpu/nodes/WebGPUNodes.mjs +40 -0
  647. package/shaders/ACESFilmicToneMappingShader.js +44 -24
  648. package/shaders/ACESFilmicToneMappingShader.mjs +48 -0
  649. package/shaders/AfterimageShader.js +28 -18
  650. package/shaders/AfterimageShader.mjs +32 -0
  651. package/shaders/BasicShader.js +9 -7
  652. package/shaders/BasicShader.mjs +12 -0
  653. package/shaders/BleachBypassShader.js +31 -15
  654. package/shaders/BleachBypassShader.mjs +35 -0
  655. package/shaders/BlendShader.js +26 -19
  656. package/shaders/BlendShader.mjs +30 -0
  657. package/shaders/BokehShader.js +98 -36
  658. package/shaders/BokehShader.mjs +106 -0
  659. package/shaders/BokehShader2.js +261 -90
  660. package/shaders/BokehShader2.mjs +269 -0
  661. package/shaders/BrightnessContrastShader.js +28 -19
  662. package/shaders/BrightnessContrastShader.mjs +32 -0
  663. package/shaders/ColorCorrectionShader.js +26 -22
  664. package/shaders/ColorCorrectionShader.mjs +30 -0
  665. package/shaders/ColorifyShader.js +24 -16
  666. package/shaders/ColorifyShader.mjs +28 -0
  667. package/shaders/ConvolutionShader.js +40 -36
  668. package/shaders/ConvolutionShader.mjs +55 -0
  669. package/shaders/CopyShader.js +21 -13
  670. package/shaders/CopyShader.mjs +25 -0
  671. package/shaders/DOFMipMapShader.js +28 -21
  672. package/shaders/DOFMipMapShader.mjs +32 -0
  673. package/shaders/DepthLimitedBlurShader.js +85 -40
  674. package/shaders/DepthLimitedBlurShader.mjs +114 -0
  675. package/shaders/DigitalGlitch.js +74 -46
  676. package/shaders/DigitalGlitch.mjs +78 -0
  677. package/shaders/DotScreenShader.js +35 -27
  678. package/shaders/DotScreenShader.mjs +39 -0
  679. package/shaders/FXAAShader.js +1094 -19
  680. package/shaders/FXAAShader.mjs +1098 -0
  681. package/shaders/FilmShader.js +38 -52
  682. package/shaders/FilmShader.mjs +42 -0
  683. package/shaders/FocusShader.js +51 -24
  684. package/shaders/FocusShader.mjs +55 -0
  685. package/shaders/FreiChenShader.js +57 -24
  686. package/shaders/FreiChenShader.mjs +61 -0
  687. package/shaders/FresnelShader.js +43 -22
  688. package/shaders/FresnelShader.mjs +47 -0
  689. package/shaders/GammaCorrectionShader.js +19 -11
  690. package/shaders/GammaCorrectionShader.mjs +23 -0
  691. package/shaders/GodRaysShader.js +103 -94
  692. package/shaders/GodRaysShader.mjs +146 -0
  693. package/shaders/HalftoneShader.js +208 -65
  694. package/shaders/HalftoneShader.mjs +212 -0
  695. package/shaders/HorizontalBlurShader.js +7 -23
  696. package/shaders/HorizontalBlurShader.mjs +43 -0
  697. package/shaders/HorizontalTiltShiftShader.js +33 -21
  698. package/shaders/HorizontalTiltShiftShader.mjs +37 -0
  699. package/shaders/HueSaturationShader.js +37 -21
  700. package/shaders/HueSaturationShader.mjs +41 -0
  701. package/shaders/KaleidoShader.js +30 -22
  702. package/shaders/KaleidoShader.mjs +34 -0
  703. package/shaders/LuminosityHighPassShader.js +33 -27
  704. package/shaders/LuminosityHighPassShader.mjs +37 -0
  705. package/shaders/LuminosityShader.js +21 -11
  706. package/shaders/LuminosityShader.mjs +25 -0
  707. package/shaders/MirrorShader.js +31 -16
  708. package/shaders/MirrorShader.mjs +35 -0
  709. package/shaders/NormalMapShader.js +27 -23
  710. package/shaders/NormalMapShader.mjs +31 -0
  711. package/shaders/ParallaxShader.js +107 -48
  712. package/shaders/ParallaxShader.mjs +113 -0
  713. package/shaders/PixelShader.js +24 -16
  714. package/shaders/PixelShader.mjs +28 -0
  715. package/shaders/RGBShiftShader.js +26 -22
  716. package/shaders/RGBShiftShader.mjs +30 -0
  717. package/shaders/SAOShader.js +132 -48
  718. package/shaders/SAOShader.mjs +144 -0
  719. package/shaders/SMAAShader.js +256 -135
  720. package/shaders/SMAAShader.mjs +272 -0
  721. package/shaders/SSAOShader.js +153 -81
  722. package/shaders/SSAOShader.mjs +172 -0
  723. package/shaders/SSRShader.js +32 -87
  724. package/shaders/SSRShader.mjs +324 -0
  725. package/shaders/SepiaShader.js +25 -15
  726. package/shaders/SepiaShader.mjs +29 -0
  727. package/shaders/SobelOperatorShader.js +40 -29
  728. package/shaders/SobelOperatorShader.mjs +44 -0
  729. package/shaders/SubsurfaceScatteringShader.js +53 -39
  730. package/shaders/SubsurfaceScatteringShader.mjs +59 -0
  731. package/shaders/TechnicolorShader.js +20 -13
  732. package/shaders/TechnicolorShader.mjs +24 -0
  733. package/shaders/ToneMapShader.js +44 -28
  734. package/shaders/ToneMapShader.mjs +48 -0
  735. package/shaders/ToonShader.js +172 -96
  736. package/shaders/ToonShader.mjs +188 -0
  737. package/shaders/TriangleBlurShader.js +32 -23
  738. package/shaders/TriangleBlurShader.mjs +36 -0
  739. package/shaders/UnpackDepthRGBAShader.js +22 -14
  740. package/shaders/UnpackDepthRGBAShader.mjs +26 -0
  741. package/shaders/VerticalBlurShader.js +7 -23
  742. package/shaders/VerticalBlurShader.mjs +44 -0
  743. package/shaders/VerticalTiltShiftShader.js +33 -21
  744. package/shaders/VerticalTiltShiftShader.mjs +37 -0
  745. package/shaders/VignetteShader.js +24 -28
  746. package/shaders/VignetteShader.mjs +28 -0
  747. package/shaders/VolumeShader.js +174 -77
  748. package/shaders/VolumeShader.mjs +178 -0
  749. package/shaders/WaterRefractionShader.js +38 -6
  750. package/shaders/WaterRefractionShader.mjs +57 -0
  751. package/shaders/types.js +1 -1
  752. package/{custom.d.js → shaders/types.mjs} +0 -0
  753. package/textures/FlakesTexture.js +8 -10
  754. package/textures/FlakesTexture.mjs +30 -0
  755. package/types/helpers.js +3 -2
  756. package/types/helpers.mjs +4 -0
  757. package/utils/BufferGeometryUtils.js +251 -325
  758. package/utils/BufferGeometryUtils.mjs +570 -0
  759. package/utils/GeometryCompressionUtils.js +241 -239
  760. package/utils/GeometryCompressionUtils.mjs +547 -0
  761. package/utils/GeometryUtils.js +41 -94
  762. package/utils/GeometryUtils.mjs +108 -0
  763. package/utils/RoughnessMipmapper.js +38 -82
  764. package/utils/RoughnessMipmapper.mjs +213 -0
  765. package/utils/SceneUtils.js +15 -20
  766. package/utils/SceneUtils.mjs +36 -0
  767. package/utils/ShadowMapViewer.js +49 -95
  768. package/utils/ShadowMapViewer.mjs +114 -0
  769. package/utils/SkeletonUtils.js +74 -165
  770. package/utils/SkeletonUtils.mjs +292 -0
  771. package/utils/UVsDebug.js +32 -62
  772. package/utils/UVsDebug.mjs +85 -0
  773. package/utils/WorkerPool.js +13 -33
  774. package/utils/WorkerPool.mjs +62 -0
  775. package/webxr/ARButton.js +72 -98
  776. package/webxr/ARButton.mjs +119 -0
  777. package/webxr/OculusHandModel.js +18 -37
  778. package/webxr/OculusHandModel.mjs +71 -0
  779. package/webxr/OculusHandPointerModel.js +58 -80
  780. package/webxr/OculusHandPointerModel.mjs +207 -0
  781. package/webxr/Text2D.js +37 -19
  782. package/webxr/Text2D.mjs +31 -0
  783. package/webxr/VRButton.js +59 -90
  784. package/webxr/VRButton.mjs +105 -0
  785. package/webxr/XRControllerModelFactory.js +58 -116
  786. package/webxr/XRControllerModelFactory.mjs +146 -0
  787. package/webxr/XREstimatedLight.js +39 -66
  788. package/webxr/XREstimatedLight.mjs +126 -0
  789. package/webxr/XRHandMeshModel.js +40 -29
  790. package/webxr/XRHandMeshModel.mjs +73 -0
  791. package/webxr/XRHandModelFactory.js +28 -31
  792. package/webxr/XRHandModelFactory.mjs +61 -0
  793. package/webxr/XRHandPrimitiveModel.js +41 -27
  794. package/webxr/XRHandPrimitiveModel.mjs +68 -0
  795. package/BufferGeometryUtils-1a7a235c.js +0 -655
  796. package/BufferGeometryUtils-971dfde3.js +0 -1
  797. package/Nodes-4f766d71.js +0 -471
  798. package/Nodes-9aa16d74.js +0 -1
  799. package/animation/AnimationClipCreator.cjs.js +0 -1
  800. package/animation/CCDIKSolver.cjs.js +0 -1
  801. package/animation/MMDAnimationHelper.cjs.js +0 -1
  802. package/animation/MMDPhysics.cjs.js +0 -1
  803. package/cameras/CinematicCamera.cjs.js +0 -1
  804. package/controls/ArcballControls.cjs.js +0 -1
  805. package/controls/DeviceOrientationControls.cjs.js +0 -1
  806. package/controls/DragControls.cjs.js +0 -1
  807. package/controls/FirstPersonControls.cjs.js +0 -1
  808. package/controls/FlyControls.cjs.js +0 -1
  809. package/controls/OrbitControls.cjs.js +0 -1
  810. package/controls/PointerLockControls.cjs.js +0 -1
  811. package/controls/TrackballControls.cjs.js +0 -1
  812. package/controls/TransformControls.cjs.js +0 -1
  813. package/controls/experimental/CameraControls.cjs.js +0 -1
  814. package/csm/CSM.cjs.js +0 -1
  815. package/csm/CSMFrustum.cjs.js +0 -1
  816. package/csm/CSMHelper.cjs.js +0 -1
  817. package/csm/CSMShader.cjs.js +0 -1
  818. package/curves/CurveExtras.cjs.js +0 -1
  819. package/curves/NURBSCurve.cjs.js +0 -1
  820. package/curves/NURBSSurface.cjs.js +0 -1
  821. package/curves/NURBSUtils.cjs.js +0 -1
  822. package/custom.d.cjs.js +0 -1
  823. package/deprecated/Geometry.cjs.js +0 -1
  824. package/effects/AnaglyphEffect.cjs.js +0 -1
  825. package/effects/AsciiEffect.cjs.js +0 -1
  826. package/effects/OutlineEffect.cjs.js +0 -1
  827. package/effects/ParallaxBarrierEffect.cjs.js +0 -1
  828. package/effects/PeppersGhostEffect.cjs.js +0 -1
  829. package/effects/StereoEffect.cjs.js +0 -1
  830. package/environments/RoomEnvironment.cjs.js +0 -1
  831. package/exporters/ColladaExporter.cjs.js +0 -1
  832. package/exporters/DRACOExporter.cjs.js +0 -1
  833. package/exporters/GLTFExporter.cjs.js +0 -1
  834. package/exporters/MMDExporter.cjs.js +0 -1
  835. package/exporters/OBJExporter.cjs.js +0 -1
  836. package/exporters/PLYExporter.cjs.js +0 -1
  837. package/exporters/STLExporter.cjs.js +0 -1
  838. package/exporters/USDZExporter.cjs.js +0 -1
  839. package/geometries/BoxLineGeometry.cjs.js +0 -1
  840. package/geometries/ConvexGeometry.cjs.js +0 -1
  841. package/geometries/DecalGeometry.cjs.js +0 -1
  842. package/geometries/LightningStrike.cjs.js +0 -1
  843. package/geometries/ParametricGeometries.cjs.js +0 -1
  844. package/geometries/ParametricGeometry.cjs.js +0 -1
  845. package/geometries/RoundedBoxGeometry.cjs.js +0 -1
  846. package/geometries/TeapotGeometry.cjs.js +0 -1
  847. package/geometries/TextGeometry.cjs.js +0 -1
  848. package/helpers/LightProbeHelper.cjs.js +0 -1
  849. package/helpers/PositionalAudioHelper.cjs.js +0 -1
  850. package/helpers/RectAreaLightHelper.cjs.js +0 -1
  851. package/helpers/VertexNormalsHelper.cjs.js +0 -1
  852. package/helpers/VertexTangentsHelper.cjs.js +0 -1
  853. package/index.cjs.js +0 -1
  854. package/interactive/InteractiveGroup.cjs.js +0 -1
  855. package/interactive/InteractiveGroup.d.ts +0 -5
  856. package/interactive/InteractiveGroup.js +0 -87
  857. package/interactive/SelectionBox.cjs.js +0 -1
  858. package/interactive/SelectionHelper.cjs.js +0 -1
  859. package/libs/MeshoptDecoder.cjs.js +0 -1
  860. package/libs/MotionControllers.cjs.js +0 -1
  861. package/lights/LightProbeGenerator.cjs.js +0 -1
  862. package/lights/RectAreaLightUniformsLib.cjs.js +0 -1
  863. package/lines/Line2.cjs.js +0 -1
  864. package/lines/LineGeometry.cjs.js +0 -1
  865. package/lines/LineMaterial.cjs.js +0 -1
  866. package/lines/LineSegments2.cjs.js +0 -1
  867. package/lines/LineSegmentsGeometry.cjs.js +0 -1
  868. package/lines/Wireframe.cjs.js +0 -1
  869. package/lines/WireframeGeometry2.cjs.js +0 -1
  870. package/loaders/3DMLoader.cjs.js +0 -1
  871. package/loaders/3MFLoader.cjs.js +0 -1
  872. package/loaders/AMFLoader.cjs.js +0 -1
  873. package/loaders/AssimpLoader.cjs.js +0 -1
  874. package/loaders/BVHLoader.cjs.js +0 -1
  875. package/loaders/BasisTextureLoader.cjs.js +0 -1
  876. package/loaders/ColladaLoader.cjs.js +0 -1
  877. package/loaders/DDSLoader.cjs.js +0 -1
  878. package/loaders/DRACOLoader.cjs.js +0 -1
  879. package/loaders/EXRLoader.cjs.js +0 -1
  880. package/loaders/FBXLoader.cjs.js +0 -1
  881. package/loaders/FontLoader.cjs.js +0 -1
  882. package/loaders/GCodeLoader.cjs.js +0 -1
  883. package/loaders/GLTFLoader.cjs.js +0 -1
  884. package/loaders/HDRCubeTextureLoader.cjs.js +0 -1
  885. package/loaders/KMZLoader.cjs.js +0 -1
  886. package/loaders/KTX2Loader.cjs.js +0 -1
  887. package/loaders/KTXLoader.cjs.js +0 -1
  888. package/loaders/LDrawLoader.cjs.js +0 -1
  889. package/loaders/LUT3dlLoader.cjs.js +0 -1
  890. package/loaders/LUTCubeLoader.cjs.js +0 -1
  891. package/loaders/LWOLoader.cjs.js +0 -1
  892. package/loaders/LottieLoader.cjs.js +0 -1
  893. package/loaders/MD2Loader.cjs.js +0 -1
  894. package/loaders/MDDLoader.cjs.js +0 -1
  895. package/loaders/MMDLoader.cjs.js +0 -1
  896. package/loaders/MTLLoader.cjs.js +0 -1
  897. package/loaders/NRRDLoader.cjs.js +0 -1
  898. package/loaders/NodeMaterialLoader.cjs.js +0 -1
  899. package/loaders/OBJLoader.cjs.js +0 -1
  900. package/loaders/PCDLoader.cjs.js +0 -1
  901. package/loaders/PDBLoader.cjs.js +0 -1
  902. package/loaders/PLYLoader.cjs.js +0 -1
  903. package/loaders/PRWMLoader.cjs.js +0 -1
  904. package/loaders/PVRLoader.cjs.js +0 -1
  905. package/loaders/RGBELoader.cjs.js +0 -1
  906. package/loaders/RGBMLoader.cjs.js +0 -1
  907. package/loaders/STLLoader.cjs.js +0 -1
  908. package/loaders/SVGLoader.cjs.js +0 -1
  909. package/loaders/TDSLoader.cjs.js +0 -1
  910. package/loaders/TGALoader.cjs.js +0 -1
  911. package/loaders/TTFLoader.cjs.js +0 -1
  912. package/loaders/TiltLoader.cjs.js +0 -1
  913. package/loaders/VOXLoader.cjs.js +0 -1
  914. package/loaders/VRMLLoader.cjs.js +0 -1
  915. package/loaders/VRMLoader.cjs.js +0 -1
  916. package/loaders/VTKLoader.cjs.js +0 -1
  917. package/loaders/XLoader.cjs.js +0 -1
  918. package/loaders/XYZLoader.cjs.js +0 -1
  919. package/loaders/lwo/IFFParser.cjs.js +0 -1
  920. package/loaders/lwo/LWO2Parser.cjs.js +0 -1
  921. package/loaders/lwo/LWO3Parser.cjs.js +0 -1
  922. package/math/Capsule.cjs.js +0 -1
  923. package/math/ColorConverter.cjs.js +0 -1
  924. package/math/ConvexHull.cjs.js +0 -1
  925. package/math/ImprovedNoise.cjs.js +0 -1
  926. package/math/Lut.cjs.js +0 -1
  927. package/math/MeshSurfaceSampler.cjs.js +0 -1
  928. package/math/OBB.cjs.js +0 -1
  929. package/math/Octree.cjs.js +0 -1
  930. package/math/SimplexNoise.cjs.js +0 -1
  931. package/misc/ConvexObjectBreaker.cjs.js +0 -1
  932. package/misc/GPUComputationRenderer.cjs.js +0 -1
  933. package/misc/Gyroscope.cjs.js +0 -1
  934. package/misc/MD2Character.cjs.js +0 -1
  935. package/misc/MD2CharacterComplex.cjs.js +0 -1
  936. package/misc/MorphAnimMesh.cjs.js +0 -1
  937. package/misc/MorphBlendMesh.cjs.js +0 -1
  938. package/misc/ProgressiveLightmap.cjs.js +0 -1
  939. package/misc/RollerCoaster.cjs.js +0 -1
  940. package/misc/TubePainter.cjs.js +0 -1
  941. package/misc/Volume.cjs.js +0 -1
  942. package/misc/VolumeSlice.cjs.js +0 -1
  943. package/misc/WebGL.cjs.js +0 -1
  944. package/modifiers/CurveModifier.cjs.js +0 -1
  945. package/modifiers/EdgeSplitModifier.cjs.js +0 -1
  946. package/modifiers/SimplifyModifier.cjs.js +0 -1
  947. package/modifiers/TessellateModifier.cjs.js +0 -1
  948. package/nodes/Nodes.cjs.js +0 -1
  949. package/nodes/ShaderNode.cjs.js +0 -1
  950. package/nodes/accessors/BufferNode.cjs.js +0 -1
  951. package/nodes/accessors/CameraNode.cjs.js +0 -1
  952. package/nodes/accessors/CubeTextureNode.cjs.js +0 -1
  953. package/nodes/accessors/MaterialNode.cjs.js +0 -1
  954. package/nodes/accessors/MaterialReferenceNode.cjs.js +0 -1
  955. package/nodes/accessors/ModelNode.cjs.js +0 -1
  956. package/nodes/accessors/ModelViewProjectionNode.cjs.js +0 -1
  957. package/nodes/accessors/NormalNode.cjs.js +0 -1
  958. package/nodes/accessors/Object3DNode.cjs.js +0 -1
  959. package/nodes/accessors/PointUVNode.cjs.js +0 -1
  960. package/nodes/accessors/PositionNode.cjs.js +0 -1
  961. package/nodes/accessors/ReferenceNode.cjs.js +0 -1
  962. package/nodes/accessors/ReflectNode.cjs.js +0 -1
  963. package/nodes/accessors/SkinningNode.cjs.js +0 -1
  964. package/nodes/accessors/TextureNode.cjs.js +0 -1
  965. package/nodes/accessors/UVNode.cjs.js +0 -1
  966. package/nodes/core/ArrayUniformNode.cjs.js +0 -1
  967. package/nodes/core/AttributeNode.cjs.js +0 -1
  968. package/nodes/core/BypassNode.cjs.js +0 -1
  969. package/nodes/core/CodeNode.cjs.js +0 -1
  970. package/nodes/core/ConstNode.cjs.js +0 -1
  971. package/nodes/core/ContextNode.cjs.js +0 -1
  972. package/nodes/core/ExpressionNode.cjs.js +0 -1
  973. package/nodes/core/FunctionCallNode.cjs.js +0 -1
  974. package/nodes/core/FunctionNode.cjs.js +0 -1
  975. package/nodes/core/InputNode.cjs.js +0 -1
  976. package/nodes/core/Node.cjs.js +0 -1
  977. package/nodes/core/NodeAttribute.cjs.js +0 -1
  978. package/nodes/core/NodeBuilder.cjs.js +0 -1
  979. package/nodes/core/NodeCode.cjs.js +0 -1
  980. package/nodes/core/NodeFrame.cjs.js +0 -1
  981. package/nodes/core/NodeFunction.cjs.js +0 -1
  982. package/nodes/core/NodeFunction.js +0 -17
  983. package/nodes/core/NodeFunctionInput.cjs.js +0 -1
  984. package/nodes/core/NodeKeywords.cjs.js +0 -1
  985. package/nodes/core/NodeParser.cjs.js +0 -1
  986. package/nodes/core/NodeParser.js +0 -8
  987. package/nodes/core/NodeUniform.cjs.js +0 -1
  988. package/nodes/core/NodeUtils.cjs.js +0 -1
  989. package/nodes/core/NodeVar.cjs.js +0 -1
  990. package/nodes/core/NodeVary.cjs.js +0 -1
  991. package/nodes/core/PropertyNode.cjs.js +0 -1
  992. package/nodes/core/TempNode.cjs.js +0 -1
  993. package/nodes/core/UniformNode.cjs.js +0 -1
  994. package/nodes/core/VarNode.cjs.js +0 -1
  995. package/nodes/core/VaryNode.cjs.js +0 -1
  996. package/nodes/core/constants.cjs.js +0 -1
  997. package/nodes/display/ColorSpaceNode.cjs.js +0 -1
  998. package/nodes/display/NormalMapNode.cjs.js +0 -1
  999. package/nodes/fog/FogNode.cjs.js +0 -1
  1000. package/nodes/fog/FogRangeNode.cjs.js +0 -1
  1001. package/nodes/functions/BSDFs.cjs.js +0 -1
  1002. package/nodes/functions/PhysicalMaterialFunctions.cjs.js +0 -1
  1003. package/nodes/functions/PhysicalMaterialFunctions.js +0 -57
  1004. package/nodes/lights/LightContextNode.cjs.js +0 -1
  1005. package/nodes/lights/LightNode.cjs.js +0 -1
  1006. package/nodes/lights/LightsNode.cjs.js +0 -1
  1007. package/nodes/loaders/NodeLoader.cjs.js +0 -1
  1008. package/nodes/loaders/NodeMaterialLoader.cjs.js +0 -1
  1009. package/nodes/loaders/NodeObjectLoader.cjs.js +0 -1
  1010. package/nodes/materials/LineBasicNodeMaterial.cjs.js +0 -1
  1011. package/nodes/materials/Materials.cjs.js +0 -1
  1012. package/nodes/materials/MeshBasicNodeMaterial.cjs.js +0 -1
  1013. package/nodes/materials/MeshStandardNodeMaterial.cjs.js +0 -1
  1014. package/nodes/materials/NodeMaterial.cjs.js +0 -1
  1015. package/nodes/materials/PointsNodeMaterial.cjs.js +0 -1
  1016. package/nodes/math/CondNode.cjs.js +0 -1
  1017. package/nodes/math/MathNode.cjs.js +0 -1
  1018. package/nodes/math/OperatorNode.cjs.js +0 -1
  1019. package/nodes/parsers/GLSLNodeFunction.cjs.js +0 -1
  1020. package/nodes/parsers/GLSLNodeFunction.js +0 -101
  1021. package/nodes/parsers/GLSLNodeParser.cjs.js +0 -1
  1022. package/nodes/parsers/GLSLNodeParser.js +0 -13
  1023. package/nodes/parsers/WGSLNodeFunction.cjs.js +0 -1
  1024. package/nodes/parsers/WGSLNodeFunction.js +0 -71
  1025. package/nodes/parsers/WGSLNodeParser.cjs.js +0 -1
  1026. package/nodes/parsers/WGSLNodeParser.js +0 -13
  1027. package/nodes/procedural/CheckerNode.cjs.js +0 -1
  1028. package/nodes/utils/ArrayElementNode.cjs.js +0 -1
  1029. package/nodes/utils/ConvertNode.cjs.js +0 -1
  1030. package/nodes/utils/JoinNode.cjs.js +0 -1
  1031. package/nodes/utils/MatcapUVNode.cjs.js +0 -1
  1032. package/nodes/utils/OscNode.cjs.js +0 -1
  1033. package/nodes/utils/SplitNode.cjs.js +0 -1
  1034. package/nodes/utils/SpriteSheetUVNode.cjs.js +0 -1
  1035. package/nodes/utils/TimerNode.cjs.js +0 -1
  1036. package/objects/GroundProjectedEnv.cjs.js +0 -1
  1037. package/objects/Lensflare.cjs.js +0 -1
  1038. package/objects/LightningStorm.cjs.js +0 -1
  1039. package/objects/MarchingCubes.cjs.js +0 -1
  1040. package/objects/Reflector.cjs.js +0 -1
  1041. package/objects/ReflectorForSSRPass.cjs.js +0 -1
  1042. package/objects/ReflectorRTT.cjs.js +0 -1
  1043. package/objects/Refractor.cjs.js +0 -1
  1044. package/objects/ShadowMesh.cjs.js +0 -1
  1045. package/objects/Sky.cjs.js +0 -1
  1046. package/objects/Water.cjs.js +0 -1
  1047. package/objects/Water2.cjs.js +0 -1
  1048. package/offscreen/jank.cjs.js +0 -1
  1049. package/offscreen/offscreen.cjs.js +0 -1
  1050. package/offscreen/scene.cjs.js +0 -1
  1051. package/physics/AmmoPhysics.cjs.js +0 -1
  1052. package/postprocessing/AdaptiveToneMappingPass.cjs.js +0 -1
  1053. package/postprocessing/AfterimagePass.cjs.js +0 -1
  1054. package/postprocessing/BloomPass.cjs.js +0 -1
  1055. package/postprocessing/BokehPass.cjs.js +0 -1
  1056. package/postprocessing/ClearPass.cjs.js +0 -1
  1057. package/postprocessing/CubeTexturePass.cjs.js +0 -1
  1058. package/postprocessing/DotScreenPass.cjs.js +0 -1
  1059. package/postprocessing/EffectComposer.cjs.js +0 -1
  1060. package/postprocessing/FilmPass.cjs.js +0 -1
  1061. package/postprocessing/GlitchPass.cjs.js +0 -1
  1062. package/postprocessing/HalftonePass.cjs.js +0 -1
  1063. package/postprocessing/LUTPass.cjs.js +0 -1
  1064. package/postprocessing/MaskPass.cjs.js +0 -1
  1065. package/postprocessing/OutlinePass.cjs.js +0 -1
  1066. package/postprocessing/Pass.cjs.js +0 -1
  1067. package/postprocessing/RenderPass.cjs.js +0 -1
  1068. package/postprocessing/RenderPixelatedPass.cjs.js +0 -1
  1069. package/postprocessing/SAOPass.cjs.js +0 -1
  1070. package/postprocessing/SMAAPass.cjs.js +0 -1
  1071. package/postprocessing/SSAARenderPass.cjs.js +0 -1
  1072. package/postprocessing/SSAOPass.cjs.js +0 -1
  1073. package/postprocessing/SSRPass.cjs.js +0 -1
  1074. package/postprocessing/SavePass.cjs.js +0 -1
  1075. package/postprocessing/ShaderPass.cjs.js +0 -1
  1076. package/postprocessing/TAARenderPass.cjs.js +0 -1
  1077. package/postprocessing/TexturePass.cjs.js +0 -1
  1078. package/postprocessing/UnrealBloomPass.cjs.js +0 -1
  1079. package/renderers/CSS2DRenderer.cjs.js +0 -1
  1080. package/renderers/CSS3DRenderer.cjs.js +0 -1
  1081. package/renderers/Projector.cjs.js +0 -1
  1082. package/renderers/SVGRenderer.cjs.js +0 -1
  1083. package/renderers/nodes/accessors/CameraNode.cjs.js +0 -1
  1084. package/renderers/nodes/accessors/ModelNode.cjs.js +0 -1
  1085. package/renderers/nodes/accessors/ModelViewProjectionNode.cjs.js +0 -1
  1086. package/renderers/nodes/accessors/NormalNode.cjs.js +0 -1
  1087. package/renderers/nodes/accessors/PositionNode.cjs.js +0 -1
  1088. package/renderers/nodes/accessors/UVNode.cjs.js +0 -1
  1089. package/renderers/nodes/core/AttributeNode.cjs.js +0 -1
  1090. package/renderers/nodes/core/InputNode.cjs.js +0 -1
  1091. package/renderers/nodes/core/Node.cjs.js +0 -1
  1092. package/renderers/nodes/core/NodeAttribute.cjs.js +0 -1
  1093. package/renderers/nodes/core/NodeBuilder.cjs.js +0 -1
  1094. package/renderers/nodes/core/NodeFrame.cjs.js +0 -1
  1095. package/renderers/nodes/core/NodeSlot.cjs.js +0 -1
  1096. package/renderers/nodes/core/NodeUniform.cjs.js +0 -1
  1097. package/renderers/nodes/core/NodeVary.cjs.js +0 -1
  1098. package/renderers/nodes/core/VaryNode.cjs.js +0 -1
  1099. package/renderers/nodes/core/constants.cjs.js +0 -1
  1100. package/renderers/nodes/inputs/ColorNode.cjs.js +0 -1
  1101. package/renderers/nodes/inputs/FloatNode.cjs.js +0 -1
  1102. package/renderers/nodes/inputs/Matrix3Node.cjs.js +0 -1
  1103. package/renderers/nodes/inputs/Matrix4Node.cjs.js +0 -1
  1104. package/renderers/nodes/inputs/TextureNode.cjs.js +0 -1
  1105. package/renderers/nodes/inputs/Vector2Node.cjs.js +0 -1
  1106. package/renderers/nodes/inputs/Vector3Node.cjs.js +0 -1
  1107. package/renderers/nodes/inputs/Vector4Node.cjs.js +0 -1
  1108. package/renderers/nodes/math/MathNode.cjs.js +0 -1
  1109. package/renderers/nodes/math/OperatorNode.cjs.js +0 -1
  1110. package/renderers/nodes/utils/SwitchNode.cjs.js +0 -1
  1111. package/renderers/nodes/utils/TimerNode.cjs.js +0 -1
  1112. package/renderers/webgpu/WebGPU.cjs.js +0 -1
  1113. package/renderers/webgpu/WebGPUAttributes.cjs.js +0 -1
  1114. package/renderers/webgpu/WebGPUBackground.cjs.js +0 -1
  1115. package/renderers/webgpu/WebGPUBinding.cjs.js +0 -1
  1116. package/renderers/webgpu/WebGPUBindings.cjs.js +0 -1
  1117. package/renderers/webgpu/WebGPUComputePipelines.cjs.js +0 -1
  1118. package/renderers/webgpu/WebGPUGeometries.cjs.js +0 -1
  1119. package/renderers/webgpu/WebGPUInfo.cjs.js +0 -1
  1120. package/renderers/webgpu/WebGPUObjects.cjs.js +0 -1
  1121. package/renderers/webgpu/WebGPUProperties.cjs.js +0 -1
  1122. package/renderers/webgpu/WebGPURenderLists.cjs.js +0 -1
  1123. package/renderers/webgpu/WebGPURenderPipelines.cjs.js +0 -1
  1124. package/renderers/webgpu/WebGPURenderer.cjs.js +0 -1
  1125. package/renderers/webgpu/WebGPUSampledTexture.cjs.js +0 -1
  1126. package/renderers/webgpu/WebGPUSampler.cjs.js +0 -1
  1127. package/renderers/webgpu/WebGPUStorageBuffer.cjs.js +0 -1
  1128. package/renderers/webgpu/WebGPUTextureRenderer.cjs.js +0 -1
  1129. package/renderers/webgpu/WebGPUTextureUtils.cjs.js +0 -1
  1130. package/renderers/webgpu/WebGPUTextures.cjs.js +0 -1
  1131. package/renderers/webgpu/WebGPUUniform.cjs.js +0 -1
  1132. package/renderers/webgpu/WebGPUUniformsGroup.cjs.js +0 -1
  1133. package/renderers/webgpu/constants.cjs.js +0 -1
  1134. package/renderers/webgpu/nodes/ShaderLib.cjs.js +0 -1
  1135. package/renderers/webgpu/nodes/WebGPUNodeBuilder.cjs.js +0 -1
  1136. package/renderers/webgpu/nodes/WebGPUNodeUniform.cjs.js +0 -1
  1137. package/renderers/webgpu/nodes/WebGPUNodeUniformsGroup.cjs.js +0 -1
  1138. package/renderers/webgpu/nodes/WebGPUNodes.cjs.js +0 -1
  1139. package/shaders/ACESFilmicToneMappingShader.cjs.js +0 -1
  1140. package/shaders/AfterimageShader.cjs.js +0 -1
  1141. package/shaders/BasicShader.cjs.js +0 -1
  1142. package/shaders/BleachBypassShader.cjs.js +0 -1
  1143. package/shaders/BlendShader.cjs.js +0 -1
  1144. package/shaders/BokehShader.cjs.js +0 -1
  1145. package/shaders/BokehShader2.cjs.js +0 -1
  1146. package/shaders/BrightnessContrastShader.cjs.js +0 -1
  1147. package/shaders/ColorCorrectionShader.cjs.js +0 -1
  1148. package/shaders/ColorifyShader.cjs.js +0 -1
  1149. package/shaders/ConvolutionShader.cjs.js +0 -1
  1150. package/shaders/CopyShader.cjs.js +0 -1
  1151. package/shaders/DOFMipMapShader.cjs.js +0 -1
  1152. package/shaders/DepthLimitedBlurShader.cjs.js +0 -1
  1153. package/shaders/DigitalGlitch.cjs.js +0 -1
  1154. package/shaders/DotScreenShader.cjs.js +0 -1
  1155. package/shaders/FXAAShader.cjs.js +0 -1
  1156. package/shaders/FilmShader.cjs.js +0 -1
  1157. package/shaders/FocusShader.cjs.js +0 -1
  1158. package/shaders/FreiChenShader.cjs.js +0 -1
  1159. package/shaders/FresnelShader.cjs.js +0 -1
  1160. package/shaders/GammaCorrectionShader.cjs.js +0 -1
  1161. package/shaders/GodRaysShader.cjs.js +0 -1
  1162. package/shaders/HalftoneShader.cjs.js +0 -1
  1163. package/shaders/HorizontalBlurShader.cjs.js +0 -1
  1164. package/shaders/HorizontalTiltShiftShader.cjs.js +0 -1
  1165. package/shaders/HueSaturationShader.cjs.js +0 -1
  1166. package/shaders/KaleidoShader.cjs.js +0 -1
  1167. package/shaders/LuminosityHighPassShader.cjs.js +0 -1
  1168. package/shaders/LuminosityShader.cjs.js +0 -1
  1169. package/shaders/MirrorShader.cjs.js +0 -1
  1170. package/shaders/NormalMapShader.cjs.js +0 -1
  1171. package/shaders/ParallaxShader.cjs.js +0 -1
  1172. package/shaders/PixelShader.cjs.js +0 -1
  1173. package/shaders/RGBShiftShader.cjs.js +0 -1
  1174. package/shaders/SAOShader.cjs.js +0 -1
  1175. package/shaders/SMAAShader.cjs.js +0 -1
  1176. package/shaders/SSAOShader.cjs.js +0 -1
  1177. package/shaders/SSRShader.cjs.js +0 -1
  1178. package/shaders/SepiaShader.cjs.js +0 -1
  1179. package/shaders/SobelOperatorShader.cjs.js +0 -1
  1180. package/shaders/SubsurfaceScatteringShader.cjs.js +0 -1
  1181. package/shaders/TechnicolorShader.cjs.js +0 -1
  1182. package/shaders/ToneMapShader.cjs.js +0 -1
  1183. package/shaders/ToonShader.cjs.js +0 -1
  1184. package/shaders/TriangleBlurShader.cjs.js +0 -1
  1185. package/shaders/UnpackDepthRGBAShader.cjs.js +0 -1
  1186. package/shaders/VerticalBlurShader.cjs.js +0 -1
  1187. package/shaders/VerticalTiltShiftShader.cjs.js +0 -1
  1188. package/shaders/VignetteShader.cjs.js +0 -1
  1189. package/shaders/VolumeShader.cjs.js +0 -1
  1190. package/shaders/WaterRefractionShader.cjs.js +0 -1
  1191. package/shaders/index.cjs.js +0 -1
  1192. package/shaders/index.d.ts +0 -54
  1193. package/shaders/index.js +0 -53
  1194. package/shaders/types.cjs.js +0 -1
  1195. package/textures/FlakesTexture.cjs.js +0 -1
  1196. package/types/helpers.cjs.js +0 -1
  1197. package/types/shared.cjs.js +0 -1
  1198. package/types/shared.js +0 -1
  1199. package/types/utils.cjs.js +0 -1
  1200. package/types/utils.js +0 -1
  1201. package/utils/BufferGeometryUtils.cjs.js +0 -1
  1202. package/utils/GeometryCompressionUtils.cjs.js +0 -1
  1203. package/utils/GeometryUtils.cjs.js +0 -1
  1204. package/utils/LDrawUtils.cjs.js +0 -1
  1205. package/utils/LDrawUtils.d.ts +0 -5
  1206. package/utils/LDrawUtils.js +0 -144
  1207. package/utils/RoughnessMipmapper.cjs.js +0 -1
  1208. package/utils/SceneUtils.cjs.js +0 -1
  1209. package/utils/ShadowMapViewer.cjs.js +0 -1
  1210. package/utils/SkeletonUtils.cjs.js +0 -1
  1211. package/utils/UVsDebug.cjs.js +0 -1
  1212. package/utils/WorkerPool.cjs.js +0 -1
  1213. package/webxr/ARButton.cjs.js +0 -1
  1214. package/webxr/OculusHandModel.cjs.js +0 -1
  1215. package/webxr/OculusHandPointerModel.cjs.js +0 -1
  1216. package/webxr/Text2D.cjs.js +0 -1
  1217. package/webxr/VRButton.cjs.js +0 -1
  1218. package/webxr/XRControllerModelFactory.cjs.js +0 -1
  1219. package/webxr/XREstimatedLight.cjs.js +0 -1
  1220. package/webxr/XRHandMeshModel.cjs.js +0 -1
  1221. package/webxr/XRHandModelFactory.cjs.js +0 -1
  1222. package/webxr/XRHandPrimitiveModel.cjs.js +0 -1
@@ -1,161 +1,86 @@
1
- import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
2
- import { Object3D, Raycaster, Vector3, Quaternion, Euler, Matrix4, Color, MeshBasicMaterial, DoubleSide, LineBasicMaterial, CylinderGeometry, BoxGeometry, BufferGeometry, Float32BufferAttribute, Mesh, Line, OctahedronGeometry, PlaneGeometry, TorusGeometry, SphereGeometry } from 'three';
3
-
4
- class TransformControls extends Object3D {
5
- // events
6
- constructor(camera, _domElement) {
1
+ "use strict";
2
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
+ const THREE = require("three");
4
+ class TransformControls extends THREE.Object3D {
5
+ constructor(camera, domElement) {
7
6
  super();
8
-
9
- _defineProperty(this, "isTransformControls", true);
10
-
11
- _defineProperty(this, "visible", false);
12
-
13
- _defineProperty(this, "domElement", void 0);
14
-
15
- _defineProperty(this, "raycaster", new Raycaster());
16
-
17
- _defineProperty(this, "gizmo", void 0);
18
-
19
- _defineProperty(this, "plane", void 0);
20
-
21
- _defineProperty(this, "tempVector", new Vector3());
22
-
23
- _defineProperty(this, "tempVector2", new Vector3());
24
-
25
- _defineProperty(this, "tempQuaternion", new Quaternion());
26
-
27
- _defineProperty(this, "unit", {
28
- X: new Vector3(1, 0, 0),
29
- Y: new Vector3(0, 1, 0),
30
- Z: new Vector3(0, 0, 1)
31
- });
32
-
33
- _defineProperty(this, "pointStart", new Vector3());
34
-
35
- _defineProperty(this, "pointEnd", new Vector3());
36
-
37
- _defineProperty(this, "offset", new Vector3());
38
-
39
- _defineProperty(this, "rotationAxis", new Vector3());
40
-
41
- _defineProperty(this, "startNorm", new Vector3());
42
-
43
- _defineProperty(this, "endNorm", new Vector3());
44
-
45
- _defineProperty(this, "rotationAngle", 0);
46
-
47
- _defineProperty(this, "cameraPosition", new Vector3());
48
-
49
- _defineProperty(this, "cameraQuaternion", new Quaternion());
50
-
51
- _defineProperty(this, "cameraScale", new Vector3());
52
-
53
- _defineProperty(this, "parentPosition", new Vector3());
54
-
55
- _defineProperty(this, "parentQuaternion", new Quaternion());
56
-
57
- _defineProperty(this, "parentQuaternionInv", new Quaternion());
58
-
59
- _defineProperty(this, "parentScale", new Vector3());
60
-
61
- _defineProperty(this, "worldPositionStart", new Vector3());
62
-
63
- _defineProperty(this, "worldQuaternionStart", new Quaternion());
64
-
65
- _defineProperty(this, "worldScaleStart", new Vector3());
66
-
67
- _defineProperty(this, "worldPosition", new Vector3());
68
-
69
- _defineProperty(this, "worldQuaternion", new Quaternion());
70
-
71
- _defineProperty(this, "worldQuaternionInv", new Quaternion());
72
-
73
- _defineProperty(this, "worldScale", new Vector3());
74
-
75
- _defineProperty(this, "eye", new Vector3());
76
-
77
- _defineProperty(this, "positionStart", new Vector3());
78
-
79
- _defineProperty(this, "quaternionStart", new Quaternion());
80
-
81
- _defineProperty(this, "scaleStart", new Vector3());
82
-
83
- _defineProperty(this, "camera", void 0);
84
-
85
- _defineProperty(this, "object", void 0);
86
-
87
- _defineProperty(this, "enabled", true);
88
-
89
- _defineProperty(this, "axis", null);
90
-
91
- _defineProperty(this, "mode", 'translate');
92
-
93
- _defineProperty(this, "translationSnap", null);
94
-
95
- _defineProperty(this, "rotationSnap", null);
96
-
97
- _defineProperty(this, "scaleSnap", null);
98
-
99
- _defineProperty(this, "space", 'world');
100
-
101
- _defineProperty(this, "size", 1);
102
-
103
- _defineProperty(this, "dragging", false);
104
-
105
- _defineProperty(this, "showX", true);
106
-
107
- _defineProperty(this, "showY", true);
108
-
109
- _defineProperty(this, "showZ", true);
110
-
111
- _defineProperty(this, "changeEvent", {
112
- type: 'change'
113
- });
114
-
115
- _defineProperty(this, "mouseDownEvent", {
116
- type: 'mouseDown',
117
- mode: this.mode
118
- });
119
-
120
- _defineProperty(this, "mouseUpEvent", {
121
- type: 'mouseUp',
122
- mode: this.mode
123
- });
124
-
125
- _defineProperty(this, "objectChangeEvent", {
126
- type: 'objectChange'
127
- });
128
-
129
- _defineProperty(this, "intersectObjectWithRay", (object, raycaster, includeInvisible) => {
7
+ this.isTransformControls = true;
8
+ this.visible = false;
9
+ this.raycaster = new THREE.Raycaster();
10
+ this.tempVector = new THREE.Vector3();
11
+ this.tempVector2 = new THREE.Vector3();
12
+ this.tempQuaternion = new THREE.Quaternion();
13
+ this.unit = {
14
+ X: new THREE.Vector3(1, 0, 0),
15
+ Y: new THREE.Vector3(0, 1, 0),
16
+ Z: new THREE.Vector3(0, 0, 1)
17
+ };
18
+ this.pointStart = new THREE.Vector3();
19
+ this.pointEnd = new THREE.Vector3();
20
+ this.offset = new THREE.Vector3();
21
+ this.rotationAxis = new THREE.Vector3();
22
+ this.startNorm = new THREE.Vector3();
23
+ this.endNorm = new THREE.Vector3();
24
+ this.rotationAngle = 0;
25
+ this.cameraPosition = new THREE.Vector3();
26
+ this.cameraQuaternion = new THREE.Quaternion();
27
+ this.cameraScale = new THREE.Vector3();
28
+ this.parentPosition = new THREE.Vector3();
29
+ this.parentQuaternion = new THREE.Quaternion();
30
+ this.parentQuaternionInv = new THREE.Quaternion();
31
+ this.parentScale = new THREE.Vector3();
32
+ this.worldPositionStart = new THREE.Vector3();
33
+ this.worldQuaternionStart = new THREE.Quaternion();
34
+ this.worldScaleStart = new THREE.Vector3();
35
+ this.worldPosition = new THREE.Vector3();
36
+ this.worldQuaternion = new THREE.Quaternion();
37
+ this.worldQuaternionInv = new THREE.Quaternion();
38
+ this.worldScale = new THREE.Vector3();
39
+ this.eye = new THREE.Vector3();
40
+ this.positionStart = new THREE.Vector3();
41
+ this.quaternionStart = new THREE.Quaternion();
42
+ this.scaleStart = new THREE.Vector3();
43
+ this.enabled = true;
44
+ this.axis = null;
45
+ this.mode = "translate";
46
+ this.translationSnap = null;
47
+ this.rotationSnap = null;
48
+ this.scaleSnap = null;
49
+ this.space = "world";
50
+ this.size = 1;
51
+ this.dragging = false;
52
+ this.showX = true;
53
+ this.showY = true;
54
+ this.showZ = true;
55
+ this.changeEvent = { type: "change" };
56
+ this.mouseDownEvent = { type: "mouseDown", mode: this.mode };
57
+ this.mouseUpEvent = { type: "mouseUp", mode: this.mode };
58
+ this.objectChangeEvent = { type: "objectChange" };
59
+ this.intersectObjectWithRay = (object, raycaster, includeInvisible) => {
130
60
  const allIntersections = raycaster.intersectObject(object, true);
131
-
132
61
  for (let i = 0; i < allIntersections.length; i++) {
133
62
  if (allIntersections[i].object.visible || includeInvisible) {
134
63
  return allIntersections[i];
135
64
  }
136
65
  }
137
-
138
66
  return false;
139
- });
140
-
141
- _defineProperty(this, "attach", object => {
67
+ };
68
+ this.attach = (object) => {
142
69
  this.object = object;
143
70
  this.visible = true;
144
71
  return this;
145
- });
146
-
147
- _defineProperty(this, "detach", () => {
148
- this.object = undefined;
72
+ };
73
+ this.detach = () => {
74
+ this.object = void 0;
149
75
  this.visible = false;
150
76
  this.axis = null;
151
77
  return this;
152
- });
153
-
154
- _defineProperty(this, "reset", () => {
155
- if (!this.enabled) return this;
156
-
78
+ };
79
+ this.reset = () => {
80
+ if (!this.enabled)
81
+ return this;
157
82
  if (this.dragging) {
158
- if (this.object !== undefined) {
83
+ if (this.object !== void 0) {
159
84
  this.object.position.copy(this.positionStart);
160
85
  this.object.quaternion.copy(this.quaternionStart);
161
86
  this.object.scale.copy(this.scaleStart);
@@ -164,168 +89,144 @@ class TransformControls extends Object3D {
164
89
  this.pointStart.copy(this.pointEnd);
165
90
  }
166
91
  }
167
-
168
92
  return this;
169
- });
170
-
171
- _defineProperty(this, "updateMatrixWorld", () => {
172
- if (this.object !== undefined) {
93
+ };
94
+ this.updateMatrixWorld = () => {
95
+ if (this.object !== void 0) {
173
96
  this.object.updateMatrixWorld();
174
-
175
97
  if (this.object.parent === null) {
176
- console.error('TransformControls: The attached 3D object must be a part of the scene graph.');
98
+ console.error("TransformControls: The attached 3D object must be a part of the scene graph.");
177
99
  } else {
178
100
  this.object.parent.matrixWorld.decompose(this.parentPosition, this.parentQuaternion, this.parentScale);
179
101
  }
180
-
181
102
  this.object.matrixWorld.decompose(this.worldPosition, this.worldQuaternion, this.worldScale);
182
103
  this.parentQuaternionInv.copy(this.parentQuaternion).invert();
183
104
  this.worldQuaternionInv.copy(this.worldQuaternion).invert();
184
105
  }
185
-
186
106
  this.camera.updateMatrixWorld();
187
107
  this.camera.matrixWorld.decompose(this.cameraPosition, this.cameraQuaternion, this.cameraScale);
188
108
  this.eye.copy(this.cameraPosition).sub(this.worldPosition).normalize();
189
109
  super.updateMatrixWorld();
190
- });
191
-
192
- _defineProperty(this, "pointerHover", pointer => {
193
- if (this.object === undefined || this.dragging === true) return;
110
+ };
111
+ this.pointerHover = (pointer) => {
112
+ if (this.object === void 0 || this.dragging === true)
113
+ return;
194
114
  this.raycaster.setFromCamera(pointer, this.camera);
195
115
  const intersect = this.intersectObjectWithRay(this.gizmo.picker[this.mode], this.raycaster);
196
-
197
116
  if (intersect) {
198
117
  this.axis = intersect.object.name;
199
118
  } else {
200
119
  this.axis = null;
201
120
  }
202
- });
203
-
204
- _defineProperty(this, "pointerDown", pointer => {
205
- if (this.object === undefined || this.dragging === true || pointer.button !== 0) return;
206
-
121
+ };
122
+ this.pointerDown = (pointer) => {
123
+ if (this.object === void 0 || this.dragging === true || pointer.button !== 0)
124
+ return;
207
125
  if (this.axis !== null) {
208
126
  this.raycaster.setFromCamera(pointer, this.camera);
209
127
  const planeIntersect = this.intersectObjectWithRay(this.plane, this.raycaster, true);
210
-
211
128
  if (planeIntersect) {
212
129
  let space = this.space;
213
-
214
- if (this.mode === 'scale') {
215
- space = 'local';
216
- } else if (this.axis === 'E' || this.axis === 'XYZE' || this.axis === 'XYZ') {
217
- space = 'world';
130
+ if (this.mode === "scale") {
131
+ space = "local";
132
+ } else if (this.axis === "E" || this.axis === "XYZE" || this.axis === "XYZ") {
133
+ space = "world";
218
134
  }
219
-
220
- if (space === 'local' && this.mode === 'rotate') {
135
+ if (space === "local" && this.mode === "rotate") {
221
136
  const snap = this.rotationSnap;
222
- if (this.axis === 'X' && snap) this.object.rotation.x = Math.round(this.object.rotation.x / snap) * snap;
223
- if (this.axis === 'Y' && snap) this.object.rotation.y = Math.round(this.object.rotation.y / snap) * snap;
224
- if (this.axis === 'Z' && snap) this.object.rotation.z = Math.round(this.object.rotation.z / snap) * snap;
137
+ if (this.axis === "X" && snap)
138
+ this.object.rotation.x = Math.round(this.object.rotation.x / snap) * snap;
139
+ if (this.axis === "Y" && snap)
140
+ this.object.rotation.y = Math.round(this.object.rotation.y / snap) * snap;
141
+ if (this.axis === "Z" && snap)
142
+ this.object.rotation.z = Math.round(this.object.rotation.z / snap) * snap;
225
143
  }
226
-
227
144
  this.object.updateMatrixWorld();
228
-
229
145
  if (this.object.parent) {
230
146
  this.object.parent.updateMatrixWorld();
231
147
  }
232
-
233
148
  this.positionStart.copy(this.object.position);
234
149
  this.quaternionStart.copy(this.object.quaternion);
235
150
  this.scaleStart.copy(this.object.scale);
236
151
  this.object.matrixWorld.decompose(this.worldPositionStart, this.worldQuaternionStart, this.worldScaleStart);
237
152
  this.pointStart.copy(planeIntersect.point).sub(this.worldPositionStart);
238
153
  }
239
-
240
154
  this.dragging = true;
241
155
  this.mouseDownEvent.mode = this.mode;
242
156
  this.dispatchEvent(this.mouseDownEvent);
243
157
  }
244
- });
245
-
246
- _defineProperty(this, "pointerMove", pointer => {
158
+ };
159
+ this.pointerMove = (pointer) => {
247
160
  const axis = this.axis;
248
161
  const mode = this.mode;
249
162
  const object = this.object;
250
163
  let space = this.space;
251
-
252
- if (mode === 'scale') {
253
- space = 'local';
254
- } else if (axis === 'E' || axis === 'XYZE' || axis === 'XYZ') {
255
- space = 'world';
164
+ if (mode === "scale") {
165
+ space = "local";
166
+ } else if (axis === "E" || axis === "XYZE" || axis === "XYZ") {
167
+ space = "world";
256
168
  }
257
-
258
- if (object === undefined || axis === null || this.dragging === false || pointer.button !== -1) return;
169
+ if (object === void 0 || axis === null || this.dragging === false || pointer.button !== -1)
170
+ return;
259
171
  this.raycaster.setFromCamera(pointer, this.camera);
260
172
  const planeIntersect = this.intersectObjectWithRay(this.plane, this.raycaster, true);
261
- if (!planeIntersect) return;
173
+ if (!planeIntersect)
174
+ return;
262
175
  this.pointEnd.copy(planeIntersect.point).sub(this.worldPositionStart);
263
-
264
- if (mode === 'translate') {
265
- // Apply translate
176
+ if (mode === "translate") {
266
177
  this.offset.copy(this.pointEnd).sub(this.pointStart);
267
-
268
- if (space === 'local' && axis !== 'XYZ') {
178
+ if (space === "local" && axis !== "XYZ") {
269
179
  this.offset.applyQuaternion(this.worldQuaternionInv);
270
180
  }
271
-
272
- if (axis.indexOf('X') === -1) this.offset.x = 0;
273
- if (axis.indexOf('Y') === -1) this.offset.y = 0;
274
- if (axis.indexOf('Z') === -1) this.offset.z = 0;
275
-
276
- if (space === 'local' && axis !== 'XYZ') {
181
+ if (axis.indexOf("X") === -1)
182
+ this.offset.x = 0;
183
+ if (axis.indexOf("Y") === -1)
184
+ this.offset.y = 0;
185
+ if (axis.indexOf("Z") === -1)
186
+ this.offset.z = 0;
187
+ if (space === "local" && axis !== "XYZ") {
277
188
  this.offset.applyQuaternion(this.quaternionStart).divide(this.parentScale);
278
189
  } else {
279
190
  this.offset.applyQuaternion(this.parentQuaternionInv).divide(this.parentScale);
280
191
  }
281
-
282
- object.position.copy(this.offset).add(this.positionStart); // Apply translation snap
283
-
192
+ object.position.copy(this.offset).add(this.positionStart);
284
193
  if (this.translationSnap) {
285
- if (space === 'local') {
194
+ if (space === "local") {
286
195
  object.position.applyQuaternion(this.tempQuaternion.copy(this.quaternionStart).invert());
287
-
288
- if (axis.search('X') !== -1) {
196
+ if (axis.search("X") !== -1) {
289
197
  object.position.x = Math.round(object.position.x / this.translationSnap) * this.translationSnap;
290
198
  }
291
-
292
- if (axis.search('Y') !== -1) {
199
+ if (axis.search("Y") !== -1) {
293
200
  object.position.y = Math.round(object.position.y / this.translationSnap) * this.translationSnap;
294
201
  }
295
-
296
- if (axis.search('Z') !== -1) {
202
+ if (axis.search("Z") !== -1) {
297
203
  object.position.z = Math.round(object.position.z / this.translationSnap) * this.translationSnap;
298
204
  }
299
-
300
205
  object.position.applyQuaternion(this.quaternionStart);
301
206
  }
302
-
303
- if (space === 'world') {
207
+ if (space === "world") {
304
208
  if (object.parent) {
305
209
  object.position.add(this.tempVector.setFromMatrixPosition(object.parent.matrixWorld));
306
210
  }
307
-
308
- if (axis.search('X') !== -1) {
211
+ if (axis.search("X") !== -1) {
309
212
  object.position.x = Math.round(object.position.x / this.translationSnap) * this.translationSnap;
310
213
  }
311
-
312
- if (axis.search('Y') !== -1) {
214
+ if (axis.search("Y") !== -1) {
313
215
  object.position.y = Math.round(object.position.y / this.translationSnap) * this.translationSnap;
314
216
  }
315
-
316
- if (axis.search('Z') !== -1) {
217
+ if (axis.search("Z") !== -1) {
317
218
  object.position.z = Math.round(object.position.z / this.translationSnap) * this.translationSnap;
318
219
  }
319
-
320
220
  if (object.parent) {
321
221
  object.position.sub(this.tempVector.setFromMatrixPosition(object.parent.matrixWorld));
322
222
  }
323
223
  }
324
224
  }
325
- } else if (mode === 'scale') {
326
- if (axis.search('XYZ') !== -1) {
225
+ } else if (mode === "scale") {
226
+ if (axis.search("XYZ") !== -1) {
327
227
  let d = this.pointEnd.length() / this.pointStart.length();
328
- if (this.pointEnd.dot(this.pointStart) < 0) d *= -1;
228
+ if (this.pointEnd.dot(this.pointStart) < 0)
229
+ d *= -1;
329
230
  this.tempVector2.set(d, d, d);
330
231
  } else {
331
232
  this.tempVector.copy(this.pointStart);
@@ -333,67 +234,52 @@ class TransformControls extends Object3D {
333
234
  this.tempVector.applyQuaternion(this.worldQuaternionInv);
334
235
  this.tempVector2.applyQuaternion(this.worldQuaternionInv);
335
236
  this.tempVector2.divide(this.tempVector);
336
-
337
- if (axis.search('X') === -1) {
237
+ if (axis.search("X") === -1) {
338
238
  this.tempVector2.x = 1;
339
239
  }
340
-
341
- if (axis.search('Y') === -1) {
240
+ if (axis.search("Y") === -1) {
342
241
  this.tempVector2.y = 1;
343
242
  }
344
-
345
- if (axis.search('Z') === -1) {
243
+ if (axis.search("Z") === -1) {
346
244
  this.tempVector2.z = 1;
347
245
  }
348
- } // Apply scale
349
-
350
-
246
+ }
351
247
  object.scale.copy(this.scaleStart).multiply(this.tempVector2);
352
-
353
248
  if (this.scaleSnap && this.object) {
354
- if (axis.search('X') !== -1) {
249
+ if (axis.search("X") !== -1) {
355
250
  this.object.scale.x = Math.round(object.scale.x / this.scaleSnap) * this.scaleSnap || this.scaleSnap;
356
251
  }
357
-
358
- if (axis.search('Y') !== -1) {
252
+ if (axis.search("Y") !== -1) {
359
253
  object.scale.y = Math.round(object.scale.y / this.scaleSnap) * this.scaleSnap || this.scaleSnap;
360
254
  }
361
-
362
- if (axis.search('Z') !== -1) {
255
+ if (axis.search("Z") !== -1) {
363
256
  object.scale.z = Math.round(object.scale.z / this.scaleSnap) * this.scaleSnap || this.scaleSnap;
364
257
  }
365
258
  }
366
- } else if (mode === 'rotate') {
259
+ } else if (mode === "rotate") {
367
260
  this.offset.copy(this.pointEnd).sub(this.pointStart);
368
261
  const ROTATION_SPEED = 20 / this.worldPosition.distanceTo(this.tempVector.setFromMatrixPosition(this.camera.matrixWorld));
369
-
370
- if (axis === 'E') {
262
+ if (axis === "E") {
371
263
  this.rotationAxis.copy(this.eye);
372
264
  this.rotationAngle = this.pointEnd.angleTo(this.pointStart);
373
265
  this.startNorm.copy(this.pointStart).normalize();
374
266
  this.endNorm.copy(this.pointEnd).normalize();
375
267
  this.rotationAngle *= this.endNorm.cross(this.startNorm).dot(this.eye) < 0 ? 1 : -1;
376
- } else if (axis === 'XYZE') {
268
+ } else if (axis === "XYZE") {
377
269
  this.rotationAxis.copy(this.offset).cross(this.eye).normalize();
378
270
  this.rotationAngle = this.offset.dot(this.tempVector.copy(this.rotationAxis).cross(this.eye)) * ROTATION_SPEED;
379
- } else if (axis === 'X' || axis === 'Y' || axis === 'Z') {
271
+ } else if (axis === "X" || axis === "Y" || axis === "Z") {
380
272
  this.rotationAxis.copy(this.unit[axis]);
381
273
  this.tempVector.copy(this.unit[axis]);
382
-
383
- if (space === 'local') {
274
+ if (space === "local") {
384
275
  this.tempVector.applyQuaternion(this.worldQuaternion);
385
276
  }
386
-
387
277
  this.rotationAngle = this.offset.dot(this.tempVector.cross(this.eye).normalize()) * ROTATION_SPEED;
388
- } // Apply rotation snap
389
-
390
-
278
+ }
391
279
  if (this.rotationSnap) {
392
280
  this.rotationAngle = Math.round(this.rotationAngle / this.rotationSnap) * this.rotationSnap;
393
- } // Apply rotate
394
-
395
-
396
- if (space === 'local' && axis !== 'E' && axis !== 'XYZE') {
281
+ }
282
+ if (space === "local" && axis !== "E" && axis !== "XYZE") {
397
283
  object.quaternion.copy(this.quaternionStart);
398
284
  object.quaternion.multiply(this.tempQuaternion.setFromAxisAngle(this.rotationAxis, this.rotationAngle)).normalize();
399
285
  } else {
@@ -402,362 +288,279 @@ class TransformControls extends Object3D {
402
288
  object.quaternion.multiply(this.quaternionStart).normalize();
403
289
  }
404
290
  }
405
-
406
291
  this.dispatchEvent(this.changeEvent);
407
292
  this.dispatchEvent(this.objectChangeEvent);
408
- });
409
-
410
- _defineProperty(this, "pointerUp", pointer => {
411
- if (pointer.button !== 0) return;
412
-
293
+ };
294
+ this.pointerUp = (pointer) => {
295
+ if (pointer.button !== 0)
296
+ return;
413
297
  if (this.dragging && this.axis !== null) {
414
298
  this.mouseUpEvent.mode = this.mode;
415
299
  this.dispatchEvent(this.mouseUpEvent);
416
300
  }
417
-
418
301
  this.dragging = false;
419
302
  this.axis = null;
420
- });
421
-
422
- _defineProperty(this, "getPointer", event => {
423
- var _this$domElement$owne;
424
-
425
- if (this.domElement && (_this$domElement$owne = this.domElement.ownerDocument) !== null && _this$domElement$owne !== void 0 && _this$domElement$owne.pointerLockElement) {
303
+ };
304
+ this.getPointer = (event) => {
305
+ var _a, _b;
306
+ if (this.domElement && ((_a = this.domElement.ownerDocument) == null ? void 0 : _a.pointerLockElement)) {
426
307
  return {
427
308
  x: 0,
428
309
  y: 0,
429
310
  button: event.button
430
311
  };
431
312
  } else {
432
- var _this$domElement;
433
-
434
313
  const pointer = event.changedTouches ? event.changedTouches[0] : event;
435
- const rect = (_this$domElement = this.domElement) === null || _this$domElement === void 0 ? void 0 : _this$domElement.getBoundingClientRect();
314
+ const rect = (_b = this.domElement) == null ? void 0 : _b.getBoundingClientRect();
436
315
  return {
437
316
  x: (pointer.clientX - rect.left) / rect.width * 2 - 1,
438
317
  y: -(pointer.clientY - rect.top) / rect.height * 2 + 1,
439
318
  button: event.button
440
319
  };
441
320
  }
442
- });
443
-
444
- _defineProperty(this, "onPointerHover", event => {
445
- if (!this.enabled) return;
446
-
321
+ };
322
+ this.onPointerHover = (event) => {
323
+ if (!this.enabled)
324
+ return;
447
325
  switch (event.pointerType) {
448
- case 'mouse':
449
- case 'pen':
326
+ case "mouse":
327
+ case "pen":
450
328
  this.pointerHover(this.getPointer(event));
451
329
  break;
452
330
  }
453
- });
454
-
455
- _defineProperty(this, "onPointerDown", event => {
456
- if (!this.enabled || !this.domElement) return;
457
- this.domElement.style.touchAction = 'none'; // disable touch scroll
458
-
459
- this.domElement.ownerDocument.addEventListener('pointermove', this.onPointerMove);
331
+ };
332
+ this.onPointerDown = (event) => {
333
+ if (!this.enabled || !this.domElement)
334
+ return;
335
+ this.domElement.style.touchAction = "none";
336
+ this.domElement.ownerDocument.addEventListener("pointermove", this.onPointerMove);
460
337
  this.pointerHover(this.getPointer(event));
461
338
  this.pointerDown(this.getPointer(event));
462
- });
463
-
464
- _defineProperty(this, "onPointerMove", event => {
465
- if (!this.enabled) return;
339
+ };
340
+ this.onPointerMove = (event) => {
341
+ if (!this.enabled)
342
+ return;
466
343
  this.pointerMove(this.getPointer(event));
467
- });
468
-
469
- _defineProperty(this, "onPointerUp", event => {
470
- if (!this.enabled || !this.domElement) return;
471
- this.domElement.style.touchAction = '';
472
- this.domElement.ownerDocument.removeEventListener('pointermove', this.onPointerMove);
344
+ };
345
+ this.onPointerUp = (event) => {
346
+ if (!this.enabled || !this.domElement)
347
+ return;
348
+ this.domElement.style.touchAction = "";
349
+ this.domElement.ownerDocument.removeEventListener("pointermove", this.onPointerMove);
473
350
  this.pointerUp(this.getPointer(event));
474
- });
475
-
476
- _defineProperty(this, "getMode", () => this.mode);
477
-
478
- _defineProperty(this, "setMode", mode => {
351
+ };
352
+ this.getMode = () => this.mode;
353
+ this.setMode = (mode) => {
479
354
  this.mode = mode;
480
- });
481
-
482
- _defineProperty(this, "setTranslationSnap", translationSnap => {
355
+ };
356
+ this.setTranslationSnap = (translationSnap) => {
483
357
  this.translationSnap = translationSnap;
484
- });
485
-
486
- _defineProperty(this, "setRotationSnap", rotationSnap => {
358
+ };
359
+ this.setRotationSnap = (rotationSnap) => {
487
360
  this.rotationSnap = rotationSnap;
488
- });
489
-
490
- _defineProperty(this, "setScaleSnap", scaleSnap => {
361
+ };
362
+ this.setScaleSnap = (scaleSnap) => {
491
363
  this.scaleSnap = scaleSnap;
492
- });
493
-
494
- _defineProperty(this, "setSize", size => {
364
+ };
365
+ this.setSize = (size) => {
495
366
  this.size = size;
496
- });
497
-
498
- _defineProperty(this, "setSpace", space => {
367
+ };
368
+ this.setSpace = (space) => {
499
369
  this.space = space;
500
- });
501
-
502
- _defineProperty(this, "update", () => {
503
- console.warn('THREE.TransformControls: update function has no more functionality and therefore has been deprecated.');
504
- });
505
-
506
- _defineProperty(this, "connect", domElement => {
507
- if (domElement === document) {
508
- console.error('THREE.OrbitControls: "document" should not be used as the target "domElement". Please use "renderer.domElement" instead.');
370
+ };
371
+ this.update = () => {
372
+ console.warn(
373
+ "THREE.TransformControls: update function has no more functionality and therefore has been deprecated."
374
+ );
375
+ };
376
+ this.connect = (domElement2) => {
377
+ if (domElement2 === document) {
378
+ console.error(
379
+ 'THREE.OrbitControls: "document" should not be used as the target "domElement". Please use "renderer.domElement" instead.'
380
+ );
509
381
  }
510
-
511
- this.domElement = domElement;
512
- this.domElement.addEventListener('pointerdown', this.onPointerDown);
513
- this.domElement.addEventListener('pointermove', this.onPointerHover);
514
- this.domElement.ownerDocument.addEventListener('pointerup', this.onPointerUp);
515
- });
516
-
517
- _defineProperty(this, "dispose", () => {
518
- var _this$domElement2, _this$domElement3, _this$domElement4, _this$domElement4$own, _this$domElement5, _this$domElement5$own;
519
-
520
- (_this$domElement2 = this.domElement) === null || _this$domElement2 === void 0 ? void 0 : _this$domElement2.removeEventListener('pointerdown', this.onPointerDown);
521
- (_this$domElement3 = this.domElement) === null || _this$domElement3 === void 0 ? void 0 : _this$domElement3.removeEventListener('pointermove', this.onPointerHover);
522
- (_this$domElement4 = this.domElement) === null || _this$domElement4 === void 0 ? void 0 : (_this$domElement4$own = _this$domElement4.ownerDocument) === null || _this$domElement4$own === void 0 ? void 0 : _this$domElement4$own.removeEventListener('pointermove', this.onPointerMove);
523
- (_this$domElement5 = this.domElement) === null || _this$domElement5 === void 0 ? void 0 : (_this$domElement5$own = _this$domElement5.ownerDocument) === null || _this$domElement5$own === void 0 ? void 0 : _this$domElement5$own.removeEventListener('pointerup', this.onPointerUp);
524
- this.traverse(child => {
382
+ this.domElement = domElement2;
383
+ this.domElement.addEventListener("pointerdown", this.onPointerDown);
384
+ this.domElement.addEventListener("pointermove", this.onPointerHover);
385
+ this.domElement.ownerDocument.addEventListener("pointerup", this.onPointerUp);
386
+ };
387
+ this.dispose = () => {
388
+ var _a, _b, _c, _d, _e, _f;
389
+ (_a = this.domElement) == null ? void 0 : _a.removeEventListener("pointerdown", this.onPointerDown);
390
+ (_b = this.domElement) == null ? void 0 : _b.removeEventListener("pointermove", this.onPointerHover);
391
+ (_d = (_c = this.domElement) == null ? void 0 : _c.ownerDocument) == null ? void 0 : _d.removeEventListener("pointermove", this.onPointerMove);
392
+ (_f = (_e = this.domElement) == null ? void 0 : _e.ownerDocument) == null ? void 0 : _f.removeEventListener("pointerup", this.onPointerUp);
393
+ this.traverse((child) => {
525
394
  const mesh = child;
526
-
527
395
  if (mesh.geometry) {
528
396
  mesh.geometry.dispose();
529
397
  }
530
-
531
398
  if (mesh.material) {
532
399
  mesh.material.dispose();
533
400
  }
534
401
  });
535
- });
536
-
537
- this.domElement = _domElement;
402
+ };
403
+ this.domElement = domElement;
538
404
  this.camera = camera;
539
405
  this.gizmo = new TransformControlsGizmo();
540
406
  this.add(this.gizmo);
541
407
  this.plane = new TransformControlsPlane();
542
- this.add(this.plane); // Defined getter, setter and store for a property
543
-
408
+ this.add(this.plane);
544
409
  const defineProperty = (propName, defaultValue) => {
545
410
  let propValue = defaultValue;
546
411
  Object.defineProperty(this, propName, {
547
- get: function () {
548
- return propValue !== undefined ? propValue : defaultValue;
412
+ get: function() {
413
+ return propValue !== void 0 ? propValue : defaultValue;
549
414
  },
550
- set: function (value) {
415
+ set: function(value) {
551
416
  if (propValue !== value) {
552
417
  propValue = value;
553
418
  this.plane[propName] = value;
554
419
  this.gizmo[propName] = value;
555
- this.dispatchEvent({
556
- type: propName + '-changed',
557
- value: value
558
- });
420
+ this.dispatchEvent({ type: propName + "-changed", value });
559
421
  this.dispatchEvent(this.changeEvent);
560
422
  }
561
423
  }
562
- }); //@ts-ignore
563
-
564
- this[propName] = defaultValue; // @ts-ignore
565
-
566
- this.plane[propName] = defaultValue; // @ts-ignore
567
-
424
+ });
425
+ this[propName] = defaultValue;
426
+ this.plane[propName] = defaultValue;
568
427
  this.gizmo[propName] = defaultValue;
569
428
  };
570
-
571
- defineProperty('camera', this.camera);
572
- defineProperty('object', this.object);
573
- defineProperty('enabled', this.enabled);
574
- defineProperty('axis', this.axis);
575
- defineProperty('mode', this.mode);
576
- defineProperty('translationSnap', this.translationSnap);
577
- defineProperty('rotationSnap', this.rotationSnap);
578
- defineProperty('scaleSnap', this.scaleSnap);
579
- defineProperty('space', this.space);
580
- defineProperty('size', this.size);
581
- defineProperty('dragging', this.dragging);
582
- defineProperty('showX', this.showX);
583
- defineProperty('showY', this.showY);
584
- defineProperty('showZ', this.showZ);
585
- defineProperty('worldPosition', this.worldPosition);
586
- defineProperty('worldPositionStart', this.worldPositionStart);
587
- defineProperty('worldQuaternion', this.worldQuaternion);
588
- defineProperty('worldQuaternionStart', this.worldQuaternionStart);
589
- defineProperty('cameraPosition', this.cameraPosition);
590
- defineProperty('cameraQuaternion', this.cameraQuaternion);
591
- defineProperty('pointStart', this.pointStart);
592
- defineProperty('pointEnd', this.pointEnd);
593
- defineProperty('rotationAxis', this.rotationAxis);
594
- defineProperty('rotationAngle', this.rotationAngle);
595
- defineProperty('eye', this.eye); // connect events
596
-
597
- if (_domElement !== undefined) this.connect(_domElement);
429
+ defineProperty("camera", this.camera);
430
+ defineProperty("object", this.object);
431
+ defineProperty("enabled", this.enabled);
432
+ defineProperty("axis", this.axis);
433
+ defineProperty("mode", this.mode);
434
+ defineProperty("translationSnap", this.translationSnap);
435
+ defineProperty("rotationSnap", this.rotationSnap);
436
+ defineProperty("scaleSnap", this.scaleSnap);
437
+ defineProperty("space", this.space);
438
+ defineProperty("size", this.size);
439
+ defineProperty("dragging", this.dragging);
440
+ defineProperty("showX", this.showX);
441
+ defineProperty("showY", this.showY);
442
+ defineProperty("showZ", this.showZ);
443
+ defineProperty("worldPosition", this.worldPosition);
444
+ defineProperty("worldPositionStart", this.worldPositionStart);
445
+ defineProperty("worldQuaternion", this.worldQuaternion);
446
+ defineProperty("worldQuaternionStart", this.worldQuaternionStart);
447
+ defineProperty("cameraPosition", this.cameraPosition);
448
+ defineProperty("cameraQuaternion", this.cameraQuaternion);
449
+ defineProperty("pointStart", this.pointStart);
450
+ defineProperty("pointEnd", this.pointEnd);
451
+ defineProperty("rotationAxis", this.rotationAxis);
452
+ defineProperty("rotationAngle", this.rotationAngle);
453
+ defineProperty("eye", this.eye);
454
+ if (domElement !== void 0)
455
+ this.connect(domElement);
598
456
  }
599
-
600
457
  }
601
-
602
- class TransformControlsGizmo extends Object3D {
603
- // these are set from parent class TransformControls
458
+ class TransformControlsGizmo extends THREE.Object3D {
604
459
  constructor() {
605
460
  super();
606
-
607
- _defineProperty(this, "isTransformControlsGizmo", true);
608
-
609
- _defineProperty(this, "type", 'TransformControlsGizmo');
610
-
611
- _defineProperty(this, "tempVector", new Vector3(0, 0, 0));
612
-
613
- _defineProperty(this, "tempEuler", new Euler());
614
-
615
- _defineProperty(this, "alignVector", new Vector3(0, 1, 0));
616
-
617
- _defineProperty(this, "zeroVector", new Vector3(0, 0, 0));
618
-
619
- _defineProperty(this, "lookAtMatrix", new Matrix4());
620
-
621
- _defineProperty(this, "tempQuaternion", new Quaternion());
622
-
623
- _defineProperty(this, "tempQuaternion2", new Quaternion());
624
-
625
- _defineProperty(this, "identityQuaternion", new Quaternion());
626
-
627
- _defineProperty(this, "unitX", new Vector3(1, 0, 0));
628
-
629
- _defineProperty(this, "unitY", new Vector3(0, 1, 0));
630
-
631
- _defineProperty(this, "unitZ", new Vector3(0, 0, 1));
632
-
633
- _defineProperty(this, "gizmo", void 0);
634
-
635
- _defineProperty(this, "picker", void 0);
636
-
637
- _defineProperty(this, "helper", void 0);
638
-
639
- _defineProperty(this, "rotationAxis", new Vector3());
640
-
641
- _defineProperty(this, "cameraPosition", new Vector3());
642
-
643
- _defineProperty(this, "worldPositionStart", new Vector3());
644
-
645
- _defineProperty(this, "worldQuaternionStart", new Quaternion());
646
-
647
- _defineProperty(this, "worldPosition", new Vector3());
648
-
649
- _defineProperty(this, "worldQuaternion", new Quaternion());
650
-
651
- _defineProperty(this, "eye", new Vector3());
652
-
653
- _defineProperty(this, "camera", null);
654
-
655
- _defineProperty(this, "enabled", true);
656
-
657
- _defineProperty(this, "axis", null);
658
-
659
- _defineProperty(this, "mode", 'translate');
660
-
661
- _defineProperty(this, "space", 'world');
662
-
663
- _defineProperty(this, "size", 1);
664
-
665
- _defineProperty(this, "dragging", false);
666
-
667
- _defineProperty(this, "showX", true);
668
-
669
- _defineProperty(this, "showY", true);
670
-
671
- _defineProperty(this, "showZ", true);
672
-
673
- _defineProperty(this, "updateMatrixWorld", () => {
461
+ this.isTransformControlsGizmo = true;
462
+ this.type = "TransformControlsGizmo";
463
+ this.tempVector = new THREE.Vector3(0, 0, 0);
464
+ this.tempEuler = new THREE.Euler();
465
+ this.alignVector = new THREE.Vector3(0, 1, 0);
466
+ this.zeroVector = new THREE.Vector3(0, 0, 0);
467
+ this.lookAtMatrix = new THREE.Matrix4();
468
+ this.tempQuaternion = new THREE.Quaternion();
469
+ this.tempQuaternion2 = new THREE.Quaternion();
470
+ this.identityQuaternion = new THREE.Quaternion();
471
+ this.unitX = new THREE.Vector3(1, 0, 0);
472
+ this.unitY = new THREE.Vector3(0, 1, 0);
473
+ this.unitZ = new THREE.Vector3(0, 0, 1);
474
+ this.rotationAxis = new THREE.Vector3();
475
+ this.cameraPosition = new THREE.Vector3();
476
+ this.worldPositionStart = new THREE.Vector3();
477
+ this.worldQuaternionStart = new THREE.Quaternion();
478
+ this.worldPosition = new THREE.Vector3();
479
+ this.worldQuaternion = new THREE.Quaternion();
480
+ this.eye = new THREE.Vector3();
481
+ this.camera = null;
482
+ this.enabled = true;
483
+ this.axis = null;
484
+ this.mode = "translate";
485
+ this.space = "world";
486
+ this.size = 1;
487
+ this.dragging = false;
488
+ this.showX = true;
489
+ this.showY = true;
490
+ this.showZ = true;
491
+ this.updateMatrixWorld = () => {
674
492
  let space = this.space;
675
-
676
- if (this.mode === 'scale') {
677
- space = 'local'; // scale always oriented to local rotation
493
+ if (this.mode === "scale") {
494
+ space = "local";
678
495
  }
679
-
680
- const quaternion = space === 'local' ? this.worldQuaternion : this.identityQuaternion; // Show only gizmos for current transform mode
681
-
682
- this.gizmo['translate'].visible = this.mode === 'translate';
683
- this.gizmo['rotate'].visible = this.mode === 'rotate';
684
- this.gizmo['scale'].visible = this.mode === 'scale';
685
- this.helper['translate'].visible = this.mode === 'translate';
686
- this.helper['rotate'].visible = this.mode === 'rotate';
687
- this.helper['scale'].visible = this.mode === 'scale';
496
+ const quaternion = space === "local" ? this.worldQuaternion : this.identityQuaternion;
497
+ this.gizmo["translate"].visible = this.mode === "translate";
498
+ this.gizmo["rotate"].visible = this.mode === "rotate";
499
+ this.gizmo["scale"].visible = this.mode === "scale";
500
+ this.helper["translate"].visible = this.mode === "translate";
501
+ this.helper["rotate"].visible = this.mode === "rotate";
502
+ this.helper["scale"].visible = this.mode === "scale";
688
503
  let handles = [];
689
504
  handles = handles.concat(this.picker[this.mode].children);
690
505
  handles = handles.concat(this.gizmo[this.mode].children);
691
506
  handles = handles.concat(this.helper[this.mode].children);
692
-
693
507
  for (let i = 0; i < handles.length; i++) {
694
- const handle = handles[i]; // hide aligned to camera
695
-
508
+ const handle = handles[i];
696
509
  handle.visible = true;
697
510
  handle.rotation.set(0, 0, 0);
698
511
  handle.position.copy(this.worldPosition);
699
512
  let factor;
700
-
701
513
  if (this.camera.isOrthographicCamera) {
702
514
  factor = (this.camera.top - this.camera.bottom) / this.camera.zoom;
703
515
  } else {
704
516
  factor = this.worldPosition.distanceTo(this.cameraPosition) * Math.min(1.9 * Math.tan(Math.PI * this.camera.fov / 360) / this.camera.zoom, 7);
705
517
  }
706
-
707
- handle.scale.set(1, 1, 1).multiplyScalar(factor * this.size / 7); // TODO: simplify helpers and consider decoupling from gizmo
708
-
709
- if (handle.tag === 'helper') {
518
+ handle.scale.set(1, 1, 1).multiplyScalar(factor * this.size / 7);
519
+ if (handle.tag === "helper") {
710
520
  handle.visible = false;
711
-
712
- if (handle.name === 'AXIS') {
521
+ if (handle.name === "AXIS") {
713
522
  handle.position.copy(this.worldPositionStart);
714
523
  handle.visible = !!this.axis;
715
-
716
- if (this.axis === 'X') {
524
+ if (this.axis === "X") {
717
525
  this.tempQuaternion.setFromEuler(this.tempEuler.set(0, 0, 0));
718
526
  handle.quaternion.copy(quaternion).multiply(this.tempQuaternion);
719
-
720
527
  if (Math.abs(this.alignVector.copy(this.unitX).applyQuaternion(quaternion).dot(this.eye)) > 0.9) {
721
528
  handle.visible = false;
722
529
  }
723
530
  }
724
-
725
- if (this.axis === 'Y') {
531
+ if (this.axis === "Y") {
726
532
  this.tempQuaternion.setFromEuler(this.tempEuler.set(0, 0, Math.PI / 2));
727
533
  handle.quaternion.copy(quaternion).multiply(this.tempQuaternion);
728
-
729
534
  if (Math.abs(this.alignVector.copy(this.unitY).applyQuaternion(quaternion).dot(this.eye)) > 0.9) {
730
535
  handle.visible = false;
731
536
  }
732
537
  }
733
-
734
- if (this.axis === 'Z') {
538
+ if (this.axis === "Z") {
735
539
  this.tempQuaternion.setFromEuler(this.tempEuler.set(0, Math.PI / 2, 0));
736
540
  handle.quaternion.copy(quaternion).multiply(this.tempQuaternion);
737
-
738
541
  if (Math.abs(this.alignVector.copy(this.unitZ).applyQuaternion(quaternion).dot(this.eye)) > 0.9) {
739
542
  handle.visible = false;
740
543
  }
741
544
  }
742
-
743
- if (this.axis === 'XYZE') {
545
+ if (this.axis === "XYZE") {
744
546
  this.tempQuaternion.setFromEuler(this.tempEuler.set(0, Math.PI / 2, 0));
745
547
  this.alignVector.copy(this.rotationAxis);
746
- handle.quaternion.setFromRotationMatrix(this.lookAtMatrix.lookAt(this.zeroVector, this.alignVector, this.unitY));
548
+ handle.quaternion.setFromRotationMatrix(
549
+ this.lookAtMatrix.lookAt(this.zeroVector, this.alignVector, this.unitY)
550
+ );
747
551
  handle.quaternion.multiply(this.tempQuaternion);
748
552
  handle.visible = this.dragging;
749
553
  }
750
-
751
- if (this.axis === 'E') {
554
+ if (this.axis === "E") {
752
555
  handle.visible = false;
753
556
  }
754
- } else if (handle.name === 'START') {
557
+ } else if (handle.name === "START") {
755
558
  handle.position.copy(this.worldPositionStart);
756
559
  handle.visible = this.dragging;
757
- } else if (handle.name === 'END') {
560
+ } else if (handle.name === "END") {
758
561
  handle.position.copy(this.worldPosition);
759
562
  handle.visible = this.dragging;
760
- } else if (handle.name === 'DELTA') {
563
+ } else if (handle.name === "DELTA") {
761
564
  handle.position.copy(this.worldPositionStart);
762
565
  handle.quaternion.copy(this.worldQuaternionStart);
763
566
  this.tempVector.set(1e-10, 1e-10, 1e-10).add(this.worldPositionStart).sub(this.worldPosition).multiplyScalar(-1);
@@ -766,360 +569,385 @@ class TransformControlsGizmo extends Object3D {
766
569
  handle.visible = this.dragging;
767
570
  } else {
768
571
  handle.quaternion.copy(quaternion);
769
-
770
572
  if (this.dragging) {
771
573
  handle.position.copy(this.worldPositionStart);
772
574
  } else {
773
575
  handle.position.copy(this.worldPosition);
774
576
  }
775
-
776
577
  if (this.axis) {
777
578
  handle.visible = this.axis.search(handle.name) !== -1;
778
579
  }
779
- } // If updating helper, skip rest of the loop
780
-
781
-
580
+ }
782
581
  continue;
783
- } // Align handles to current local or world rotation
784
-
785
-
582
+ }
786
583
  handle.quaternion.copy(quaternion);
787
-
788
- if (this.mode === 'translate' || this.mode === 'scale') {
789
- // Hide translate and scale axis facing the camera
584
+ if (this.mode === "translate" || this.mode === "scale") {
790
585
  const AXIS_HIDE_TRESHOLD = 0.99;
791
586
  const PLANE_HIDE_TRESHOLD = 0.2;
792
- const AXIS_FLIP_TRESHOLD = 0.0;
793
-
794
- if (handle.name === 'X' || handle.name === 'XYZX') {
587
+ const AXIS_FLIP_TRESHOLD = 0;
588
+ if (handle.name === "X" || handle.name === "XYZX") {
795
589
  if (Math.abs(this.alignVector.copy(this.unitX).applyQuaternion(quaternion).dot(this.eye)) > AXIS_HIDE_TRESHOLD) {
796
590
  handle.scale.set(1e-10, 1e-10, 1e-10);
797
591
  handle.visible = false;
798
592
  }
799
593
  }
800
-
801
- if (handle.name === 'Y' || handle.name === 'XYZY') {
594
+ if (handle.name === "Y" || handle.name === "XYZY") {
802
595
  if (Math.abs(this.alignVector.copy(this.unitY).applyQuaternion(quaternion).dot(this.eye)) > AXIS_HIDE_TRESHOLD) {
803
596
  handle.scale.set(1e-10, 1e-10, 1e-10);
804
597
  handle.visible = false;
805
598
  }
806
599
  }
807
-
808
- if (handle.name === 'Z' || handle.name === 'XYZZ') {
600
+ if (handle.name === "Z" || handle.name === "XYZZ") {
809
601
  if (Math.abs(this.alignVector.copy(this.unitZ).applyQuaternion(quaternion).dot(this.eye)) > AXIS_HIDE_TRESHOLD) {
810
602
  handle.scale.set(1e-10, 1e-10, 1e-10);
811
603
  handle.visible = false;
812
604
  }
813
605
  }
814
-
815
- if (handle.name === 'XY') {
606
+ if (handle.name === "XY") {
816
607
  if (Math.abs(this.alignVector.copy(this.unitZ).applyQuaternion(quaternion).dot(this.eye)) < PLANE_HIDE_TRESHOLD) {
817
608
  handle.scale.set(1e-10, 1e-10, 1e-10);
818
609
  handle.visible = false;
819
610
  }
820
611
  }
821
-
822
- if (handle.name === 'YZ') {
612
+ if (handle.name === "YZ") {
823
613
  if (Math.abs(this.alignVector.copy(this.unitX).applyQuaternion(quaternion).dot(this.eye)) < PLANE_HIDE_TRESHOLD) {
824
614
  handle.scale.set(1e-10, 1e-10, 1e-10);
825
615
  handle.visible = false;
826
616
  }
827
617
  }
828
-
829
- if (handle.name === 'XZ') {
618
+ if (handle.name === "XZ") {
830
619
  if (Math.abs(this.alignVector.copy(this.unitY).applyQuaternion(quaternion).dot(this.eye)) < PLANE_HIDE_TRESHOLD) {
831
620
  handle.scale.set(1e-10, 1e-10, 1e-10);
832
621
  handle.visible = false;
833
622
  }
834
- } // Flip translate and scale axis ocluded behind another axis
835
-
836
-
837
- if (handle.name.search('X') !== -1) {
623
+ }
624
+ if (handle.name.search("X") !== -1) {
838
625
  if (this.alignVector.copy(this.unitX).applyQuaternion(quaternion).dot(this.eye) < AXIS_FLIP_TRESHOLD) {
839
- if (handle.tag === 'fwd') {
626
+ if (handle.tag === "fwd") {
840
627
  handle.visible = false;
841
628
  } else {
842
629
  handle.scale.x *= -1;
843
630
  }
844
- } else if (handle.tag === 'bwd') {
631
+ } else if (handle.tag === "bwd") {
845
632
  handle.visible = false;
846
633
  }
847
634
  }
848
-
849
- if (handle.name.search('Y') !== -1) {
635
+ if (handle.name.search("Y") !== -1) {
850
636
  if (this.alignVector.copy(this.unitY).applyQuaternion(quaternion).dot(this.eye) < AXIS_FLIP_TRESHOLD) {
851
- if (handle.tag === 'fwd') {
637
+ if (handle.tag === "fwd") {
852
638
  handle.visible = false;
853
639
  } else {
854
640
  handle.scale.y *= -1;
855
641
  }
856
- } else if (handle.tag === 'bwd') {
642
+ } else if (handle.tag === "bwd") {
857
643
  handle.visible = false;
858
644
  }
859
645
  }
860
-
861
- if (handle.name.search('Z') !== -1) {
646
+ if (handle.name.search("Z") !== -1) {
862
647
  if (this.alignVector.copy(this.unitZ).applyQuaternion(quaternion).dot(this.eye) < AXIS_FLIP_TRESHOLD) {
863
- if (handle.tag === 'fwd') {
648
+ if (handle.tag === "fwd") {
864
649
  handle.visible = false;
865
650
  } else {
866
651
  handle.scale.z *= -1;
867
652
  }
868
- } else if (handle.tag === 'bwd') {
653
+ } else if (handle.tag === "bwd") {
869
654
  handle.visible = false;
870
655
  }
871
656
  }
872
- } else if (this.mode === 'rotate') {
873
- // Align handles to current local or world rotation
657
+ } else if (this.mode === "rotate") {
874
658
  this.tempQuaternion2.copy(quaternion);
875
659
  this.alignVector.copy(this.eye).applyQuaternion(this.tempQuaternion.copy(quaternion).invert());
876
-
877
- if (handle.name.search('E') !== -1) {
660
+ if (handle.name.search("E") !== -1) {
878
661
  handle.quaternion.setFromRotationMatrix(this.lookAtMatrix.lookAt(this.eye, this.zeroVector, this.unitY));
879
662
  }
880
-
881
- if (handle.name === 'X') {
663
+ if (handle.name === "X") {
882
664
  this.tempQuaternion.setFromAxisAngle(this.unitX, Math.atan2(-this.alignVector.y, this.alignVector.z));
883
665
  this.tempQuaternion.multiplyQuaternions(this.tempQuaternion2, this.tempQuaternion);
884
666
  handle.quaternion.copy(this.tempQuaternion);
885
667
  }
886
-
887
- if (handle.name === 'Y') {
668
+ if (handle.name === "Y") {
888
669
  this.tempQuaternion.setFromAxisAngle(this.unitY, Math.atan2(this.alignVector.x, this.alignVector.z));
889
670
  this.tempQuaternion.multiplyQuaternions(this.tempQuaternion2, this.tempQuaternion);
890
671
  handle.quaternion.copy(this.tempQuaternion);
891
672
  }
892
-
893
- if (handle.name === 'Z') {
673
+ if (handle.name === "Z") {
894
674
  this.tempQuaternion.setFromAxisAngle(this.unitZ, Math.atan2(this.alignVector.y, this.alignVector.x));
895
675
  this.tempQuaternion.multiplyQuaternions(this.tempQuaternion2, this.tempQuaternion);
896
676
  handle.quaternion.copy(this.tempQuaternion);
897
677
  }
898
- } // Hide disabled axes
899
-
900
-
901
- handle.visible = handle.visible && (handle.name.indexOf('X') === -1 || this.showX);
902
- handle.visible = handle.visible && (handle.name.indexOf('Y') === -1 || this.showY);
903
- handle.visible = handle.visible && (handle.name.indexOf('Z') === -1 || this.showZ);
904
- handle.visible = handle.visible && (handle.name.indexOf('E') === -1 || this.showX && this.showY && this.showZ); // highlight selected axis
905
- //@ts-ignore
906
-
907
- handle.material.tempOpacity = handle.material.tempOpacity || handle.material.opacity; //@ts-ignore
908
-
909
- handle.material.tempColor = handle.material.tempColor || handle.material.color.clone(); //@ts-ignore
910
-
911
- handle.material.color.copy(handle.material.tempColor); //@ts-ignore
912
-
678
+ }
679
+ handle.visible = handle.visible && (handle.name.indexOf("X") === -1 || this.showX);
680
+ handle.visible = handle.visible && (handle.name.indexOf("Y") === -1 || this.showY);
681
+ handle.visible = handle.visible && (handle.name.indexOf("Z") === -1 || this.showZ);
682
+ handle.visible = handle.visible && (handle.name.indexOf("E") === -1 || this.showX && this.showY && this.showZ);
683
+ handle.material.tempOpacity = handle.material.tempOpacity || handle.material.opacity;
684
+ handle.material.tempColor = handle.material.tempColor || handle.material.color.clone();
685
+ handle.material.color.copy(handle.material.tempColor);
913
686
  handle.material.opacity = handle.material.tempOpacity;
914
-
915
687
  if (!this.enabled) {
916
- //@ts-ignore
917
- handle.material.opacity *= 0.5; //@ts-ignore
918
-
919
- handle.material.color.lerp(new Color(1, 1, 1), 0.5);
688
+ handle.material.opacity *= 0.5;
689
+ handle.material.color.lerp(new THREE.Color(1, 1, 1), 0.5);
920
690
  } else if (this.axis) {
921
691
  if (handle.name === this.axis) {
922
- //@ts-ignore
923
- handle.material.opacity = 1.0; //@ts-ignore
924
-
925
- handle.material.color.lerp(new Color(1, 1, 1), 0.5);
926
- } else if (this.axis.split('').some(function (a) {
692
+ handle.material.opacity = 1;
693
+ handle.material.color.lerp(new THREE.Color(1, 1, 1), 0.5);
694
+ } else if (this.axis.split("").some(function(a) {
927
695
  return handle.name === a;
928
696
  })) {
929
- //@ts-ignore
930
- handle.material.opacity = 1.0; //@ts-ignore
931
-
932
- handle.material.color.lerp(new Color(1, 1, 1), 0.5);
697
+ handle.material.opacity = 1;
698
+ handle.material.color.lerp(new THREE.Color(1, 1, 1), 0.5);
933
699
  } else {
934
- //@ts-ignore
935
- handle.material.opacity *= 0.25; //@ts-ignore
936
-
937
- handle.material.color.lerp(new Color(1, 1, 1), 0.5);
700
+ handle.material.opacity *= 0.25;
701
+ handle.material.color.lerp(new THREE.Color(1, 1, 1), 0.5);
938
702
  }
939
703
  }
940
704
  }
941
-
942
705
  super.updateMatrixWorld();
943
- });
944
-
945
- const gizmoMaterial = new MeshBasicMaterial({
706
+ };
707
+ const gizmoMaterial = new THREE.MeshBasicMaterial({
946
708
  depthTest: false,
947
709
  depthWrite: false,
948
710
  transparent: true,
949
- side: DoubleSide,
711
+ side: THREE.DoubleSide,
950
712
  fog: false,
951
713
  toneMapped: false
952
714
  });
953
- const gizmoLineMaterial = new LineBasicMaterial({
715
+ const gizmoLineMaterial = new THREE.LineBasicMaterial({
954
716
  depthTest: false,
955
717
  depthWrite: false,
956
718
  transparent: true,
957
719
  linewidth: 1,
958
720
  fog: false,
959
721
  toneMapped: false
960
- }); // Make unique material for each axis/color
961
-
722
+ });
962
723
  const matInvisible = gizmoMaterial.clone();
963
724
  matInvisible.opacity = 0.15;
964
725
  const matHelper = gizmoMaterial.clone();
965
726
  matHelper.opacity = 0.33;
966
727
  const matRed = gizmoMaterial.clone();
967
- matRed.color.set(0xff0000);
728
+ matRed.color.set(16711680);
968
729
  const matGreen = gizmoMaterial.clone();
969
- matGreen.color.set(0x00ff00);
730
+ matGreen.color.set(65280);
970
731
  const matBlue = gizmoMaterial.clone();
971
- matBlue.color.set(0x0000ff);
732
+ matBlue.color.set(255);
972
733
  const matWhiteTransparent = gizmoMaterial.clone();
973
734
  matWhiteTransparent.opacity = 0.25;
974
735
  const matYellowTransparent = matWhiteTransparent.clone();
975
- matYellowTransparent.color.set(0xffff00);
736
+ matYellowTransparent.color.set(16776960);
976
737
  const matCyanTransparent = matWhiteTransparent.clone();
977
- matCyanTransparent.color.set(0x00ffff);
738
+ matCyanTransparent.color.set(65535);
978
739
  const matMagentaTransparent = matWhiteTransparent.clone();
979
- matMagentaTransparent.color.set(0xff00ff);
740
+ matMagentaTransparent.color.set(16711935);
980
741
  const matYellow = gizmoMaterial.clone();
981
- matYellow.color.set(0xffff00);
742
+ matYellow.color.set(16776960);
982
743
  const matLineRed = gizmoLineMaterial.clone();
983
- matLineRed.color.set(0xff0000);
744
+ matLineRed.color.set(16711680);
984
745
  const matLineGreen = gizmoLineMaterial.clone();
985
- matLineGreen.color.set(0x00ff00);
746
+ matLineGreen.color.set(65280);
986
747
  const matLineBlue = gizmoLineMaterial.clone();
987
- matLineBlue.color.set(0x0000ff);
748
+ matLineBlue.color.set(255);
988
749
  const matLineCyan = gizmoLineMaterial.clone();
989
- matLineCyan.color.set(0x00ffff);
750
+ matLineCyan.color.set(65535);
990
751
  const matLineMagenta = gizmoLineMaterial.clone();
991
- matLineMagenta.color.set(0xff00ff);
752
+ matLineMagenta.color.set(16711935);
992
753
  const matLineYellow = gizmoLineMaterial.clone();
993
- matLineYellow.color.set(0xffff00);
754
+ matLineYellow.color.set(16776960);
994
755
  const matLineGray = gizmoLineMaterial.clone();
995
- matLineGray.color.set(0x787878);
756
+ matLineGray.color.set(7895160);
996
757
  const matLineYellowTransparent = matLineYellow.clone();
997
- matLineYellowTransparent.opacity = 0.25; // reusable geometry
998
-
999
- const arrowGeometry = new CylinderGeometry(0, 0.05, 0.2, 12, 1, false);
1000
- const scaleHandleGeometry = new BoxGeometry(0.125, 0.125, 0.125);
1001
- const lineGeometry = new BufferGeometry();
1002
- lineGeometry.setAttribute('position', new Float32BufferAttribute([0, 0, 0, 1, 0, 0], 3));
1003
-
758
+ matLineYellowTransparent.opacity = 0.25;
759
+ const arrowGeometry = new THREE.CylinderGeometry(0, 0.05, 0.2, 12, 1, false);
760
+ const scaleHandleGeometry = new THREE.BoxGeometry(0.125, 0.125, 0.125);
761
+ const lineGeometry = new THREE.BufferGeometry();
762
+ lineGeometry.setAttribute("position", new THREE.Float32BufferAttribute([0, 0, 0, 1, 0, 0], 3));
1004
763
  const CircleGeometry = (radius, arc) => {
1005
- const geometry = new BufferGeometry();
764
+ const geometry = new THREE.BufferGeometry();
1006
765
  const vertices = [];
1007
-
1008
766
  for (let i = 0; i <= 64 * arc; ++i) {
1009
767
  vertices.push(0, Math.cos(i / 32 * Math.PI) * radius, Math.sin(i / 32 * Math.PI) * radius);
1010
768
  }
1011
-
1012
- geometry.setAttribute('position', new Float32BufferAttribute(vertices, 3));
769
+ geometry.setAttribute("position", new THREE.Float32BufferAttribute(vertices, 3));
1013
770
  return geometry;
1014
- }; // Special geometry for transform helper. If scaled with position vector it spans from [0,0,0] to position
1015
-
1016
-
771
+ };
1017
772
  const TranslateHelperGeometry = () => {
1018
- const geometry = new BufferGeometry();
1019
- geometry.setAttribute('position', new Float32BufferAttribute([0, 0, 0, 1, 1, 1], 3));
773
+ const geometry = new THREE.BufferGeometry();
774
+ geometry.setAttribute("position", new THREE.Float32BufferAttribute([0, 0, 0, 1, 1, 1], 3));
1020
775
  return geometry;
1021
- }; // Gizmo definitions - custom hierarchy definitions for setupGizmo() function
1022
-
1023
-
776
+ };
1024
777
  const gizmoTranslate = {
1025
- X: [[new Mesh(arrowGeometry, matRed), [1, 0, 0], [0, 0, -Math.PI / 2], null, 'fwd'], [new Mesh(arrowGeometry, matRed), [1, 0, 0], [0, 0, Math.PI / 2], null, 'bwd'], [new Line(lineGeometry, matLineRed)]],
1026
- Y: [[new Mesh(arrowGeometry, matGreen), [0, 1, 0], null, null, 'fwd'], [new Mesh(arrowGeometry, matGreen), [0, 1, 0], [Math.PI, 0, 0], null, 'bwd'], [new Line(lineGeometry, matLineGreen), null, [0, 0, Math.PI / 2]]],
1027
- Z: [[new Mesh(arrowGeometry, matBlue), [0, 0, 1], [Math.PI / 2, 0, 0], null, 'fwd'], [new Mesh(arrowGeometry, matBlue), [0, 0, 1], [-Math.PI / 2, 0, 0], null, 'bwd'], [new Line(lineGeometry, matLineBlue), null, [0, -Math.PI / 2, 0]]],
1028
- XYZ: [[new Mesh(new OctahedronGeometry(0.1, 0), matWhiteTransparent.clone()), [0, 0, 0], [0, 0, 0]]],
1029
- XY: [[new Mesh(new PlaneGeometry(0.295, 0.295), matYellowTransparent.clone()), [0.15, 0.15, 0]], [new Line(lineGeometry, matLineYellow), [0.18, 0.3, 0], null, [0.125, 1, 1]], [new Line(lineGeometry, matLineYellow), [0.3, 0.18, 0], [0, 0, Math.PI / 2], [0.125, 1, 1]]],
1030
- YZ: [[new Mesh(new PlaneGeometry(0.295, 0.295), matCyanTransparent.clone()), [0, 0.15, 0.15], [0, Math.PI / 2, 0]], [new Line(lineGeometry, matLineCyan), [0, 0.18, 0.3], [0, 0, Math.PI / 2], [0.125, 1, 1]], [new Line(lineGeometry, matLineCyan), [0, 0.3, 0.18], [0, -Math.PI / 2, 0], [0.125, 1, 1]]],
1031
- XZ: [[new Mesh(new PlaneGeometry(0.295, 0.295), matMagentaTransparent.clone()), [0.15, 0, 0.15], [-Math.PI / 2, 0, 0]], [new Line(lineGeometry, matLineMagenta), [0.18, 0, 0.3], null, [0.125, 1, 1]], [new Line(lineGeometry, matLineMagenta), [0.3, 0, 0.18], [0, -Math.PI / 2, 0], [0.125, 1, 1]]]
778
+ X: [
779
+ [new THREE.Mesh(arrowGeometry, matRed), [1, 0, 0], [0, 0, -Math.PI / 2], null, "fwd"],
780
+ [new THREE.Mesh(arrowGeometry, matRed), [1, 0, 0], [0, 0, Math.PI / 2], null, "bwd"],
781
+ [new THREE.Line(lineGeometry, matLineRed)]
782
+ ],
783
+ Y: [
784
+ [new THREE.Mesh(arrowGeometry, matGreen), [0, 1, 0], null, null, "fwd"],
785
+ [new THREE.Mesh(arrowGeometry, matGreen), [0, 1, 0], [Math.PI, 0, 0], null, "bwd"],
786
+ [new THREE.Line(lineGeometry, matLineGreen), null, [0, 0, Math.PI / 2]]
787
+ ],
788
+ Z: [
789
+ [new THREE.Mesh(arrowGeometry, matBlue), [0, 0, 1], [Math.PI / 2, 0, 0], null, "fwd"],
790
+ [new THREE.Mesh(arrowGeometry, matBlue), [0, 0, 1], [-Math.PI / 2, 0, 0], null, "bwd"],
791
+ [new THREE.Line(lineGeometry, matLineBlue), null, [0, -Math.PI / 2, 0]]
792
+ ],
793
+ XYZ: [[new THREE.Mesh(new THREE.OctahedronGeometry(0.1, 0), matWhiteTransparent.clone()), [0, 0, 0], [0, 0, 0]]],
794
+ XY: [
795
+ [new THREE.Mesh(new THREE.PlaneGeometry(0.295, 0.295), matYellowTransparent.clone()), [0.15, 0.15, 0]],
796
+ [new THREE.Line(lineGeometry, matLineYellow), [0.18, 0.3, 0], null, [0.125, 1, 1]],
797
+ [new THREE.Line(lineGeometry, matLineYellow), [0.3, 0.18, 0], [0, 0, Math.PI / 2], [0.125, 1, 1]]
798
+ ],
799
+ YZ: [
800
+ [new THREE.Mesh(new THREE.PlaneGeometry(0.295, 0.295), matCyanTransparent.clone()), [0, 0.15, 0.15], [0, Math.PI / 2, 0]],
801
+ [new THREE.Line(lineGeometry, matLineCyan), [0, 0.18, 0.3], [0, 0, Math.PI / 2], [0.125, 1, 1]],
802
+ [new THREE.Line(lineGeometry, matLineCyan), [0, 0.3, 0.18], [0, -Math.PI / 2, 0], [0.125, 1, 1]]
803
+ ],
804
+ XZ: [
805
+ [
806
+ new THREE.Mesh(new THREE.PlaneGeometry(0.295, 0.295), matMagentaTransparent.clone()),
807
+ [0.15, 0, 0.15],
808
+ [-Math.PI / 2, 0, 0]
809
+ ],
810
+ [new THREE.Line(lineGeometry, matLineMagenta), [0.18, 0, 0.3], null, [0.125, 1, 1]],
811
+ [new THREE.Line(lineGeometry, matLineMagenta), [0.3, 0, 0.18], [0, -Math.PI / 2, 0], [0.125, 1, 1]]
812
+ ]
1032
813
  };
1033
814
  const pickerTranslate = {
1034
- X: [[new Mesh(new CylinderGeometry(0.2, 0, 1, 4, 1, false), matInvisible), [0.6, 0, 0], [0, 0, -Math.PI / 2]]],
1035
- Y: [[new Mesh(new CylinderGeometry(0.2, 0, 1, 4, 1, false), matInvisible), [0, 0.6, 0]]],
1036
- Z: [[new Mesh(new CylinderGeometry(0.2, 0, 1, 4, 1, false), matInvisible), [0, 0, 0.6], [Math.PI / 2, 0, 0]]],
1037
- XYZ: [[new Mesh(new OctahedronGeometry(0.2, 0), matInvisible)]],
1038
- XY: [[new Mesh(new PlaneGeometry(0.4, 0.4), matInvisible), [0.2, 0.2, 0]]],
1039
- YZ: [[new Mesh(new PlaneGeometry(0.4, 0.4), matInvisible), [0, 0.2, 0.2], [0, Math.PI / 2, 0]]],
1040
- XZ: [[new Mesh(new PlaneGeometry(0.4, 0.4), matInvisible), [0.2, 0, 0.2], [-Math.PI / 2, 0, 0]]]
815
+ X: [[new THREE.Mesh(new THREE.CylinderGeometry(0.2, 0, 1, 4, 1, false), matInvisible), [0.6, 0, 0], [0, 0, -Math.PI / 2]]],
816
+ Y: [[new THREE.Mesh(new THREE.CylinderGeometry(0.2, 0, 1, 4, 1, false), matInvisible), [0, 0.6, 0]]],
817
+ Z: [[new THREE.Mesh(new THREE.CylinderGeometry(0.2, 0, 1, 4, 1, false), matInvisible), [0, 0, 0.6], [Math.PI / 2, 0, 0]]],
818
+ XYZ: [[new THREE.Mesh(new THREE.OctahedronGeometry(0.2, 0), matInvisible)]],
819
+ XY: [[new THREE.Mesh(new THREE.PlaneGeometry(0.4, 0.4), matInvisible), [0.2, 0.2, 0]]],
820
+ YZ: [[new THREE.Mesh(new THREE.PlaneGeometry(0.4, 0.4), matInvisible), [0, 0.2, 0.2], [0, Math.PI / 2, 0]]],
821
+ XZ: [[new THREE.Mesh(new THREE.PlaneGeometry(0.4, 0.4), matInvisible), [0.2, 0, 0.2], [-Math.PI / 2, 0, 0]]]
1041
822
  };
1042
823
  const helperTranslate = {
1043
- START: [[new Mesh(new OctahedronGeometry(0.01, 2), matHelper), null, null, null, 'helper']],
1044
- END: [[new Mesh(new OctahedronGeometry(0.01, 2), matHelper), null, null, null, 'helper']],
1045
- DELTA: [[new Line(TranslateHelperGeometry(), matHelper), null, null, null, 'helper']],
1046
- X: [[new Line(lineGeometry, matHelper.clone()), [-1e3, 0, 0], null, [1e6, 1, 1], 'helper']],
1047
- Y: [[new Line(lineGeometry, matHelper.clone()), [0, -1e3, 0], [0, 0, Math.PI / 2], [1e6, 1, 1], 'helper']],
1048
- Z: [[new Line(lineGeometry, matHelper.clone()), [0, 0, -1e3], [0, -Math.PI / 2, 0], [1e6, 1, 1], 'helper']]
824
+ START: [[new THREE.Mesh(new THREE.OctahedronGeometry(0.01, 2), matHelper), null, null, null, "helper"]],
825
+ END: [[new THREE.Mesh(new THREE.OctahedronGeometry(0.01, 2), matHelper), null, null, null, "helper"]],
826
+ DELTA: [[new THREE.Line(TranslateHelperGeometry(), matHelper), null, null, null, "helper"]],
827
+ X: [[new THREE.Line(lineGeometry, matHelper.clone()), [-1e3, 0, 0], null, [1e6, 1, 1], "helper"]],
828
+ Y: [[new THREE.Line(lineGeometry, matHelper.clone()), [0, -1e3, 0], [0, 0, Math.PI / 2], [1e6, 1, 1], "helper"]],
829
+ Z: [[new THREE.Line(lineGeometry, matHelper.clone()), [0, 0, -1e3], [0, -Math.PI / 2, 0], [1e6, 1, 1], "helper"]]
1049
830
  };
1050
831
  const gizmoRotate = {
1051
- X: [[new Line(CircleGeometry(1, 0.5), matLineRed)], [new Mesh(new OctahedronGeometry(0.04, 0), matRed), [0, 0, 0.99], null, [1, 3, 1]]],
1052
- Y: [[new Line(CircleGeometry(1, 0.5), matLineGreen), null, [0, 0, -Math.PI / 2]], [new Mesh(new OctahedronGeometry(0.04, 0), matGreen), [0, 0, 0.99], null, [3, 1, 1]]],
1053
- Z: [[new Line(CircleGeometry(1, 0.5), matLineBlue), null, [0, Math.PI / 2, 0]], [new Mesh(new OctahedronGeometry(0.04, 0), matBlue), [0.99, 0, 0], null, [1, 3, 1]]],
1054
- E: [[new Line(CircleGeometry(1.25, 1), matLineYellowTransparent), null, [0, Math.PI / 2, 0]], [new Mesh(new CylinderGeometry(0.03, 0, 0.15, 4, 1, false), matLineYellowTransparent), [1.17, 0, 0], [0, 0, -Math.PI / 2], [1, 1, 0.001]], [new Mesh(new CylinderGeometry(0.03, 0, 0.15, 4, 1, false), matLineYellowTransparent), [-1.17, 0, 0], [0, 0, Math.PI / 2], [1, 1, 0.001]], [new Mesh(new CylinderGeometry(0.03, 0, 0.15, 4, 1, false), matLineYellowTransparent), [0, -1.17, 0], [Math.PI, 0, 0], [1, 1, 0.001]], [new Mesh(new CylinderGeometry(0.03, 0, 0.15, 4, 1, false), matLineYellowTransparent), [0, 1.17, 0], [0, 0, 0], [1, 1, 0.001]]],
1055
- XYZE: [[new Line(CircleGeometry(1, 1), matLineGray), null, [0, Math.PI / 2, 0]]]
832
+ X: [
833
+ [new THREE.Line(CircleGeometry(1, 0.5), matLineRed)],
834
+ [new THREE.Mesh(new THREE.OctahedronGeometry(0.04, 0), matRed), [0, 0, 0.99], null, [1, 3, 1]]
835
+ ],
836
+ Y: [
837
+ [new THREE.Line(CircleGeometry(1, 0.5), matLineGreen), null, [0, 0, -Math.PI / 2]],
838
+ [new THREE.Mesh(new THREE.OctahedronGeometry(0.04, 0), matGreen), [0, 0, 0.99], null, [3, 1, 1]]
839
+ ],
840
+ Z: [
841
+ [new THREE.Line(CircleGeometry(1, 0.5), matLineBlue), null, [0, Math.PI / 2, 0]],
842
+ [new THREE.Mesh(new THREE.OctahedronGeometry(0.04, 0), matBlue), [0.99, 0, 0], null, [1, 3, 1]]
843
+ ],
844
+ E: [
845
+ [new THREE.Line(CircleGeometry(1.25, 1), matLineYellowTransparent), null, [0, Math.PI / 2, 0]],
846
+ [
847
+ new THREE.Mesh(new THREE.CylinderGeometry(0.03, 0, 0.15, 4, 1, false), matLineYellowTransparent),
848
+ [1.17, 0, 0],
849
+ [0, 0, -Math.PI / 2],
850
+ [1, 1, 1e-3]
851
+ ],
852
+ [
853
+ new THREE.Mesh(new THREE.CylinderGeometry(0.03, 0, 0.15, 4, 1, false), matLineYellowTransparent),
854
+ [-1.17, 0, 0],
855
+ [0, 0, Math.PI / 2],
856
+ [1, 1, 1e-3]
857
+ ],
858
+ [
859
+ new THREE.Mesh(new THREE.CylinderGeometry(0.03, 0, 0.15, 4, 1, false), matLineYellowTransparent),
860
+ [0, -1.17, 0],
861
+ [Math.PI, 0, 0],
862
+ [1, 1, 1e-3]
863
+ ],
864
+ [
865
+ new THREE.Mesh(new THREE.CylinderGeometry(0.03, 0, 0.15, 4, 1, false), matLineYellowTransparent),
866
+ [0, 1.17, 0],
867
+ [0, 0, 0],
868
+ [1, 1, 1e-3]
869
+ ]
870
+ ],
871
+ XYZE: [[new THREE.Line(CircleGeometry(1, 1), matLineGray), null, [0, Math.PI / 2, 0]]]
1056
872
  };
1057
873
  const helperRotate = {
1058
- AXIS: [[new Line(lineGeometry, matHelper.clone()), [-1e3, 0, 0], null, [1e6, 1, 1], 'helper']]
874
+ AXIS: [[new THREE.Line(lineGeometry, matHelper.clone()), [-1e3, 0, 0], null, [1e6, 1, 1], "helper"]]
1059
875
  };
1060
876
  const pickerRotate = {
1061
- X: [[new Mesh(new TorusGeometry(1, 0.1, 4, 24), matInvisible), [0, 0, 0], [0, -Math.PI / 2, -Math.PI / 2]]],
1062
- Y: [[new Mesh(new TorusGeometry(1, 0.1, 4, 24), matInvisible), [0, 0, 0], [Math.PI / 2, 0, 0]]],
1063
- Z: [[new Mesh(new TorusGeometry(1, 0.1, 4, 24), matInvisible), [0, 0, 0], [0, 0, -Math.PI / 2]]],
1064
- E: [[new Mesh(new TorusGeometry(1.25, 0.1, 2, 24), matInvisible)]],
1065
- XYZE: [[new Mesh(new SphereGeometry(0.7, 10, 8), matInvisible)]]
877
+ X: [[new THREE.Mesh(new THREE.TorusGeometry(1, 0.1, 4, 24), matInvisible), [0, 0, 0], [0, -Math.PI / 2, -Math.PI / 2]]],
878
+ Y: [[new THREE.Mesh(new THREE.TorusGeometry(1, 0.1, 4, 24), matInvisible), [0, 0, 0], [Math.PI / 2, 0, 0]]],
879
+ Z: [[new THREE.Mesh(new THREE.TorusGeometry(1, 0.1, 4, 24), matInvisible), [0, 0, 0], [0, 0, -Math.PI / 2]]],
880
+ E: [[new THREE.Mesh(new THREE.TorusGeometry(1.25, 0.1, 2, 24), matInvisible)]],
881
+ XYZE: [[new THREE.Mesh(new THREE.SphereGeometry(0.7, 10, 8), matInvisible)]]
1066
882
  };
1067
883
  const gizmoScale = {
1068
- X: [[new Mesh(scaleHandleGeometry, matRed), [0.8, 0, 0], [0, 0, -Math.PI / 2]], [new Line(lineGeometry, matLineRed), null, null, [0.8, 1, 1]]],
1069
- Y: [[new Mesh(scaleHandleGeometry, matGreen), [0, 0.8, 0]], [new Line(lineGeometry, matLineGreen), null, [0, 0, Math.PI / 2], [0.8, 1, 1]]],
1070
- Z: [[new Mesh(scaleHandleGeometry, matBlue), [0, 0, 0.8], [Math.PI / 2, 0, 0]], [new Line(lineGeometry, matLineBlue), null, [0, -Math.PI / 2, 0], [0.8, 1, 1]]],
1071
- XY: [[new Mesh(scaleHandleGeometry, matYellowTransparent), [0.85, 0.85, 0], null, [2, 2, 0.2]], [new Line(lineGeometry, matLineYellow), [0.855, 0.98, 0], null, [0.125, 1, 1]], [new Line(lineGeometry, matLineYellow), [0.98, 0.855, 0], [0, 0, Math.PI / 2], [0.125, 1, 1]]],
1072
- YZ: [[new Mesh(scaleHandleGeometry, matCyanTransparent), [0, 0.85, 0.85], null, [0.2, 2, 2]], [new Line(lineGeometry, matLineCyan), [0, 0.855, 0.98], [0, 0, Math.PI / 2], [0.125, 1, 1]], [new Line(lineGeometry, matLineCyan), [0, 0.98, 0.855], [0, -Math.PI / 2, 0], [0.125, 1, 1]]],
1073
- XZ: [[new Mesh(scaleHandleGeometry, matMagentaTransparent), [0.85, 0, 0.85], null, [2, 0.2, 2]], [new Line(lineGeometry, matLineMagenta), [0.855, 0, 0.98], null, [0.125, 1, 1]], [new Line(lineGeometry, matLineMagenta), [0.98, 0, 0.855], [0, -Math.PI / 2, 0], [0.125, 1, 1]]],
1074
- XYZX: [[new Mesh(new BoxGeometry(0.125, 0.125, 0.125), matWhiteTransparent.clone()), [1.1, 0, 0]]],
1075
- XYZY: [[new Mesh(new BoxGeometry(0.125, 0.125, 0.125), matWhiteTransparent.clone()), [0, 1.1, 0]]],
1076
- XYZZ: [[new Mesh(new BoxGeometry(0.125, 0.125, 0.125), matWhiteTransparent.clone()), [0, 0, 1.1]]]
884
+ X: [
885
+ [new THREE.Mesh(scaleHandleGeometry, matRed), [0.8, 0, 0], [0, 0, -Math.PI / 2]],
886
+ [new THREE.Line(lineGeometry, matLineRed), null, null, [0.8, 1, 1]]
887
+ ],
888
+ Y: [
889
+ [new THREE.Mesh(scaleHandleGeometry, matGreen), [0, 0.8, 0]],
890
+ [new THREE.Line(lineGeometry, matLineGreen), null, [0, 0, Math.PI / 2], [0.8, 1, 1]]
891
+ ],
892
+ Z: [
893
+ [new THREE.Mesh(scaleHandleGeometry, matBlue), [0, 0, 0.8], [Math.PI / 2, 0, 0]],
894
+ [new THREE.Line(lineGeometry, matLineBlue), null, [0, -Math.PI / 2, 0], [0.8, 1, 1]]
895
+ ],
896
+ XY: [
897
+ [new THREE.Mesh(scaleHandleGeometry, matYellowTransparent), [0.85, 0.85, 0], null, [2, 2, 0.2]],
898
+ [new THREE.Line(lineGeometry, matLineYellow), [0.855, 0.98, 0], null, [0.125, 1, 1]],
899
+ [new THREE.Line(lineGeometry, matLineYellow), [0.98, 0.855, 0], [0, 0, Math.PI / 2], [0.125, 1, 1]]
900
+ ],
901
+ YZ: [
902
+ [new THREE.Mesh(scaleHandleGeometry, matCyanTransparent), [0, 0.85, 0.85], null, [0.2, 2, 2]],
903
+ [new THREE.Line(lineGeometry, matLineCyan), [0, 0.855, 0.98], [0, 0, Math.PI / 2], [0.125, 1, 1]],
904
+ [new THREE.Line(lineGeometry, matLineCyan), [0, 0.98, 0.855], [0, -Math.PI / 2, 0], [0.125, 1, 1]]
905
+ ],
906
+ XZ: [
907
+ [new THREE.Mesh(scaleHandleGeometry, matMagentaTransparent), [0.85, 0, 0.85], null, [2, 0.2, 2]],
908
+ [new THREE.Line(lineGeometry, matLineMagenta), [0.855, 0, 0.98], null, [0.125, 1, 1]],
909
+ [new THREE.Line(lineGeometry, matLineMagenta), [0.98, 0, 0.855], [0, -Math.PI / 2, 0], [0.125, 1, 1]]
910
+ ],
911
+ XYZX: [[new THREE.Mesh(new THREE.BoxGeometry(0.125, 0.125, 0.125), matWhiteTransparent.clone()), [1.1, 0, 0]]],
912
+ XYZY: [[new THREE.Mesh(new THREE.BoxGeometry(0.125, 0.125, 0.125), matWhiteTransparent.clone()), [0, 1.1, 0]]],
913
+ XYZZ: [[new THREE.Mesh(new THREE.BoxGeometry(0.125, 0.125, 0.125), matWhiteTransparent.clone()), [0, 0, 1.1]]]
1077
914
  };
1078
915
  const pickerScale = {
1079
- X: [[new Mesh(new CylinderGeometry(0.2, 0, 0.8, 4, 1, false), matInvisible), [0.5, 0, 0], [0, 0, -Math.PI / 2]]],
1080
- Y: [[new Mesh(new CylinderGeometry(0.2, 0, 0.8, 4, 1, false), matInvisible), [0, 0.5, 0]]],
1081
- Z: [[new Mesh(new CylinderGeometry(0.2, 0, 0.8, 4, 1, false), matInvisible), [0, 0, 0.5], [Math.PI / 2, 0, 0]]],
1082
- XY: [[new Mesh(scaleHandleGeometry, matInvisible), [0.85, 0.85, 0], null, [3, 3, 0.2]]],
1083
- YZ: [[new Mesh(scaleHandleGeometry, matInvisible), [0, 0.85, 0.85], null, [0.2, 3, 3]]],
1084
- XZ: [[new Mesh(scaleHandleGeometry, matInvisible), [0.85, 0, 0.85], null, [3, 0.2, 3]]],
1085
- XYZX: [[new Mesh(new BoxGeometry(0.2, 0.2, 0.2), matInvisible), [1.1, 0, 0]]],
1086
- XYZY: [[new Mesh(new BoxGeometry(0.2, 0.2, 0.2), matInvisible), [0, 1.1, 0]]],
1087
- XYZZ: [[new Mesh(new BoxGeometry(0.2, 0.2, 0.2), matInvisible), [0, 0, 1.1]]]
916
+ X: [[new THREE.Mesh(new THREE.CylinderGeometry(0.2, 0, 0.8, 4, 1, false), matInvisible), [0.5, 0, 0], [0, 0, -Math.PI / 2]]],
917
+ Y: [[new THREE.Mesh(new THREE.CylinderGeometry(0.2, 0, 0.8, 4, 1, false), matInvisible), [0, 0.5, 0]]],
918
+ Z: [[new THREE.Mesh(new THREE.CylinderGeometry(0.2, 0, 0.8, 4, 1, false), matInvisible), [0, 0, 0.5], [Math.PI / 2, 0, 0]]],
919
+ XY: [[new THREE.Mesh(scaleHandleGeometry, matInvisible), [0.85, 0.85, 0], null, [3, 3, 0.2]]],
920
+ YZ: [[new THREE.Mesh(scaleHandleGeometry, matInvisible), [0, 0.85, 0.85], null, [0.2, 3, 3]]],
921
+ XZ: [[new THREE.Mesh(scaleHandleGeometry, matInvisible), [0.85, 0, 0.85], null, [3, 0.2, 3]]],
922
+ XYZX: [[new THREE.Mesh(new THREE.BoxGeometry(0.2, 0.2, 0.2), matInvisible), [1.1, 0, 0]]],
923
+ XYZY: [[new THREE.Mesh(new THREE.BoxGeometry(0.2, 0.2, 0.2), matInvisible), [0, 1.1, 0]]],
924
+ XYZZ: [[new THREE.Mesh(new THREE.BoxGeometry(0.2, 0.2, 0.2), matInvisible), [0, 0, 1.1]]]
1088
925
  };
1089
926
  const helperScale = {
1090
- X: [[new Line(lineGeometry, matHelper.clone()), [-1e3, 0, 0], null, [1e6, 1, 1], 'helper']],
1091
- Y: [[new Line(lineGeometry, matHelper.clone()), [0, -1e3, 0], [0, 0, Math.PI / 2], [1e6, 1, 1], 'helper']],
1092
- Z: [[new Line(lineGeometry, matHelper.clone()), [0, 0, -1e3], [0, -Math.PI / 2, 0], [1e6, 1, 1], 'helper']]
1093
- }; // Creates an Object3D with gizmos described in custom hierarchy definition.
1094
- // this is nearly impossible to Type so i'm leaving it
1095
-
1096
- const setupGizmo = gizmoMap => {
1097
- const gizmo = new Object3D();
1098
-
927
+ X: [[new THREE.Line(lineGeometry, matHelper.clone()), [-1e3, 0, 0], null, [1e6, 1, 1], "helper"]],
928
+ Y: [[new THREE.Line(lineGeometry, matHelper.clone()), [0, -1e3, 0], [0, 0, Math.PI / 2], [1e6, 1, 1], "helper"]],
929
+ Z: [[new THREE.Line(lineGeometry, matHelper.clone()), [0, 0, -1e3], [0, -Math.PI / 2, 0], [1e6, 1, 1], "helper"]]
930
+ };
931
+ const setupGizmo = (gizmoMap) => {
932
+ const gizmo = new THREE.Object3D();
1099
933
  for (let name in gizmoMap) {
1100
- for (let i = gizmoMap[name].length; i--;) {
934
+ for (let i = gizmoMap[name].length; i--; ) {
1101
935
  const object = gizmoMap[name][i][0].clone();
1102
936
  const position = gizmoMap[name][i][1];
1103
937
  const rotation = gizmoMap[name][i][2];
1104
938
  const scale = gizmoMap[name][i][3];
1105
- const tag = gizmoMap[name][i][4]; // name and tag properties are essential for picking and updating logic.
1106
-
1107
- object.name = name; // @ts-ignore
1108
-
939
+ const tag = gizmoMap[name][i][4];
940
+ object.name = name;
1109
941
  object.tag = tag;
1110
-
1111
942
  if (position) {
1112
943
  object.position.set(position[0], position[1], position[2]);
1113
944
  }
1114
-
1115
945
  if (rotation) {
1116
946
  object.rotation.set(rotation[0], rotation[1], rotation[2]);
1117
947
  }
1118
-
1119
948
  if (scale) {
1120
949
  object.scale.set(scale[0], scale[1], scale[2]);
1121
950
  }
1122
-
1123
951
  object.updateMatrix();
1124
952
  const tempGeometry = object.geometry.clone();
1125
953
  tempGeometry.applyMatrix4(object.matrix);
@@ -1131,145 +959,110 @@ class TransformControlsGizmo extends Object3D {
1131
959
  gizmo.add(object);
1132
960
  }
1133
961
  }
1134
-
1135
962
  return gizmo;
1136
963
  };
1137
-
1138
964
  this.gizmo = {};
1139
965
  this.picker = {};
1140
966
  this.helper = {};
1141
- this.add(this.gizmo['translate'] = setupGizmo(gizmoTranslate));
1142
- this.add(this.gizmo['rotate'] = setupGizmo(gizmoRotate));
1143
- this.add(this.gizmo['scale'] = setupGizmo(gizmoScale));
1144
- this.add(this.picker['translate'] = setupGizmo(pickerTranslate));
1145
- this.add(this.picker['rotate'] = setupGizmo(pickerRotate));
1146
- this.add(this.picker['scale'] = setupGizmo(pickerScale));
1147
- this.add(this.helper['translate'] = setupGizmo(helperTranslate));
1148
- this.add(this.helper['rotate'] = setupGizmo(helperRotate));
1149
- this.add(this.helper['scale'] = setupGizmo(helperScale)); // Pickers should be hidden always
1150
-
1151
- this.picker['translate'].visible = false;
1152
- this.picker['rotate'].visible = false;
1153
- this.picker['scale'].visible = false;
1154
- } // updateMatrixWorld will update transformations and appearance of individual handles
1155
-
1156
-
967
+ this.add(this.gizmo["translate"] = setupGizmo(gizmoTranslate));
968
+ this.add(this.gizmo["rotate"] = setupGizmo(gizmoRotate));
969
+ this.add(this.gizmo["scale"] = setupGizmo(gizmoScale));
970
+ this.add(this.picker["translate"] = setupGizmo(pickerTranslate));
971
+ this.add(this.picker["rotate"] = setupGizmo(pickerRotate));
972
+ this.add(this.picker["scale"] = setupGizmo(pickerScale));
973
+ this.add(this.helper["translate"] = setupGizmo(helperTranslate));
974
+ this.add(this.helper["rotate"] = setupGizmo(helperRotate));
975
+ this.add(this.helper["scale"] = setupGizmo(helperScale));
976
+ this.picker["translate"].visible = false;
977
+ this.picker["rotate"].visible = false;
978
+ this.picker["scale"].visible = false;
979
+ }
1157
980
  }
1158
-
1159
- class TransformControlsPlane extends Mesh {
981
+ class TransformControlsPlane extends THREE.Mesh {
1160
982
  constructor() {
1161
- super(new PlaneGeometry(100000, 100000, 2, 2), new MeshBasicMaterial({
1162
- visible: false,
1163
- wireframe: true,
1164
- side: DoubleSide,
1165
- transparent: true,
1166
- opacity: 0.1,
1167
- toneMapped: false
1168
- }));
1169
-
1170
- _defineProperty(this, "isTransformControlsPlane", true);
1171
-
1172
- _defineProperty(this, "type", 'TransformControlsPlane');
1173
-
1174
- _defineProperty(this, "unitX", new Vector3(1, 0, 0));
1175
-
1176
- _defineProperty(this, "unitY", new Vector3(0, 1, 0));
1177
-
1178
- _defineProperty(this, "unitZ", new Vector3(0, 0, 1));
1179
-
1180
- _defineProperty(this, "tempVector", new Vector3());
1181
-
1182
- _defineProperty(this, "dirVector", new Vector3());
1183
-
1184
- _defineProperty(this, "alignVector", new Vector3());
1185
-
1186
- _defineProperty(this, "tempMatrix", new Matrix4());
1187
-
1188
- _defineProperty(this, "identityQuaternion", new Quaternion());
1189
-
1190
- _defineProperty(this, "cameraQuaternion", new Quaternion());
1191
-
1192
- _defineProperty(this, "worldPosition", new Vector3());
1193
-
1194
- _defineProperty(this, "worldQuaternion", new Quaternion());
1195
-
1196
- _defineProperty(this, "eye", new Vector3());
1197
-
1198
- _defineProperty(this, "axis", null);
1199
-
1200
- _defineProperty(this, "mode", 'translate');
1201
-
1202
- _defineProperty(this, "space", 'world');
1203
-
1204
- _defineProperty(this, "updateMatrixWorld", () => {
983
+ super(
984
+ new THREE.PlaneGeometry(1e5, 1e5, 2, 2),
985
+ new THREE.MeshBasicMaterial({
986
+ visible: false,
987
+ wireframe: true,
988
+ side: THREE.DoubleSide,
989
+ transparent: true,
990
+ opacity: 0.1,
991
+ toneMapped: false
992
+ })
993
+ );
994
+ this.isTransformControlsPlane = true;
995
+ this.type = "TransformControlsPlane";
996
+ this.unitX = new THREE.Vector3(1, 0, 0);
997
+ this.unitY = new THREE.Vector3(0, 1, 0);
998
+ this.unitZ = new THREE.Vector3(0, 0, 1);
999
+ this.tempVector = new THREE.Vector3();
1000
+ this.dirVector = new THREE.Vector3();
1001
+ this.alignVector = new THREE.Vector3();
1002
+ this.tempMatrix = new THREE.Matrix4();
1003
+ this.identityQuaternion = new THREE.Quaternion();
1004
+ this.cameraQuaternion = new THREE.Quaternion();
1005
+ this.worldPosition = new THREE.Vector3();
1006
+ this.worldQuaternion = new THREE.Quaternion();
1007
+ this.eye = new THREE.Vector3();
1008
+ this.axis = null;
1009
+ this.mode = "translate";
1010
+ this.space = "world";
1011
+ this.updateMatrixWorld = () => {
1205
1012
  let space = this.space;
1206
1013
  this.position.copy(this.worldPosition);
1207
- if (this.mode === 'scale') space = 'local'; // scale always oriented to local rotation
1208
-
1209
- this.unitX.set(1, 0, 0).applyQuaternion(space === 'local' ? this.worldQuaternion : this.identityQuaternion);
1210
- this.unitY.set(0, 1, 0).applyQuaternion(space === 'local' ? this.worldQuaternion : this.identityQuaternion);
1211
- this.unitZ.set(0, 0, 1).applyQuaternion(space === 'local' ? this.worldQuaternion : this.identityQuaternion); // Align the plane for current transform mode, axis and space.
1212
-
1014
+ if (this.mode === "scale")
1015
+ space = "local";
1016
+ this.unitX.set(1, 0, 0).applyQuaternion(space === "local" ? this.worldQuaternion : this.identityQuaternion);
1017
+ this.unitY.set(0, 1, 0).applyQuaternion(space === "local" ? this.worldQuaternion : this.identityQuaternion);
1018
+ this.unitZ.set(0, 0, 1).applyQuaternion(space === "local" ? this.worldQuaternion : this.identityQuaternion);
1213
1019
  this.alignVector.copy(this.unitY);
1214
-
1215
1020
  switch (this.mode) {
1216
- case 'translate':
1217
- case 'scale':
1021
+ case "translate":
1022
+ case "scale":
1218
1023
  switch (this.axis) {
1219
- case 'X':
1024
+ case "X":
1220
1025
  this.alignVector.copy(this.eye).cross(this.unitX);
1221
1026
  this.dirVector.copy(this.unitX).cross(this.alignVector);
1222
1027
  break;
1223
-
1224
- case 'Y':
1028
+ case "Y":
1225
1029
  this.alignVector.copy(this.eye).cross(this.unitY);
1226
1030
  this.dirVector.copy(this.unitY).cross(this.alignVector);
1227
1031
  break;
1228
-
1229
- case 'Z':
1032
+ case "Z":
1230
1033
  this.alignVector.copy(this.eye).cross(this.unitZ);
1231
1034
  this.dirVector.copy(this.unitZ).cross(this.alignVector);
1232
1035
  break;
1233
-
1234
- case 'XY':
1036
+ case "XY":
1235
1037
  this.dirVector.copy(this.unitZ);
1236
1038
  break;
1237
-
1238
- case 'YZ':
1039
+ case "YZ":
1239
1040
  this.dirVector.copy(this.unitX);
1240
1041
  break;
1241
-
1242
- case 'XZ':
1042
+ case "XZ":
1243
1043
  this.alignVector.copy(this.unitZ);
1244
1044
  this.dirVector.copy(this.unitY);
1245
1045
  break;
1246
-
1247
- case 'XYZ':
1248
- case 'E':
1046
+ case "XYZ":
1047
+ case "E":
1249
1048
  this.dirVector.set(0, 0, 0);
1250
1049
  break;
1251
1050
  }
1252
-
1253
1051
  break;
1254
-
1255
- case 'rotate':
1052
+ case "rotate":
1256
1053
  default:
1257
- // special case for rotate
1258
1054
  this.dirVector.set(0, 0, 0);
1259
1055
  }
1260
-
1261
1056
  if (this.dirVector.length() === 0) {
1262
- // If in rotate mode, make the plane parallel to camera
1263
1057
  this.quaternion.copy(this.cameraQuaternion);
1264
1058
  } else {
1265
1059
  this.tempMatrix.lookAt(this.tempVector.set(0, 0, 0), this.dirVector, this.alignVector);
1266
1060
  this.quaternion.setFromRotationMatrix(this.tempMatrix);
1267
1061
  }
1268
-
1269
1062
  super.updateMatrixWorld();
1270
- });
1063
+ };
1271
1064
  }
1272
-
1273
1065
  }
1274
-
1275
- export { TransformControls, TransformControlsGizmo, TransformControlsPlane };
1066
+ exports.TransformControls = TransformControls;
1067
+ exports.TransformControlsGizmo = TransformControlsGizmo;
1068
+ exports.TransformControlsPlane = TransformControlsPlane;